doc: update instructions about restarting pods after deployment

On GKE/EKS, pods are automatically restarted when the --set global.restartPods=true switch is passed to helm when deploying Cilium. If not, pods need to be manually restarted to ensure
that they are managed by Cilium.
Note that EKS restart pod support is pending in #9740.

This change is

Coverage decreased (-0.008%) to 44.77% when pulling 9b44d0b01069de7e3ac47d7240da6b07e1ca5f3b on pr/rolinh/doc-gke-eks-restart-pods into de7e8857e35bf2c8f296ee92995d6fedb8f1fcc4 on master.

test-docs-please

test-docs-please

test-docs-please


Going through codacy to improve score

https://app.codacy.com/app/datmo/datmo/dashboard

Good enough for now. Can reopen if needed


add createFromJson method not internal

Enable AzureBrokerPropertiesStamp creation from json which is useful when using local serialization for tests.

All good ! Will be released in v1.4


Sending pdf's to whatsapp groups

I have used this library for few of my automating tasks, some of the features did work well like sending images, texts to groups.
However, I would like to have a function that can send pdf's to whatsapp groups like images, whenever I tried to send the pdf I'm only able to send the location of the pdf but not the pdf itself. Similar to sendwhats_image which easily takes in group ID as an argument and works seamlessly requesting for a function that sends pdf's
Thank you

Are you able to send images in png? I have been trying to use pywhatkit.sendwhats_image but I always get the error (png is not Supported!)

 I have been trying to use pywhatkit.sendwhats_image but I always get the error (png is not Supported!)
Yes I'm able to send png images using this method : sendwhats_image(group_id , img_path).

 I have been trying to use pywhatkit.sendwhats_image but I always get the error (png is not Supported!)

It all depends on the platform that you are using, it seems like you are using MacOS, in which case you can only use a jpeg image and is should be below 2mb.


Missing Trace Frame

Hi all
I got Missing Trace Frame in traces UI page very often. I want to know where can I add log to find out what happen in source code?
or the codes is related to the trace frame str to show ?
thanks a lot!

Hi @koftnt,
Unfortunately, this UI is currently under maintained.
I believe "Missing Trace Frame" is a problem with the tool itself producing the results (here I believe this is Mariana Trench?). This might be a bug in the implementation.
Are you using sapp and mariana trench installed from pip? It is possible that there is a mismatch between those versions.
You could try installing the previous version of Mariana Trench (try 1.0.3). You could also try to build sapp and mariana trench from source with the latest master.

HI arthaud ,
Thank for you reply. I will try your advice.
I am curious what Ui you are using internally and when will be available for public?

We don't plan on open sourcing our internal UI because it relies on a lot of internal services.

