Passwords with $ fail authentication in CLI

API-Mgr. CLI version
1.3.3
API-Manager and Service-Pack Version
7.7.20200530
Expected behavior
CLI should execute the operation successfully.
Actual behavior
CLI fails with a 403 error.
Log-Output in Debug
1676   ERROR    APIManagerAdapter| Login finally failed with statusCode: 403. Got response: '{"errors":[{"code":403,"message":"Invalid user or password"}]}'

Test case sample

Create a user in api manager
Log into api manager with that user - set a new password with a $
Log out, and confirm you can log back in - password works
Authenticate to CLI with the same username/password.
Note that the CLI cannot process the request until the $ is escaped (e.g. \$).

Sorry, for the late response @jordanwalsh23. Today I had the chance to test this, but unfortunately I cannot reproduce the issue on my side. I have created a user with password: $test123 and it is working fine. No matter if I quote the password or not. I test on a Windows CMD. Both versions are working:
apim api get -h api-env -u chris -p $test123
apim api get -h api-env -u chris -p "$test123"
I assume it is related to the environment the CLI is executed and based on the $ sign, it tries to evaluate a variable, which obviously fails.
A few questions:

are you using the apim.sh or apim.bat ?
on which platform (Windows, Unix, Mac) ?
which environment (CMD, Powershell, Unix-Shell (Bash, KSH) ?

Sorry, for the late response @jordanwalsh23. Today I had the chance to test this, but unfortunately I cannot reproduce the issue on my side. I have created a user with password: $test123 and it is working fine. No matter if I quote the password or not. I test on a Windows CMD. Both versions are working:
apim api get -h api-env -u chris -p $test123
apim api get -h api-env -u chris -p "$test123"
I assume it is related to the environment the CLI is executed and based on the $ sign, it tries to evaluate a variable, which obviously fails.
A few questions:

are you using the apim.sh or apim.bat ?
on which platform (Windows, Unix, Mac) ?
which environment (CMD, Powershell, Unix-Shell (Bash, KSH) ?

Closing this issue for now as invalid. Feel free to re-open @jordanwalsh23

Closing this issue for now as invalid. Feel free to re-open @jordanwalsh23


(fix) Make touch-ripple properly react to touch events

Fixes #542.
Not sure why such a check was performed: e.pageX == undefined ? e.nativeEvent.pageX : e.pageX. If it's really possible for React's synthetic event not to get its properties from the native event, we should restore the check and add it for the touch event as well.

Looks like this fix breaks EnhancedButton's onFocus behavior. I'll look into fixing it.

This commit most probably fixes the aforementioned issue, since we're now only suppressing mouse events, and others keep firing. @hai-cea, @mmrtnz: are you happy with this approach, or might I have broken anything else?

Nothing appears to be broken when I tested it on my computer. Thank you for the submission @pomerantsev!


[Event Request] table 23 Vendor - OnAfterGetBalanceAsCustomer

Describe the request
Hello, can you please add a new Event OnAfterGetBalanceAsCustomer in table 23 Vendor?
    procedure GetBalanceAsCustomer(var LinkedCustomerNo: Code[20]) BalanceAsCustomer: Decimal;
    var
        Customer: Record Customer;
    begin
        BalanceAsCustomer := 0;
        LinkedCustomerNo := GetLinkedCustomer();
        if Customer.Get(LinkedCustomerNo) then begin
            OnGetBalanceAsCustomerOnBeforeCalcBalance(Customer);
            Customer.CalcFields("Balance (LCY)");
            BalanceAsCustomer := Customer."Balance (LCY)";
            OnAfterGetBalanceAsCustomer(Customer, BalanceAsCustomer);
        end;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterGetBalanceAsCustomer(Customer: Record Customer; var BalanceAsCustomer: Decimal)
    begin
    end;

Additional context
We have additional values to calculate the Balance (LCY) and need to recalculate it to prevent false values from being shown.
Internal work item: AB#547366

already added

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


Potential Memory Leak in v0.5.0

What happened?
For context, my control plane exists in an environment that cannot directly hit our ArgoCD server endpoints, so I run a deployment on the cluster running ArgoCD to run the provider indirectly. What I've observed is that the memory allocated to this pod is increasing at roughly 1.3GB/day, consistent across four environments. I've checked using kubectl top pods and our stored metrics graphs:
k top pod argocd-provider-controller-xxxx -n argocd
NAME                                                         CPU(cores)   MEMORY(bytes)
argocd-provider-controller-xxxx   15m          22729Mi

This is leading to pods being evicted for putting MemoryPressure on the underlying node.
How can we reproduce it?

First I manually create a ControllerConfig and Provider
apiVersion: pkg.crossplane.io/v1alpha1
kind: ControllerConfig
metadata:
  name: provider-argocd-xxxxx-xxxxx
spec:
  replicas: 0
---
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-argocd-yyyyy-yyyyy
spec:
  controllerConfigRef:
    name: provider-argocd-xxxxx-xxxxx
  package: xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0

There is a secret argocd-credentials with a token to ArgoCD at the key authToken, referenced by this ProviderConfig
apiVersion: argocd.crossplane.io/v1alpha1
kind: ProviderConfig
metadata:
  name: argocd
spec:
  serverAddr: <addr>
  insecure: true
  plainText: false
  credentials:
    source: Secret
    secretRef:
      namespace: default
      name: argocd-credentials
      key: authToken

In the cluster running ArgoCD, I'm using the following deployment spec for the controller:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: argocd-provider-controller-<control plane name>
  namespace: argocd
  annotations:
    uptest.upbound.io/conditions: "Available=True"
    uptest.upbound.io/pre-delete-hook: testhooks/delete.sh
  labels:
    app: provider-argocd
spec:
  replicas: 1
  selector:
    matchLabels:
      app: provider-argocd
  template:
    metadata:
      labels:
        app: provider-argocd
    spec:
      containers:
        - name: server
          image: xpkg.upbound.io/crossplane-contrib/provider-argocd:v0.5.0
          imagePullPolicy: IfNotPresent
          args:
            - --debug
          env:
            - name: DO_NOTHING
              value: "false"
            - name: KUBECONFIG
              value: /etc/mcp-kubeconfig/kubeconfig
          volumeMounts:
            - name: mcp-kubeconfig
              mountPath: /etc/mcp-kubeconfig
      volumes:
        - name: mcp-kubeconfig
          secret:
            secretName: mcp-kubeconfig-<control plane name>

What environment did it happen in?
Crossplane version: 1.14.3-up.1 (note this is running in Upbound SaaS)
Crossplane Provider argocd version: v0.5.0

The deployments are running in EKS, and I've seen it on clusters running EKS versions v1.24 and v1.28.

We haven't found anything that helped indicating the cause of this issue. However, we also did not encounter this problem in our system.

This could be caused by the argocd clients which never get closed. By keeping them up forever they might add more and more data to the memory. I would suggest you to start looking into this.
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/cluster/client.go#L33
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/clusters/client.go#L33
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/projects/client.go#L32
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/applications/client.go#L38
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/repositories/client.go#L34
https://github.com/crossplane-contrib/provider-argocd/blob/5423b0899eb4e296ba9f995cb496d72581d3b0fe/pkg/clients/applicationsets/client.go#L28

Adding some additional evidence to what @v0lkc says.
I added profiling to v0.5.0 & v0.6.0 and the picture is quite similar. After around 20 mins running the controller with a sync-interval of 5s and 5 MRs, the size of the buffers of the http client more then doubled.

What @v0lkc send me in slack was also the `.Close()´ within argocd's http client are only closed on error.
https://github.com/argoproj/argo-cd/blob/0c8bc1d61e8c9501c5aaabb2aafecc20aa43e1bb/util/http/http.go#L147-L151
in the DumpReponse() example its proposed differently.

connector.Disconnect() might work with that.
If somebody has time, feel free to open a PR and assign me as reviewer.

Hi @MisterMX I sent a PR for this fix, please have a look and see if it really solve the issue. 😃


Remove vendor scripts from lint

Project version:
v0.4.0
type:

[x] Bug

Currently vendor scripts get linted too, which is bad: https://github.com/cartridge/cartridge-javascript/blob/develop/_config/task.scripts.js#L12

This is fixed in the multiple files PR
https://github.com/cartridge/cartridge-javascript/pull/6
I have assigned you to it, if you could have a look when you're able to.


Add Array.sort_stable and Array.sort_custom_stable

Implemented stable sorting for Arrays using merge sort.
Closes https://github.com/godotengine/godot-proposals/issues/5552
Questions

Is replacing the existing methods with stable versions an option, or should these be kept separate?
How to add documentation for new methods - just add to the xml file, or is there anywhere else that needs to be updated?
How to make new methods available for C#?

Performance comparisons
In general, _stable sort functions are faster than existing sort functions, more so when comparison is expensive, which mainly happens with custom sorts that call into gdscript
Compared with gdscript below.  Note that shuffling/reversing the array before each sort is included in the timing
func _ready():
	run_test("sort_small")
	run_test("sort_small_stable")
	print("-".repeat(28))
	run_test("sort_mid")
	run_test("sort_mid_stable")
	print("-".repeat(28))
	run_test("sort_large")
	run_test("sort_large_stable")
	print("-".repeat(28))
	run_test("sort_str")
	run_test("sort_str_stable")
	print("-".repeat(28))
	run_test("sort_custom")
	run_test("sort_custom_stable")
	print("-".repeat(28))
	run_test("sort_reversed")
	run_test("sort_reversed_stable")

func sort_small():        run_sort(range(10), 100000, func(a): a.shuffle(), func(a): a.sort())
func sort_small_stable(): run_sort(range(10), 100000, func(a): a.shuffle(), func(a): a.sort_stable())

func sort_mid():        run_sort(range(1000), 1000, func(a): a.shuffle(), func(a): a.sort())
func sort_mid_stable(): run_sort(range(1000), 1000, func(a): a.shuffle(), func(a): a.sort_stable())

func sort_large():        run_sort(range(1000000), 1, func(a): a.shuffle(), func(a): a.sort())
func sort_large_stable(): run_sort(range(1000000), 1, func(a): a.shuffle(), func(a): a.sort_stable())

func sort_str():        run_sort(range(1000).map(str), 1000, func(a): a.shuffle(), func(a): a.sort())
func sort_str_stable(): run_sort(range(1000).map(str), 1000, func(a): a.shuffle(), func(a): a.sort_stable())

func sort_custom():
	run_sort(range(1000), 1000, func(a): a.shuffle(), func(a): a.sort_custom(func(a1, a2): return a1 > a2))
func sort_custom_stable():
	run_sort(range(1000), 1000, func(a): a.shuffle(), func(a): a.sort_custom_stable(func(a1, a2): return a1 > a2))

func sort_reversed():        run_sort(range(1000), 1000, func(a): a.reverse(), func(a): a.sort())
func sort_reversed_stable(): run_sort(range(1000), 1000, func(a): a.reverse(), func(a): a.sort_stable())

func run_sort(arr : Array, loop_count : int, reset_func : Callable, sort_func : Callable):
	for i in loop_count:
		reset_func.call(arr)
		sort_func.call(arr)

func run_test(test_name : String):
	var start := Time.get_ticks_msec()
	call(test_name)
	var end := Time.get_ticks_msec()
	print("%s: %dms" % [test_name.rpad(20), end - start])

Results:
sort_small          : 126ms
sort_small_stable   : 124ms
----------------------------
sort_mid            : 253ms
sort_mid_stable     : 213ms
----------------------------
sort_large          : 527ms
sort_large_stable   : 456ms
----------------------------
sort_str            : 482ms
sort_str_stable     : 435ms
----------------------------
sort_custom         : 1452ms
sort_custom_stable  : 1058ms
----------------------------
sort_reversed       : 132ms
sort_reversed_stable: 122ms

Todo:

[ ] Add tests
[ ] Update docs
[ ] Add for C#

If all stable sorts are faster, what is the upside of keeping the unstable sorting (other than, perhaps, compat)?

If all stable sorts are faster, what is the upside of keeping the unstable sorting (other than, perhaps, compat)?

Because stable sort requires O(n) additional memory, unlike ordinary sorting which only requires O(1) afaik, it's not a substitute

Updated the time comparisons to include large string arrays, looks like as we go up past 1,000,000 more expensive to copy objects, the stable sort is around 10% slower, and seems to stay around there as the size increases further.  So there's still some cases where the unstable version is faster.
I kind of like the idea of just having the one sort (and sort_custom) function if that's possible, but I don't think we're going to get an always faster version, and there's also the additional memory usage.  Changing existing functions to stable also can't really be undone, since changing back would break code that depends on it staying stable.

The extra memory is a big concern considering how large Variant is even when storing small data

Am I crazy for wishing an additional, optional enum parameter to sort denoting its mode of operation?
"Wishing" is a strong word, as I'm not sure how necessary the new methods are. I'd pay attention to not add core methods that most software does not need.

I think this is ready for review.  Current version has separate _stable methods, but I can look into switching to an enum instead if that's preferred.  I made a couple more changes to make the temporary array half the size, and use insertion sort once the recursive calls get to a small enough sub-array, instead of only if the initial array is small enough.


Gmail calling is broken

As of the Dec. 2nd update for unified hosts + gambling, I’ve been fighting to keep the Google Talk Plugins working in Gmail.
I make phone calls through Gmail and now I must switch from my extended hosts file back to the original before I can call; Otherwise Gmail shows this:

As soon as I switch, the calling feature becomes available again.

While working on this issue I noticed there are lots of duplicate entries in the list. For example, google-analytics and ssl.google-analytics appear several times. I thought it was supposed to be "de-duped."
It’s difficult finding the offending entry since so many addresses use the same server.
Little Snitch shows that clients.l.google.com is being blocked, but all these addresses use that server:

ssl.google-analytics.com is not duplicated.   There is one live entry, and one commented entry.  The commented entry comes from someonewhocares.org.  We don't remove comments.
$ ack ssl.google-analytics

alternates/gambling/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/gambling-porn/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/gambling-porn-social/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/gambling-social/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/porn/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/porn-social/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

alternates/social/hosts
14962:<IP_ADDRESS> ssl.google-analytics.com
22050:#<IP_ADDRESS> ssl.google-analytics.com

data/mvps.org/hosts
6802:<IP_ADDRESS> ssl.google-analytics.com

data/someonewhocares.org/hosts
324:#<IP_ADDRESS> ssl.google-analytics.com

history.md
468:  * Blocked ssl.google-analytics.com, which the MVPs block.

hosts
14961:<IP_ADDRESS> ssl.google-analytics.com
22049:#<IP_ADDRESS> ssl.google-analytics.com

ssl.google.com IS duplicated in the unified + gambling file, and not just a comment.
Maybe it’s because two files are combined?


Exception using 'Contains' on text column

When using the filter function for a string the Contains filter option throws an exception breaking the connection.
   at Microsoft.EntityFrameworkCore.DbFunctionsExtensions.LikeCore(String matchExpression, String pattern, String escapeCharacter)
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Sve.Blazor.DataTable.Components.DataTable`1.PerformClientSideDataManipulations()
   at Sve.Blazor.DataTable.Components.DataTable`1.ApplyFilters()
   at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)```

Hey, first of all sorry for the inactivity. Do you still have this problem and if so you can you give me some more information on how you are getting this issue? I assume you are using the server functionality and some sort of database abstraction like EFCore which is throwing this exception?


Implement support for optional fields

Optional fields are present in a number of binary packet specification; where a bit flag is used to determine the presence / absence of a field.  This task aims to enable support for the following king of specification:
packet {
    a : 1,
    opt_a : A if a = 1,
}

The limitations are to be discussed:

limited to boolean flags or not ?
limited to typedef / scalar fields or not ? e.g. does it make sens to allow this flag for size fields.

Now supported from pdl v0.2.1


Reset should remove all settings from localStorage (including useVM)

Expected behavior
When trying to run Kitematic using VM and it fails, we should be able to reset and run without VM.
Actual behavior
The reset button only resets everything about VM (it does not allow to back not using VM).
Information about the Issue
Steps to reproduce the behavior

In Windows, turn Hyper-V on.
Try to run Docker using VM
It will fail, try to back to use regular Docker for Windows (without VM)
To fix, we need to remove everything from localStorage (key useVM).

What version of Kitematic are you running? A recent update has been made to make sure VM specific settings are removed:
https://github.com/docker/kitematic/blob/master/src/components/Setup.react.js#L49

Hi @FrenchBen ,
weird thing... I downloaded last week and my Kitematic zip file has no version info in its name.
Inside the folder there is a version file saying that I´m using v0.35.4, but in releases here in github we have just 0.17.x :/

If you go to the menu bar and click 'About Kitematic' you should have a screen that looks like this:

I´m not able to see the "about menu" anywhere here in windows 10 :/

@tuliofaria there's an issue that's been created for Windows and the missing window menu bar

Gotcha! I think it would be nice to have just an "about" link in "settings", it would be enought. @FrenchBen do you think this could be a new "enhancement issue" ?

@tuliofaria Feel free to submit a patch :P A few have been pending, but the original developer didn't follow through.

I have the same problem... The UI haven't "Go Back"...


Reorder Prepare the Infrastructure Steps

The steps for Prepare the Infrastructure are out of order.  Deployment Planning should be 2nd. In the Azure Portal, the steps are as follows:

Protection Goal
Deployment Planning
Prepare Source
Prepare Target
Replication settings

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: rburrs sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@rburrs : Thanks for your contribution! The author, @rayne-wiselman, has been notified to review your proposed change.

Thanks for you feedback! #sign-off

You're welcome, and thanks for all your work.


Cannot get iRobot PW

Hi,
First of all thank for the great iRobot plugin for Homebridge.
I installed the plugin successfully and by browsing the plugin directory and entering the command "sudo npm run getrobotpwd 192.168.x.xxx" I got the instructions for configuration including the BLID. But unfortunately I cannot get the password - the following error message occurs: "Error getting password. Follow the instructions and try again.
/homebridge/node_modules/homebridge-roomba2 #".
Do you have any idea what's going wrong?
Thanks & best regards,
C.

Are you holding the home button on your robot for 2 seconds before running the script?

Hi Roberto,
Yes, I hold the home button for 2 seconds, until there is a few tones. Also the green light on the docking station is on, when I press the home button. There is still no password shown, but I get the BLID.
Any idea what’s going wrong?
Best regards,
C.

Am 27.05.2021 um 02:57 schrieb Paulo Ruberto @.***>:
Are you holding the home button on your robot for 2 seconds before running the script?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/donavanbecker/homebridge-roomba2/issues/48#issuecomment-849227402, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASWNAKUTPXPBZP54KZNYLWTTPWKJHANCNFSM44X6B73Q.

With new update on iRobot the problem did not occur anymore, so it's solved and I managed to integrate it into HomeKit.


Add mapping of camel case to snake case.

In case of naming fields in HTML, we use a snake case, but in php we prefer camel case. It would be nice if Commander will try to do it without our help and will check if field in the Command is in camel case and in request is in snake case.

+1


Missing parameters in the SDK functions when sending along with a file using octet-stream

Description
One of our endpoints takes in a file and some more parameters along with it. So when we were generating SDKs, there wasn't a way to send those params along with the file.
Fern Definition To Reproduce
fern.zip
Current behavior
In the client.py file, the function definition now is:
def route(self, *, request: bytes) -> typing.Iterator[bytes]:
Expected behavior
In the client.py file, the definition should be:
def route(self, *, request: bytes, email: str) -> typing.Iterator[bytes]:
Versions

Fern CLI: 0.15.15
Generator: 0.7.2

closing as we've made progress on file upload in the Python SDK and the .zip referenced is no longer available.


updated live transcription section in README

This is okay for now because it is removing the browser dependencies of a node-SDK request, but I think a small example of each method in the SDK need to be on our READMEs


fix null-safe-eq runtime filter denies outer join

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


Hover animation feature

Hover animation feature will make the website more interactive

i would like to add this feature please assign me this


Adding EPSS Score Column

This PR adds the missing EPSS Score column to the aws_inspector2_finding table.
Integration test logs

Logs
Add passing integration test logs here

Example query results

Results
Add example SQL query results here (please include the input queries as well)

Hi @dbermuehler, the changes look great to me. Could you please include an example query result in the PR description? The example should showcase the value of the epss_score column.
Here are a few example queries that would be helpful:

SELECT finding_account_id, resource_id, type, epss_score FROM aws_inspector2_finding; (without any query parameters)
SELECT resource_id, type, epss_score FROM aws_inspector2_finding WHERE epss_score >= <some value>; (using the >= operator)
SELECT resource_id, type, epss_score FROM aws_inspector2_finding WHERE epss_score <= <some value>; (using the <= operator)

Thanks!


Feature Request: Support to resolve lighthouse domain name(DDNS) when reconnect or connect failed

My lighthouse used a public ip but not fixed,  ip changed every day, so I used a  domain name(support DDNS) in static_host_map;
static_host_map:   "<IP_ADDRESS>": ["lh1-nb.myddns.top:4242"]
When nebula start,  can get correct lighthouse ip and work well,  but when my lighthouse public ip changed, other nebula node lost connecttion with lighthouse, since  nebula still used old lighthouse ip to connecting, so connecting failed.
Is possible to resolve lighthouse domain name again when reconnect or connect failed ?

same feature as #294

What is the latest status of this issue?
If you are worried that the dns resolution result contains multiple IP addresses, you can directly select the first one, which is better than doing nothing, isn't it?

Hi all - I just wanted to drop a quick comment to mention that the fix from #796 was released in v1.7.0. We found a bug in the behavior there and quickly pushed out v1.7.1 which should re-query domains in the static_host_map. Please give it a shot and let us know what you think!


IndexError: tuple index out of range

Run
from chemrxnextractor import RxnExtractor

model_dir="models" # directory saving both prod and role models
rxn_extractor = RxnExtractor(model_dir)

test_file = './tests/data/raw.txt'
with open(test_file, "r") as f:
    sents = f.read().splitlines()
rxns = rxn_extractor.get_reactions(sents)

Error
Loading product extractor from cre_models_v0.1/prod...done
Loading role extractor from cre_models_v0.1/role...done
Traceback (most recent call last):

  File "/tmp/ipykernel_892180/2406664485.py", line 12, in <module>
    rxns = rxn_extractor.get_reactions(sents)

  File "/home/zdx/src/ChemRxnExtractor/chemrxnextractor/cre.py", line 230, in get_reactions
    token_type_ids=batch['token_type_ids']

  File "/home/zdx/anaconda3/envs/chemrxnextractor/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)

  File "/home/zdx/src/ChemRxnExtractor/chemrxnextractor/models/model.py", line 319, in forward
    extended_cls_h = outputs[1].unsqueeze(1).expand(batch_size, seq_length, hidden_dim)

  File "/home/zdx/anaconda3/envs/chemrxnextractor/lib/python3.7/site-packages/transformers/utils/generic.py", line 222, in __getitem__
    return self.to_tuple()[k]

IndexError: tuple index out of range

I don't know how to solve it, any suggestions? Thanks!

how do you solve it? I encountered exactly the same problem

@jooewood  or @TheOnlylight  Have you found the solution?

@jooewood or @TheOnlylight Have you found the solution?

I have also met this issue, and I found it was caused by the unsuitable version of transformers package.

@tom832 Thanks, it works now using the transformers package v3.0.2


Bond Missing on Phytomedicine document : drawing option

Describe the bug
Bond is missing while using the drawing option : { "fixedBondLength": 20 , "bondLineWidth": 1, "additionalAtomLabelPadding": 1.25 , "multipleBondOffset": 0.08, "atomLabelFontFace": null, "atomLabelFontSize": 12 , "legendFontSize": 12 }
To Reproduce
##Phytomedicine

drawOptions = rdMolDraw2D.MolDrawOptions()
Draw.UpdateMolDrawOptionsFromJSON(drawOptions, '{ "fixedBondLength": 20 , "bondLineWidth": 1, "additionalAtomLabelPadding": 1.25 , "multipleBondOffset": 0.08, "atomLabelFontFace": null, "atomLabelFontSize": 12 , "legendFontSize": 12 }')
d2d = Draw.MolDraw2DSVG(250, 200, -1, -1, True)
d2d.SetDrawOptions(drawOptions)
d2d.DrawMolecule(m)
d2d.FinishDrawing()
txt = d2d.GetDrawingText()
SVG(txt)

issue is because of using "additionalAtomLabelPadding": 1.25
Expected behavior
In Chem draw, there is no bond missing on using the Phytomedicine document the same drawing option is used

https://chem.beloit.edu/classes/programs/ChemDraw_21_manual.pdf
refer page no. 62
Screenshots
output of the issue is

Configuration (please complete the following information):

RDKit version:
OS: [e.g. Ubuntu 20.04]
Python version (if relevant):
Are you using conda?
If you are using conda, which channel did you install the rdkit from?
If you are not using conda: how did you install the RDKit?

Additional context
Add any other context about the problem here.

Please provide the input that was used to demonstrate the problem so that we can reproduce it

from rdkit import Chem
from rdkit.Chem import AllChem, Draw, rdDepictor
from rdkit.Chem.Draw import rdMolDraw2D
from rdkit.Chem.Draw import rdMolDraw2D, rdDepictor
from rdkit.Chem.Draw import IPythonConsole
from IPython.display import SVG
from rdkit import rdBase
print(rdBase.rdkitVersion)
m = Chem.MolFromSmiles('c1ccccc1NC(=O)C1COC1')
d2d = Draw.MolDraw2DSVG(250, 200, -1, -1, True)
d2d.DrawMolecule(m)
d2d.FinishDrawing()
txt = d2d.GetDrawingText()
SVG(txt)
##Phytomedicine
drawOptions = rdMolDraw2D.MolDrawOptions()
Draw.UpdateMolDrawOptionsFromJSON(drawOptions, '{ "fixedBondLength": 20 , "bondLineWidth": 1,
"additionalAtomLabelPadding": 1.25 , "multipleBondOffset": 0.08,
"atomLabelFontFace": null, "atomLabelFontSize": 12 , "legendFontSize": 12 }')
d2d = Draw.MolDraw2DSVG(250, 200, -1, -1, True)
d2d.SetDrawOptions(drawOptions)
d2d.DrawMolecule(m)
d2d.FinishDrawing()
txt = d2d.GetDrawingText()
SVG(txt)

@urekam712 this is happening because additionalAtomLabelPadding is too large. The value is a fraction of the font size, so 1.25 is huge. If you think you need to change that value, try something like 0.1
For what it's worth: "atomLabelFontFace" is not a valid option, so that will be ignored.

@DavidACosgrove It's maybe worth figuring out why this happens.
Setting additionalAtomLabelPadding to 0.9 draws something:

but then going up to 1.25 causes a bond to disappear, but everything else, at least on first look, seems fine:

###ACS1996

drawOptions = rdMolDraw2D.MolDrawOptions()
Draw.UpdateMolDrawOptionsFromJSON(drawOptions, '{"fixedBondLength":14.4,"bondLineWidth":0.6,"multipleBondOffset":0.18,"atomLabelFontSize":10,"atomLabelFontFace":"Arial","legendFontSize":10,"additionalAtomLabelPadding":1.6}')
d2d = Draw.MolDraw2DSVG(250, 200, -1, -1, True)
d2d.SetDrawOptions(drawOptions)
d2d.DrawMolecule(m)
d2d.FinishDrawing()
txt = d2d.GetDrawingText()

SVG(txt)

In this drawing option, used additionalAtomLabelPadding":1.6 but seems good
@greglandrum

Hi @greglandrum, @urekam712.  I've had a look at this, and it seems to be behaving as intended.  Whether that is sensible or not is a matter for debate that we can have.  As Greg has observed, the problem is that the value for additonalAtomLabelPadding is very large, such that it produces padding round the character that is on a par with the bond length as drawn.  The N-c bond is bond 5, the N-C bond is 6.  I have produced an SVG just using additonalAtomLabelPadding = 1.25 and addBondIndices = true.  Looking at it, there are the lines:
<path class='bond-5 atom-5 atom-6' d='M 121.5,131.5 L 121.6,131.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />
<path class='bond-5 atom-5 atom-6' d='M 121.6,131.5 L 121.6,131.5' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />
<path class='bond-6 atom-6 atom-7' d='M 204.0,155.8 L 204.9,156.8' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />
<path class='bond-6 atom-6 atom-7' d='M 204.9,156.8 L 205.8,157.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />

Showing that the bonds are being drawn, but are very short.  Commenting out the commands in the SVG for the other bonds and scaling the image up gives

where you can see bond 6 is very short but visible.  Bond 5 is also there, but looks like a bit of dust on your screen, probably.  So the question is really, why are the bonds to the O atoms drawn, or in the case of Greg's picture above, why is bond 5 drawn but not bond 6?  The answer to that is a decision we took a while back (to do with ACS mode drawings on a very small canvas, IIRC) that if the bond was completely obscured by the character and its padding, we wouldn't not draw a bond, we would draw the whole bond.  So for those bonds, the O and its padding would remove the whole bond, so it is being drawn, but the bonds 5 and 6 have a tiny bit left, so that they appear missing but in fact the tiny bit beyond the circle round the N is being drawn.
So that's why you are seeing what you see.  What to do about it is a different matter, and I am open to suggestions.

@Suganesh-repo as it says in @greglandrum’s comment above(8th April) it is the fraction of the current font size.  The idea being to give padding round the character that is relative to the font size currently being used. As such, it has no units.


feat(rust): warning if user current version is not update to date

output message if user current version is not update to date when command runs. (#3436)
example:
> ockam node list
Current version is not update to date.
TO keep up on the latest version please check at: https://crates.io/crates/ockam

No nodes registered on this system!

Awesome!! Thank you for sending this!
A couple of small suggestions:

Change the message to look like this:

A new release of ockam is available: 0.72.0 → 0.73.0
To upgrade, run: `brew update && brew upgrade ockam`
https://github.com/build-trust/ockam/releases/tag/ockam_v0.73.0

Instead of 404 on upgrade.txt as signal of no upgrade ... use 404 or if file empty, both as signal of no upgrade.

To upgrade, run: `brew update && brew upgrade ockam`
``` should only show if its a macos binary.

Instead of 404 on upgrade.txt as signal of no upgrade ... use 404 or if file empty, both as signal of no upgrade.
-- if the upgrade.txt does not exist, the fetch context will show Not Found.


figure 2

@aarmey here's figure 2

@aarmey do you know what this error is? I'm not getting it when I ran it locally.

This is what the new figure looks like:

However I'm not sure that this is how we want to commute the error bars.
p33 = np.transpose(np.dot(p33_scores, p33_loadings))  p66 = np.transpose(np.dot(p66_scores, p66_loadings))

@aarmey Returning f in the previous commit seemed to fix it. But I just pushed another commit to delete figure 11 and the build failed on figure 2 again?

No, the build failed on Fig. 11. Fig. 2 just was already running and finished.

I fixed the issue of the quantile amount versus the error bar. Also, the quantiles have to be solved after reconstructing all the samples. Will merge this if it builds.


Geochats

how working with Geochats?

Geoсhats is a supergroup with attached location. You can use them as an ordinary supergroups in TDLib 1.4.0. Special methods for creating and locating geochats will be available in the next TDLib version.

Ok, now the version 1.5.0 has been released. But there are still no special methods for working with geochats? I recently saw them in the documentation, but now they are even removed from there. Could you give an explanation on this subject, please?

Supergroups with attached location have never been documented and they aren't supported in the current public TDLib version 1.5.0. They will be publicly availalble in TDLib 1.6.0.

@levlam sorry, but:
https://web.archive.org/web/20190810150228/https://core.telegram.org/methods
😉
There are some methods here, named as geochats.* .
But I tried them. They don't work, at least for me...
Maybe you could offer some alternative, for testing purposes?
Please.

@yegor-pelykh you are referring to a webarchive snapshot of the API documentation page which, at the time, was 5 years old. "Geochats" there are not the same geochats you can find on Telegram now. They were an old geochats implementation dating back to 2013/2014 that never made it to production and has never been used by Telegram.
TDlib doesn't support geolocation of cuspergroups yet, as it has already being said it will implemented in tdlib with the upcoming release

As for the obsolete methods, it's clear now. Thank you for the clarification.
But please, could you provide at least some unstable test versions of such methods, which will be released in 1.6? Maybe there are some methods that we may try right now?
And could you clarify please, on what date the release 1.6 is planned (at least approximately)?
Thank you!

@yegor-pelykh It is not possible to implement this feature without implementing all other missed features. So, you can't create and locate these chats using TDLib yet.
TDLib 1.6.0 will be released after a corresponding Bot API and Telegram X release. There is no ETA yet, but it definitely wouldn't be in the September.

Ok, thank you very much for the info!

Sorry, is the method "contacts.getLocated" working now? I cannot use it for some reason. My tdlib says: "Failed to parse ... [Error : 0 : Unknown class]"

It is a Telegram API method, and not a TDLib API method.

How to find the appropriate TDLib method for this?

It doesn't exist in TDLib 1.5.0.

Will it be exist in TDLib 1.6.0?
And can I use the Telegram API method directly?
Maybe with help of TDLib.

Yes, there will be a method for that in TDLib 1.6.0.
No, you can't call Telegram API methods using TDLib.

Support for location-based supergroups was added in TDLib 1.6.0. See Change Log for the full list of changes.


Dockerfile: Update the sbt Debian repository

See the updated instructions at [1]. This fixes the Docker image build.
[1] https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html#Ubuntu+and+other+Debian-based+distributions
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

Merging this without waiting for other test to complete as the Docker test already passed.


Evaluate visualize styling with new mermaid update

I recently opened an issue in the mermaidjs repo asking for a config option to add padding around subgraph titles. That issue has now been closed and the feature PR merged into their develop branch, so, pending their next release (presumably v10.6.2), we should reevaluate our graph styles with the new config setting and see if there's an improvement.

They dropped support for the feature we where waiting on. So this is on ice for the moment.

The feature we were waiting on doesn't seem to have been tested on complex graphs and was broken in ways that makes it unusable for us. This issue is closed now until this PR gets merged, then we can reevaluate.


mashmallow or pydantic models from json-schema

Apologies if this already discussed somewhere - I am new to this project.  To get started I used cfn2py script and tested some round-trip serializations back to json and yaml using some deepdiff and cfn-lint checks.
One concern is that boolean values are not JSON booleans but strings.  Why does the t.to_dict() and t.to_json() data contain strings instead of JSON booleans?  It seems like encode_to_dict(obj) should be replaced with just a json.loads(json.dumps(obj)) and let the json lib take care of all the necessary python/JSON compatibility and encodings.
Or using marshmallow or pydantic models in general should take care of all the schema mappings and serializations.  It might also be easier to use botocore service descriptions or other AWS json payloads to auto-generate json-schema and models.  It's not quite the same thing as CFN templates, but botocore has service API descriptions in e.g. lib/python3.7/site-packages/botocore/data/cloudformation/2010-05-15/service-2.json; see also

https://pydantic-docs.helpmanual.io/datamodel_code_generator/
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-type-schemas.html

The resource-type-schemas might be amenable to auto-generation of service models using mashmallow or pydantic schema parsers and code generators.  If something like this were to work well, it might eliminate most if not all of the issues about supporting new features in CFN services.
In this example, the cfn_schemas is a directory with unzipped data from a regional download .zip file.

pip install datamodel-code-generator[http]

wget https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip
mkdir cfn_schemas
mv CloudformationSchema.zip cfn_schemas/
cd cfn_schemas/
unzip CloudformationSchema.zip
cd ..
datamodel-codegen  --input cfn_schemas/aws-s3-bucket.json --input-file-type jsonschema --output aws_s3_bucket.py
cat aws_s3_bucket.py

The pydantic models have built in serializations.
The resulting aws_s3_bucket.py contains:
# generated by datamodel-codegen:
#   filename:  aws-s3-bucket.json
#   timestamp: 2021-03-11T02:07:54+00:00

from __future__ import annotations

from typing import List, Optional

from pydantic import BaseModel

class DefaultRetention(BaseModel):
    Years: Optional[int] = None
    Days: Optional[int] = None
    Mode: Optional[str] = None

class ReplicationTimeValue(BaseModel):
    Minutes: int

class FilterRule(BaseModel):
    Value: str
    Name: str

class AccelerateConfiguration(BaseModel):
    AccelerationStatus: str

class Metrics(BaseModel):
    Status: str
    EventThreshold: Optional[ReplicationTimeValue] = None

class RoutingRuleCondition(BaseModel):
    KeyPrefixEquals: Optional[str] = None
    HttpErrorCodeReturnedEquals: Optional[str] = None

class DeleteMarkerReplication(BaseModel):
    Status: Optional[str] = None

class OwnershipControlsRule(BaseModel):
    ObjectOwnership: Optional[str] = None

class CorsRule(BaseModel):
    ExposedHeaders: Optional[List[str]] = None
    AllowedMethods: List[str]
    AllowedOrigins: List[str]
    AllowedHeaders: Optional[List[str]] = None
    MaxAge: Optional[int] = None
    Id: Optional[str] = None

class AccessControlTranslation(BaseModel):
    Owner: str

class ObjectLockRule(BaseModel):
    DefaultRetention: Optional[DefaultRetention] = None

class S3KeyFilter(BaseModel):
    Rules: List[FilterRule]

class Destination(BaseModel):
    BucketArn: str
    BucketAccountId: Optional[str] = None
    Format: str
    Prefix: Optional[str] = None

class RedirectAllRequestsTo(BaseModel):
    Protocol: Optional[str] = None
    HostName: str

class TagFilter(BaseModel):
    Value: str
    Key: str

class PublicAccessBlockConfiguration(BaseModel):
    RestrictPublicBuckets: Optional[bool] = None
    IgnorePublicAcls: Optional[bool] = None
    BlockPublicPolicy: Optional[bool] = None
    BlockPublicAcls: Optional[bool] = None

class NoncurrentVersionTransition(BaseModel):
    StorageClass: str
    TransitionInDays: int

class ServerSideEncryptionByDefault(BaseModel):
    SSEAlgorithm: str
    KMSMasterKeyID: Optional[str] = None

class MetricsConfiguration(BaseModel):
    TagFilters: Optional[List[TagFilter]] = None
    Id: str
    Prefix: Optional[str] = None

class ObjectLockConfiguration(BaseModel):
    ObjectLockEnabled: Optional[str] = None
    Rule: Optional[ObjectLockRule] = None

class LoggingConfiguration(BaseModel):
    DestinationBucketName: Optional[str] = None
    LogFilePrefix: Optional[str] = None

class Tiering(BaseModel):
    AccessTier: str
    Days: int

class DataExport(BaseModel):
    Destination: Destination
    OutputSchemaVersion: str

class ReplicationTime(BaseModel):
    Status: str
    Time: ReplicationTimeValue

class RedirectRule(BaseModel):
    ReplaceKeyWith: Optional[str] = None
    HttpRedirectCode: Optional[str] = None
    Protocol: Optional[str] = None
    HostName: Optional[str] = None
    ReplaceKeyPrefixWith: Optional[str] = None

class EncryptionConfiguration(BaseModel):
    ReplicaKmsKeyID: str

class InventoryConfiguration(BaseModel):
    Destination: Destination
    OptionalFields: Optional[List[str]] = None
    IncludedObjectVersions: str
    Enabled: bool
    Id: str
    Prefix: Optional[str] = None
    ScheduleFrequency: str

class ReplicationRuleAndOperator(BaseModel):
    TagFilters: Optional[List[TagFilter]] = None
    Prefix: Optional[str] = None

class VersioningConfiguration(BaseModel):
    Status: str

class CorsConfiguration(BaseModel):
    CorsRules: List[CorsRule]

class ReplicaModifications(BaseModel):
    Status: str

class Transition(BaseModel):
    TransitionDate: Optional[str] = None
    TransitionInDays: Optional[int] = None
    StorageClass: str

class SseKmsEncryptedObjects(BaseModel):
    Status: str

class Tag(BaseModel):
    Value: str
    Key: str

class AbortIncompleteMultipartUpload(BaseModel):
    DaysAfterInitiation: int

class SourceSelectionCriteria(BaseModel):
    ReplicaModifications: Optional[ReplicaModifications] = None
    SseKmsEncryptedObjects: Optional[SseKmsEncryptedObjects] = None

class OwnershipControls(BaseModel):
    Rules: List[OwnershipControlsRule]

class RoutingRule(BaseModel):
    RedirectRule: RedirectRule
    RoutingRuleCondition: Optional[RoutingRuleCondition] = None

class NotificationFilter(BaseModel):
    S3Key: S3KeyFilter

class ServerSideEncryptionRule(BaseModel):
    BucketKeyEnabled: Optional[bool] = None
    ServerSideEncryptionByDefault: Optional[ServerSideEncryptionByDefault] = None

class ReplicationDestination(BaseModel):
    AccessControlTranslation: Optional[AccessControlTranslation] = None
    Account: Optional[str] = None
    Metrics: Optional[Metrics] = None
    Bucket: str
    EncryptionConfiguration: Optional[EncryptionConfiguration] = None
    StorageClass: Optional[str] = None
    ReplicationTime: Optional[ReplicationTime] = None

class Rule(BaseModel):
    Status: str
    NoncurrentVersionExpirationInDays: Optional[int] = None
    Transitions: Optional[List[Transition]] = None
    TagFilters: Optional[List[TagFilter]] = None
    NoncurrentVersionTransitions: Optional[List[NoncurrentVersionTransition]] = None
    Prefix: Optional[str] = None
    NoncurrentVersionTransition: Optional[NoncurrentVersionTransition] = None
    ExpirationDate: Optional[str] = None
    ExpirationInDays: Optional[int] = None
    Transition: Optional[Transition] = None
    Id: Optional[str] = None
    AbortIncompleteMultipartUpload: Optional[AbortIncompleteMultipartUpload] = None

class WebsiteConfiguration(BaseModel):
    RoutingRules: Optional[List[RoutingRule]] = None
    IndexDocument: Optional[str] = None
    RedirectAllRequestsTo: Optional[RedirectAllRequestsTo] = None
    ErrorDocument: Optional[str] = None

class TopicConfiguration(BaseModel):
    Event: str
    Topic: str
    Filter: Optional[NotificationFilter] = None

class IntelligentTieringConfiguration(BaseModel):
    Status: str
    TagFilters: Optional[List[TagFilter]] = None
    Tierings: List[Tiering]
    Id: str
    Prefix: Optional[str] = None

class StorageClassAnalysis(BaseModel):
    DataExport: Optional[DataExport] = None

class LambdaConfiguration(BaseModel):
    Function: str
    Event: str
    Filter: Optional[NotificationFilter] = None

class ReplicationRuleFilter(BaseModel):
    Prefix: Optional[str] = None
    And: Optional[ReplicationRuleAndOperator] = None
    TagFilter: Optional[TagFilter] = None

class BucketEncryption(BaseModel):
    ServerSideEncryptionConfiguration: List[ServerSideEncryptionRule]

class LifecycleConfiguration(BaseModel):
    Rules: List[Rule]

class QueueConfiguration(BaseModel):
    Event: str
    Filter: Optional[NotificationFilter] = None
    Queue: str

class ReplicationRule(BaseModel):
    Status: str
    Destination: ReplicationDestination
    Filter: Optional[ReplicationRuleFilter] = None
    Priority: Optional[int] = None
    SourceSelectionCriteria: Optional[SourceSelectionCriteria] = None
    Id: Optional[str] = None
    Prefix: Optional[str] = None
    DeleteMarkerReplication: Optional[DeleteMarkerReplication] = None

class ReplicationConfiguration(BaseModel):
    Role: str
    Rules: List[ReplicationRule]

class AnalyticsConfiguration(BaseModel):
    TagFilters: Optional[List[TagFilter]] = None
    StorageClassAnalysis: StorageClassAnalysis
    Id: str
    Prefix: Optional[str] = None

class NotificationConfiguration(BaseModel):
    QueueConfigurations: Optional[List[QueueConfiguration]] = None
    LambdaConfigurations: Optional[List[LambdaConfiguration]] = None
    TopicConfigurations: Optional[List[TopicConfiguration]] = None

class Model(BaseModel):
    InventoryConfigurations: Optional[List[InventoryConfiguration]] = None
    WebsiteConfiguration: Optional[WebsiteConfiguration] = None
    DualStackDomainName: Optional[str] = None
    AccessControl: Optional[str] = None
    AnalyticsConfigurations: Optional[List[AnalyticsConfiguration]] = None
    AccelerateConfiguration: Optional[AccelerateConfiguration] = None
    PublicAccessBlockConfiguration: Optional[PublicAccessBlockConfiguration] = None
    BucketName: Optional[str] = None
    RegionalDomainName: Optional[str] = None
    OwnershipControls: Optional[OwnershipControls] = None
    ObjectLockConfiguration: Optional[ObjectLockConfiguration] = None
    ObjectLockEnabled: Optional[bool] = None
    LoggingConfiguration: Optional[LoggingConfiguration] = None
    ReplicationConfiguration: Optional[ReplicationConfiguration] = None
    Tags: Optional[List[Tag]] = None
    DomainName: Optional[str] = None
    BucketEncryption: Optional[BucketEncryption] = None
    WebsiteURL: Optional[str] = None
    NotificationConfiguration: Optional[NotificationConfiguration] = None
    LifecycleConfiguration: Optional[LifecycleConfiguration] = None
    VersioningConfiguration: Optional[VersioningConfiguration] = None
    MetricsConfigurations: Optional[List[MetricsConfiguration]] = None
    IntelligentTieringConfigurations: Optional[
        List[IntelligentTieringConfiguration]
    ] = None
    CorsConfiguration: Optional[CorsConfiguration] = None
    Id: Optional[str] = None
    Arn: Optional[str] = None

I'll have to come back to read your additional comments. But when running your tests, did you set the TROPO_REAL_BOOL environment variable? The mapping is done here. This was added for backwards compatibility and will be the default in the next major revision.

The TROPO_REAL_BOOL was not set.

I would like to second that using Pydantic is really sweet. Typehints, serialization, Literals, etc.; it has been so agile to use.
But not sure how big an overhaul it would be for this repo.
Looking at this PR for example: https://github.com/cloudtools/troposphere/pull/1858/files
Seems like all of the definitions could be Pydantic BaseModels.
But there is likely lots of machinery that rely on the current form 🤷

@dazza-codes  @lautjy I found a python library https://github.com/MacHu-GWU/cottonformation-project#welcome-to-cottonformation-documentation seems like they did exactly what you said about the Typehint, Parameter suggest and validation.
Seems like this guy use the cloudformation schema json file from AWS and jinja2 automatically generates all those code, I think we can borrow this to here.

generate code from schema json file: https://github.com/MacHu-GWU/cottonformation-project/blob/main/cottonformation/code/spec.py#L686
the generated code: https://github.com/MacHu-GWU/cottonformation-project/tree/main/cottonformation/res


Optical Receivers always use the closest APN source, even if it's broken

E.g. if you have three optical receivers, one bound to a system, one far away, and one between (but closer to the second), then the second and last don't work, as the second tries to connect to the last and vice-versa. None of them connect to the system itself.
APNs need to consider whether or not a source is erroring.

It seems like the issue is a bit more complex than this.


Use IEnumerable<KeyValuePair<K, V>> in TextTransformation.WithTokens

Following up from #2375 and the recently merged #2124, I can't easily use this extension without being forced to materialize a dictionary, which is inconvenient, especially if I need to filter the keys first (using LINQ), hence this tweak to use the IEnumerable<KeyValuePair<K, V>> base type instead.

@gitfool your changes have been merged, thanks for your contribution 👍


feat:select next or previous diagnostic

@andrewferrier Have you considered using binary search instead of iterate through all diagnostic list?

@nullchilly I don't think there's any guarantee that the list returned by vim.diagnostic.get() is in the order of the diagnostics in the buffer (i.e. that it's usefully sorted), so unless that contract is documented somewhere I wouldn't want to try that. The algorithm I have, fiddly though it is, I think works irrespective of whether it's sorted.


Use custom encryptor, not work auto sign_in after sign up

I user rails 5.1.3 && devise 4.3.0
When I use custom encryptor (phpass)
(use this article https://github.com/plataformatec/devise/wiki/How-To:-Create-a-custom-encryptor)
and try auto sign_in in RegistrationsController not work (method self.compare in module Encryptors not calling). But sign_in in SessionsController work nice!
https://gist.github.com/mr-koww/769ec6bc9238eec28d087a0e60bac244

Hello @mr-koww, thanks for your report.
Unfortunately, I'm not sure if the Wiki article is up to date since this is maintained by the community.
So if there aren't any up to date instructions, we recommend you to explore the solution yourself and hopefully contribute your findings back!
Thanks!


UI is taking around 50% of build time

can we improve this
cc @shahsank3t

This is a duplicate of https://github.com/open-metadata/OpenMetadata/issues/5538 so closing this one.


Next level of view

Hi,
In this sample we have upto second view. How to create a third view. can you help on this?

Hi, try to put expandableView into another expandable view
And call ForceUpdateSize (or ForceUpdateSizeCommand) somewhere (or just change HeightRequest of first expandable to -1)

sorry , Actually my question add another view to the second view (like tree view

)

@DineshkumarArunachalam yes
As i said, you can try to add another expandable view to the root one.
exp1.SecondaryView -> StackLayout (label, label, exp2) ...

@AndreiMisiukevich  . Please provide any sample code to achieve it. That would be helpful.

@DineshkumarArunachalam maybe later. Unfortunately now i have little time :(

https://github.com/AndreiMisiukevich/ExpandableView/blob/master/ExpandableViewSample/NestedExpandablePage.cs


Correct method to filter on blank field values in WHERE clause

What is the correct way to filter on blank field values in the WHERE clause?
I suspect the syntax from this template vault is incorrect: https://github.com/m-dwyer/obsidian-vault-template
It uses:
table dueDate, project, completed, assignedDate
from "tasks"
where
	(completed = "" or completed = "N") and
	(
		assignedDate = "" or
		assignedDate = date(1970-01-01)
	)
sort dueDate asc

But that returned zero results despite two files with frontmatter like this:
---
name: Project1Task1
project: Project1
dueDate: 2021-03-30
assignedDate:
completed: N
tags:
  - project/task/Project1Task1
---

and
---
name: Project1Task2
project: Project1
dueDate: 2021-03-30
assignedDate:
completed: N
tags:
  - project/task/Project1Task2
---

I experimented and found that either of the below queries works as expected:
table dueDate, project, completed, assignedDate
from "tasks"
where
	(completed = "" or completed = "N") and
	assignedDate = Nil
sort dueDate asc

and
table dueDate, project, completed, assignedDate
from "tasks"
where
	(completed = "" or completed = "N") and
	assignedDate <= date(1970-01-01)
sort dueDate asc

Based on this I suspect the correct method is to query on Nil but it isn't described in the docs.
Can you confirm what the correct method is? Thanks!

That may be due to a change I made to empty fields. They used to just map to the empty string (""), but now map to null. If you want to filter on tasks with a null date, you can use assignedDate = null or !assignedDate. The comparison to Nil happens to work by chance, since Nil is not a keyword - Nil is interpreted as a variable, and since it is not defined, it is assigned the value null.
I would use your first query with a slight modification:
table dueDate, project, completed, assignedDate
from "tasks"
where (completed = "" or completed = "N") and !assignedDate
sort dueDate asc

Awesome thanks!

If you want to filter on tasks with a null date, you can use assignedDate = null or !assignedDate.

Heya,
This piece of information doesn't seem to be present in the docs (e.g. a search site:blacksmithgu.github.io/obsidian-dataview "null" in Google returns nothing): you might want to add it.
Cheers !

I did and it was already answered here: https://github.com/blacksmithgu/obsidian-dataview/discussions/1172


Incompatibility with whiteboard

Info:

OS: macOS
Logseq ver: 0.8.14
Plugin ver: 1.4.12
Theme name: no theme

Description:
The whiteboard feature of Logseq becomes Beta in 0.8.14. However, with Awesome UI installed, I'm unable to change the title of the whiteboard.
With Awesome UI disabled:

With Awesome UI enabled:

To Reproduce:
Use 0.8.14 to create a whiteboard with a Backer/Sponsor account of Logseq.
Expected behavior:
Being able to change the whiteboard title.

Info:
* OS: macOS

* Logseq ver: 0.8.14

* Plugin ver: 1.4.12

* Theme name: no theme

Description: The whiteboard feature of Logseq becomes Beta in 0.8.14. However, with Awesome UI installed, I'm unable to change the title of the whiteboard.
With Awesome UI disabled:
With Awesome UI enabled:
To Reproduce: Use 0.8.14 to create a whiteboard with a Backer/Sponsor account of Logseq.
Expected behavior: Being able to change the whiteboard title.

same for me:
OS: Window10
Logseq ver: 0.8.14
Plugin ver: 1.4.12

fixed in latest!


SSSScanlator URL change

Source information
SSSScanlator 1.4.32
Source language
Português (Brasil)
Source new URL
https://sssscanlator.com.br/
Other details
No response
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I will fill out all of the requested information in this form.

Tá duplicado não, eles mudam de URL


[-] MO : referralprogram -> add missing mod

Hi,
Thank you for your PR and contribution.
Best regards


regex change, matching loop and more debug options

See Issue #1 for discussion

I have to admit I've not done much lua myself and had to look up a lot to make this work, but it is currently running and working. I think at least the "regex" needs more review before I can merge it. I wish there was some way that test cases could be written so that we can just verify the script working.
I will try to incorporate and verify these changes as soon as I have more time.

Hello Ravi - I just added a local.lua script that tries to closely match the lang.lua script. I expect ngxregmatch to be similar to rex_pcre
I read upon the special escaping but found no issue with the present escaping. Another problem was the zero-length match of $-end-of-string and I catched this with another if condition.
I wanted to bring this only to your attention, there's no need to pull the changes. Please take your time.

Thanks, I'll take a look at it.


✨ Implement numerical and linalg features

Pull Request type
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
Issue Number: #123
What is the new behavior?

Linear algebra

Dot product

Numerical analysis

Trapezoidal rule
Cumsum a sequence
Diff a sequence
Interpolate y at x with different interpolation and extrapolation methods

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information
Developments done with:
scarb 0.5.0-alpha.4 (6484cf7b6 2023-06-29)
cairo: 2.0.0-rc6 (https://crates.io/crates/cairo-lang-compiler/2.0.0-rc6)

Workload: ~ 6 hours

@LucasLvy I'm done for a first review, I create 2 new folders (numeric and linalg) because they respectively have high growth potential, not sure if you prefered to have it in math.

Looks good but switch to rust doc (/// instead of // above functions). And please use more explicit function names
I replaced interp  by interpolate and trapz  to trapezoidal_rule which break from numpy naming, but it's ok I think.

Also dot, cumsum  and diff sounds to be explicit enough to me (it is named like this in other scientific libs I think). But I can change them also if it matters.


feat: support to accept values file

Related issue: https://github.com/GreptimeTeam/gtctl/issues/134.

Codecov Report
Attention: 106 lines in your changes are missing coverage. Please review.

Comparison is base (dda81be) 34.54% compared to head (b732e39) 35.83%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #161      +/-   ##
===========================================
+ Coverage    34.54%   35.83%   +1.29%
===========================================
  Files           10       12       +2
  Lines         1297     1412     +115
===========================================
+ Hits           448      506      +58
- Misses         760      806      +46
- Partials        89      100      +11

Files
Coverage Δ

pkg/artifacts/manager.go
56.42% <20.00%> (-0.77%)
:arrow_down:

pkg/metadata/manager.go
85.29% <85.29%> (ø)

pkg/cmd/gtctl/cluster/create/create.go
0.00% <0.00%> (ø)

pkg/deployer/baremetal/deployer.go
30.42% <19.23%> (-0.99%)
:arrow_down:

pkg/helm/values.go
69.01% <69.01%> (ø)

pkg/helm/loader.go
51.06% <51.06%> (ø)

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


Pushing to an array on upsert() not supported?

I have the following schema:
export const checkinSchema = new SimpleSchema({
  // location id
  locationId: {
    type: String,
    index: 1
  },
  // checkins users make at a location
  checkins: {
    type: [Object]
  },
  // user checking in
  'checkins.$.userId': {
    type: String,
    index: 1
  },
  // time-stamp
  'checkins.$.time': {
    type: Date
  }
});

and the following upsert code:
checkinsCollection.upsert(
  { locationId },
  { $push: { checkins: { userId: this.userId, time: new Date() } } }
);

If I run this, Collection2 complains that Checkins is required. Yet, if I add { validate: false }, everything works as expected. MongoDB creates the document and pushes the user / timestamp combination to the array.
Why doesn't Collection2 accept this?

If you are using the Meteor SimpleSchema package, switch to the NPM package. It should work properly with that one.


Promote Array Package In List Module To Array Module

Important Note: The term "Package" here is used to refer to the Java package name, not to be confused with the GitHub Package that is deployed by each Module.
Why Promote Array Package to Module
The Array Package is dedicated to performing operations on java primitive data arrays. This Package is currently a Sub-Package of the List Package inside List Module.
This package structure is not aligned with the Java Language itself, because Lists and Arrays are two different data structures.
Another reason, is that a library user may only work with numerical data in Arrays to maximize performance. This means that the List tools are included unnecessarily.
Challenges With Promoting Array Package

Renaming all import usages of Array components.
Any Code Shared between Arrays and Lists Modules will be duplicated

Resolved by #154


Log access data of proxied end-user

At present, visibility of end-user identity is lost within OPNsense when accessing the Administration front-end through reverse proxy. Proposed here is native lighttpd support for capturing these data, which might serve as a baseline for expanded configuration scenarios moving forward. Shown here is the result: https://i.imgur.com/AHwlyTC.png
I have also tested the direct, non-proxied access of OPNsense via the configured lighttpd port (rather than nginx port), which results in the expected logging of end-user IP.
mod_extforward exists in the current version of lighttpd distributed with OPNsense, so no additional components are required beyond this revision to lighty-webConfigurator.conf.
Of note:

I'm not certain that the inclusion of mod_extforward at line 221 is the expected behavior of core developers. Please confirm that this does not belong at line 238, noting that this module must be loaded after both mod_openssl and mod_accesslog to function properly.
The configuration proposed here supports proxied connections from localhost, which will not meet the needs of all deployments. Although the mod does support extforward.forwarder = ( "all" => "trust") this is clearly a bad path-forward, so consideration may be given to adding a "Support Proxied Connections" option at System: Settings: Administration, wherein the user can select a checkbox and add a list of proxy IPs to allow. The intention of this functionality should be further clarified via help text to avoid user perception of this setting effectively enabling a reverse proxy vs. only supporting connections from them.
mod_extforward also supports connections from HAProxy but enabling this configuration is beyond the scope of this pull request. I've acknowledged this observation in the contents of the code.

I do have something similar in place in the nginx plugin:
https://github.com/opnsense/plugins/blob/master/www/nginx/src/opnsense/service/templates/OPNsense/Nginx/http.conf#L128-L135
Please check out the "HTTP Server" settings. It would be good if the UI and configuration options would match as this functionality is basically the same.

Hi @fabianfrz,
I've not been in front of my laptop in the last couple of days so I can check out the full context of the code you linked. From mobile, it appears that's only an NGINX setting that doesn't affect anything on the web-gui / lighttpd side; is that correct? These changes are focused on how the header you're setting there would be captured and logged on the lighttpd side. Unless I'm missing something, lighttpd will still log <IP_ADDRESS> with that header in place in the absence of mod_extforward.  At least, this is what was occurring in my environment, even after configuring headers within NGINX settings.

I do not mean that it has any effect on the web interface directly. I meant that if you want to add the same options to the web interface, then the configuration should look similar to the end user.
In the nginx settings, you can configure trusted proxies, how the headers are named, and so on so if you add the same web interface options under https://github.com/opnsense/core/blob/master/src/www/system_advanced_admin.php, please try to design the UI as close to that as possible.
For example other users may use HAProxy or relayd instead of nginx, then there is no guarantee that the headers are actually set so this feature must be able to be turned off.

@fabianfrz In the current build, what is the behavior of web administration server logging when behind HAProxy?  Are proper addresses logged? To reiterate, the proposed change will not affect connectivity or logging of direct or HAProxy/relayd connections--merely revise the scope of what lighttpd looks for to identify real IP.
They only concern I have with merging without further revision is the (slim) possibility that proxied connections from localhost would not be trusted in some architectures. If your perspective is that it should be a configurable option rather than be hard-coded I'm not sure the UI would be 1:1 between what you have in NGINX (proxy / egress) and lighttpd (ingress)...

Although I'm not against adding features to lighttpd, we should be careful opting-in automatically. closing this for now.


Support OpenTelemetry resource attributes in traces

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
Envoy supports resource attributes through the standard OTEL_RESOURCE_ATTRIBUTES environment variable, however it has to be enabled via: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.proto#extension-envoy-tracers-opentelemetry-resource-detectors-environment
Ideally istio would support this in addition to tags. Resource attributes are critical to be able to set the environment that a service lives in.
Describe alternatives you've considered
There are no alternatives, you cannot change this property on istio-proxies. Perhaps it would be possible with an EnvoyFilter?
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[x] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[x] Multi Cluster
[x] Virtual Machine
[x] Multi Control Plane

I guess this is being handled here: https://github.com/istio/api/pull/3002

Yes, I'm working on this!

wait for implement

Awesome work @joaopgrassi Is there any documentation on using this feature? I assume it will land in Istio 1.21

Hey @braunsonm unfortunately it didn't made on 1.21, so it will be for 1.22 only. As for documentation, you can see an example in the proto config for now (once it's live, we can also see it in the MeshConfig docs ) https://github.com/istio/api/blob/master/mesh/v1alpha1/config.proto#L1115


[Do Not Merge] test triggering bundle build on konflux

DO NOT MERGE
testing purpose only

bundle build has been triggered

/close
test ok


Figure out a better way to support font

Currently only supporting colors and background for the more complex, non-key-value pair settings. There's probably a cleaner, more robust way to handle additional settings like the font. I think it would just need additional structure to the profile data...

This commit (ffeca18173749cd034df5458fdb6ee12a7721ccb) just adds font to the supported option checker. Seems to work without additional fixes, but will leave open since there still might be a cleaner way to approach this

Changes as of 174552780dcc249d6662b43582f276e0dc9a5d69 should address this


add bloom filter index

Add bloom filter index to prune data when loading segment

Besides implementation, I have several questions about the design

Why do we choose to store one BF per column per row block (1024 rows)? This seems to have a fairly high storage and search overhead. For example, let's say a column contains 10M rows and thus 10K blocks. Under the default fpp which 5%, the size of each BF is around  800 bytes. So the total size of this BF index is ~8MB which is very large(for comparison, the uncompressed size of int column with 10M rows is 40MB). To evaluate a "in" predicate with n values, 10K BFs need to be tested on n values, which could also take a long time.
Size of BF depends on expected_entries, which is the number of unique values that will get inserted. Currently expected_entries is set to num_rows_per_block, which is too large for row block that contains many repeated values. How about allocating one BF for k distinct values instead of k rows? We can use the BF we're building to de-duplicate inputs.
Classic BF (the one Doris is currently using) is known to be cache unfriendly. Have you considered BlockedBloomFilter which is used by Parquet and RocksDB? For more information on BlockedBloomFilter, you can refer to https://github.com/apache/parquet-format/blob/master/BloomFilter.md

good suggestion! Tks


update horizon to 2.26.1-374

What
update horizon to 2.26.1-374
Why
patch for horizon issue
Testing
will validate upon landing
Issue addressed by this PR
N/A

it has to correspond to this (just released it): https://github.com/stellar/go/releases/tag/horizon-v2.26.1


Unable to do set command

Hello,
I have follow the configuration from Bjoern3003.
My device protocol is 20CB.
But I always receive an error message when I try a set command :
[16:01:24] INFO: Looping vclient...
[16:01:36] INFO: Sending command: [setBetriebArt]: WW
[72] Wed Jan 25 16:01:36 2023 : Client connected <IP_ADDRESS>:48130 (FD:5)
[72] Wed Jan 25 16:01:36 2023 : Command: setBetriebArt WW
SRV ERR: command unknown
[72] Wed Jan 25 16:01:36 2023 : Command: quit
[72] Wed Jan 25 16:01:36 2023 : Process 72 released lock
[72] Wed Jan 25 16:01:36 2023 : Closed connection (fd:5)
server error
setBetriebArt WW:
Can you help me with this error
Regards
Nicolouts

Hey! There is a piece of code missing in the vito.xml file.
when you add the code you can run "set" and it changes the mode.
 <command name='setBetriebArtM1' protocmd='setaddr'>             <addr>2301</addr>             <len>1</len>             <unit>BA</unit>             <description>Setze Betriebsart M1</description>             <device ID="2053">                 <addr>51</addr>                 <len>1</len>                 <unit>BA</unit>             </device>     </command>

Hey,
Thank you for your feedback, but can you explain where I can find this file.
I have install the addon but I can't see structure folder.
I run HA in a virtual machine with hassio.
Regards
Nicolout

Yes, no problem, I installed the addon samba share. you can use it to access home assistant as a network drive. there you have the addons folder. I downloaded homeassistant-vcontrol as a zip, there you will find the vito.xml, there you change it accordingly. and put the unpacked and modified in the addons folder. then restart home assistant and the addon can then be found under Local add-ons and you can install it as normal. best greetings :)

Ok, thank you.
I have installed the addon by adding it to home assistant addon repository. So I don't have access to the main file.
I will follow your explanantion.
Regards
Nicolouts

https://github.com/Alexandre-io/homeassistant-vcontrol/pull/14/commits/ffd6a72ed2a6b838543f4151cf4f7a9830787844
:)

I have the same problem. I can't find the configuration file in order to add new commands. I have the latest HA installation (Home Assistant 2023.1.7) running on a raspberry. And I have installed the 1.8.2 addon from your repository. I use the "20CB" protocol and I am trying to set the partymode. The /etc/vcontrold/ directory is missing. And using the Samba addon I see only an emtpy addons directory. Can you please tell me, where I went wrong?

@raebbaer Same device, same issue. here. Looking into vito.xml of this project: https://github.com/Alexandre-io/homeassistant-vcontrol/blob/main/vcontrold/rootfs/etc/vcontrold/vito.xml and openv/vcontrold: https://github.com/openv/vcontrold/blob/master/xml/300/vito.xml you can see the it does not explicitly mention 20CB but only 2053 for this command. It is assuming some backwards compatibility of the protocols. That does not seem to apply here but I don't have any other sources. Maybe openv would be a good place for a Issue/FR. To add/fix this we probably either need a sniffer in a working setup or the Viessmann tools as described in https://github.com/sarnau/InsideViessmannVitosoft


[TechDocs] Update TechDocs Page Header Links

Corrects the links to the component on the TechDocs Page Header

On https://demo.backstage.io the TechDocs page appears to correctly redirect, but this was not the experience I was receiving locally, and given the redirect it makes me believe this is the correct behaviour.

Adds an EntityRefLink to the owner, at the moment this is done in a similar way to the AboutCard

This isn't the nicest as the metadata requests are passed to this not fetching info from a context like I've seen in other places and using the relations. I tried to make just the smallest change for now and can expand if necessary, but if that is considered to be worthwhile for this change I can look into it
email owners link to a 404 not a mailto: this is the same functionality as the AboutCard (That doesn't mean however it's the best experience 😅)

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

Tugboat has finished building the preview for this pull request!
Link:

https://pr4675-t4iregm2od6tnbigfsfilt21rrjll6nk.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/603621a465f8170997f8c7b0

Looks like PR commit suggestions break the DCO 😔 have to pull and rebase

Tugboat has finished building the preview for this pull request!
Link:

https://pr4675-t4iregm2od6tnbigfsfilt21rrjll6nk.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/603621a465f8170997f8c7b0

That's odd, as it shows you signed off:

Yep, I pulled and rebased there's a force push just above

@egnwd When you enter the commit message in GitHub you can grab the sign-off row from one of your existing commits and paste it in that box:

@emmaindal happy for this to be merged or is this waiting on something? 😄


Mark async depdencies as modulepreload

Clear and concise description of the problem
As a developer sometimes I want to defer certain modules to be async, but give the browser hints to modulepreload those. A use-case for this might be something like a modal—where the initial paint isn't requiring any of the modal code, however when a user clicks a button we load that in.
Suggested solution
not sure how this would look like, but gather that due to import.meta.globEager can imagine something like import.meta.preload().

@maraisr Vite automatically generates <link rel="modulepreload"> directives for entry chunks and their direct imports in the built HTML.
https://vitejs.dev/guide/features.html#preload-directives-generation
Could you create a small reproduction of a user case where the default generation is not enough? If you add that modal as a direct async import of your entry chunk, it should already behave as you want. Interesting idea about import.meta.preload() though

Closing due to lack of repro


Exceptions don't seem to work

To reproduce
(from the exception documentation)
$pattern = Pattern::of('intentionally (( invalid {{ pattern ')->match('Foo')->first();

Expect: MalformedPatternException
Actual: RuntimePregException
Whatever I seem to try, Pattern::of never returns a T-Regx exception, only RuntimePregExceptions. PHPstorm also suggests that a MalformedPatternException can never be thrown in this code.
Info:
PHP version: 8.1.12

@TeaDrinkingProgrammer Hi, thanks for reaching out!
I tried running the code on PHP 8.1:
try {
    $pattern = Pattern::of('intentionally (( invalid {{ pattern ')->match('Foo')->first();
} catch (MalformedPatternException $exception) {
    var_dump("Malformed pattern");
}

and for me the the exception is thrown.

@TeaDrinkingProgrammer Thank you very much, I suspect it might have something to do with Laravel's internal error handling, will take a closer look at that.

Thank you for looking into the problem!

@TeaDrinkingProgrammer Fix released under https://github.com/T-Regx/T-Regx/releases/tag/0.41.1
If you have any more questions or suggestions, please don't hesitate.
When it comes to PhpStorm suggesting that exception is never thrown, this will be fixed quite soon enough too.


Custom Marker Rendering Issues

OS: Android
There definitely seems to be issues with custom markers. Clusters are rendering intermittently when zooming and panning. Been playing with the radius and extent props but nothing seems to resolve it.
Any ideas?

same here #19 , couldn't fix yet

Same here. Individual markers are also rendered intermittently. Sometimes by zooming in and out onto the same area a couple of times, making clusters repeatedly group and ungroup, I can make almost all markers and clusters disappear.

@djpetenice we are looking into this, we'll post the outcome asap. Could you please provide a code sample of your use case? Are you making intense usage of setState() in your parent Component?

No intense usage of setState().
Only use state for keyboard open/close, selected marker and when map is ready.
All by props with redux and reselect.
Markers appear/disappear only when i'm zooming in and out on Android.

I'm having some trouble too. I'm running on iOS. Scrolling is very buggy, sometimes it wont scroll, so I have to try again, if I have two clusters very close, sometimes they render as just one, other times separately. I also keep getting the following warning: Failed prop type: The prop coordinate.latitude is marked as required in MapMarker, but its value is undefined.
I don't know if I'm doing something wrong or if its a bug. My code is here:

constructor(props) {
    super(props);

    this.abrirSolicitacao = this.abrirSolicitacao.bind(this);
    this.setMyLocation = this.setMyLocation.bind(this);
    this.onRegionChange = this.onRegionChange.bind(this);
    this.map = null;
  }

  state = {
    erro: false,
    hasPermission: true,
    region: {
      latitude: -16.686898,
      longitude: -49.264811,
      latitudeDelta: 0.0028162317524973446,
      longitudeDelta: 0.008046627782761107
    }
  };

  async componentDidMount() {
    if (Platform.OS === "android") {
      try {
        const granted = await PermissionsAndroid.request(
          PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
          {
            title: "Citsmart Field Service Location Permission",
            message: "Citsmart Field Service needs access to your location"
          }
        );
        this.setState({
          erro: false,
          hasPermission:
            granted === PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
        });
      } catch (err) {
        this.setState({
          erro: true
        });
      }
    }
    this.setMyLocation();
  }

  abrirSolicitacao(requestId) {
    this.props.navigation.navigate("Solicitacao", { requestId });
  }

  async setMyLocation() {
    try {
      let position = await getCurrentLocation();
      this.setState({
        erro: false,
        hasPermission: true,
        region: {
          latitude: position.coords.latitude,
          longitude: position.coords.longitude,
          latitudeDelta: 0.018,
          longitudeDelta: 0.023
        }
      });
    } catch (err) {
      this.setState({
        erro: true
      });
    }
  }

  renderCluster = (cluster, onPress) => {
    const { pointCount, coordinate, clusterId } = cluster;

    // use pointCount to calculate cluster size scaling
    // and apply it to "style" prop below

    // eventually get clustered points by using
    // underlying SuperCluster instance
    // Methods ref: https://github.com/mapbox/supercluster
    const clusteringEngine = this.map.getClusteringEngine(),
      clusteredPoints = clusteringEngine.getLeaves(clusterId, 100);
    return (
      <Marker coordinate={coordinate} onPress={onPress}>
        <View style={styles.myClusterStyle}>
          <Text style={styles.myClusterTextStyle}>{pointCount}</Text>
        </View>
      </Marker>
    );
  };

  renderMarker = solicitacao => {
    return (
      <Marker
        coordinate={solicitacao}
        key={solicitacao.location.requestId.toString()}
        onPress={() => this.abrirSolicitacao(solicitacao.requestId)}
      />
    );
  };

  onRegionChange(region) {
    this.setState({ region });
  }

render() {
    const { region, hasPermission } = this.state;
    const { localizacoes } = this.props;

    return (
      <View style={styles.container}>
        {hasPermission ? (
          [
            <ClusteredMapView
              showsUserLocation
              style={styles.mapContainer}
              showsMyLocationButton={false}
              region={region}
              loadingEnabled
              data={localizacoes}
              renderMarker={this.renderMarker}
              renderCluster={this.renderCluster}
              onRegionChange={this.onRegionChange}
              key="mapa"
              ref={r => (this.map = r)}
            />,
            <View key="mensagem" style={styles.quantidadeMensagemContainer}>
              <Text>
                {strings("mapa.quantidade_solicitacoes", {
                  quantidade: localizacoes.length
                })}
              </Text>
            </View>,
            <FindMeButton
              containerStyle={styles.findMeButtonContainer}
              onPress={this.setMyLocation}
              key="findmebutton"
            />
          ]
        ) : (
          <View style={styles.messageContainer}>
            <Text style={styles.permissionText}>
              {strings("mapa.sem_permissao")}
            </Text>
          </View>
        )}
      </View>
    );
  }
}

The location object I'm getting is an array of objects like this:
{location:
{requestId: 554, latitude: -16.6650444089994, longitude: -49.233523359375}}
I'm kinda lost here. Any help is appreciated.

If you location object is

@39otrebla I think @otaviogaiao is having a different issue. My example code does pass coordinate correctly, as far as I can tell. Could you please reopen this?

Why was this closed? This issue isn't passing coordinates to the marker it's the rendering issues with clusters and custom markers.

I think described issue can be caused by this here https://github.com/novalabio/react-native-maps-super-cluster/issues/38

Yes, that seems very likely! I'll do some more testing tonight.

Confirmed! Let's continue the discussion on #38 because it contains the best information.

On iOS it appears that custom markers will not render after clustering. However, if you are to idle on a location that should display the markers for a period of time (5 minutes for example) the icons will then appear.
I have implemented the zoom level adjustment mentioned in #38 but the icons still will not render correctly.

Yep I've implemented that too #38 hasn't made any difference.

found this issue relevant and solved my problem

@DanGDroid That's likely a different problem. I'm not using images inside markers.
I did spot https://github.com/react-community/react-native-maps/issues/578 though, which is about custom markers randomly disappearing in react-native-maps in general (without SuperCluster). So it's possible we are barking up the wrong tree here.

@ttencate
i also think it is a react-native-maps issue

@DanGDroid @ttencate since the issue is closely linked to react-community/react-native-maps#578, i'll close for redirect the discussion to the right place.

Hello guys, the slowness issue isn't anymore an issue for me hihi !!!!
Well it is easy, just don't use the props onRegionChange
              // onRegionChange={currentRegion => {
              //   this.onRegionChange(currentRegion);
              // }}

This is what causes the android google map slowness issue
Instead you can just simply use the props onRegionChangeComplete
              onRegionChangeComplete={currentRegion => {
                this.onRegionChangeComplete(currentRegion);
              }}

Cheers. !!

Each marker need to have a unique key prop. In my case this was causing markers to disappear on random zoom levels.
<Marker key={key} coordinate={{...marker}}>
Its working fine on 50+ markers.


Azure Durable Functions rework

Reworked the injector to use a durable function architecture.
Durable Function documentation

Data injection is driven by an HTTP Trigger azure function.
The HTTP trigger can use a json array in the request body activities field
The HTTP trigger activities has the following default values that can be updated in config.json

    "activities": [
        {
            "activityName": "Create_Twin",
            "containerName": "create-storage/create-twins"
        },
        {
            "activityName": "Create_Relationship",
            "containerName": "create-storage/create-relationships"
        },
        {
            "activityName": "Update_Relationship",
            "containerName": "update-storage/update-relationships"
        },
        {
            "activityName": "Update_Twin",
            "containerName": "update-storage/update-twins"
        },
        {
            "activityName": "Delete_Relationship",
            "containerName": "delete-storage/delete-relationships"
        },
        {
            "activityName": "Delete_Twin",
            "containerName": "delete-storage/delete-twins"
        }
    ]

When the trigger is called it will start the InjectionOrchestrator.
The injection orchestrator will iterate over "activities"
For each activity it will read the file
For each line of the file it will start an azure activity that will send a command to azure Digital twin

@lalepee c'est bon pour moi !


Hotfix for plotting style

Plotting style wasn't being used by default for lcf.plot(). It was using the ugly old plot style instead, which was horrifying. This makes it beautiful.

Codecov Report

Merging #285 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #285      +/-   ##
==========================================
+ Coverage   88.09%   88.12%   +0.03%
==========================================
  Files          26       26
  Lines        3630     3631       +1
==========================================
+ Hits         3198     3200       +2
+ Misses        432      431       -1

Impacted Files
Coverage Δ

lightkurve/lightcurvefile.py
91.73% <100%> (+0.9%)
:arrow_up:

Continue to review full report at Codecov.

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

:+1: