Check that Azure AD authentication is configured for SQL Managed Instance

Existing rule
No response
Suggested rule
To SQL managed instance can have Azure AD authentication configured similar to SQL DB (Azure.SQL.AAD). Azure AD authentication should be used instead of SQL logins.
Pillar
Security
Additional context

https://learn.microsoft.com/azure/azure-sql/database/authentication-azure-ad-only-authentication
https://learn.microsoft.com/azure/azure-sql/database/authentication-aad-configure

Manged identity is required for this feature in SQL MI.

You must enable the instance identity (SMI or UMI) to allow support for Azure AD authentication in SQL Managed Instance. For SQL Database, enabling the server identity is optional and required only if an Azure AD service principal (Azure AD application) oversees creating and managing Azure AD users, groups, or applications in the server. For more information, see Azure Active Directory service principal with Azure SQL.

Great, you'll see something at PR soon.

@BenjaminEngeset Like Azure.SQL.AAD in that AAD auth is enabled. AAD only accepted is a separate rule (#2118) so that customers can suppress separately if required.

@BenjaminEngeset Like Azure.SQL.AAD in that AAD auth is enabled. AAD only accepted is a separate rule (#2118) so that customers can suppress separately if required.

Perfect, I did not see that one, then it makes all sense!


LangChain OpenAI Streaming not capturing token counts with stream_usage

Describe the bug
Streaming with LangChain Instrument not capturing llm.token_count.total, llm.token_count.prompt, llm.token_count.completion
To Reproduce
`from langchain_openai import ChatOpenAI
from openinference.instrumentation import using_attributes
from openinference.instrumentation.langchain import LangChainInstrumentor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk import trace as trace_sdk
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
endpoint = "http://<IP_ADDRESS>:6006/v1/traces"
tracer_provider = trace_sdk.TracerProvider()
tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
tracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))
LangChainInstrumentor().instrument(tracer_provider=tracer_provider)
from langchain_openai import AzureChatOpenAI, ChatOpenAI
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate
prompt_template = "Tell me a {adjective} joke"
prompt = PromptTemplate(input_variables=["adjective"], template=prompt_template)
llm = ChatOpenAI(streaming = True, stream_usage = True)
chain = LLMChain(llm=llm, prompt=prompt, metadata={"category": "jokes"})
completion = chain.predict(adjective="funny", metadata={"variant": "funny"})
print(completion)`
Expected behavior
llm.token_count.total, llm.token_count.prompt, llm.token_count.completion should be captured for both streaming and non streaming case .
Screenshots

Hi @monuminu thanks for your issue. I think this might related to how you have OpenAI configured. OpenAI actually only provides us with tokens with streaming if there is a special flag set.
To get token counts when streaming, install openai>=1.26 and set stream_options={"include_usage": True} when calling create. Below is an example Python code snippet. For more info, see here.
response = openai.OpenAI().chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Write a haiku."}],
    max_tokens=20,
    stream=True,
    stream_options={"include_usage": True},
)

Can you give this a try? Thanks!

Oh I see you have stream_usage turned on I see. Sorry I misread that. Let me try this code path and let you know.
@monuminu can you give me the versions of instrumenation, langchain, and openAI you are using when you get a chance?

Hi @mikeldking I am using all latest version of the code. langchain, openinference-instrumentation-langchain. Its working fine for OpenAI but not for langchain.

last one is non streaming and first 2 are streaming

Thanks @monuminu for the details. We will schedule an investigation for this week. Thanks for your patience.

@monuminu This issue is resolved in openinference-instrumentation-langchain 0.1.25


fix(ts): add prod to PushData.

为 PushData 增加 prod 属性。
ts 定义中限制了 prod 的取值，只能为 dev 或 prod。

Codecov Report

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

@@           Coverage Diff           @@
##           master     #564   +/-   ##
=======================================
  Coverage   68.86%   68.86%
=======================================
  Files          37       37
  Lines        3202     3202
=======================================
  Hits         2205     2205
  Misses        997      997

Continue to review full report at Codecov.

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


Upgrade generator-jhipster 6.5.0 and jhipster-core 6.0.1

Please make sure the below checklist is followed for Pull Requests.

[ ] Azure tests are green

[ ] Tests are added where necessary

[ ] Documentation is added/updated where necessary

[ ] Coding Rules & Commit Guidelines as per our CONTRIBUTING.md document are followed

@pascalgrimaud Can you rebase against master? The checktyle no-http check should be fine now.

thanks @atomfrede : done!


ERROR: GVM_ROOT is not set! On Yosemite 10.10.2

when I try to run gvm install 1.4, I got the following error.
ERROR: GVM_ROOT is not set! Please add the following line to your .bashrc or .profile
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
I checked by typing echo $GVM_ROOT in the terminal and got
~/.gvm
I'm using Mac OS Yosemite 10.10.2

Seemed that configure->make->make install doesn't work so far.
I myself managed to get gvm work by executing $GVM_ROOT/binscripts/gvm-installer.
Wish you good luck!

same here


{Script} Put breaking changes first in each history notes section

Description

This PR moves breaking changes on top of other history notes in the section of each component.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

@jiasli for awareness

@jiasli for awareness


No lists in abstract

The crossref schema is quite strict here on formatting. I have removed the list and made it a single paragraph.


parsing for clang lambda names for SYCL is broken in tblextr.py

The code in tblextr.py uses regular expressions that do not account for the universe of clang-produced demangled names.
I argue that the right fix for this is to use mangled names everywhere until the final reports.
However, the following patch does work around the problem for SYCL at least, and fixes another problem in ROCM 4.5.0
$ diff -c /opt/rocm-4.5.0/rocprofiler/bin/tblextr.py python/tblextr.py
*** /opt/rocm-4.5.0/rocprofiler/bin/tblextr.py  2021-10-05 14:09:14.000000000 -0400
--- python/tblextr.py   2022-02-02 12:54:33.489606000 -0500
***************
*** 318,332 ****
  #############################################################
  # arguments manipulation routines
  def get_field(args, field):
    ptrn1_field = re.compile(r'^.* ' + field + '\(');
!   ptrn2_field = re.compile(r'\) .*$');
!   ptrn3_field = re.compile(r'\)\)$');
!   (field_name, n) = ptrn1_field.subn('', args, count=1);
!   if n != 0:
!     (field_name, n) = ptrn2_field.subn('', field_name, count=1)
!     if n == 0:
!       (field_name, n) = ptrn3_field.subn('', field_name, count=1)
!   return (field_name, n)

  def set_field(args, field, val):
    return re.subn(field + '\(\w+\)([ \)])', field + '(' + str(val) + ')\\1', args, count=1)
--- 318,337 ----
  #############################################################
  # arguments manipulation routines
  def get_field(args, field):
+   # rewrite code to handle nested parens properly
+   # this is probably slow
    ptrn1_field = re.compile(r'^.* ' + field + '\(');
!   o = ptrn1_field.match(args)
!   if o == None:
!     return ('',  0)
!   np = 1
!   valstart = o.end(0)
!   for i in range(valstart,len(args)):
!     if args[i] == '(': np += 1
!     if args[i] == ')': np -= 1
!     if np == 0:
!       break
!   return (args[valstart:i-1], 1)

  def set_field(args, field, val):
    return re.subn(field + '\(\w+\)([ \)])', field + '(' + str(val) + ')\\1', args, count=1)
***************
*** 428,433 ****
--- 433,440 ----
          record_id_dict[proc_id] += 1
          record_id = record_id_dict[proc_id]

+         if not proc_id in dep_dict: dep_dict[proc_id] = {}
+
          # setting correlationid to record id if correlation id is not defined
          if corr_id == 0: corr_id = record_id

@lfmeadow Has this been in the latest ROCm 6.2? If not, I can create an internal ticket get this fixed. Please let me know. Thanks!

I have no idea. Please go ahead and close the issue.

From: ppanchad-amd @.>
Sent: Thursday, August 15, 2024 7:11 AM
To: ROCm/roctracer @.>
Cc: Larry Meadows @.>; Mention @.>
Subject: Re: [ROCm/roctracer] parsing for clang lambda names for SYCL is broken in tblextr.py (Issue #71)
@lfmeadowhttps://github.com/lfmeadow Has this been in the latest ROCm 6.2? If not, I can create an internal ticket get this fixed. Please let me know. Thanks!
—
Reply to this email directly, view it on GitHubhttps://github.com/ROCm/roctracer/issues/71#issuecomment-2291340328, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABH5YK6OCW2S6RRUESRDZNDZRSZH5AVCNFSM6AAAAABMSI37YKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGM2DAMZSHA.
You are receiving this because you were mentioned.Message ID: @.***>


Allow HTTPClient to talk to a proxy server

This PR makes it possible to talk to HTTP/HTTPS proxy server via HTTPClient, closes https://github.com/godotengine/godot-proposals/issues/1808

Makes request uri accept absolute URL and authority

This is allowed by http protocol, and required by the CONNECT method

Adds Host header only when missing

Before this PR, "Host" is determined by connect_to_host and there is no way to override it

These changes are actually bug fixes. But fixing these bugs makes it possible to talk to proxy servers.
With this PR, requests can be sent through HTTP/HTTPS proxies by setting up proxy manually:
ProxyTest-3.2.zip / ProxyTest-4.0.zip
Tested on the current master (f733746) and 3.2 branch (adf2dab).
Update: Instead of removing the url check, makes sure that url begins with /, http://, or https:// for non-CONNECT requests.

OK. A _check_request_url method is added.
For CONNECT, I think it's kind of mentioned that it's authority is host:port in the RFC:

i.e., the request-target consists of only the host name and port number of the tunnel destination, separated by a colon.

For the sake of simplicity, I only checks if a colon is in the middle of p_url :)

Thanks!

Cherry-picked for 3.2.4.


Jenkinsfile: script for previous job interuption

Script will abort previous running build if new build is in progress. It will be helpful especially for Pull Requests builds

Include a few more details on the commit message

Better explanation please: why is this needed.

Script will abort previous running build if new build is in progress.
It will be helpful especially for Pull Requests builds to not waste resources
Could you please suggest what else can be added.


MongoDB connection limit Rose to max declining connection

Describe the bug
While running the test the MongoDB test limit rose to 80% declining connection requests.
To Reproduce
Steps to reproduce the behaviour:

Go to the root of the project
Run yarn test
Wait for the test to run
See the error.

Expected behaviour
The MongoDB database must not refuse connection on excess requests.
Screenshots

Network Chart of DB clusters

Error Message

Solution

[ ] Switch to local MongoDB connection.
[ ] update the DockerFile accordingly.

switched to relational database locally.
closed by d2e6d07a1cbbb65d8f1fdbbd254500b5f55d11c3


Add licences to example files that don't have one

Fixes https://github.com/quantumlib/Cirq/issues/912

Sure. The thing is that some files have notices and some don't. @Strilanc should it be all or none?

None.

Automerge: started

Automerge done.


Test Webapp in Firefox

Up to now the application has rendered the same as Chrome. But recently something changed that is causing it to look different. Please investigate.

fixed the css so now it looks right when you open it in firefox.


Hardware Requirements for Finetuning and Inference?

Hello,
Great work on the paper and the models. Truly groundbreaking, I am not sure why your project is not being talked about more.
Could you please provide the GPU RAM required to:

Fine tune your models
Run Inference on them.

I would highly appreciate it if you can provide the information for all of your variants, especially the Llama2 70B 32k and the Llama2 13B 32k.

Hi,
Many thanks for your kind comment.
For the GPU requirements,

For fine-tuning, we use a 8x 80GB A100 machine for the 70B 32k Llama2 fine-tuning. For 13B 32k fine-tuning, I think a 8x 40GB A100 machine is all right. Below are the GPU memory cost for 70B and 13B 32k fine-tuning.

For inference, a single 40GB A100 GPU card is OK for 13B 32k model to inference. For 70B 32k model, I think a single 80GB A100 GPU card or at least 2 40GB A100 GPU cards is required. I mean fp16 testing, not 8bit.

Note that I used FlashAttention2 and Deepspeed stage3 for the above settings.
Regards,
Yukang Chen

I will close this issue as it has been inactive for several days. Please feel free to re-open it if there are any other things to discuss.

Hey~ How about 7B 100k requirements?

嘿~7B 100k要求怎么样？

same question!

I will close this issue as it has been inactive for several days. Please feel free to re-open it if there are any other things to discuss.

excause me, what are the CPU and memory settings? I keep getting OOM errors when I inference.


Any support for connection through virtual ethernet interface?

Hi,
I'm trying to use this API with drone simulator, parrot-sphinx.
The simulator provides virtual ethernet interface on host side and drone side. However, I found that there are only Wifi and BLE connection in pyparrot.
Is there any support for virtual ethernet connection? Please let me know if you have any plan for this.
Thanks.

I do not have any current plans for this but getting it to work on the simulator would be useful eventually.


added albumentations tutorial notebook

! pip install git+https://github.com/Deci-AI/super-gradients.git@master is not great. Also missing -qq
! pip install albumentations is also not great.
Let's add some version specifier to albumentations and exact version for SG 🙏

Other than than - it's good to me ✅

! pip install git+https://github.com/Deci-AI/super-gradients.git@master is not great. Also missing -qq
! pip install albumentations is also not great.
Let's add some version specifier to albumentations and exact version for SG 🙏

Thanks, updated!
The segmentation sample + albu support is not in a published release yet so I updated the SG command to use rc tag.
Once wel release I will update the command.


Couple of fixes for Tundra Exploration

It depends on Kerbal Reusability Expansion, so include that dependency
Allow installation of example craft

This was done in talks with the author, @damonvv

Any advice on the failure?  It seems to be looking for installed ships in <ksp_root>/Ships/Ships

@HebaruSan can you force a reindex for the most recent version or is there a different process this should go through?

That happens automatically after a merge:
https://github.com/KSP-CKAN/CKAN-meta/commit/cea4a688736f39aed102206622df9363a78a0f9c

Oh good.  I was looking at status.ksp-ckan.org but I guess it doesn't update the last indexed timestamp unless there's actually a new version

Oh, that page only reflects the status of the bot; pull requests are treated separately. It is confusing!


Question: What colorscheme are you using in the demo pictures?

my own https://github.com/lukas-reineke/onedark.nvim/blob/master/lua/onedark.lua
It's basically one-dark, but with darker background colors

thanks!
I really prefer colorschemes with really dark bg colors. I am currently using code-dark with black background


Fix an occasional NullPointer in the DeploymentActor

Using log.xxx() from a future in an actor with ActorLogging trait is bad because it tries to access this.context from another thread.
Fixes: #DCOS-9936

is this type of usage something that we should sweep the codebase for? if so, possible to add some kind of linter rule to pick up on things like this?

We could but it depends. Accessing enclosing actor from the future is bad. sender() is bad but self is fine since it is set at the actor initialisation. log.xxx wasn't obvious to me since it implicitly accesses actor's context (because of the ActorLogging trait) but as an actor's val e.g. val log = Logging(context.system, this) it would've been fine.


TlsException: Handshake failed - error code: UNITYTLS_INTERNAL_ERROR

Hi, I got this error when I run the example code, how do I fix it?
TlsException: Handshake failed - error code: UNITYTLS_INTERNAL_ERROR, verify result:<PHONE_NUMBER>
Mono.Unity.Debug.CheckAndThrow (Mono.Unity.UnityTls+unitytls_errorstate errorState, Mono.Unity.UnityTls+unitytls_x509verify_result verifyResult, System.String context, Mono.Security.Interface.AlertDescription defaultAlert) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
Mono.Unity.UnityTlsContext.ProcessHandshake () (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status, System.Boolean renegotiate) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
(wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus,bool)
Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
Rethrow as AuthenticationException: Authentication failed, see inner exception.
Mono.Net.Security.MobileAuthenticatedStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
(wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.AuthenticateAsClient(string,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Authentication.SslProtocols,bool)
System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
MySql.Data.MySqlClient.NativeDriver.StartSSL () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.NativeDriver.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.Driver.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.GetConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlConnection.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
Example.MySql.DatabaseManager.Connect () (at Assets/Scripts/MySQL/DatabaseManager.cs:42)
Example.MySql.DatabaseManager.Start () (at Assets/Scripts/MySQL/DatabaseManager.cs:22)

Here's the code I used:
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
            builder.Server = Host;
            builder.Port = 3306;
            builder.UserID = User;
            builder.Password = Password;
            builder.Database = Database;

            try
            {
                using (MySqlConnection connection = new MySqlConnection(builder.ToString()))
                {
                    Debug.Log("TEST");
                    connection.Open();
                }
            }
            catch (MySqlException exception)
            {
                print(exception.Message);
            }

Are you doing this on Android? And is the certificate created with the correct settings?

I'm trying to run this on Window, in Unity Editor.
Can you elaborate on the 'certificate created with the correct settings'? I'm not familiar with the setup of the MySQL server, it's handled by a different team.
I tried setting SSL mode to None in the MySqlConnectionStringBuilder and a different message came up:
Authentication method 'caching_sha2_password' not supported by any of the available plugins
stacktrace:
MySqlException: Authentication method 'caching_sha2_password' not supported by any of the available plugins.
MySql.Data.MySqlClient.Authentication.AuthenticationPluginManager.GetPlugin (System.String method) (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.GetPlugin (System.String method, MySql.Data.MySqlClient.NativeDriver driver, System.Byte[] authData) (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.NativeDriver.Authenticate (System.String authMethod, System.Boolean reset) (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.NativeDriver.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.Driver.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlPool.GetConnection () (at <8051f3898298485d9e8510b51445dcd7>:0)
MySql.Data.MySqlClient.MySqlConnection.Open () (at <8051f3898298485d9e8510b51445dcd7>:0)
Example.MySql.DatabaseManager.Connect () (at Assets/Scripts/MySQL/DatabaseManager.cs:47)
Example.MySql.DatabaseManager.Start () (at Assets/Scripts/MySQL/DatabaseManager.cs:23)

If I don't connect to the in-house MySQL server but use a different MySQL service like freemysqlhosting.net, the connection works fine. Did we set up the MySQL server wrong? How to correct it?

You might want to ask the other team on how to correctly access the SQL Server, that will probably be your best option.
Here are a few things I found that might help
https://stackoverflow.com/questions/50088142/authentication-method-caching-sha2-password-not-supported-by-any-of-the-availa
https://www.codeproject.com/Questions/1243600/How-do-I-resolve-mysqlexception-authentication-met
https://www.youtube.com/watch?v=GPtL1AMsJqY


Does not change days in a month properly, when moth changes

Here are the steps performed over the example app:

Open the calendar
Change language to en
Select Feb 29, 2020
Change Feb to Mar ==> number of days for March stays 29. although it is 31.

If I scroll days down a bit the correct numbers appear but initially they are absent.

please use v0.7.0


Temporarily disable tests for non-RDC architectures.

This works around some failures in Thrust's post-commit CI.
This is due to how CMAKE_CUDA_FLAGS works -- all targets in a directory
must share the same flags. Now that some tests always enable RDC to test
CDP launches, we have to disable the tests for non-RDC arches (53, 62, 72).
We can fix this properly once we migrate to using CMAKE_CUDA_ARCHITECTURES.
See comments in this patch for details.

This fixes failures in Thrust's post-commit CI, where we were building tests that depend on RDC for arches that don't support it.
This is a temporary work-around -- we'll have to wait until we're using CMAKE_CUDA_ARCHITECTURES to fix this properly.

gpuCI: NVIDIA/thrust#1755

Right now we just skip these architectures completely for our tests.

We'll have to skip those tests (temporarily) until we can start using the CMake CUDA_ARCHITECTURES property. Hopefully we'll remove the remaining blockers for that work soon.
That said, I do need to make sure to update the flags for the example builds. Update incoming!


nested getUser caused exception

Package
lucia-auth
Package version
0.2.0
Describe the bug
I have a parent compoent and a child compenent
If they both call "getUser()" I get an exception thrown :
user.js:18 Uncaught (in promise) Error: _luciaStore is undefined
    at getClientUser (user.js:18:15)
    at getUser (index.js:15:12)
    at instance (TopPanel.svelte? [sm]:27:18)
    at init (index.mjs:1997:11)
    at new TopPanel (TopPanel.svelte? [sm]:29:66)
    at createProxiedComponent (svelte-hooks.js?v=d7862a63:341:9)
    at new ProxyComponent (proxy.js?v=d7862a63:242:7)
    at new Proxy<TopPanel> (proxy.js?v=d7862a63:349:11)
    at Array.create_default_slot (ProjectMain.svelte? [sm]:299:23)
    at create_slot (index.mjs:69:27)
getClientUser @ user.js:18
getUser @ index.js:15
instance @ TopPanel.svelte? [sm]:27
init @ index.mjs:1997
TopPanel @ TopPanel.svelte? [sm]:29
createProxiedComponent @ svelte-hooks.js?v=d7862a63:341
ProxyComponent @ proxy.js?v=d7862a63:242
Proxy<TopPanel> @ proxy.js?v=d7862a63:349
create_default_slot @ ProjectMain.svelte? [sm]:299
create_slot @ index.mjs:69
create_fragment @ SelectorComponent.svelte? [sm]:241
init @ index.mjs:2012
SelectorComponent @ SelectorComponent.svelte? [sm]:217
createProxiedComponent @ svelte-hooks.js?v=d7862a63:341
ProxyComponent @ proxy.js?v=d7862a63:242
Proxy<SelectorComponent> @ proxy.js?v=d7862a63:349
create_fragment @ ProjectMain.svelte? [sm]:288
init @ index.mjs:2012
ProjectMain @ ProjectMain.svelte? [sm]:83
createProxiedComponent @ svelte-hooks.js?v=d7862a63:341
ProxyComponent @ proxy.js?v=d7862a63:242
Proxy<ProjectMain> @ proxy.js?v=d7862a63:349
create_if_block @ +page.svelte? [sm]:11
update @ +page.svelte? [sm]:42
update @ index.mjs:1193
flush @ index.mjs:1160
init @ index.mjs:2029
Root @ root.svelte? [sm]:20
createProxiedComponent @ svelte-hooks.js?v=d7862a63:341
ProxyComponent @ proxy.js?v=d7862a63:242
Proxy<Root> @ proxy.js?v=d7862a63:349
initialize @ client.js?t=1669899851092&v=d7862a63:372
_hydrate @ client.js?t=1669899851092&v=d7862a63:1576
await in _hydrate (async)
(anonymous) @ szjN3pfnLmFZLZTEHhT4Q:382

System info
macos
latest lucia
Reproduction
No response
Relevant log output
No response
Additional information
No response

it was because i was missing "handleSession" on the layout ... maybe could have a better error message.

@weepy will do!


🐛 [Bug] Encountered bug when using Torch-TensorRT

Bug Description
Torch-TensorRT reports undefined symbol after running python setup.py install:
ImportError: /usr/local/lib/python3.6/dist-packages/torch_tensorrt/lib/libtorchtrt.so: undefined symbol: _ZNK2at6Tensor21__dispatch_contiguousEN3c1012MemoryFormatE

I'm not sure if this is a bug or a issue related to my environment, but after building Torch-TensorRT with python setup.py install, I encountered this problem when calling import torch_tensorrt:
    import torch_tensorrt
  File "/usr/local/lib/python3.6/dist-packages/torch_tensorrt/__init__.py", line 11, in <module>
    from torch_tensorrt._compile import *
  File "/usr/local/lib/python3.6/dist-packages/torch_tensorrt/_compile.py", line 2, in <module>
    from torch_tensorrt import _enums
  File "/usr/local/lib/python3.6/dist-packages/torch_tensorrt/_enums.py", line 1, in <module>
    from torch_tensorrt._C import dtype, DeviceType, EngineCapability, TensorFormat
ImportError: /usr/local/lib/python3.6/dist-packages/torch_tensorrt/lib/libtorchtrt.so: undefined symbol: _ZNK2at6Tensor21__dispatch_contiguousEN3c1012MemoryFormatE

However, if I build the package with python setup.py develop, it works.
To Reproduce
Steps to reproduce the behavior:

Modify WORKSPACE file, change path to cuda, libtorch and libtorch_pre_cxx11_abi
Run python setup.py install in py directory
After successful installation, run python -c "import torch_tensorrt".

Expected behavior
The Torch-TensorRT package should be successfully loaded.

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

Torch-TensorRT Version (e.g. 1.0.0): master branch
PyTorch Version (e.g. 1.0): 1.10
CPU Architecture:
OS (e.g., Linux):
How you installed PyTorch (conda, pip, libtorch, source): pip installed torch, modified libtorch urls in WORKSPACE
Build command you used (if compiling from source): python setup.py install
Are you using local sources or building from archives: local sources
Python version: 3.6.9
CUDA version: 10.2
GPU models and configuration: T4
Any other relevant information:

Additional context

Can you share your WORKSPACE file?

@narendasan Sure, here's the file:
workspace(name = "Torch-TensorRT")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

http_archive(
    name = "rules_python",
    sha256 = "778197e26c5fbeb07ac2a2c5ae405b30f6cb7ad1f5510ea6fdac03bded96cc6f",
    url = "https://github.com/bazelbuild/rules_python/releases/download/0.2.0/rules_python-0.2.0.tar.gz",
)

load("@rules_python//python:pip.bzl", "pip_install")

http_archive(
    name = "rules_pkg",
    sha256 = "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz",
        "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz",
    ],
)

load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")

rules_pkg_dependencies()

git_repository(
    name = "googletest",
    commit = "703bd9caab50b139428cea1aaff9974ebee5742e",
    remote = "https://github.com/google/googletest",
    shallow_since = "1570114335 -0400",
)

# External dependency for torch_tensorrt if you already have precompiled binaries.
local_repository(
    name = "torch_tensorrt",
    path = "/opt/conda/lib/python3.8/site-packages/torch_tensorrt"
)

# CUDA should be installed on the system locally
new_local_repository(
    name = "cuda",
    build_file = "@//third_party/cuda:BUILD",
    path = "/usr/local/cuda-10.2/",
)

new_local_repository(
    name = "cublas",
    build_file = "@//third_party/cublas:BUILD",
    path = "/usr",
)
#############################################################################################################
# Tarballs and fetched dependencies (default - use in cases when building from precompiled bin and tarballs)
#############################################################################################################

http_archive(
    name = "libtorch",
    build_file = "@//third_party/libtorch:BUILD",
    strip_prefix = "libtorch",
    urls = ["https://download.pytorch.org/libtorch/cu102/libtorch-cxx11-abi-shared-with-deps-1.10.0%2Bcu102.zip"],
)

http_archive(
    name = "libtorch_pre_cxx11_abi",
    build_file = "@//third_party/libtorch:BUILD",
    strip_prefix = "libtorch",
    urls = ["https://download.pytorch.org/libtorch/cu102/libtorch-shared-with-deps-1.10.0%2Bcu102.zip"],
)

# Download these tarballs manually from the NVIDIA website
# Either place them in the distdir directory in third_party and use the --distdir flag
# or modify the urls to "file:///<PATH TO TARBALL>/<TARBALL NAME>.tar.gz

#http_archive(
#    name = "cudnn",
#    build_file = "@//third_party/cudnn/archive:BUILD",
#    sha256 = "0e5d2df890b9967efa6619da421310d97323565a79f05a1a8cb9b7165baad0d7",
#    strip_prefix = "cuda",
#    urls = [
#        "https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.2.4/11.4_20210831/cudnn-11.4-linux-x64-v<IP_ADDRESS>.tgz",
#    ],
#)
#
#http_archive(
#    name = "tensorrt",
#    build_file = "@//third_party/tensorrt/archive:BUILD",
#    sha256 = "3177435024ff4aa5a6dba8c1ed06ab11cc0e1bf3bb712dfa63a43422f41313f3",
#    strip_prefix = "TensorRT-<IP_ADDRESS>",
#    urls = [
#        "https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.3/tars/tensorrt-<IP_ADDRESS>.linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz",
#    ],
#)

####################################################################################
# Locally installed dependencies (use in cases of custom dependencies or aarch64)
####################################################################################

# NOTE: In the case you are using just the pre-cxx11-abi path or just the cxx11 abi path
# with your local libtorch, just point deps at the same path to satisfy bazel.

# NOTE: NVIDIA's aarch64 PyTorch (python) wheel file uses the CXX11 ABI unlike PyTorch's standard
# x86_64 python distribution. If using NVIDIA's version just point to the root of the package
# for both versions here and do not use --config=pre-cxx11-abi

#new_local_repository(
#    name = "libtorch",
#    path = "/usr/local/lib/python3.6/dist-packages/torch",
#    build_file = "third_party/libtorch/BUILD"
#)

#new_local_repository(
#    name = "libtorch_pre_cxx11_abi",
#    path = "/usr/local/lib/python3.6/dist-packages/torch",
#    build_file = "third_party/libtorch/BUILD"
#)

new_local_repository(
    name = "cudnn",
    path = "/usr/",
    build_file = "@//third_party/cudnn/local:BUILD"
)

new_local_repository(
   name = "tensorrt",
   path = "/usr/",
   build_file = "@//third_party/tensorrt/local:BUILD"
)

#########################################################################
# Testing Dependencies (optional - comment out on aarch64)
#########################################################################
pip_install(
    name = "torch_tensorrt_py_deps",
    requirements = "//py:requirements.txt",
)

pip_install(
    name = "py_test_deps",
    requirements = "//tests/py:requirements.txt",
)

pip_install(
    name = "pylinter_deps",
    requirements = "//tools/linter:requirements.txt",
)

Solved the issue.
Looks like I've installed torch==1.10.1 on my container, however, I downloaded libtorch-1.10.0, which caused the mismatch of symbols.
Changing libtorch to 1.10.1 in the WORKSPACE file solved the problem.


completion methods don't pass the model argument

This isn't very clear in the API docs, but when using fine-tuned models, it is necessary to pass a model parameter to openai.Completion.create rather than engine. But chronology doesn't support that...

I have the same question？I'm not sure if this will affect library usage.


Add secure = False option to MinIO arguments

Add a new argument (secure: Optional[bool] = True) to the MinIOStorage class, and the from_minio method of the ModelStore class.
This argument defaults to True, which is the default of the underlying minio.Minio class.
This argument is passed directly to the argument of the same name in the minio.Minio class, and disables the need for SSL connections when set to False, thereby allowing development against a local MinIO server that doesn't have SSL enabled.

@sspillard Thanks for the contribution! I'm seeing an issue with the integration tests, but I think that is because I've changed some things with my AWS setup. I'll investigate this separately and then come back and merge this.

thereby allowing development against a local MinIO server that doesn't have SSL enabled

Nice! I think I'll use this to write a few more tests as well

Okay, am pretty sure that the workflow is failing because secrets are not available in public forks. Am going to merge this, and test the main branch separately.
Thanks again for your contribution! Feel free to share any other feedback or ideas you have.

Good morning Neal - oops, sorry for breaking your workflows (and for getting the name of the PR wrong - it should be secure=True!)
Thanks for the merge, and the package, though - looking forward to using this!


Azure Web App Gallery: Ghost on v0.4.0

Azure has a web app gallery, allowing users to install 'the usual apps' with one click. Sadly, the current Ghost package up there is on version 0.4.0. As you guys know, I'm a dev with Microsoft and evangelizing the heck out of Ghost, but I'm also spending a lot of time explaining to peeps how to update. Volunteering to update the package!

Hi,
this is outdated again. Will there be an update to this Azure App template?
I startet working on a package but having a newer Version in the Azure Gallery would be even better.
Maybe something from here can be usefull: https://github.com/kirkone/AzureGhost

@felixrieseberg did you hand this over to anyone?

Puh, no idea who's in charge of that these days. @kirkone reaching out to Azure Support is probably your best bet, since the gallery is maintained by Microsoft.


Easy way to disable the header

Hi, thank you very much for writing this fine library. I use it to generate the Cabal file for my cabal2nix utility, and I'm quite happy with the results. I have a feature request, though: could you please add an easy way to disable the header that defaultMain prepends to the generated file? I realize that I can re-implement defautMain with the provided low-level functions to get around that feature, but it would be nice if this were simpler, i.e. by passing a parameter to defaultMain or something like that. Thank you!

I'd rather keep the defaultMain simple; I think even one more parameter would be too many :) but I will think about this one.  Something like this works fine in the meantime though:
https://gist.github.com/massysett/32ec3cc00f8722a415ba

Well, if you feel that one parameter is too much, then how about introducing defaultMail', which has that parameter, and making defaultMain a wrapper for that new function that sets the argument so that the header is written? Then users wouldn't notice the change, and anyone who cared would have an easy way to disable the advertisement.


camel-atmosphere-websocket: test fixes

This resolves most of the broken tests (there's still 2 broken, though)


[Bug]: After auto-commit runs on a particular branch, I see a page commit to be committed manually

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I connect to a git connected app, and navigate to a particular branch, auto-commit runs, but manual commit for a page is seen.
Steps To Reproduce
The app used is this repo
git@github.com:btsgh/release_3jan_new.git
This is seen on the particular branch named - laveena.
The commit difference can be seen here [Created a new branch from the branch where one manual commit showed up and found this difference]:
https://github.com/btsgh/release_3jan_new/commit/e8f79c3fbde3ff79d78d27d39cf814ee5369e176

Public Sample App
No response
Environment
Release
Severity
Medium (Frustrating UX)
Issue video log
No response
Version
Cloud

tried this on another app and the  diffs which we have seen https://github.com/RakshaKShetty/git_jun5_import_app1/commit/4ae6082f342afcd076d509d149dec25775e33786

@RakshaKShetty
The branch issue has been branched off from master of the application, and this app has not gone under autocommit yet.
as it's evident from this commit for cleanup

This has happened before an autocommit happened on master branch because the common denominator commit for branch master and issue is common parent

This can happen due to autocommit being switched off/autocommiting not progressing due to ongoing autocommits in other branches.
the commit on issue branch migrates server hence we don't expect anymore autocommit.

@sondermanish  1.We feel this might be the same issue which this user has faced so lets not close it but just keep it medium and try to repro the exact steps for fixing it. https://theappsmith.slack.com/archives/C0341RERY4R/p1720803036739129
2. This can happen due to autocommit being switched off/autocommiting not progressing due to ongoing autocommits in other branches. Can we put this in our  documentation so that users will be clear that there might be some delay

Bumping this issue up to prod because it should have made it's way there by now if it was not fixed

@sondermanish  - here is another example of a git imported app where I am seeing commits even after auto-commit runs
This is where the diff can be seen -
https://github.com/btsgh/2aprregapp/commit/a969a3aa55c5227a1a4353a4c23d3d73bcc473dc
Screenshot of the diff-

Not sure I get that? You mean this should be a separate bug? Why not part of auto-commit? Ideally these commits should also have been taken care of in the autocommit action itself right


Context menu button to translate some element

Usage:

Open context menu and press button "Translate element" (also this button available in popup)
Enabled picker mode on page
When user pick element, it start translates
Page status changed to "partial translation" which is sub status of "translation"
When user pick translated element, it stop translation
When user press button "Disable page translation", all elements translations are reset
This feature must have a hotkey

Maybe if user click context menu by element, we should render option to translate selected element.


UnnecessaryAbstractClass: fix false positive when abstract class has abstract inherited members

Fixes #727

I'm fixing.


Component trait

I see you have a Program trait, but this doesn't implement a "new" method:
https://github.com/hecrj/iced/blob/1f7e8b7f3d1804c39c8e0934b25f3ef178de269c/native/src/program.rs
First of all, what do you call a trait with new, update, and view methods? I don't see a quick answer in the TEA docs other than "program" or "module", is it true they don't really have an idiomatic new for this, like, say, a React Component that implements a render method and some event listeners that set local state on the component (either explicitly through calling setState, or implicitly through internally-managed state through Hooks)?
It doesn't seem to be appropriate to call this a "Widget", since this seems lower-level, and I don't think it's the responsibility of Widgets to manage state themselves, they're more for specific view components, or as React devs call this, a "stateless component". Stateless components don't call setState, and they technically shouldn't have React hooks called, and are generally used in simpler UI component libraries, similar to using a CSS framework but not the associated JS functionality.
For example, in my application, I want a convenience trait so I can call update methods on any Component that implements one. Ideally, there'd also be a default implementation that matches nothing, like a NoOp, while allowing update to be called with the provided Message generic argument. Such a trait would likely need another generic provided for the State, contained in the struct the Component trait implements.
Additionally, by standardizing this Component interface, I'm able to call view methods in my Application view function without needing to specify the individual implementations themselves.
Understandably, both probably needs to be called selectively, since I've also implemented a sort of Page routing logic. I prefer not to pollute my native application with terms drawing from web technologies, so I call these Pages rather than Routes or whatever you want to call the thing that cosmetically updates browser window history (though, routing might be helpful with a browser content, like a program compiled with a wasm target, but wasm has other uses beyond frontend now, of which Iced should also support for HTML static renderer deployment to things like CloudFlare Workers, or Lambda, or Krustlet; essentially full stack servers that return HTML strings after being provided a routing context). Regardless, I'm referring to the design idiom where you go see different pages or views after clicking or touching a nav bar, or on mobile, they have these bars typically on the bottom of the screen in iOS (and on the top in Android) that never really goes away as the user interacts with the app, which I call a Page Selector in my app.
TL;DR: What should a "component" be called, as per the definition provided above, and also, does such a concept already exist, or should it, or should these things be considered something that an application developer should implement, even though most of us will probably wind up reinventing the wheel individually in our own apps?
Oh, and one more thing. I'm sure there are things you'd prefer to not have added to every iced app, since it really would expand the scope of the UI framework to more of an application framework, which is understandably something a single maintainer would want to avoid supporting, maybe, but as you might know, I have much greater ambitions for Iced as a sort of unified application framework that supports a variety of targets and application contexts beyond what's already implemented. The goal being, to put it succinctly, the capability to implement the user interface for an entire Rust-native application in a single codebase that compiles to a SPA, that also supports SSR, is easiiy deployed on FaaS cloud infra, and also, within the same codebase, with no necessity for splitting the project up, will support everything from terminal UI (TUI) apps, to native mobile devices compiled in aarch64 targets and using mobile-native UI frameworks. This is, essentially, the "holy grail" of application development, and Iced could be the "killer app" for Rust.

I don't think there is an equivalent to react components - possibly intentionally. This has been discussed in the iced chatroom: direct link.
Direct quote of the relevant section for posterity:

Héctor Ramón: The Elm Architecture has no notion of components. In fact, thinking in terms of components is discouraged.

This actually makes a lot of sense, and explains a lot about what I've been finding lately. Especially given Hector's explanation. I guess I need to think of other ways to solve my page routing / navigation feature, and comb through the examples more, maybe there's something there that can help me shape my thinking. Thanks for chiming in, @twitchyliquid64

I had been hammering at this off and on all day and it's not as easy as it would first seem.
component.rs
use iced::{Command, Element};

pub trait Component: Sized {
  type Message;

  fn new() -> Self;

  fn update(&mut self, message: Self::Message) -> Command<Self::Message>;

  fn view(&mut self) -> Element<'_, Self::Message>;
}

I kept running into issues around the fact that I can't assign all that to a struct, because the "size can't be known at compile time", which kinda makes sense.
The problem I kept running into is, I'm not sure where I would have been able to assign my components, reference their view and update methods in useful ways, while also being able to return elements from the view method without referencing data owned only by the view method. And then there's the problem that I still wasn't able to get "Components" based on differing types and implementations to be considered functionally equivalent (like an interface) to other components, so I can use them interchangeably.
And then I realized... Splitting all this up into different files is not only premature, it's actively holding my application development back. All the work I'd done so far on my Iced app, carefully architecting it into different files, much as you would a JS and React project... These instincts led to work that wasn't really going to be useful, much less practical.
Thanks for the nudge in the right direction, @twitchyliquid64 :smile_cat:

Where is the subscription method?
if I want to subscribe to a timer?

@alex13sh Are you making fun of me

Nevermind, I just realized there's a method I haven't seen in the examples...
https://docs.rs/iced/0.2.0/iced/trait.Application.html#method.subscription
Looks really useful, thank you. But, please, for the love of all that's good, don't do what I just spent all of yesterday on... :joy_cat:


Adding error 404 page

Heyy,
I would like to add an error  404 page for the website.
Thanks and Regards,
Vibhuti Chandrakar

This issue has been inactive for a long time
I would like to work on this issue
Please assign


Simplified call to testapp note stable id

Current coverage is 97.33% (diff: 100%)

Merging #127 into master will not change coverage

@@             master       #127   diff @@
==========================================
  Files            39         39
  Lines          1612       1612
  Methods           0          0
  Messages          0          0
  Branches        281        281
==========================================
  Hits           1569       1569
  Misses           13         13
  Partials         30         30

Powered by Codecov. Last update b2d45a7...706f66f


Periodic forcing bug

Ok this test does a pretty good job covering the base excitation system. I think all the code I wrote is correct (at least for an and bn where n =1). I didn't change the code beside move things around. So I still don't know why I can't compute force transmissibilty and phase angles. The code must be incorrect in the notebooks...

I audited the periodic forcing and base excitation stuff pretty thoroughly yesterday and didn't find any issues.
One mistake I was making on the quarter car force transmissibility was I wasn't setting the travel speed (or alternatively the bump distance) to match the excitation frequency so the frequency calculated in the force measurement function was correct. Here's a working example that's as clean as I can make it so there are no global variables or anything to make this mistake:
from resonance.linear_systems import SimpleQuarterCarSystem
import numpy as np
import matplotlib.pyplot as plt

def force_on_car(suspension_damping, suspension_stiffness,
                 car_vertical_position, car_vertical_velocity, travel_speed,
                 bump_dist, bump_height, time):
    wb = travel_speed / bump_dist * 2 * np.pi
    y = bump_height * np.sin(wb * time)
    yd = bump_height * wb * np.cos(wb * time)
    return (suspension_damping * (car_vertical_velocity - yd) +
            suspension_stiffness * (car_vertical_position - y))

sys = SimpleQuarterCarSystem()
sys.constants['bump_dist'] = 6
sys.constants['bump_height'] = 0.01
sys.add_measurement('force_on_car', force_on_car)

frequencies = np.linspace(1.0, 20.0, num=100)
amplitudes = np.zeros(*frequencies.shape)
for i, wb in enumerate(frequencies):
    sys.constants['travel_speed'] = wb * sys.constants['bump_dist'] / 2 / np.pi
    traj = sys.sinusoidal_base_displacing_response(
        sys.constants['bump_height'], wb, 20)
    amplitudes[i] = np.max(traj[15:].force_on_car)

ft = amplitudes / sys.constants['suspension_stiffness'] / \
        sys.constants['bump_height']
plt.plot(frequencies, ft)
plt.show()

Haven't messed with phase yet. Could add a unit tests for MassSpringDamperSystem and BaseExcitationSystem to make sure the force/displacement transmissibility matches the analytic expression.

Ah! yes. I think the way we did this in class and made measurements for wb was a better approach so you don't have to manually manage the relationship between v and wb. Thanks!! That looks great.

Please add the tests. That would be great!


PR-run-local

Fixes #11 , #204

[X] npm run test succeeds.
[X] npm run lint succeeds.
[ ] Appropriate changes to README are included in PR.

Incremental subset of changes from PR #313
Merge PR #316 "auth-reorg"
Merge PR #317 "run-dev"
Merge PR #319 "logs-fixes"
Changes

commands

clasp logout

removes local ./.clasprc only if exists; subsequent call removes ~/.clasprc

clasp run

Re #11: If using default global API client ID, prompt for project ID then display instructions on how to create new OAuth client with the Script & Loggings APIs enabled.
Re #204: Detect new scopes in manifest and initiate authorization
Specific error messages for local credentials
Handle execution API responses

auth

Check mainifest and prompt for athorization of new OAuth scopes

utils

Helpers functions to get various project URLs
New LOG and ERROR messages
Check for manifest in rootDir
Load manifest function
TODO logError() distinguish local vs. global credentials
TODO global/local settings file should be common structure with backwards compatibility

test

Test clasp logout function: local & global logout
TODO additional test coverage for local auth needed

Example
clasp login
clasp create "TestScriptRun" --rootDir dist
echo 'function entryPoint() {
  const where = "shell";
  console.log(`Finally, Apps Script function execution from ${where}.`);
  return `${where} success!`;
}' > ./dist/hello.ts
echo '{
  "timeZone": "America/New_York",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "executionApi": {
    "access": "MYSELF"
  }
}' > ./dist/appsscript.json
clasp push
clasp run entryPoint
 #
 # Promots for project ID and displays instructions
 # to get local OAuth client credentials.
 #
clasp logout && clasp login --creds client_credentials.json
clasp run entryPoint --dev
clasp run imnotafunction --dev
echo '{
  "timeZone": "America/New_York",
  "oauthScopes": [
    "https://www.googleapis.com/auth/userinfo.email"
  ],
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "executionApi": {
    "access": "MYSELF"
  }
}' > ./dist/appsscript.json
clasp push
clasp run entryPoint --dev
#
# Promots to authorize new OAuth scope in manifest
#
echo 'function exception() {
  throw new Error("Something went wrong.");
}' >> ./dist/hello.ts
clasp push
clasp run exception --dev
clasp logs

Conflicts.

I merged. I cancelled the revert, so disregard that.

To be honest, I'm not sure of all of the changes in this PR. I merged this one first because it was the largest of the bunch.
I'll have to check the build before publishing the next version of clasp.


d3 dependency difference

bower.json has dependency of "d3": "~3.3.11"
package.json has devDependency of "d3": "^3.5.12"
Any reason bower.json is back at 3.3.11? More importantly, any red flags if it were bumped to 3.5.x?

+1


[VS Code] Joining collaboration session: Cannot read property 'positionTracker' of undefined

positionTracker.zip
Error:
Joining collaboration session: Cannot read property 'positionTracker' of undefined
Steps to Reproduce:

run a collaboration session but the host does not edit any file
interrupt the connection
rejoin to the session.

Version Data

extensionName
VSLS

extensionVersion
0.3.1121

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.30.1

platformName
MacOS

platformVersion
18.2.0

This issue has been closed due lack of any recent activity. We've made lots of improvements to Live Share since this issue. Please re-open the issue, if this problem persists.
🤖Live-Share-Clean-Up-Bot🤖


timeseries-byLocation.json not updated

**Source: ** https://listaging-reportsbucket-1bjqfmfwopcdd.s3-us-west-1.amazonaws.com/beta/latest/timeseries-byLocation.json
**Issue: ** Last entry in this file is for July 22.

Did it move to a different URL?

Sorry about that @rtwfroody , they did move to v1:
https://listaging-reportsbucket-1bjqfmfwopcdd.s3-us-west-1.amazonaws.com/v1/latest/timeseries-byLocation.json.
I haven't launched it to prod yet, am still working through some front-end issues with the covidatlas site.
I'll update the main ticket!

Thanks. That works. (Still showing #343 and #346.)

Yes, those are still outstanding issues.  :-(  Cheers! z


More explicit version numbers

Version information provided in the form UAVCAN_VERSION_* is likely to cause confusion, since people often fail to understand the difference between specification and its implementation. This change makes versioning more explicit.

Sorry, I've been distracted in pythonville for the last two weeks. Okay: I think this is the gist of what you wanted changed:
/**
 * libuavcan version definition
 */
#define UAVCAN_LIBRARY_VERSION_MAJOR    2
#define UAVCAN_LIBRARY_VERSION_MINOR    0

/**
 * UAVCAN specification version this implementation
 * adheres to.
 */
#define UAVCAN_SPECIFICATION_VERSION_MAJOR  1

I'll just pull this in and close this PR if you are okay with that.

Yes, this is my commit: https://github.com/thirtytwobits/libuavcan/pull/1/commits/cbb99a83b27dd314bcde47cac29976d662528455
I am not sure where the other changes came from; when I opened the PR the log difference was limited to my single commit only.

Please reopen if my current set of changes are still missing what you are looking for here.


compile should be warning-free (x64)

When compiling mbedtls-1.4 with VS2015 targeting amd64 with default config.h, the following warnings are reported:
1>  x509_crl.c
mbedtls\library\ssl_srv.c(1429): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
mbedtls\library\ssl_srv.c(1538): warning C4267: '-=': conversion from 'size_t' to 'unsigned int', possible loss of data
mbedtls\library\ssl_tls.c(1555): warning C4267: 'initializing': conversion from 'size_t' to 'unsigned char', possible loss of data
1>  x509_crt.c
1>  x509_csr.c
mbedtls\library\net.c(205): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data
mbedtls\library\ssl_tls.c(5834): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
mbedtls\library\ssl_tls.c(5841): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
mbedtls\library\ssl_tls.c(5846): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
mbedtls\library\ssl_tls.c(5854): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
mbedtls\library\net.c(304): warning C4267: 'function': conversion from 'size_t' to 'int', possible loss of data
1>  x509write_crt.c
mbedtls\library\net.c(455): warning C4133: 'function': incompatible types - from 'int *' to 'char *'

All except the last one (C4133) also occurred on VS2013. The size_t warnings, at least, should be taken care of.

Thanks for your report! I just fixed all warnings from VS2015 on Win64 in the upcoming 2.0.


404 error on a linked documentation page

Link to http://co.ntextu.al/ does not work.

That’s an error.
The requested URL / was not found on this server. That’s all we know.

It does now :P


Fix some mixups between 2D/3D in documentation

Unsure if there are other cases but seems to mostly have caught all
If the changes are considered too minor compared to the impact on translation I can limit it to only cover the incorrect links, which I think should be fixed at minimum as they will throw people off

Fixes: godotengine/godot-docs#7707

Thanks!

At least some of these changes needs to be cherry picked for 4.1

It does seem to be trivial to cherry pick for 4.1, should I add the tag?


No demo users

No demo user is listed in README.md. I have to guess it.

Added Demo users credentials to the README.md along with how to load users into the app.


Allow hiding of layer control.

It should be possible to avoid showing the layer control on the map, particularly when there's only one baselayer being used.
In my case, I can't just use tiles and markers because I am using marker cluster, which forces me to use layers which forces me to include a baselayer which forces the layer control to be visible, even though there's nothing useful a user could do with it.

@tombatossals - Hi I am using your directive in one application. I struck up on one issue. Here is the scenario.
I am getting geoJson data with set of points, polygons. Each feature will have information specific to that point. For example if a feature is completed or not. I would like to implement this as overlays on the map. So when user clicks "Complete" on the layer control, it should show the completed geoJson data/vectors.
I dont have URL to pass to the layer/layer control for individual cases geoJson data. Entire geoJson data is available once the page is loaded. How could i implement this scenario ?

Hi, I'm closing the original issue because it's already implemented, take a look at this example which shows how to hide a layer from the baselayers. If no visible layers, the layers controls will not be shown:
http://tombatossals.github.io/angular-leaflet-directive/examples/0000-viewer.html#/layers/hide-baselayer-on-selector-example
Code example:
                layers: {
                    baselayers: {
                      mapbox_light: {
                          name: 'Mapbox Light',
                          url: 'http://api.tiles.mapbox.com/v4/{mapid}/{z}/{x}/{y}.png?access_token={apikey}',
                          type: 'xyz',
                          layerOptions: {
                              apikey: 'pk.eyJ1IjoiYnVmYW51dm9scyIsImEiOiJLSURpX0pnIn0.2_9NrLz1U9bpwMQBhVk97Q',
                              mapid: 'bufanuvols.lia22g09',
                              "showOnSelector": false
                          }
                      }
                    }
                }

Please reopen again or with a new issue if there's something missing.

"showOnSelector" does not work for hiding overlays.


WIP:   Issue  41

Status:
Dev complete, but tests are failing strangely.    It seems like a new label or maybe the changed domain credential has a bug of some sort.
@doxiao @rjeberhard Please take a quick look at the diff to see if I missed something obvious.
Changes:
(1) Label domainUid of various artifacts that weren't already labeled.
(2) Add new kubernetes/delete-domain.sh script with usage:
[adc01jjm weblogic-kubernetes-operator]$ kubernetes/delete-domain.sh -h
  Usage:

    delete-domain.sh -d domain-uid,domain-uid,... [-s max-seconds] [-t]
    delete-domain.sh -d all [-s max-seconds] [-t]
    delete-domain.sh -h

  Perform a best-effort delete of the k8s artifacts for
  the given domain(s), and retry until either max-seconds is reached
  or all artifacts were deleted (default 120 seconds).

  The domains can be specified as a comma-separated list of
  domain-uids (no spaces), or the keyword 'all'.  The domains can be
  located in any kubernetes namespace.

  Specify '-t' to run the script in a test mode which will
  show kubernetes commands but not actually perform them.

  The delete occurs in three phases:

    Phase 1:  Set the startupControl of each domain to NONE
              if it's not already NONE.  This should cause each
              domain's operator to initiate a controlled
              shutdown of the domain.

    Phase 2:  Wait up to half the max wait seconds
              for WebLogic Server pods to exit normally.

    Phase 3:  Delete all kubernetes objects for the
              specified domains, including any pods
              leftover from phase 2.  Give up if max
              seconds is exceeded and there are any
              leftover kubernetes objects for the domain(s).

  This script exits with a zero status on success, and a
  non-zero status on failure.

Sample run:
[adc01jjm weblogic-kubernetes-operator]$ kubernetes/delete-domain.sh -d all
@@ Deleting kubernetes artifacts with label weblogic.domainUID 'all'.
@@ 24 objects remaining after 2 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Setting startupControl to NONE on each domain (this should cause operator(s) to initiate a controlled shutdown of the domain's pods.)
domain "domain1" patched
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 8 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 14 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 19 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 25 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 31 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 24 objects remaining after 36 seconds, including 4 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 23 objects remaining after 40 seconds, including 3 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 23 objects remaining after 44 seconds, including 3 WebLogic Server pods. Max wait is 120 seconds.
@@ Waiting for operator to shutdown pods (will wait for no more than half of max wait seconds before directly deleting them).
@@ 20 objects remaining after 49 seconds, including 0 WebLogic Server pods. Max wait is 120 seconds.
@@ All pods shutdown, about to directly delete remaining artifacts.
domain "domain1" deleted
pod "domain1-cluster-1-traefik-59998fb86d-7mrlx" deleted
job "domain-domain1-job" deleted
deployment "domain1-cluster-1-traefik" deleted
persistentvolumeclaim "domain1-pv-claim" deleted
configmap "domain-domain1-scripts" deleted
configmap "domain1-cluster-1-traefik" deleted
serviceaccount "domain1-cluster-1-traefik" deleted
secret "domain1-weblogic-credentials" deleted
persistentvolume "domain1-pv" deleted
clusterrole "domain1-cluster-1-traefik" deleted
clusterrolebinding "domain1-cluster-1-traefik" deleted
@@ 0 objects remaining after 64 seconds, including 0 WebLogic Server pods. Max wait is 120 seconds.
@@ Success.
[adc01jjm weblogic-kubernetes-operator]$

Note:
BTW, it turns out Mark had started on a change for this issue via WIP branch issue-41.  I discovered this only after I'd written the script and tried to push.   So I'm using "issue--41" for this branch instead of "issue-41".

The script needs to handle the case where the operator is running.  Once you delete the domain resource (assuming the operator is running), the operator will begin shutting down servers and specifically removing the pods, services, and Ingress entries.
One option is to work with the operator by editing the domain to set domain.spec.startupControl = "NONE".  If the operator is running, then it will shutdown all of the pods gracefully.  You can watch the domain.status.conditions array for Progressing and Available conditions.  For startupControl = "NONE", the operator will set a condition of type = "Available" and reason = "AllServersStopped".
After this, the script could safely delete the domain and other resources.

This looks really good with maybe one readability comment that getDomain surprised me by getting all of the objects associated with the domain.  When it fails intermittently, what happens?

Resolves issue #41


Please add a SkypeBots adapter to the list of adapters

Hello I'm a developer of https://github.com/ivadim/hubot-skypebots adapter for Skype.
This adapter is using new Bots API provided by Skype (http://blogs.skype.com/2016/03/30/skype-bots-preview-comes-to-consumers-and-developers/).

The list of hubot adapters in the hubot documentation is being replaced with a link to a GitHub topic search. Add the hubot-adapter topic to your repository on GitHub to include it in this list.
/cc https://github.com/github/hubot/pull/1320


get_cmdline_args not contains the used Godot arguments

Tested versions
v4.2.2.stable.mono.official [15073afe3]
System information
Windows, macOS, Linux
Issue description
I want to determine the engine is running outside the Godot editor by checking the used command line arguments to decide my plugin should be load or not. This is need to not load the plugin UI stuff when running in a test environment, e.g. GitHub CI action.
e.g. $GODOT_BIN --path ./ -e --quit-after 2000 --headless
Printing the result of
	var args := OS.get_cmdline_args()
	args.append_array(OS.get_cmdline_user_args())
	prints("plugin cmd args", args)

shows only
plugin cmd args ["--editor"]
I would expect to get all used arguments here.
I found this issue https://github.com/godotengine/godot/issues/84019 about --headless but it is a common issue.

There are a bunch of engine arguments like this that get trimmed from get_cmdline_args()'s output from some reason, but I could never understand why.

So at least it is inconsistent, the --editor is not filtered.
This blocks me to decide to run the plugin UI part or not when calling form command line.
Using a custom argument will me not help because my tool can be used by custom users, e.g. rebuild the Godot cache by only using the Godot --import parameter.
Steps to reproduce
use the simple plugin example
@tool
extends EditorPlugin

func _enter_tree() -> void:
	check_running_in_test_env()

func _exit_tree() -> void:
	pass

func check_running_in_test_env() -> bool:
	var args := OS.get_cmdline_args()
	args.append_array(OS.get_cmdline_user_args())
	prints("plugin cmd args", args)
	if args.has("--add") or args.has("-a") or args.has("--quit-after") or args.has("--import"):
		return true
	return false

try running the godot via command line
$GODOT_BIN --path ./ -e --quit-after 2000 --headless --foo
shows
plugin cmd args ["--foo", "--editor"]
or with the new --import option
$GODOT_BIN --path ./ --import --headless --foo
shows
plugin cmd args ["--foo", "--editor"]
So there is no way to detect Godot is running with specific Godot arguments.
Minimal reproduction project (MRP)
n/a

This is intentional and documented, this should be a proposal instead IMO as it arguably hurts compatibility and might be undesirable in various ways
You can already access the --editor and --headless for example can be accessed by better means from code

This is intentional and documented, this should be a proposal instead IMO as it arguably hurts compatibility and might be undesirable in various ways

No, is it not, it's nothing about the standard editor arguments will be filtered.

Passing custom user arguments directly is not recommended, as the engine may discard or modify them. Instead, the best way is to use the standard UNIX double dash (--)

If this is the case, then it is very vague, and rather imprecise in the sense of “it is best to use the standard UNIX double dash (--)”, e.g. “--import” has the double dash but is filtered

This is intentional
Why should these arguments be filtered out? What is the reason for this?

Can you provide me a solution to check the editor is running the --import mode?

I'd say it's pretty obvious the engine wouldn't filter out your custom commands that aren't engine commands, that goes without saying, but sure it could be made even more obvious

If this is the case, then it is very vague, and rather imprecise in the sense of “it is best to use the standard UNIX double dash (--)”, e.g. “--import” has the double dash but is filtered

That's not what it's saying, it's godot --editor -- foo as explained below, it doesn't mean the --import it means the double dash on its own, it says pass the standard UNIX double dash (--) and then the custom arguments, the "and then the custom arguments" part is what clarifies this

Can you provide me a solution to check the editor is running the --import mode?

Why do you need to? But to my knowledge no, but it doesn't change anything in the editor code beyond when it exists

Why do you need to? But to my knowledge no, but it doesn't change anything in the editor code beyond when it exists

The use case is quickly explained, the plugin code should not be executed if, for example, --import or --quit-after is used. These arguments are usually used to restore the Godot cache, in this case the plugin code should not be executed.
The workflow for CI workflows is:

needs to rebuild the Godot cache because a repository do not contain the .godot folder
(the rebuild should never load the plugin code)
run a script to execute a scene without loading the plugin code.

Typical a plugin loads some UI components and adds them to the Editor, but this should not happen when Godot is run without the --editor option.

Then just add your own custom argument? Simple and reliable, unlike possible changes to what --import does, again the editor doesn't do anything differently with the --import command except just exiting after importing


Import argocd operator controller into gitops-operator

About
Given that this operator is Red Hat-specific, I propose we ship one OLM operator containing multiple controllers

Controller(s) for GitOps Service
Controller(s) for ArgoCD Operator, added as a Go module dependency.

Relevant change:
https://github.com/redhat-developer/gitops-operator/pull/24/files#diff-e05913ae216cd147cbbb25685ca0f4d8037c11d403efb0be87dde703705af2af
Advantages:

Users/Customers don't care about the "Gitops Service" individually, they care about the whole package which consists of ArgoCD and the service that powers the UI.
This will reduce the number of images - we wouldn't need to build the argocd-operator,  argocd-operator-bundle image anymore.
This will enable us to keep https://github.com/argoproj-labs/argocd-operator/ as upstream as possible. OpenShift-specific controller changes can live in this repo ( needs more design, but possible )

Demo
https://www.youtube.com/watch?v=v8-7396xlAM&feature=youtu.be

Given that we've changed to requiring the GitOps operator for the installation of ArgoCD, this feels like a wider discussion is needed.

Sure, this operator would be the equivalent of "OpenShift Pipelines Operator". That's the only operator on OpenShift Operatorhub that provides Tekton today.

Note, someone may continue releasing argocd operator into Operatorhub OpenShift Community but I would throw more weight around maintaining Operatorhub Kubernetes Community Operator.

Given that we've changed to requiring the GitOps operator for the installation of ArgoCD

Therefore technically, this PR doesn't necessarily change anything.
Three operators could be maintained -

OpenShift Gitops Operator
Operatorhub OpenShift Community
Operatorhub Kubernetes Community Operator

(2) just feels redundant since we would have (1) anyway.

@sbose78  I was able to create an ArgoCD CR.   When I created another ArgoCD CR in another namespace, only dex and repo server pods were started.   Argocd controller and api server were not started.
[wtam@localhost gitops-operator]$ k get po
NAME                                   READY   STATUS    RESTARTS   AGE
example-redis-6d88489b48-gjn7v         1/1     Running   0          13m
example-repo-server-7fc8d9758c-9xrrg   1/1     Running   0          13m

Things will only work if the controller is in the same namespace - since the changes needed to get to have the controller be useful in all namespaces.

Changes in this PR can be tried out on OpenShift by creating a CatalogSource with quay.io/shbose/gitops-backend-operator-index:v0.0.3.
All other instructions remain the same https://github.com/redhat-developer/gitops-operator#getting-started

Hi @sbose78, +1 for a single GitOps operator. What would be the release process for the GitOps operator? Do we follow the upstream release timeline and keep in sync?

/lgtm

Pulled in changes from argoproj-labs/argocd-operator@8aa649d . Turns out, we will need this commit reverted in argocd-operator :) We'll need to do as per chetan's initial suggestion which is to maintain these clusterrolebindings in the argocd-operator's controller itself.
This is because the name of the clusterrole depends on the OLM operator name “openshift-gitops-operator.v0.0.3-5d467865cf”.
@chetan-rns could you bring back the changes you had removed in https://github.com/argoproj-labs/argocd-operator/pull/221/commits/1403002e2d85efe08c1028e88c74c7d27b674105 ?

Pulled in changes from argoproj-labs/argocd-operator@8aa649d . Turns out, we will need this commit reverted in argocd-operator :) We'll need to do as per chetan's initial suggestion which is to maintain these clusterrolebindings in the argocd-operator's controller itself.
This is because the name of the clusterrole depends on the OLM operator name “openshift-gitops-operator.v0.0.3-5d467865cf”.
@chetan-rns could you bring back the changes you had removed in https://github.com/argoproj-labs/argocd-operator/pull/221/commits/1403002e2d85efe08c1028e88c74c7d27b674105 ?

@sbose78 Couldn't find a better way to extract the cluster roles created by OLM. Will raise a PR to create them from the controller.

@sbose78 Couldn't find a better way to extract the cluster roles created by OLM. Will raise a PR to create them from the controller.

Sounds good!

Sounds good!

/retest

/retest

Tested, looks good. This could be merged.

Tested, looks good. This could be merged.

/retest

/retest

@sbose78 The CI is failing because go mod state is not clean. Running go mod tidy and pushing the latest go.mod file may fix this

@sbose78 The CI is failing because go mod state is not clean. Running go mod tidy and pushing the latest go.mod file may fix this

Thank you, pushed again!

Thank you, pushed again!

/lgtm

/lgtm

/approve

/approve


feat: azurem bump to 3.39.x (#8)

refactor resources for 3.x provider: azurerm_public_ip, azurerm_lb_probe, and cc_lb_rule
Fix for Azure Load Balancer frontend_ip creation in Regions that do not support availability zones

fix for bug-134428 already verified by QA. Need a changelog and release version bump as well.

@smone77 @vkrishnamurthy-zscaler can I get a thumbs up here please?


x/text/secure/precis: Bidi rule is applied incorrectly

Currently in PRECIS profiles that use the bidi rule (RFC 5893 §2) such as the username profiles, the bidi rule is always applied regardless of whether RTL characters exist in the input string. However, RFC 7613 §3.3.2 seems to state that the bidi rule should not be applied unless RTL characters exist in the string:

Directionality Rule: Applications MUST apply the "Bidi Rule"
defined in [RFC5893] to strings that contain right-to-left
characters (i.e., each of the six conditions of the Bidi Rule
must be satisfied).

This wording is a bit confusing (I started looking into this when someone asked on the IETF list for clarification of the above paragraph), but the recent draft-ietf-precis-7613bis-03 clarifies the language:

Directionality Rule: Apply the "Bidi Rule" defined in [RFC5893]
to strings that contain right-to-left characters (i.e., each of
the six conditions of the Bidi Rule must be satisfied); for
strings that do not contain right-to-left characters, there is no
special processing for directionality.

However, I think we may be doing it right and changing it to match the RFC is not entirely advisable because it means usernames that include RTL characters are not consistent with usernames that do not (eg. "!Username" is valid, but "!User<RTLChar>name" is not valid because the bidi rule does not allow punctuation [category NO] at the beginning of a label). I've written to the working group to see if this should be changed in the draft to match our implementation. I'm not sure if it would be better to go ahead and update to be compliant with the current RFC, or if it would be better to wait and see if the rule changes (or if I'm just completely wrong; someone with more knowledge about this than me will likely reply on the list and explain why it doesn't make sense to apply the bidi rule all the time).
/cc @mpvl @nigeltao

Got some feedback about this from one of the PRECIS authors today; I was misunderstanding the punctuation rules and it sounds like there's a lot of punctuation that is valid in RTL labels, so it definitely makes sense to only apply the bidi rule for labels that contain RTL characters.

This is covered by https://go-review.googlesource.com/c/30553 (which I apparently looked at, reviewed, and forgot about before filing this issue).

Going ahead and closing this since gobot doesn't appear to want to cross link it and I don't think the issue will close automatically when the CL is merged. Sorry for the noise.


Installation Error - commanderror.log updateFiles.sh not found - Fix is included

Hi there,
When installing Vanquish on a brand new Kali 2020.4 Rolling, I encountered an error.  When viewing "commanderror.log", I received the following:

One issue is that the Vulscan GitHub you are cloning (configured in the "install.ini" file) has moved the "updateFiles.sh" file into the following directory, after the installer clones the repository: /usr/share/nmap/scripts/vulscan/utilities/updater

I had to manually edit the "install.ini" file to include that location for the installation to work.  Additionally, for those Kali users that have NOT switched away from the default zsh shell, I had to include "bash" at the beginning of the command:

After making the edit to that line, I was able to successfully install and check the version:

Additionally and unrelated, when running vanquish from a directory other than the one I cloned the tool into, I received another error:

eroor
File "/home/arash/Vanquish/Vanquish2.py", line 219
else: return ""
TabError: inconsistent use of tabs and spaces in indentation


#255 Feature: Arrows to navigate chapters

Implement RTL/LTR and visibility with md screens and when no prev/next chapter exists


Enhance synapse to support defining multiple workspace_firewall

Current implementation of aztfmod/caf/azurerm//modules/analytics/synapse only supports creating a single workspace_firewall rule.  Request is to expand it to support defining multiple firewall rules.
Example:
settings = {
  ...
  workspace_firewalls = {
    rule1 = {
      name = "rule-whatever"
      start_ip = "<IP_ADDRESS>"
      end_ip = "<IP_ADDRESS>"
    }
  }
}

assign to me and I can add

@arnaudlh I have the changes made, but cannot commit them.  I am running on Window 10 + VS Code, WSL, Docker using Rover as remote container, but get the below error about python3.6 when I perform commit
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
/usr/bin/env: ‘python3.6’: No such file or directory

@arnaudlh I have the changes made, but cannot commit them. I am running on Window 10 + VS Code, WSL, Docker using Rover as remote container, but get the below error about python3.6 when I perform commit
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
/usr/bin/env: ‘python3.6’: No such file or directory

hi @jleonelion, its an error due to precommit calls, will be fixed in next rover, in the meantime, just remove precommit using the precommit uninstall command!

@LaurentLesle thank you for merging in my PR.  Should I assume this issue stays open until those merged changes are included in a release of the CAF module?


Should kernel_info_request be sent on starting and restarting kernel?

Currently, Jupyter Server sends a kernel_info_request message when restarting a kernel, but not when starting a kernel originally.
As a consequence of this, if you start a kernel through Jupyter Server, and ask for its status, it will always stay in starting, because no kernel info requests have been sent yet.
However, if you restart a kernel after starting one, the status will go from starting, to idle, to busy. It will skip restarting, I believe due to this bug in Jupyter Client (https://github.com/jupyter/jupyter_server/issues/247 https://github.com/jupyter/jupyter_client/issues/578).
Is it documented the kernel_info_request message is sent when restarting a kernel and not for when originally starting a kernel? Is there somewhere with rationale for this behavior?
It was at least unexpected to me that after creating a kernel, the status never became idle without having to send a kernel_info_request yourself.

I would ping @jasongrout as he has spent time looking at aspects of this.

Also note that Lab's manual restart behavior differs from that of the Notebook frontend.
cf. https://github.com/jupyterlab/jupyterlab/pull/8432

There is corresponding code in this project: https://github.com/jupyter/jupyter_server/blob/097676b64cb9043fd65c19d15d4df2fd9d310d50/jupyter_server/services/kernels/handlers.py#L221
Is there a reason that is not effecting a kernel info request?

(Sorry for the delayed response!)
I guess I'm not seeing an issue during startup; status goes to idle following kernel-info-response (running jupyter_server 1.0.5):
[D 2020-10-27 06:58:39.799 ServerApp] Starting kernel: ['/opt/anaconda3/envs/elyra2-dev/bin/python3.6', '-m', 'ipykernel_launcher', '-f', '/Users/kbates/Library/Jupyter/runtime/kernel-ea72eca0-6ae3-44cd-9ba1-d33307555263.json']
[D 2020-10-27 06:58:39.805 ServerApp] Connecting to: tcp://<IP_ADDRESS>:58851
[D 2020-10-27 06:58:39.806 ServerApp] Connecting to: tcp://<IP_ADDRESS>:58848
[I 2020-10-27 06:58:39.808 ServerApp] Kernel started: ea72eca0-6ae3-44cd-9ba1-d33307555263
[D 2020-10-27 06:58:39.809 ServerApp] Kernel args: {'kernel_name': 'python3', 'cwd': '/Users/kbates/notebooks'}
[D 2020-10-27 06:58:39.810 ServerApp] 201 POST /api/sessions?1603807119767 (::1) 19.58ms
[D 2020-10-27 06:58:39.835 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.836 ServerApp] 200 GET /api/sessions?1603807119828 (::1) 2.41ms
[D 2020-10-27 06:58:39.851 ServerApp] Initializing websocket connection /api/kernels/ea72eca0-6ae3-44cd-9ba1-d33307555263/channels
[D 2020-10-27 06:58:39.854 ServerApp] Requesting kernel info from ea72eca0-6ae3-44cd-9ba1-d33307555263
[D 2020-10-27 06:58:39.854 ServerApp] Connecting to: tcp://<IP_ADDRESS>:58847
[D 2020-10-27 06:58:39.857 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.859 ServerApp] 200 PATCH /api/sessions/0a4c03ce-b301-4395-a5df-e6476968f673?1603807119850 (::1) 2.08ms
[D 2020-10-27 06:58:39.860 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.862 ServerApp] 200 GET /api/kernels?1603807119853 (::1) 2.32ms
[D 2020-10-27 06:58:39.866 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.868 ServerApp] 200 PATCH /api/sessions/0a4c03ce-b301-4395-a5df-e6476968f673?1603807119862 (::1) 1.87ms
[D 2020-10-27 06:58:39.873 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.889 ServerApp] 200 GET /api/kernelspecs?1603807119870 (::1) 16.60ms
[D 2020-10-27 06:58:39.892 ServerApp] Accepting token-authenticated connection from ::1
[D 2020-10-27 06:58:39.894 ServerApp] 200 GET /api/sessions?1603807119877 (::1) 2.63ms
[D 2020-10-27 06:58:40.152 ServerApp] Initializing websocket connection /api/kernels/ea72eca0-6ae3-44cd-9ba1-d33307555263/channels
[D 2020-10-27 06:58:40.154 ServerApp] Waiting for pending kernel_info request
[D 2020-10-27 06:58:40.443 ServerApp] Received kernel info: {'status': 'ok', 'protocol_version': '5.3', 'implementation': 'ipython', 'implementation_version': '7.16.1', 'language_info': {'name': 'python', 'version': '3.6.11', 'mimetype': 'text/x-python', 'codemirror_mode': {'name': 'ipython', 'version': 3}, 'pygments_lexer': 'ipython3', 'nbconvert_exporter': 'python', 'file_extension': '.py'}, 'banner': "Python 3.6.11 | packaged by conda-forge | (default, Aug  5 2020, 20:19:23) \nType 'copyright', 'credits' or 'license' for more information\nIPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.\n", 'help_links': [{'text': 'Python Reference', 'url': 'https://docs.python.org/3.6'}, {'text': 'IPython Reference', 'url': 'https://ipython.org/documentation.html'}, {'text': 'NumPy Reference', 'url': 'https://docs.scipy.org/doc/numpy/reference/'}, {'text': 'SciPy Reference', 'url': 'https://docs.scipy.org/doc/scipy/reference/'}, {'text': 'Matplotlib Reference', 'url': 'https://matplotlib.org/contents.html'}, {'text': 'SymPy Reference', 'url': 'http://docs.sympy.org/latest/index.html'}, {'text': 'pandas Reference', 'url': 'https://pandas.pydata.org/pandas-docs/stable/'}]}
[D 2020-10-27 06:58:40.444 ServerApp] 101 GET /api/kernels/ea72eca0-6ae3-44cd-9ba1-d33307555263/channels?session_id=582d8d9e-b724-4ba8-815c-93d754443871 (::1) 592.82ms

Is this still an issue?

It's more of an internal code question/issue than about the external API. Basically, if you call the start_kernel method then the kernel_info_request is not sent and the status is not updated. But as @jasongrout pointed about above, the kernel_info_request is sent in the pre_get method, so I believe if you are hitting the API server you will get the correct responses.
So I can close this.

Yes, it was also surprising to me, until Min pointed out that idle means "done with computation", not "ready for computation": https://jupyter-client.readthedocs.io/en/stable/messaging.html#status

I see.  Thank you for your responses.


Prepare a demo with hot-reload in a re-frame application

Will be implemented using Shadow-CLJS's hooks.

This issue was solved by commit 98252b3186edd65d9c1fb2faa3a86a795ed169bc.

This issue was solved by commit 98252b3186edd65d9c1fb2faa3a86a795ed169bc.


I recommend adding legends to all plots with multiple lines so it is clear what each line represents. And also checking the x and y axis labels and ticks (e.g. in Pump State Events Example top plot, does y axis value = 2.0 means the pump is off and 3.0 mean the pump is on? In the bottom plot, are you plotting tank water volume? I think it is straightforward to interpret the plots if you are a WDS expert but it might be useful to have more clear plots for newer users! :-) )

I added legends to all plots as you suggested and I also changed the y ticks for pump state plots.

Great, thanks!


feat: make tech revs optional

Closes https://github.com/UserOfficeProject/issue-tracker/issues/1092
Description
This PR makes the technical reviews an optional feature configurable by each individual call.
Motivation and Context
This change is required to provide flexibility for calls that do not require technical reviews, thus simplifying the process and saving unnecessary effort.
Changes

Introduced a new boolean field need_tech_review in the call table to indicate whether technical reviews are needed for a particular call.
Updated the Call model and data source to handle the new need_tech_review field.
Modified ProposalDataSource to check if a proposal needs technical review based on its associated call.
Updated InstrumentMutations to only set technical review if the proposal's call needs it.

How Has This Been Tested?

Fixes Jira Issue
https://jira.esss.lu.se/browse/
Depends On

Tests included/Docs Updated?

[ ] I have added tests to cover my changes.
[ ] All relevant doc has been updated

Why can we not solve this with the proposal workflows? If I have a call that does not require technical review I do not add feasibility review in the workflow for that call?

When you assign an instrument to a proposal, it automatically creates and requests a tech review for it. This then shows up on instrument scientists pages as available to fill in and has been confusing.
I get what you mean, though we could tie tech review creation to the workflow rather than the call.

@martin-trajanovski @TCMeldrum
An idea would be to check if a proposal has the feasibility review in the workflow, if not, do not show the feasibility tab. The same functionality could be used for the FAP reviews, I am thinking about commissioning proposals or rapid access that does not always have FAP.

I think that would work, but last round some instrument scientists decided that not all of them want to fill in feasibility reviews and some of them did. So we have a use case where some proposals needed reviews before the fap and some didn't. Maybe worth discussing at next sprint catch up meeting.


Keypress events don't work on player

The player registers the same keypress listener twice, and some of the actions triggered by keys are toggling. So in some cases, when a key is pressed, the thing in question is toggled and then toggled again immediately. End result is that keypresses don't work. For other actions, the thing is done twice (e.g., seek by -10 sends you back by 20).
Remove one of the listeners!
https://github.com/PRX/play.prx.org/blob/8283ee47212c719415ca02bd901940ddd7acb92f/src/app/shared/player/player.component.html

Deployed to PRX version!