hi  arthaud
I built mariana trench from source with the latest master and sapp with the  master branch.
But I got error from sapp:

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table issues has no column named first_instance_id
[SQL: INSERT INTO issues (id, handle, callable_id, code, status, detected_time, first_instance_id) VALUES (?, ?, ?, ?, ?, ?, ?)]
[parameters: ((3358, 'Lcom/example/myapplication/MainActivity;.onCreate:(Landroid/os/Bundle;)V:Lcom/example/myapplication/MainActivity;.launchFallback:(Landroid/content/Intent;)V:0:3:3886ec6bc93645ad', 14003, 3, 'uncategorized',<PHONE_NUMBER>.409379, 3358), (3359, 'Lcom/example/myapplication/MainActivity;.onCreate:(Landroid/os/Bundle;)V:Lcom/example/myapplication/MainActivity$#6;.onClick:(Landroid/view/View;)V:0:1:12980548c1b721db', 14003, 1, 'uncategorized',<PHONE_NUMBER>.409379, 3359), (3360, 'Lcom/example/myapplication/Provider;.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;:Landroid/database/sqlite/SQLiteDatabase;.query:(Ljava/lang/String;[Ljava/lan:38f8ef86951646be', 14016, 4, 'uncategorized',<PHONE_NUMBER>.409379, 3360), (3361, 'Lcom/example/myapplication/Provider;.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;:Landroid/database/sqlite/SQLiteDatabase;.execSQL:(Ljava/lang/String;)V:0:4:fbe1e57d930d4601', 14016, 4, 'uncategorized',<PHONE_NUMBER>.409379, 3361), (3362, 'Lcom/example/myapplication/WebViewActivity;.activity_lifecycle_wrapper:(Landroid/os/Bundle;)V:Lcom/example/myapplication/WebViewActivity;.onStart:()V:0:5:d39385a1fc2d3aa4', 14023, 5, 'uncategorized',<PHONE_NUMBER>.409379, 3362), (3363, 'Lcom/example/myapplication/WebViewActivity;.activity_lifecycle_wrapper:(Landroid/os/Bundle;)V:Lcom/example/myapplication/WebViewActivity;.onStart:()V:0:2:1f9a1bf9b90c3054', 14023, 2, 'uncategorized',<PHONE_NUMBER>.409379, 3363))]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
For the pip install fb-sapp case：
When I run  sapp --tool=mariana-trench analyze command .I  got error like this:
Traceback (most recent call last):
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/bin/sapp", line 8, in
sys.exit(cli())
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/cli_lib.py", line 206, in analyze
pipeline.run(analysis_output, summary_blob)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/init.py", line 365, in run
next_input, summary = step.run(next_input, summary)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/base_parser.py", line 230, in run
self.analysis_output_to_dict_entries(
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/base_parser.py", line 182, in analysis_output_to_dict_entries
for typ, key, e in self._analysis_output_to_parsed_tuples(inputfile):
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/base_parser.py", line 131, in _analysis_output_to_parsed_tuples
for e in entries:
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/mariana_trench_parser_v2.py", line 470, in parse
yield from self.parse_handle(handle)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/mariana_trench_parser_v2.py", line 483, in parse_handle
yield from self._parse_issues(model)
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/mariana_trench_parser_v2.py", line 500, in _parse_issues
(preconditions, final_sinks) = self._parse_issue_conditions(
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/mariana_trench_parser_v2.py", line 561, in _parse_issue_conditions
method=Method.from_json(origin),
File "/Users/volcanosj/opt/anaconda3/envs/mt_scan/lib/python3.9/site-packages/sapp/pipeline/mariana_trench_parser_v2.py", line 53, in from_json
canonical_name = method["name"]
KeyError: 'name'

Regarding the error:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table issues has no column named first_instance_id
It looks like the existing schema for the issues table is out of date. The following SQL command should update it (syntax might be slightly wrong):
ALTER TABLE issues ADD COLUMN `first_instance_id` bigint unsigned DEFAULT NULL;

Alternatively, if you do not need to preserve existing data in the table, you could re-create it. Run DROP TABLE issues; then run the sapp-cli as you normally would. It should create any tables that doesn't already exist.
As for the pip-install error, it just looks like it's a really old version of the sapp-cli that won't work with the latest Mariana Trench output...

@yuhshin-oss
Regarding the error:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table issues has no column named first_instance_id
I use  sapp --tool=mariana-trench analyze  command  to generate sapp.db file then got the error . As a result .the db file is not generated. How can I alter table or drop table issues? Shoud I alter class Issue source code in appp and delete codes related to irst_instance_id column?

That's strange... if there isn't an existing sapp.db file, then it should create the tables with the correct schema. Can you double check that sapp.db really doesn't exist?
Alternatively, you could use the --dbname option to specify a .db file that you're sure doesn't exist:
sapp-cli --tool=mariana-trench --dbname mytmpfile.db analyze <analysis output dir>

You could also alter the sapp source code and delete relevant columns where these errors are showing up. I'd imagine that would be rather tedious though. The "first_instance_id" and "purge_status" columns are columns that we use internally and shouldn't be needed for viewing the results in the UI.

I'm pretty sure you are using the pip fb-sapp and not fb-sapp built from master, since I see mariana_trench_parser_v2.py in the python stack trace. This won't work.
You should either use both mariana-trench and fb-sapp from pip, or build them both from master (for now, building sapp from master is broken but it will have a fix soon).


ci: consider building our own base image with protobuf installed

👍 for this this, searched out this package for hacktoberfest and I happen to have experience with grpc so I already had protbuf stuff installed.
From what I remember, the install of that toolchain isn't the easiest though and is a high barrier to entry.
I could bring that dependency into the docker file, sync the volume and have a dev env that people could hack in. Thoughts?

@RobAWilkinson I think having all of those things laid out to make for easier dev would be great.
The toolchain is unfortunately a little bit complicated and while I like the idea of providing instructions for common development environment having a docker based solution here makes a lot of sense to me! I'd be happy to collaborate on this.


Remove cerner-consumer-theme from Base

Issue Description
This behavior should be supplied by the consumer theme, not by the base component.
See https://github.com/cerner/terra-core/blob/master/packages/terra-base/src/_themes.scss
Issue Type

[ ] New Feature
[ ] Enhancement
[ ] Bug
[x] Other

This has been released in<EMAIL_ADDRESS>


Add support of multi level of sort in filter request

I need support of multi level sort in filter request.
I should be able to pass multi value comma separated

Issue has been resolve in v0.0.11


Clear cache on reload

This uses #11577. It creates a Managed_Resource containing a reference that is cleared on reload; this change detects this, and clears the cache.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.
[x] If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,
or the Snowflake database integration, a run of the Extra Tests has been scheduled.

If applicable, it is suggested to paste a link to a successful run of the Extra Tests.

This has unit tests, and I also tested it in the GUI.

Could the dynamic Enso code not be an enso module somewhere?

Done.

This has unit tests, and I also tested it in the GUI.

How were you testing it? I've tried building engine from this branch and started GUI with corepack pnpm run dev:gui.
I'm using this workflow:

The Date header should update. When I close-and-reopen the workflow it does indeed update. But when I press the Refresh button, nothing seems to change.

I think it looks good. @GregoryTravis have you tested the latest build in practice?
e.g. using this scenario?

Yes, just tested it.


How to fetch data from table with unique column or whow to use groupBy in the query?

Currently I have my code below, which works fine for retrieving all the rows from data.
$payments = $this->payment::where(function ($query) use ($request) {
                //check for the payments filter is added or not
                if ($request->has('_custom_search_params') && $request->input('_custom_search_params') != ""):
                    foreach ($request->input('_custom_search_params') as $filter_param):
                        if ($filter_param['label'] != ""):
                            if ($filter_param['label'] == "payment_no"):
                                $query->where('payment_no', 'LIKE', '%' . $filter_param["value"] . '%');
                            elseif ($filter_param['label'] == "added-from"):
                                $query->whereDate('created_at', '>=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "added-to"):
                                $query->whereDate('created_at', '<=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "updated-from"):
                                $query->whereDate('updated_at', '>=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "updated-to"):
                                $query->whereDate('udpated_at', '<=', $filter_param["value"]);
                            endif;
                        else:
                            continue;
                        endif;
                    endforeach;
                endif;
            });
            $datatable = Datatables($payments)
                ->addColumn('customer_name', function ($payment) {
                    return $payment->sales->customer->first_name;
                })
                ->addColumn('sales_no', function ($payment) {
                    return $payment->sales->sales_no;
                })
                ->addColumn('customer_details', function ($payment) {
                    $data = [
                        'company_name' => $payment->sales->customer->company_name,
                        'first_name' => $payment->sales->customer->first_name,
                        'last_name' => $payment->sales->customer->last_name,
                        'city' => $payment->sales->customer->city,
                        'phone' => $payment->sales->customer->phone,
                    ];
                    return $data;
                });
            return $datatable->make(true);

What I want is: Retrieve the rows with distinct column (payment_no). For that I need to use groupBy() in query. And it is not working. How can I achieve this?
I got following error when used groupBy('batch) in query.
Exception Message:↵↵SQLSTATE[42000]: Syntax error or access violation: 1055 'inventory_management.sales_payments.id' isn't in GROUP BY (SQL: select count(*) as aggregate from (select * from sales_paymentswheresales_payments.deleted_atis null group bybatch) count_row_table)
Where as, this raw sql query works fine.
select * from sales_payments where sales_payments.deleted_at is null group by batch
$payments = $this->payment::where(function ($query) use ($request) {
                //check for the payments filter is added or not
                if ($request->has('_custom_search_params') && $request->input('_custom_search_params') != ""):
                    foreach ($request->input('_custom_search_params') as $filter_param):
                        if ($filter_param['label'] != ""):
                            if ($filter_param['label'] == "payment_no"):
                                $query->where('payment_no', 'LIKE', '%' . $filter_param["value"] . '%');
                            elseif ($filter_param['label'] == "added-from"):
                                $query->whereDate('created_at', '>=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "added-to"):
                                $query->whereDate('created_at', '<=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "updated-from"):
                                $query->whereDate('updated_at', '>=', $filter_param["value"]);
                            elseif ($filter_param['label'] == "updated-to"):
                                $query->whereDate('udpated_at', '<=', $filter_param["value"]);
                            endif;
                        else:
                            continue;
                        endif;
                    endforeach;
                endif;
            })->groupBy('batch);
            $datatable = Datatables($payments)
                ->addColumn('customer_name', function ($payment) {
                    return $payment->sales->customer->first_name;
                })
                ->addColumn('sales_no', function ($payment) {
                    return $payment->sales->sales_no;
                })
                ->addColumn('customer_details', function ($payment) {
                    $data = [
                        'company_name' => $payment->sales->customer->company_name,
                        'first_name' => $payment->sales->customer->first_name,
                        'last_name' => $payment->sales->customer->last_name,
                        'city' => $payment->sales->customer->city,
                        'phone' => $payment->sales->customer->phone,
                    ];
                    return $data;
                });
            return $datatable->make(true);

Operating System - windows 8.1
PHP Version 7.4
Laravel Version - 6.2
Laravel-Datatables Version - 9.0

Are you using relations with group by? If yes, just make sure that all ids/columns required for the relationship is included on your select statement. Based on the error inventory_management.sales_payments.id, you are initiating a relation.


AWS Python Lambda Layer 1.9.1 default export protocol

Works as expected
Layer version: arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python38-ver-1-7-1:1
config.yaml
receivers:
  otlp:
    protocols:
      grpc:
exporters:
  logging:
    logLevel: debug
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [logging]

Does not work
Layer version: arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python38-amd64-ver-1-9-1:1
config.yaml
receivers:
  otlp:
    protocols:
      grpc:
exporters:
  logging:
    logLevel: debug
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [logging]

urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=4318): Max retries exceeded with url: /v1/traces

Port 4318 is the default OTLP port for HTTP traffic so adding the http key to the otlp receiver protocols resolves the issue. I'm still new to this space, so I'm trying to understand which of the potential layer contents introduces the isue:

OpenTelemetry Python v1.9.1
AWS Python Extension v2.0.1
ADOT Collector for Lambda v0.16.0

Looks like it was changed in this commit to OpenTelemetry Lambda #185. Marking as closed.


alchemiscale.interface.client.AlchemiscaleClientError on asap-alchemy prioritize -nk <> -w 0.001

getting an internal error from Alchemiscale, looks like it's independent of nk or weight:
Traceback (most recent call last):
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/bin/asap-alchemy", line 8, in <module>
    sys.exit(alchemy())
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/jenkescheen/asapdiscovery/asapdiscovery-alchemy/asapdiscovery/alchemy/cli/alchemy.py", line 733, in prioritize
    new_weight, old_weight = client.adjust_weight(
  File "/Users/jenkescheen/asapdiscovery/asapdiscovery-alchemy/asapdiscovery/alchemy/utils.py", line 373, in adjust_weight
    old_weight = self._client.get_network_weight(network=network_key)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/alchemiscale/interface/client.py", line 344, in get_network_weight
    return self._get_resource(f"/networks/{network}/weight")
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/alchemiscale/base/client.py", line 144, in _wrapper
    return f(self, *args, **kwargs)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/alchemiscale/base/client.py", line 238, in _wrapper
    return f(self, *args, **kwargs)
  File "/Users/jenkescheen/micromamba/envs/asapdiscovery/lib/python3.10/site-packages/alchemiscale/base/client.py", line 366, in _get_resource
    raise self._exception(
alchemiscale.interface.client.AlchemiscaleClientError: Status Code 500 : Internal Server Error : Internal Server Error

this seems to have been a temporary behaviour, not happening anymore. @dotsdl feel free to close this issue unless you want to investigate more.

Thanks for this @JenkeScheen!
Odd...unclear to me what could have been happening from the traceback alone. Closing for now unless it rears its head again.


[Question] unable to access flowise on a remote machine.

thanks in advance. I have installed flowise on a remote linux server and I can access http://localhost:3000 on remote server, But I can't access from my local windows machine and I don't find any document how to set env for remote access. Did I miss something?

here you go: https://docs.flowiseai.com/configuration/deployment


Couldn't Download Artifact From bucket

Hi all.
I've successfully installed TRE following the instructions but I'm facing a problem while trying to launch the product.
Brief context,
I've created a terraform file that set up a SageMaker domain I tested the configuration locally and it's working. Take in account that this is working on multi-account setup and all the changes are being reflected from mangement account to child account
Everything seems to be working as expected, but when I launch the product I get following error.
Could not download artifact S3://sc-bb8a97221778f3a88404ef6b472ecccf-us-east-2/out/31e1fb34acfe78135ae8efa7a879be72/18fb769de1b5769789b705b77b1620d1-985f42732ee0bdc5caafb73afc91eda3dd528ebd3d90279e7b53221b1f0af9a2-ec1c35936c831cd9be8702804ce713fe5e635582f06a0485b1b8e938f928a6d5-1708651327111-2ad3fd57-06f0-4731-a340-9325919e0093 using launch role <ROLE_ARN>: Failed to execute API: HeadObject with request Id: 4JG52CXYX68VVVJA: An error occurred (403) when calling the HeadObject operation: Forbidden
failed to run commands: exit status

After reading the error, I went to S3 and that bucket doesn't exists in none of the accounts. Any help would be appreciated.
Summary.

HeadObject operation: Forbidden
Bucket: sc-bb8a97221778f3a88404ef6b472ecccf-us-east-2
Bucket wasn't created by TRE deploy.
Tested using administrator role

Hi @gonzalezbensmol - This is now solved. There was two issues:

I didn't create the role on the child account. (Now is solved)
Role must be SCLaunch-{{ suffix }}

Thanks a lot for your help.


open /mnt/sda1/var/lib/docker/tmp/GetImageBlob275604750: read-only file system

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

No information provided or steps to replicate - Closing


Feat/climate widgets to tables

Overview
A number of climate widgets currently do not use the data tables, this process swaps them over from carto fetches.
No enhancements.
Todo

[x] Check downloads work as expected
[x] Links on Rank widget
[x] remove old carto fetch code (?)

I have pushed a commit to address the above comment


Please clarify limits

Does "The maximum number of distinct custom events that can be tracked daily is 200" indicate a limit of 200 per day per app, or 200 per day per account?

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

ID: 35f69ecd-7f5b-570c-4777-c68acdacaf70
Version Independent ID: 2987abb6-1dad-c456-827a-600952e416ee
Content: Understanding App Center Events Metrics - Visual Studio App Center
Content Source: docs/analytics/event-metrics.md
Service: vs-appcenter
Sub-service: app-center-analytics
GitHub Login: @lucen-ms
Microsoft Alias: lucen

Another thing that is unclear is whether they mean the total amount of custom events that will be processed or whether the limitation goes towards differently named custom events.


allele groupings

Hi.  I think you missed the description on this one.

I don't know what this was, I can only think of this?
https://github.com/pombase/website/issues/288
assume non0-issue


Parse error on empty for in blocks

The code:
for ( key in obj ) {}
har har = foo.class @ super const static!!!!! ^_^

It'll complain about a bad variable, an empty block and then it'll die with "Cannot read property 'length' of undefined" completely ignoring the gibberish on line 2.

Forgot to mention, forin property is set to true in my .jshintrc

Closing this since it's merged in. Thanks!


StaticCheck test results (26 errors)

I've just been doing a little bit of research on various code testing and analysis tools for golang and ran the https://staticcheck.io tool against the Smart Gateway. The following is the output analysis. Will require further investigation to determine if these items are valid and should be addressed during a code refactor.
staticcheck -f stylish github.com/redhat-service-assurance/smart-gateway/...
/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/alerts/alerts.go
  (25, 5)  U1000  var alertStatus is unused

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/api/handler.go
  (68, 6)  U1000  func healthzHandler is unused

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/cacheutil/cacheserver.go
  (15, 5)    U1000  var debugc is unused
  (117, 2)   S1008  should use 'return <expr>' instead of 'if <expr> { return <bool> }; return <bool>'
  (175, 2)   U1000  field mincollectinterval is unused
  (211, 23)  U1000  func CacheServer.close is unused

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/events/events.go
  (51, 2)    U1000   var amqpHandler is unused
  (53, 2)    U1000   var elasticClient is unused
  (182, 27)  SA1019  prometheus.Handler is deprecated: Please note the issues described in the doc comment of InstrumentHandler. You might want to consider using promhttp.Handler instead.
  (193, 21)  S1025   the argument is already a string, there's no need to use fmt.Sprintf
  (254, 3)   SA5004  should not have an empty default case in a for+select loop. The loop will spin.

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/metrics/metrics.go
  (26, 2)    U1000   var cacheServer is unused
  (30, 2)    U1000   var amqpHandler is unused
  (31, 2)    U1000   var myHandler is unused
  (32, 2)    U1000   var hostwaitgroup is unused
  (169, 5)   S1002   should omit comparison to bool constant, can be simplified to !serverConfig.CPUStats
  (176, 29)  SA1019  prometheus.Handler is deprecated: Please note the issues described in the doc comment of InstrumentHandler. You might want to consider using promhttp.Handler instead.

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/saelastic/client.go
  (45, 2)   U1000   field err is unused
  (138, 2)  SA9003  empty branch
  (199, 2)  SA9003  empty branch

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/saelastic/utils.go
  (76, 6)   U1000  func typeSwitch is unused
  (80, 11)  S1034  assigning the result of this type assertion to a variable (switch val := val.(type)) could eliminate the following type assertions:
            /home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/saelastic/utils.go:82:19

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/internal/pkg/tsdb/prometheus.go
  (29, 2)   S1021   should merge variable declaration with assignment on next line
  (53, 25)  ST1005  error strings should not be capitalized
  (65, 5)   S1002   should omit comparison to bool constant, can be simplified to usetimestamp

/home/lmadsen/src/go/src/github.com/redhat-service-assurance/smart-gateway/tests/internal_pkg/saconfig_test.go
  (72, 6)  U1000  type LoadFunc is unused

 ✖ 26 problems (26 errors, 0 warnings)

Nice! Assuming we appreciate this output, this will be a nice addition to the pre-commit checks!

Need to investigate to see if I'm running the test correctly, and if the output is valid. If so, then the changes will need to be made during the implementation to the pre-commit checks so that everything passes cleanly.
I'm half tempted to try my hand at it to get a bit more familiar with the code, but I think that's more of a distraction at this point, so I'm going to control myself from starting on that now.

I'm going to get distracted with this for a bit; in particular the warning about prometheus.Handler being deprecated in favor of promhttp.Handler might intersect with the issues I've seen around the performance of the prometheus HTTP scrape. Most of the other stuff is trivial, let's see how far I get.

https://github.com/redhat-service-assurance/smart-gateway/pull/61


Integrate AuthorizedVoters into VotingController

We should consider integrating fields 'type' and 'authorized_voters' into VotingController and eliminating AuthorizedVoters.
@FinnStutzenstein: What are your thoughts?

I' wasnt happy about creating an extra model, too. But this had two reasons:

Permissions. Not for the VoteCollector, but for the other modes, the client must know, whether his user is allowed to vote. I didn't want to give read access to the voting-controller, because a user may not see how many votes come in, ...
Simpler use in the client. Because it does not have the voting_target as an integer but a real foreign key, the handling is much simpler than the voting-controller.

We may combine there and make different serializers. And yes, these models are somehow redundent. The AuthorizedVoters model was desinged to just give structured information to the client, so if we watch out for the few places where these information changes (mainly in start, stop), this should work.
So this needs to be dicided:
Does we want some rework or let this as it is. I can do this, if you want. Currently I have no strong opinion there (I had when I created the model, but after the development I saw that this might be obsolete)
What are your reasons your considering to merge the model?

As discussed on the phone let's keep the two models separate for now but keep the issue open for later review.

We keep the models separate.


Remove OD from Barozine

About the PR
Remove barozine OD because it's an instant win button.
Why / Balance
you can kill anyone for free (no counter) with 3 space pens

Summary by CodeRabbit

New Features

Introduced several new reagents: Opporozidone, Necrosol, Aloxadone, Mannitol, Psicodine, PotassiumIodide, and Haloperidol.

Improvements

Enhanced effects and conditions for existing reagents, including Barozine, Epinephrine, Ambuzol, AmbuzolPlus, Necrosol, and Aloxadone.
New functionalities for curing zombie infections and effects applicable to dead entities have been added.

just remove spacepens since goob uses upstreams nonexistent space damage, using spacepen makes you worse off

just remove spacepens since goob uses upstreams nonexistent space damage
Its a bug dummy,it shouldn't have been like that


Refactor Launch form to use a state machine

This migrates the state representations for LaunchWorkflowForm into a xstate state machine. Previously, a lot of logic and context variables were store in useLaunchWorkflowFormState. Now, all of the states in the flow are represented in launchMachine, which is consumed by the state hook.
The machine uses a handful of services to do the async work. These are provided by the state hook.
I also moved the state management for the workflow/launch plan selectors into a separate state hook. This is in preparation for making the launch form state generic enough to handle either a workflow or task as a source.
The net result of this should be no change in functionality.

Added launchMachine, which includes state definitions for schema, context, events for the whole launch flow. It also exports a machine config and a machine instance to be consumed by an interpreter.
Moved most of the context variables and state management out of useLaunchWorkflowFormState. It now only contains the services used by the state machine for loading workflows, launch plans, and inputs. It also wires the state machine context into a child instance of a useWorkflowSourceSelectorState hook.
Added useWorkflowSourceStateSelector hook, which translates between state machine context and the props/states needed for our SearchableSelector component.
Updated LaunchWorkflowForm to use state-matching for conditional rendering of elements, and to consume the various context variables from our state machine.
Added a common config for state machines. For now it just controls the devTools option, which should be true in development.
Updated xstate/react to fix an issue with typings on useMachine

Codecov Report

Merging #99 into single-task-execution will increase coverage by 0.22%.
The diff coverage is 92.38%.

@@                    Coverage Diff                    @@
##           single-task-execution      #99      +/-   ##
=========================================================
+ Coverage                  67.49%   67.71%   +0.22%
=========================================================
  Files                        372      374       +2
  Lines                       6030     6078      +48
  Branches                     945      947       +2
=========================================================
+ Hits                        4070     4116      +46
- Misses                      1960     1962       +2

Impacted Files
Coverage Δ

src/components/Launch/LaunchWorkflowForm/types.ts
100.00% <ø> (ø)

...ponents/Launch/LaunchWorkflowForm/launchMachine.ts
75.51% <75.51%> (ø)

...h/LaunchWorkflowForm/useLaunchWorkflowFormState.ts
96.03% <96.29%> (+0.86%)
:arrow_up:

...s/Launch/LaunchWorkflowForm/LaunchWorkflowForm.tsx
100.00% <100.00%> (ø)

...unchWorkflowForm/useWorkflowSourceSelectorState.ts
100.00% <100.00%> (ø)

src/components/common/constants.ts
100.00% <100.00%> (ø)

src/components/hooks/useFetchableData.ts
92.85% <100.00%> (ø)

src/components/hooks/useQueryState.ts
100.00% <100.00%> (ø)

src/components/hooks/useWorkflow.ts
42.85% <0.00%> (-57.15%)
:arrow_down:

... and 2 more

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 38eab6d...2f39846. Read the comment docs.


RHOAIENG-3771 - Reduce execution time of E2E tests

By reducing number of epochs and number of training samples in each epoch it was possible to reduce
test execution time of single test from more than 10 minutes to less than 2 minutes.
Issue link
https://issues.redhat.com/browse/RHOAIENG-3771

/lgtm


ServerSelectionTimeoutError when running in gitlab-ci on gitlab.com

I am running testcontainers-python 2.6 with mongo:4.2.3.  Hold the lock when calling this."""
586         now = _time()
587         end_time = now + timeout
588         server_descriptions = self._description.apply_selector(
589             selector, address, custom_selector=self._settings.server_selector)
590
591         while not server_descriptions:
592             # No suitable servers.
593             if timeout == 0 or now > end_time:
594                 raise ServerSelectionTimeoutError(
595 >                   self._error_message(selector))
596 E               pymongo.errors.ServerSelectionTimeoutError: <IP_ADDRESS>:27017: timed out
597 /opt/conda/envs/wesnake/lib/python3.7/site-packages/pymongo/topology.py:209: ServerSelectionTimeoutError

My gitlab-ci.yml is as follows:
cache:
  paths:
    - /opt/cache/pip
    - /opt/conda/pkgs
    - /root/.conda/pkgs

services:
  - docker:dind

variables:
  DOCKER_HOST: "tcp://docker:2375"
  DOCKER_DRIVER: overlay2

before_script:
  - python -V              # For debugging
  - export PIP_CACHE_DIR="/opt/cache/pip"
  - conda init bash
  - source /root/.bashrc
  - conda info             # For debugging
  - conda config --show    # For debugging
  - conda env create -n wesnake -f environment.yaml
  - conda activate wesnake
  - pip install git+https://github.com/testcontainers/testcontainers-python.git

test:
  image: continuumio/miniconda3:latest
  script:
    - python -m pytest -v -s

run:
  image: continuumio/miniconda3:latest
  script:
    - python setup.py bdist_wheel
  artifacts:
    paths:
      - dist/*.whl

My connection-setup is as follows
@pytest.fixture(scope="function")
def database_connection():
    container = MongoDbContainer('mongo:4.2.3')
    container.start()
    database = Database(MongoClient(container.get_connection_url()), "WES_Test")
    yield database
    database._db_runs().drop()

Containers are being started and container.get_connection_url() produces URLs with variable IP numbers for the container of the form:
mongodb://172.18.0.$number:27017

I would appreciate every help with this!

The changes in #85 should address this issue. Feel free to reopen if not.

Great! Thanks!


Nuno7 rk patch 42

👷 Deploy Preview for dat4lab processing.

Name
Link

🔨 Latest commit
172a278dc78f1e3f9217660449a4d180b8844380

🔍 Latest deploy log
https://app.netlify.com/sites/dat4lab/deploys/6536bdc49cd1640008ae7222


Zooming speed inconsistent across browsers/hardware

When using different browsers/OS/hardware (precision touchpad, normal touchpad, mouse, mighty mouse) the zoom speed is inconsistent.  Scrolling on precision touchpad emits events with deltaY 1.25 in Chrome and 0.01 in Firefox on W10, so zooming speed is 100 times slower there for example.
One way to normalize it would be using a method similar to https://www.npmjs.com/package/normalize-wheel (coming from https://github.com/facebookarchive/fixed-data-table/blob/master/src/vendor_upstream/dom/normalizeWheel.js). This code is BSD-licensed and hasn't changed in the past 4 years so it could also be just copied wholesale.

Nice find, thank you! Definitely worth a try!

I believe we already do some mouse wheel normalization, but nothing as sophisticated as the Facebook package. It would be great to improve this area! Pulling in that code seems like a reasonable way to go about it.
We'll want to test the result on a wide variety of devices, of course.
@j-hudecek would you be up for making a pull request?

I've tested the Facebook code and I'm still not happy with the results - FF and Chrome on Windows have different scrolling speeds for me. I'll investigate some more.

The wheel event will produce an "expected amount the page will move" in the deltaY even if that element does not scroll. Could this be used to get a more accurate input. (demo)

The wheel event will produce an "expected amount the page will move" in the deltaY even if that element does not scroll. Could this be used to get a more accurate input. (demo)
edit: I suppose browser compatibility may come into that, I notice that the normalized wheel events above use that and fallback to a shim of the wheel event.

Interesting, and definitely something to try, thank you! I too wonder if that will have the same browser inconsistencies, but I will check into it if someone doesn’t do it first


Reduce app function

This PR is a small refactor in preparation for a series of refactors with the goal of reducing and simplifying the big app function.
It extracts the content type negotiation to a separate function (servesMatchingContentTypes ) that later could be entirely removed and coded in terms of a new type called InvalidResponse that would encompass several error cases closer to the domain level.
It also extracts some common cases that checked for valid db requests into the functions servesMutateRequest and servesReadRequest'. This reduces duplication and improves a bit the readability of the big case body in the app function.
As part of readability improvements some lines were moved to bring definitions closer to their respective usage.
There is also some naming improvements, ctToHeader is not toHeader and the old toHeader is toMime as these names seem more precise.

The construct
servesMatchingContentTypes' $ \contentType ->
        servesMutateRequest $ \sq mq -> do

is confusing to me and looks a bit like js callback style. Only after looking carefully inside the functions i could understand what is going on.
I understand that it tries to be continuation passing style but somehow it (function signature in this style) does not seem right to me.
In my mind CPS is similar in "feel" to bind =<< and that interface works as long as there is a clear thing being piped through a chain of functions.
For these couple of functions i do not see that thing and i can not see how each function transforms or does something with that thing.
Maybe i am missing something or maybe the naming of the functions is not that great. Can you explain your thinking behind this?
For the following functions i have the same comment as above, i don't "feel" the CPS here
servesDbRequest :: Monad m => Either Text SqlQuery -> Either Text SqlQuery -> (SqlQuery -> SqlQuery -> m Response) -> m Response
servesReadRequest :: Monad m => NonnegRange -> Either Text SqlQuery -> Either Text SqlQuery -> (SqlQuery -> SqlQuery -> m Response) -> m Response

Another comment is to maybe remove the Either from the types and use aaplicative when calling the functions, and maybe even combine selectQuery and countQuery in a (,) since they are kind of inseparable and might make using applicative when calling a bit nicer

@ruslantalpa I also didn't like that callback style. I was just trying to isolate the error responses and make the data dependencies explicit, something I can definitely do using ifs.
I'll work more on this during this week.

Yes i saw how you isolated the errors and that's a progress, and now that you've done that this idea emerges (not sure if it's worth doing)
if you look at servesMatchingContentTypes servesDbRequest servesReadRequest, they either call errResponse or the continuation.
Maybe they can all be refactored to use the Either (httpstatus,errorstring) monad and use bind (hop i haven't said said something stupid).
and in the end, the calling function for a Left result calls errResponse and for the Right it would be calling the continuation passed down by warp

This would should also eliminate the either type from most of the parameters of these functions (except the last one of course)

@ruslantalpa @begriffs I gave up on those serves* functions as they really seemed to complicate and make the code more cryptic.
But I moved the content type verification to a single case before the main one.
I also pushed the error responses down the function chain and now the buildMutateRequestand buildReadRequest are named mutateRequestOrError and readRequestOrError respectively and both return a Response on their Left case.

@ruslantalpa I'm still considering the idea of using the Either monad to simplify all the nested Either cases, but this will be a future refactor, I want to avoid too much churn in a single PR.

I think this is good to merge.

I'll be away from computers for the next few days but will review and merge this first thing when I'm back.


Is this generator different from laracast generator?

Hi,
Not sure if this is the right place to ask, but I couldn't find a better alternative.
I'm a Laravel newbie, and found these 2 similar tools:
https://github.com/laracasts/Laravel-5-Generators-Extended
https://github.com/appzcoder/crud-generator
Are they different? Complementary?
Many thanks in advance, and sorry if my question is innappropriate.

Hi @jorgeas80
Actually it generates crud stuff like controller, model, migration, views within a single line command for a complete CRUD operation.
And you can also generate the individual stuff like laracasts generator.
Please read the docs for details https://github.com/appzcoder/crud-generator/blob/1.0/README.md

Yes, I read it, but I didn't know if this is an alternative to extended generators. Looks like that. Actually, creates more stuff than them. That's cool. Thanks!


Preparing for release 3.5.0

Updates version to 3.5.0
Updates CHANGELOG

Pull Request Test Coverage Report for Build 123

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 122:
0.0%

Covered Lines:
351

Relevant Lines:
351

💛  - Coveralls


delete delete

See also: https://github.com/ImmobilienScout24/c-bastion/pull/18/files

@all this still needs to be merged.

Is the delete function removed because it is not working or because it is not needed (since users get auto-removed after 24 hours)?

The original idea, was to allow deletion of users so that they could upload a new ssh-key. However, it turned out, that deleting users involved more than just calling userdel. So we finally agreed, that doing a create with an existing user will simply replace the existing ssh-key and thus negates the need to be able to delete users.
You should probably merge the following first:
https://github.com/ImmobilienScout24/c-bastion/pull/18


[BEAM-1886] Remove TextIO override in Flink runner

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Coverage increased (+0.003%) to 70.448% when pulling d2a037cabcde65dd3aced6ad1e09dbfa6909dc35 on JingsongLi:BEAM-1886 into 4daac664426da06268fa84a0a07793f818ce3913 on apache:master.

Run Flink ValidatesRunner

Looks like ValidatesRunner passed, but you'll need to resolve conflicts.

Resolved conflicts and rebased.

Run Flink ValidatesRunner

Coverage increased (+0.003%) to 70.139% when pulling 8f8ce303eb443bb8996ea76d5b979cb4b1000787 on JingsongLi:BEAM-1886 into 104f9823563c4a2cd2ef9495e9a16b3a219dd49b on apache:master.

@aljoscha Can you run Flink test again? It passed after mvn clean install on my computer.

Run Flink ValidatesRunner

Still can not update, @aljoscha can you help me check it?

I'll have a look.

@JingsongLi It seems we removed an exclude, by accident. I have the fix here: #2611

Thanks for fixing this, @JingsongLi 😃
Now, on to the other PRs ...


Invalid token format; expecting 2 parts separated by

/api/v1/certificates?id=&aki=&serial=&revoked_start=&revoked_end=&expired_start=&expired_end=&notexpired=&notrevoked=&ca= 401 25 "Invalid token in authorization header: Invalid token format; expecting 2 parts separated by '.'"

I am also facing this same issue. This API request needs an enrollment token which needs to passed as an bearer token with base64 of enrollment cert. signature of the certificate and body. But there is no documentation/eg about how to generate this and what is this signature. Need help on this. If anyone has solved this kindly help !!!


Updated bot instructions with missing message endpoint config

Hi @ltfschoen, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

Thanks


Bug report: --tenant login returns http status 400 on m365 5.4.0

Description
When you try to login with on m365 v5.4.0
m365 login --tenant here_goes_tenant_id --authType password --userName<EMAIL_ADDRESS>--password megaSecretPassword123 it fails, but with 5.3.0 all works fine.
Steps to reproduce

npm i -g<EMAIL_ADDRESS>m365 login --tenant here_goes_tenant_id --authType password --userName<EMAIL_ADDRESS>--password megaSecretPassword123

Expected results
Login success!
Actual results
Error: network_error: Network request failed. Please check network trace to determine root cause. | Fetch client threw: Error: HTTP status code 400 | Attempted to reach: https://login.microsoftonline.com/here_goes_tenant_id/oauth2/v2.0/token
Diagnostics
No response
CLI for Microsoft 365 version
"v5.4.0"
nodejs version
v16.14.2
Operating system (environment)
macOS
Shell
zsh
cli doctor
No response
Additional Info
No response

Hi @ramzzzay,
Thanks for reporting this issue. It might be due to special characters in your password. We have released a fix in the beta version.
Can you check if installing the beta version fixes this for you as well?
Install the beta version by running npm install @pnp/cli-microsoft365@next -g

Fantastic, I'll close this issue as duplicate


[Docs] Write documentation on deployment via gcloud

Create a new file docs/deploy.md
Write a section on how to deploy Rendertron to Google Cloud Platform

To write this, see the deployment section of the codelab.

@AVGP please let me know if this documentation is enough or need some more explanation.(https://github.com/GoogleChrome/rendertron/pull/332)


Invalid Checkmate

The game does not support the ability to check if there exists a move from the player that can get them out of check with pieces other than their king.


Yi3/impl interaction

Details:

Add CPU Internal Ops Interaction
Add CPU transformation to convert Subgraph to Interaction

Tickets:

86261

@usstq @luo-cheng2021  Please help merge this if performance testing needed.


Drive Modes using Dev2

Drive modes to be implemented in the Dev2 platform:

[x] Drive mode - Ulysses
[x] Translation/Crab mode - Andrew
[x] Spin mode - Nate
[x] Change mode handler - Nate

Following #136, the next step is to revise the drive modes using the Dev2 library and the newly defined homing ring orientation. Recall that the homing ring follows the exact orientation as described in the spin mode schema.

Initial drive modes have been implemented. Might need to update with new issue addressing the homing function for the wheels

Initial drive modes have been implemented. Might need to update with new issue addressing the homing function for the wheels


lsdsng-mono, makes every stereo song mono

Requires #13 and #14.

[ ] Flag for leaving OLR, or emptying command
[ ] Flag for just edit instruments
[ ] Flag for just edit tables
[ ] Flag for _just edit phrases


performance:   fp8 vs smoothquant int8

reference: https://github.com/NVIDIA/TensorRT-LLM/blob/main/docs/source/blogs/quantization-in-TRT-LLM.md#performance

Model	                Batch Size	Speedup (FP8 v.s. FP16)	Speedup (INT8 SQ v.s. FP16)
GPT-J	                    1	                        1.40x	                                      1.40x
GPT-J	                    8	                        1.44x	                                      1.30x
LLaMA-v2-7B	   1	                        1.51x	                                      1.47x
LLaMA-v2-7B	   8	                        1.40x	                                      1.32x
my question is : why fp8 speedup is better than int8 smoothquant,  fp8 and int8 tensor core TFLOPS is same on  H100

int8 smoothquant has quant/dequant cost

@enozhu FP8 uses per-tensor mode, did you compare INT8 also in per-tensor mode?
If yes, there are a few possibilities

There are two smooth operations can not be merged with LN in one layer. This could have overhead.
INT8 uses CUTLASS, parameters like thread block swizzle may not tuned to be optimal.


Types of Groups

[Enter feedback here]
Step 5 states that we need to use an AAD Security Group, does that mean that we cannot use an M365 Group, or is this an oversight that needs to be corrected?

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

ID: 6b246db4-2ef2-fc54-8db1-7a75a4974304
Version Independent ID: 57290170-ba72-9f26-5a9c-311f6980ea19
Content: Create and manage roles for role-based access control - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/user-roles.md
Product: w10
Technology: windows
GitHub Login: @mjcaparas
Microsoft Alias: macapara

Hello, just tried to create a role assignment using this manual - only security groups are supported.
Thank you


spec: rule about methods declaration

If you write the following method:
func (i int) method() {
	fmt.Printf("number: %d\n", i)
}

You get the following compilation error: cannot define new methods on non-local type.
I looked in the language specification, and I couldn't find any rule regarding where you can't define a method. I was wondering if it's something worth documenting in the spec. Thanks!
p.s. Shouldn't the error message be "cannot define new methods on a non-local type"?

The spec is clear about this: "The type denoted by T is called the receiver base type; it must not be a pointer or interface type and it must be defined in the same package as the method."
(https://golang.org/ref/spec#Method_declarations)
This is working as intended.
PS: The error message could say "on a non-local type" but what we have is fine and its somewhat customary to be shorter in error messages than in usual prose.

Thanks!


Created apollo-federation.mdx

I struggled using Graphql-shield with an Apollo Federation gateway. Due to my fallbackRule being set to deny, the endpoints required by Apollo Federation were blocked. Couldn't find any documentation for this issue, but I found a few unanswered questions on Stack Overflow. I would have appreciated seeing something like this earlier, so wrote this to help others with this common(?) problem

we have the same problem when need to resolve values from other subgraph

how i can apply these fixes in my local project. can any one help me ?

how i can apply these fixes in my local project. can any one help me ?

https://graphql-shield-git-fork-namyts-patch-1-maticzav.vercel.app/docs/advanced/apollo-federation - This is what I wrote to be added to the documentation. If you think it could be written more clearly, feel free to make some more edits. I also gave this answer here

i have tried this solution but not working with me. ===> {
export const permissions = shield({
Query: {
_service: allow,
},
_Service: {
sdl: allow
}
},{
fallbackRule: deny,
debug: true,
allowExternalErrors: true,
});
}
although i have fallbackRule: true, subgraph can't resolve value from other subgraph

although i have fallbackRule: true, subgraph can't resolve value from another one

If you set fallbackRule to allow and it still doesn't work, the problem probably isnt with graphql-shield... The fix I've documented was to allow apollo's introspection to work. Maybe try creating a Stack Overflow question with your problem in more detail to see if someone can figure it out :)
You could also try allowing the other values I mentioned in my documentation addition, but I am thinking your problem might be unrelated since this works completely fine for me

@maticzav - Could you merge my documentation additions please?

when i remove graphql shield middleware the problem solved so it's shield problem

Man I've been struggling with this for almost one day.  Just use graphql-middleware.

Man I've been struggling with this for almost one day.  Just use graphql-middleware.

I've switched to @graphql-authz since this post was made. Similar logic is required to allow the endpoints, but works fine for me...

i have solved the problem and all is worked fine with me


Connection - Shell Commands UI - ticking an event should apply focus to that event

minor
Open the 'Edit Connection' dialog, select 'Shell Commands', then tick an event. From my perspective it is a little confusing when the 'Command' text area and the options to the right do not become enabled. This is because no event is selected.

Patch below; will create GitHub pull request tomorrow
Index: plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/EditShellCommandsDialogPage.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/EditShellCommandsDialogPage.java	(revision c6f1e99c55911f759b2141255eaa3cd01d6b3a18)
+++ plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/EditShellCommandsDialogPage.java	(revision )
@@ -79,6 +79,13 @@
             UIUtils.createControlLabel(eventGroup, CoreMessages.dialog_connection_events_label_event);
             eventTypeTable = new Table(eventGroup, SWT.BORDER | SWT.CHECK | SWT.SINGLE | SWT.FULL_SELECTION);
             eventTypeTable.setLayoutData(new GridData(GridData.FILL_VERTICAL));
+            eventTypeTable.addListener(SWT.Selection, new Listener() {
+                public void handleEvent(Event event) {
+                    if (event.detail == SWT.CHECK) {
+                        eventTypeTable.select(eventTypeTable.indexOf((TableItem) event.item));
+                    }
+                }
+            });

             for (DBPConnectionEventType eventType : DBPConnectionEventType.values()) {
                 DBRShellCommand command = eventsCache.get(eventType);

Ok, thanks.
Pull requests are welcome :+1:

Thanks


How to add new row

If I want to add a new blank row, how can I do that?
I originally just used this submit function. My column headers are name, date, age.
submit() {
      this.rows.push({ date: '12/24/11' });
      console.log(this.rows);
    },

I see that the rows array has the new information in it, but the table is not updated. I would like to do the opposite of the delete issue here: DeleteRow   instead of having a button delete a row, I want a button at the top that adds a new empty row everytime it is clicked. #

@ITM007 you have to mutate object, this.rows = [...this.rows];

Thanks for the response. When I add what you recommended it is something like this
addRow() {
      [{ ...this.rows.push({ date: '11/15/2022' }) }];
      console.log(this.rows);
      return this.rows;
    },

I see in my console.log that I am increasing the array value
10: Object { date: "11/15/2022" }
11: Object { date: "11/15/2022" }
12: Object { date: "11/15/2022" }
13: Object { date: "11/15/2022" }
14: Object { date: "11/15/2022" }
15: Object { date: "11/15/2022" }
length: 16

But the table does not rerender with the correct amount of rows. How do I rerender the table to show the new amount of rows?

Hello @ITM007
I don't see where are you returning rows in your addRow(), I would recommend creating codesandbox sample.
But seems like what you have todo:
addRow() {
this.rows.push({ date: '11/15/2022' });
this.rows = [...this.rows];
}

Thank you that worked. I had it messed up. Thank you @revolist

@ITM007 very well! happy using!

Hi @revolist
I'm having the same problem as you ITM007 but haven't solved it yet.
When adding a new row to the grid, the data is added to the source but not displayed on the grid (grid does not refresh)
func_add_new() {
  this.$refs.vgrid.source.splice(mouse_row, 0, new_row_record)
  this.$refs.vgrid.$el.refresh('all')
  // var items = this.$refs.vgrid.source
  // items.splice(mouse_row, 0, new_row_record)
  // this.$refs.vgrid.source = [...items]
  this.$refs.menu.close()
},

Thank


Pull upstream repository

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions.

Description of the Change

Alternate Designs

Why should this be in core?

Benefits

Possible Drawbacks

Applicable issues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

417 of 430 (96.98%)  changed or added relevant lines in 38 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.1%) to 92.472%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/cli/watch-run.js
10
11
90.91%

lib/reporters/landing.js
4
5
80.0%

lib/mocha.js
75
77
97.4%

lib/reporters/html.js
3
12
25.0%

Files with Coverage Reduction
New Missed Lines
%

lib/mocha.js
1
95.01%

lib/reporters/base.js
1
89.06%

Totals

Change from base Build 458651470:
0.1%

Covered Lines:
3542

Relevant Lines:
3751

💛  - Coveralls


.NET linter with dotnet-format

hi guys, do you mind if I add .net linter that supports dotnet-format?
https://github.com/dotnet/format

Hi @ahanoff, looks like dotnet-format supports all the requirements by this action so feel free to submit a PR!

still in progress. I'll try to resolve this week


[nanogui] update to 2020-04-05

Library name: NanoGUI
New version number: 2020-04-05
Other information that may be useful (release notes, etc...)
NanoGUI's repository has been moved here, and the old one is not going to be updated any more.

The current version of nanogui is still using the old github repo, which has stopped developing.
https://github.com/microsoft/vcpkg/issues/8761
This issue has not been resolve actually.

Duplicate #17052


How can I display the extension version?

I have a k6 extension and then build with xk6.
How can I display the extension version in k6 version?

maybe I could import "go.k6.io/k6/lib/consts" and then add some information in extension.


Reduce frequency of reconcilliation

We're constantly burning up a lot of CPU reconciling when there are no changes.
Every time we reconcile we consume up to ~0.5-0.6 CPU. The default reconciliation period is 1m. Reconciling every minute means we're almost always using up half a core as we're almost never idle. This PR changes the period to 30m.
If a MigrationController CR is modified it still triggers an immediate reconcilliation.

@jmontleon with this PR, do we still respond to change events in "owned" resources? E.g. if I go delete the mig-controller deploy, will the operator reconcile?

Yes.

There is still something else at play here I'm not seeing. We're reconciling about every 5 minutes even with the change. It's possible our editing the MigrationController CR (status) is causing a loop.


HIVE-21100: Allow flattening of table subdirectories resulted when using TEZ engine and UNION clause.

What changes were proposed in this pull request?
Allow to flatten subdir in case of UNION
Why are the changes needed?
To avoid Subdir in case of UNION queries for compar
Does this PR introduce any user-facing change?
Yes, if the config is turned on.
Is the change a dependency upgrade?
No
How was this patch tested?
UT

Have fixed the typo. The last failure was some empty_skip_header_footer_aggr that ain't related, have triggered the build again


Do initial source-reconstruction of a single participant

Try to use the OSL toolbox to do source reconstruction of one example participant who has an anatomical MRI scan (e.g. participant #12) (https://osl.readthedocs.io/en/latest/api.html#source-reconstruction). It may be worth consulting with Mats Van Es about this, for advice/guidance.

The simplest thing we might want to work towards is something equivalent to this graph, but in source-space (or a difference waveform between laser_hit and laser_miss events). This would be nice as it wouldn't require trigger alignment to be working yet.


2.0.0 Nested modal not working correctly, backdrop in front and not closable

Bug description:
Calling $uibModal.open from within an open modal dialog causes the new dialog being shown in the back of the active dialog. The screen front is covered by the related backdrop which makes the site unusable.
Link to minimally-working plunker that reproduces the issue:
http://plnkr.co/edit/9cTZmaD0Veriujy9n7iE?p=preview
Click on "Open Me" and then any of the shown list items.
(Increase the size of the preview to see that the "lg" dialog is behind the active one)
Version of Angular, UIBS, and Bootstrap
Angular:
1.5.x
UIBS:
2.0.0
Bootstrap:
3.3.6

Thanks for submitting this @bisswanger - I was going to put together a bug report this morning but saw yours first :+1:

Well. looks like this issue hasn't been resolved. Am I missing something. The same plunker above changed to 2.1.3 version and still not working.
http://plnkr.co/edit/QJpwzXpILPpOp67CXa1b?p=preview


feature: replace rg by grep

Did you check the docs?

[X] I have read all the todo-comments.nvim docs

Is your feature request related to a problem? Please describe.
Replace rg by grep
Describe the solution you'd like
grep is more widespread and more popular than rg. IMO it's unreasonable to provide the latter as a default search command.
Additionally, I also don't get why don't you use lua builtin regex engine. You could have used it for opened buffers at least and use grep for more greedy search.
Describe alternatives you've considered
No alternatives.
Additional context
No response

So if you'd rather use grep, then just change the config?

@folke  Well AFAIK I can't specify the file pattern the way you do it for rg.

The following config fails for this plugin. It works is run from terminal though. Any tips?
  search = {
    command = "grep",
    args = {
      "--color=never",
      "-r",
      "-n",
      "-E"
    },
    pattern = ".*(KEYWORDS):", -- ripgrep regex
  },

The following config fails for this plugin. It works is run from terminal though. Any tips?
  search = {
    command = "grep",
    args = {
      "--color=never",
      "-r",
      "-n",
      "-E"
    },
    pattern = ".*(KEYWORDS):", -- ripgrep regex
  },

@hinell
args = {
	"--recursive",
	"--color=never",
	"--with-filename",
	"--line-number",
	"--binary-files=without-match",
	"--byte-offset",
	'--exclude-dir=".*"',
	"--extended-regexp",
},

What about a fallback to grep if ripgrep is not found?

@mrtnvgr What's your todo-comments version?

What about a fallback to grep if ripgrep is not found?

https://github.com/mrtnvgr/init.lua/blob/main/lua/initlua/plugins/todo-comments.lua

@mrtnvgr What's your todo-comments version?

Latest


Cleanup header documentation and error messages

Oh no, seems like all of these have been commited incrementally... ( #773, #774, #775, #776, #777 )
Any idea how I can fix this?

No worries, can we just merge them in that order?

          1 Error

  :no_entry_sign:
  Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: danger

I'll merge this since it's the first one (and the most simple), then we see if the others need to be fixed 😉


Fuse this with Mathjs?

Why not make this extension a part of mathjs(since integrals are really important/used nowadays)?

Hi everybody. the last comment on this topic is more than a year ago. I want to ask what is the current status for that.
I'm writing at the moment a graphic calculator in JS and HTML it would be awesome to have that feature on my page.
The next thing is that i got problems to integrade the beta of the mathjs-simple-integral on my page. Because math.import(require('mathjs-simple-integral')); does not work in a browser. That only works in node.js...
Is there a workaround or some trick to get that work?

@BenjaminLeonhardt You can check the commit history of this repo to see that, indeed not much happened with this repo in past two years. If you want to use mathjs-simple-integral with the current version of mathjs, I recommend that you check out PR #4.
Also, most web applications nowadays use modules. You can use require(...) in your code and then package it into a single javascript file using webpack or similar software.

@m93a Thank you for your fast response. I got mathjs-simple-integral now up an running :)
But I saw a problem with mathjs-simple-integral an mathJS version >7. In my project mathjs-simple-integral is only running with mathJS <7 so it is now running with 6.6.5.
I can reproduce the problem all time. I think at verision 7 is a breaking change. The error that I get says: "Error: Cannot import "factory": already exists" and it points an line 60981 in the file math.js

Have you tried using the version from PR #4? @JThobbyist claims their PR works with mathjs v7. If you're unable to get the PR working with mathjs v7, I recommend that you ask in the PR's comments, since JT is probably the one most experienced person when it comes to running mathjs-simple-integral with mathjs v7 😉

@BenjaminLeonhardt there’s probably an elegant way to switch the integral.js file in the mathjs-simple-integral package in your node_modules directory, but the fastest way to use the integral.js file that I patched for mathjs 7+ is to just put the actual integral.js file in the same folder as your project and use it as described in the example in the PR. If you do it the fast way, make sure to include the [[]] brackets as shown in the example, because that’s part of the format that mathjs expects.
Mathjs did make breaking changes somewhere in version 6: it’s been a minute since I looked at the code, but I remember they changed the way that they import modules (something with factory functions), and so my patch was just a wrapper to format this into the new format that mathjs now expects.

@supernova350 see my fork, it works with mathjs 7+ last time I checked.
https://github.com/JThobbyist/mathjs-simple-integral/commit/c86a693648945706b1be9852e77b4e91a995a62b


Not working with ng-repeat on a device

I tested it with multiple images using ng-repeat and it works in browser, but not on a device (Tested on iPhone, iOS9), but it works with collection-repeat on a device.
Tested on latest Ionic version 1.2.4

It should work with ng-repeat, maybe something going wrong.
No worry, I will add some demo code for ng-repeat later.
Sorry for the late reply, so busy recent days.

I fix some bugs and add ng-repeat example in the demo code.  The demo code works fine.
But I only test it on simulator, if problems keep still, tell me.

Hi.  I found I had the same problem with ng-repeat on android device.  No longer a problem since your update. Thanks so much, this plugin is really great!

Sorry for delay, it's working perfectly now. Thank you


Branch does not update in VS Code when doing checkout from git bash

VSCode Version:
OS Version:

Steps to Reproduce:

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

This issue was closed because it doesn't meet our standards of a properly filled issue. Please read our guide about Submitting Bugs and Suggestions.


Group multiple seasons of the same show

Describe your suggested feature
It would be nice if we could group multiple related entries into a single entry. The episode/chapter list would have tabs similar to the categories in the library view, or have them all as one big list. Potentially both but customizable.
Other details
No response
Acknowledgements

[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] If this is a request regarding an extension, I should be opening an issue in the extension's repository.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I will fill out all of the requested information in this form.

You can try the migration tab

I'm not sure how the migration tab helps here. If Season 1 has 13 episodes and Season 2 has 13 episodes, migrating won't magically give one or the other 26 episodes.


Corrected Apache Git URL, was git-wip-us

Small change just to update the master repo url.

ACS CI BVT Run
Sumarry:
Build Number 938
Hypervisor xenserver
NetworkType Advanced
Passed=106
Failed=7
Skipped=12
Link to logs Folder (search by build_no): https://www.dropbox.com/sh/r2si930m8xxzavs/AAAzNrnoF1fC3auFrvsKo_8-a?dl=0
Failed tests:

test_vm_snapshots.py

test_change_service_offering_for_vm_with_snapshots Failed

test_deploy_vm_iso.py

test_deploy_vm_from_iso Failing since 16 runs

test_vm_life_cycle.py

test_10_attachAndDetach_iso Failing since 16 runs

test_routers_network_ops.py

test_01_isolate_network_FW_PF_default_routes_egress_true Failing since 49 runs

test_02_isolate_network_FW_PF_default_routes_egress_false Failing since 49 runs

test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true Failing since 49 runs

test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false Failing since 49 runs

Skipped tests:
test_vm_nic_adapter_vmxnet3
test_01_verify_libvirt
test_02_verify_libvirt_after_restart
test_03_verify_libvirt_attach_disk
test_04_verify_guest_lspci
test_05_change_vm_ostype_restart
test_06_verify_guest_lspci_again
test_static_role_account_acls
test_11_ss_nfs_version_on_ssvm
test_nested_virtualization_vmware
test_3d_gpu_support
test_deploy_vgpu_enabled_vm
Passed test suits:
test_deploy_vm_with_userdata.py
test_affinity_groups_projects.py
test_portable_publicip.py
test_over_provisioning.py
test_global_settings.py
test_scale_vm.py
test_service_offerings.py
test_routers_iptables_default_policy.py
test_loadbalance.py
test_routers.py
test_reset_vm_on_reboot.py
test_deploy_vms_with_varied_deploymentplanners.py
test_network.py
test_router_dns.py
test_non_contigiousvlan.py
test_login.py
test_list_ids_parameter.py
test_public_ip_range.py
test_multipleips_per_nic.py
test_metrics_api.py
test_regions.py
test_affinity_groups.py
test_network_acl.py
test_pvlan.py
test_volumes.py
test_nic.py
test_deploy_vm_root_resize.py
test_resource_detail.py
test_secondary_storage.py
test_disk_offerings.py

Am I doing something silly here? I amended the readme.md, wasn't expecting to be getting build errors. Should I be working against a different branch?

@alexhitchins Nope, I was also surprised it broke the tests. I guess @cloudmonger has another issue.

OK, not sure what the best resolution is, do I resubmit or somehow kick Jenkins off again?

Could you fix the URL as it's not the right one?


[kern] Support subtable with format 2

https://docs.microsoft.com/en-us/typography/opentype/spec/kern#format-2

Idle though: why support the legacy kern table? Any serious text layout software is going to use the OpenType features code in GPOS and maybe other specialised tables instead (see HarfBuzz), which is probably outside the scope of this package.

GSUB/GPOS are in scope and will be added later (they already implemented locally). And HarfBuzz fallback to kern, afaik, in some cases.
I plan to use this library in a text shaping library like HarfBuzz eventually.

Re kern legacy subtables formats, HarfBuzz implements those.
Regarding this project, I have my own reservations.  I fully support doing something like this in Rust properly.  But that would, IMO, involve using macros to place struct members automatically, in a way that would be superior to how HarfBuzz is done.  This project as is, is nothing close to that.  It's all manual offset parsing.  It's not scalable.
@SimonSapin has some work towards that, I don't remember where.  And there's the (rather annoying) YesLogic reimplementation of HarfBuzz in Rust that they say will be Open Source but currently isn't.
I like to see a HarfBuzz successor done in Rust.  I hate to see it repeat the same mistakes that HarfBuzz did early on and learn the hard way, when one can learn from HarfBuzz and improve on it.

cc @raphlinus

Simon's work is in https://github.com/SimonSapin/victor/tree/master/victor/src/fonts. It's good work.
Also what Behdad said about the various different efforts. It's going to be very difficult to coordinate the work (it often feels like herding cats), let alone get it anywhere near the level of polish that HarfBuzz has today. But there seems to be demand.

@behdad

involve using macros to place struct members automatically

Procedural macros?  So they will generate the parsing code automatically?

It's not scalable.

What do you mean? Performance, cost of adding new tables, something else?
At the moment, all other Rust ttf/otf parsers I know are even worst, so it's at least something. But I would glad to hear any suggestions. Especially from a person who is familiar with this field. Before starting this project I had no experience in writing binary parsers and truetype specifically. So I do not expect much from it.
As for harfbuzz, I think that this is already a bit obvious that I'm working on a port too and spend like a month on it already. Right know I'm trying to do just a straightforward port, something that will produce the same output as harfbuzz. And then I plan to make it more Rustified.

I’m guessing that by not scalable, Behdad means code like this that has hard-coded offsets like 8 and 34 here:
https://github.com/RazrFalcon/ttf-parser/blob/09228b7cbb4ed1a9e2be48a591d644d660991d93/src/hhea.rs#L30-L41
These constants sort of go against the “no magic numbers” stated goal of this crate.
My experiments with TrueType parsing are at:

https://github.com/SimonSapin/victor/tree/fdb11f3e87f/victor/src/fonts
https://github.com/SimonSapin/victor/blob/fdb11f3e87f/proc-macros/src/lib.rs

It’s not at all intended to be used directly by anyone else, but feel free to copy ideas or code if you like. The idea is to have struct definitions for each (portion of an) sfnt table like this:
#[derive(SfntTable)]
pub struct TableDirectoryEntry {
    tag: Tag,
    _checksum: u32,
    table_offset: u32,
    _length: u32,
}

No value of this type is ever created. Instead, the fields serve as input to a procedural macro that does the offset calculations, then generates code very similar to that of current ttf-parser (except not hard-coded).

As to complex shaping, I too would like to see it exist in Rust (whether a port or an alternative implementation). However I’m also worried about long-term maintenance: it’s ongoing work to keep porting future HarfBuzz improvements (where applicable).

@SimonSapin I do not consider this constants as magic numbers. By magic numbers I meant something like this or this. ttf-parse doesn't have anything like this intentionally.
As for procedural macros, I'm not keen to use them. It's hard to write and support them (I'm writing in Rust for 3 years now and I have no idea how to write proc-macros) and the compilation time penalty is enormous. Right now, it takes just 2sec to build ttf-parser, but it would take at least 30sec with proc-macros, because of syn.
Also, proc-macro should handle non-rust types, like u24 and optional fields that depend on a table version or some bit in a whole different table.
Also, I have a script that generates this offsets for me, but it's not published. It has necessary tables hardcoded and all you need is to run it:
~> ./offset.py vhea numOfLongVerMetrics
34

And since this offsets is not something that will be changed any time soon, it's no point in calculating them each time.

Ok, magic number might not be the right term.
And yes, today’s procedural macros with today’s syn have their downside. It’s not about those specific tools though. I think the larger point is that code like the line_gap and number_of_hmetrics methods quoted/linked above should probably be auto-generated somehow, based on a concise definition that’s easy to write from the spec.
For example it could be a Python script (low compile / interpreter startup time) that generates Rust code instead of just integers, and generated code could be published with the crate so that users don’t need Python.
(For what it’s worth I have mixed feelings about my experience with generating Rust code from Python and Mako templates. That part of Servo/Stylo grew organically over the years and is one of the most hairy to maintain now.)

should probably be auto-generated

Anyway, this is my opinion and I think Behdad’s. I wanted to explain how it works in case you find it interesting.
It’s also true that DRY can be pushed too far, and sometimes complex meta-programming can be worse than a bit of copy-pasting and hard-coding. Whether the number of tables / fields in TrueType is high enough to make code generation worthwhile is debatable, and ultimately you decide what you prefer for your own projects.

I thinks that a python script that generates a Rust code is a better solution, but there are not that many places were you can apply it. OS/2, post, head, hhea, vhea and that's it. Everything else has way more complex algorithms than "get a data at offset".
One thing that would benefit from proc-macros in ttf-parser is FromData generation. Actually, this is how goblin works. They use scroll which is basically the same as ttf-parser's FromData.

My concerns are the same as what Simon expressed.  I also just opened one of the tables to see how parsing is done, and came to same conclusions seeing eg this:
https://github.com/RazrFalcon/ttf-parser/blob/master/src/os2.rs#L240-L252
15 lines to pull out one number...  That's what's not scalable.  I suggest you watch the TYPO Labs 2018 presentation of mine which also touches on this subject:
https://www.youtube.com/watch?v=murPX2nfI9o
https://docs.google.com/presentation/d/1Hfglew_SGOVxEYcPRNO8XFAv8x_kOvcIKw25BexW_oU/edit
In short, we agree that parsing and loading into separate structs is wasteful.  I covered that here:
http://goo.gl/woyty
There are two solutions left: 1. check access bounds every time (what ttf-parser does essentially), or check access bounds once, and access without check thereafter (what HarfBuzz does).  So, that's one parameter.
I've thought about generating code from Python as well.  But found it hard to weave that with custom code, which will inevitably be needed.  As such, my solution was to use C++ language facilities to get as close as an expressive DRY as I can get.  I'm really proud of how close I got to that.  Check how HarfBuzz's GSUB/GPOS are done.  Think about how you would do that table before settling on a design.  No, unlike what you said, it's not for just simple tables.  The two things that C++ currently doesn't allow (but a future version of the standard will, when Python-like metaclasses / Rust-like proc macros are added via the reflection and code-generation proposals):

Automatically handle offsets of struct members that are after a struct member with variable size,
Visitor pattern without enumerating members for each struct.

A few others who have tried to solve the same problem:

https://github.com/fonttools/fonttools/blob/master/Lib/fontTools/ttLib/tables/otData.py
https://github.com/Pomax/A-binary-parser-generator (by @Pomax)
https://github.com/foliojs/fontkit/tree/master/src/tables (by @devongovett)
https://www.sweetscape.com/010editor/repository/files/OpenType.bt

Thanks. I will study those articles.

cc @adrianwong

As @behdad mentioned, we are also working on OpenType font parsing in Rust at YesLogic, for use in our Prince typesetter. Our initial implementation is simple and hand-written, for example this is the code to parse a Coverage table from GSUB/GPOS:
pub enum Coverage<'a> {
    Format1 {
        glyph_array: ReadArray<'a, U16Be>,
    },
    Format2 {
        coverage_range_array: ReadArray<'a, CoverageRangeRecord>,
    },
}

pub struct CoverageRangeRecord {
    start_glyph: u16,
    end_glyph: u16,
    start_coverage_index: u16,
}

impl<'a> ReadFrom<'a> for CoverageRangeRecord {
    type ReadType = (U16Be, U16Be, U16Be);
    fn from((start_glyph, end_glyph, start_coverage_index): (u16, u16, u16)) -> Self {
        CoverageRangeRecord {
            start_glyph,
            end_glyph,
            start_coverage_index,
        }
    }
}

impl<'a> ReadBinary<'a> for Coverage<'a> {
    type HostType = Self;

    fn read(ctxt: &mut ReadCtxt<'a>) -> Result<Self, ParseError> {
        match ctxt.read_u16be()? {
            1 => {
                let glyph_count = ctxt.read_u16be()?;
                let glyph_array = ctxt.read_array::<U16Be>(usize::from(glyph_count))?;
                Ok(Coverage::Format1 { glyph_array })
            }
            2 => {
                let coverage_range_count = ctxt.read_u16be()?;
                let coverage_range_array =
                    ctxt.read_array::<CoverageRangeRecord>(usize::from(coverage_range_count))?;
                Ok(Coverage::Format2 {
                    coverage_range_array,
                })
            }
            _ => Err(ParseError::BadVersion),
        }
    }
}

You can see that we have various traits for reading binary data, and the ReadArray type stores a lazy reference into the original buffer that can be iterated over or indexed into on demand. The resulting code is easy to write based on the spec and performs reasonably well, although it will not be optimal for every use case.
In the longer term we would like to explore more powerful approaches than Rust macros or Python scripts for code generation (which we do use extensively in Prince!) and so we are also developing a Data Description Language based on dependent type theory with the intention of using it to specify all of OpenType, including the difficult parts, and hopefully other binary formats as well.
Our work on the DDL in progress is available here https://github.com/yeslogic/ddl and includes many experiments dating back some years; it is not ready for production use! But we hope to begin introducing it to our font code in the near future. I would be happy to discuss this work in more detail if you are interested.

Really cool work on this @RazrFalcon! It’s nice to see more interest in OpenType parsing in Rust! We think that it’s worth experimenting with different approaches - binary format parsing is an interesting and tricky problem, and it’s worth thinking about it in different ways!
I’ll have the slides from my presentation at Compose Melbourne online soon. It was recorded, but it might take some time for it to be edited and uploaded - so I was working on getting my speaker notes online. In it I talk about the work I’ve been doing at YesLogic on binary format parsing - OpenType is our focus, but we’d also like to ultimately support more formats as well.
It’d be interesting to compare notes on our approaches, hopefully making our DDL repository public helps a bit. I’ve felt under pressure to do this for a long time, and it’s a relief to finally make it public! I hope this also provides more confidence that we will do the same for our shaping work too. As Mike says, the shaping code doesn’t currently use the DDL, but we are writing it in a way that will allow us to progressively migrate it in the future.
Here’s some of our previous experiments with describing OpenType declaratively:

experiments/mercury-prototype/ddl/opentype.ddl
rust-prototype-v2/tests/fixtures/opentype.ddl

We’ve learned a bit more since then, so this will change - for example we need to handle mutual recursion between the subtables. Hopefully this gives a feeling for the direction we are heading in though. You can also check out some of the references we’ve been basing our work on. Looking at it now, I’m missing some, but it may give an idea what we are basing our work off.
When I first started at YesLogic I was originally interested in trying out an embedded DSL approach using procedural macros, but we’ve ultimately decided to go with an external DSL instead because we were hoping that this would allow us to use our work to improve our understanding OpenType. We’re also hoping for better type safety guarantees than we could have with Rust alone - for example statically verifying behaviour around integer overflows and array/offset bounds.
Definitely interested in checking out some of those links too @behdad, I’ve checked out how a number of projects have done parsing, including both Harfbuzz and FontKit. :)

Thanks for all the sharing and discussion. This is amazing. Looking forward to study those resources.

I don't know where to bookmark this issue so I can remember / find it later. :))

Note the bookmark icon.


More y axis labels on Usage graphs

Try to get vega-lite to show more y axis labels on usage graphs. Currently doesn't show too many where it really should show more.

Fixed by https://github.com/x-atlas-consortia/hra-dashboard-data/commit/b0e8aa4ccfdaefcbba044f5e130630a45dfdf411


Operators get automated, ready-to-merge PRs for stale dependencies

Has been resolved with Dependabot.


Memoize result from Conda.matches

The check for availability of a given Python version on conda can take
fairly long (~10sec), so memoize the result to avoid very long runtimes
e.g. in the test suite.
It's safe to assume the availability of Python versions on Conda doesn't
change during one asv run.
Fixes #499

Changes Unknown when pulling 991ef754fd4326e7addb353634ecb867e45ea795 on pv:conda-matches-memo into ** on spacetelescope:master**.


Fix #349 Paging issue on Network.Usage

Tested with Python, fix the Python generation which is broken for a month now, and don't introduce breaking changes.
Fix #349

Hi @lmazuel, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

FYI, everything is working the SAME with the new Swagger file (Python example with new generation WITHOUT changing tests):
https://travis-ci.org/lmazuel/azure-sdk-for-python/builds/145141216
Since most implementation of Autorest extension anyway chose to consider a bad x-ms-pageable like "null".
Python was the only one to refuse to generate.
This would allow to generate again the Network Python, which was stucked til one month.

 https://github.com/Azure/azure-sdk-for-node/pull/1816

 https://github.com/Azure/azure-sdk-for-python/pull/690


 messages are delayed up to 5 seconds

see g_handleCacheTimeout
Also, CheckForTerminatedProcesses() could potentially have to check a lot of processes (every process that ever logged a message)
In 32-bit mode, up to about 8400 processes according to Mark @ http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx

This could be fixed by adding a new logsource (class ProcessWatchdog) for every new process that logs a message. Waiting for the processHandle is an accurate way to trigger the  messages without polling on a timer.

Unfortunately, WaitForMultipleObjects cannot wait for more then MAXIMUM_WAIT_OBJECTS (64) objects. So we would have to wait on several threads with multiple WaitForMultipleObjects (ugly)

Practically, this is not really a problem, maybe it would be acceptable if we document that 'terminated messages' from processes are not guaranteed to be logged.

djeedjay solved this, replacing the ProcessHandleCache with class ProcessMonitor

commit 774eebcaeffca066c06a7b8dee0540695150fad3 completely eliminated this issue


Adding tag ckVideoBitRate to configure the video bitRate used to record videos

@clerton-hotmart To make this merge-eligible, can you resolve the conflicts and then we can review?

Merged via https://github.com/wonderkiln/CameraKit-Android/commit/9815b7587d0c3cdaa8259507ca7e27efa85b32a7


Version tag not updated

The 7.0 release still reports 6.4.0 in EnemizerCLI.Core.deps.json -> "EnemizerLibrary": "6.4.0" (Which AP uses to check version)
As well as in EnemizerVersion.json
This for now blocks AP from making use the now accepted romnames, as it can't ensure that the user updated.

ugh

7.0.1 released to solve this. Thanks.


additional descriptions: adds type and language vocabularies

closes https://github.com/inveniosoftware/invenio-rdm-records/issues/696
needs https://github.com/inveniosoftware/invenio-rdm-records/pull/698
[EDIT[ also closes https://github.com/inveniosoftware/invenio-app-rdm/issues/781
[EDIT] also closes https://github.com/inveniosoftware/invenio-rdm-records/issues/633
[EDIT[ also closes https://github.com/inveniosoftware/invenio-rdm-records/issues/634 (at least in part)

Could you rebase? 👼


Rootfs and description not applied when deploying LXC full clone

Deploying full LXC clone does not apply rootfs and description attributes on terraform apply. However if plan and apply are run a second time rootfs and description are modified accordingly. Did not test with linked clones. PVE version 7.3-6
main.tf:
resource "proxmox_lxc" "test" {
  count        = 1
  description  = "Managed by Terraform"
  target_node  = "node1"
  clone        = "101"
  full         = true
  vmid         = 1000
  unprivileged = true
  onboot       = true
  start        = true
  hostname     = "test${count.index}"

  cores    = 6
  cpuunits = 1024
  memory   = 2048

  network {
    name     = "eth0"
    bridge   = var.pve-bridge
    firewall = true
    gw       = var.pve-gateway
    ip       = "<IP_ADDRESS>/24"
  }

  rootfs {
    size    = "5G"
    storage = "LXC"
  }

  password = "xxxxxxx"
  console  = true
  cmode    = "tty"
  pool     = "pool1"
  tags     = "sometag"

}

first plan output:
  # proxmox_lxc.test[0] will be created
  + resource "proxmox_lxc" "test" {
      + arch         = "amd64"
      + clone        = "101"
      + cmode        = "tty"
      + console      = true
      + cores        = 6
      + cpulimit     = 0
      + cpuunits     = 1024
      + description  = "Managed by Terraform"
      + full         = true
      + hostname     = "test0"
      + id           = (known after apply)
      + memory       = 2048
      + onboot       = true
      + ostype       = (known after apply)
      + password     = (sensitive value)
      + pool         = "pool1"
      + protection   = false
      + start        = true
      + swap         = 0
      + tags         = "sometag"
      + target_node  = "node1"
      + tty          = 2
      + unprivileged = true
      + unused       = (known after apply)
      + vmid         = 1000

      + network {
          + bridge   = "vmbr0"
          + firewall = true
          + gw       = "<IP_ADDRESS>"
          + hwaddr   = (known after apply)
          + ip       = "<IP_ADDRESS>/24"
          + name     = "eth0"
          + tag      = (known after apply)
          + trunks   = (known after apply)
          + type     = (known after apply)
        }

      + rootfs {
          + size    = "5G"
          + storage = "LXC"
          + volume  = (known after apply)
        }
    }

then second plan output:
  # proxmox_lxc.test[0] will be updated in-place
  ~ resource "proxmox_lxc" "test" {
      ~ description          = <<-EOT
            Managed by Terraform
        EOT
        id                   = "node1/lxc/1000"
        tags                 = "sometag"
        # (28 unchanged attributes hidden)

      ~ rootfs {
          ~ size      = "8G" -> "5G"
            # (7 unchanged attributes hidden)
        }

        # (1 unchanged block hidden)
    }

template used for cloning:

it seems that restarting pve server resets rootfs and description attributes


python amqplib outdated

Issue description
current package of amqplib is for version 0.6.1. This version does not support SSL connections. Version 1.0.2 supports SSL connections and was released in 2011.
The upgrade is trivial and available at:
https://github.com/joehealy/nixpkgs/commit/d891a0353c89a665447a9a00e453b83f90d5427c
I'm not sure how to do this as a pull request.

Late but I have just opened a pull request that has version 1.0.2.

Looks like 1.0.2 is in, so can we close this?