Add a Connector - configure a connector's configuration parameters

Use Cases
As the owner of a system that contains PII, I need the ability to configure connection details of my application so that Fides can query that system to fulfill a privacy request.
Assumptions

Dataset configuration will be done in a separate ticket
the descriptions that are provided within the fields for a connectors parameters will be addressed in https://github.com/ethyca/fidesops/issues/887
the color-coded/state-dependent "Active" label will be addressed in a separate story - https://github.com/ethyca/fidesops/issues/886
ignore the tooltips on each row for now EXCEPT the fides_key row
use feature flag for this body of work

Acceptance Criteria

Demonstrate that once a user selects a connector from the list, that can configure the connector's parameters, which include:

Name (required; must be unique)
Description (optional)
that specific connectors configuration parameters
** this is different for every connector (we have an API that returns the parameters for a connector)
** the API returns which field is optional or required.

Show that once a user has inputted all the required fields that they can save

The "Test Connection" button should be disabled until the params are saved

Demonstrate that a user can perform a test to see if they are able to connect to their instance of that application.
Confirm that the results of the connection test are displayed on the screen

this includes Success or Error, the timestamp of the connection test, and the Success or Error message (note we will need to look to see if the error messages are something that is user-friendly, if not then do not include the message, just the fact that it errored).

Confirm that the following are also represented on these pages:

logo of the connector
whether the connector is active or disabled.

Show that this pages descriptions says "Connect to your Stripe environment by providing credential information below. Once you have saved your connector credentials, you can review what data is included when processing a privacy request in your Dataset configuration."

Mockups
Figma

Existing API endpoints

PATCH api/v1/connection: Creates the overall connectionconfig and corresponds to the first few fields on the page.

[
    {"name": "My Stripe Connector",
    "key": "my_stripe_connector",
    "connection_type": "saas",
    "access": "write",
    "description": "This is a connection to stripe"
}]

GET  api/v1/connection_type/{connection_type}/secret. Returns the type of secrets you need to supply to connect to a particular connector.  You can use this to dynamically add the inputs below name/description

For example: GET /api/v1/connection_type/sentry/secret
{
    "title": "sentry_connector_schema",
    "description": "Sentry secrets schema",
    "type": "object",
    "properties": {
        "access_token": {
            "title": "Access Token",
            "type": "string"
        },
        "domain": {
            "title": "Domain",
            "default": "sentry.io",
            "type": "string"
        }
    },
    "required": [
        "access_token"
    ],
    "additionalProperties": false
}

PUT /api/v1/connection/connection_key/secret.  Use this endpoint to save the secrets to the connection config.  For example, sentry might be:
PUT api/v1/connection/my_sentry_connector/secret

{
    "domain": "{{sentry_host}}",
    "access_token": "{{sentry_access_token}}"
}

PUT api/v1//connection/{connection_key}/test. Use this endpoint to see if you can use the supplied secret credentials to make a test connection. In the case of saas configs, you're often making an API request to a trivial endpoint with the supplied authentication.

Just a note to say I've reviewed these endpoints @pattisdr and it looks good!
Since we're going to be adding a fides_key (Naming TDB. We initially said connection identifier but something like dataset identifier would prob be most descriptive here) field for the datasets/saas_configs on this screen, we'll be adding additional endpoint requirements.
We anticipate going ahead and making endpoint call(s) to save the default configs/datasets upon clicking this screen's "save" button.
The specific endpoint(s) needed to do this depends on approach for https://github.com/ethyca/fidesops/issues/814

thank you @eastandwestwind I like your suggestion of dataset identifier

Note: After discussion https://github.com/ethyca/fidesops/issues/814, instead of making the individual requests using the existing API endpoints to create the endpoint, and add the secrets, and later add the datasets, the "Save" button will create all of this from the fields here combined with the templates https://github.com/ethyca/fidesops/issues/814

Ticket Breakdown:
There will be an add connection component, based on "step" it will serve as the driver to determine which component to deliver.

Test result display (3)
Left hand configuration - when user clicks on the right hand side, it will change the component + status of connector (3)
Everything else (name, description, secrets): this is the dynamic form (5)
Tech debt ticket to throw in the backlog to handle when things break (@seanpreston to help create this one)

This is currently blocked by #814


Wave doesn't respect System's proxy on MacOS

Thanks a lot for a great tool! I've tried to intercept Wave's traffic and found out that it doesn't respect System's OS-level proxy. Could you please fix it?

Adding to this topic, I am using cloudflare zero trust to connect to ssh, which I have defined in ssh config. But using wave, I am not able to connect to the host.
config file data
Host ssh.example.com
  User someuser
ProxyCommand cloudflared access ssh --hostname %h


Pretrained model available?

Dear author,
Thank you very much for sharing your great work! I hope to know are there pretrained bmaskr-cnn models on Coco Dataset? I  saw  "COCO-InstanceSegmentation/bmask_rcnn_R_50_FPN_1x.yaml": "137260431/model_final_a54504.pkl" in the model_zoo.py. However, it cann't be downloaded.
Your reply is greatly appreciated. Thank you very much!

@AnnabelChen51 Our README provides links for our pre-trained models. You can find models from README

Sorry for missing that. Thank you very much！


resizable

https://github.com/material-table-core/core/blob/2dcc2f8e0ab83493dcbd2c4c384714059ffe1f3e/src/components/MTableHeader/index.js#L18
resizable headers didn't work until I put handleMouseMove and handleMouseUp inside useEffect and added props and state to dependency array
thought you might want to know this :D
to make this compatible with rtl, (e.clientX - state.lastX) this needs to be multiplied by -1

Thank you!

Do you already have a PR for this? Or changes you could throw into a PR real quick? That would be awesome!

You know I'm working on another project and don't know if I can manage 8 windows open in front of me 😄
But I will fork the project today and try make changes on both

There you go


Include DC output in results

This feature was requested and should be pretty trivial to implement.

closed by #70 and #82


samR34 xplained pro + IN865 + OTAA + CLASS A

Hi,
I am currently working on samR34 xplained pro LoRa shield .  I need to be work in IN865 with OTAA Class A.
I have seen that you have worked on few Bands. Is it possible to have IN865 BAND update. or please guide to do
What are all the changes need to be taken to implement this IN865 band to work with OTAA CLASS A concept

Hi @supersunil
We have not worked in IN865, your contributions to implement it are welcome

@sabas1080 - Thank you for your quick response. Can you guide me the process how you've done it for EU868 which is very similar to IND865, that would be really helpful for me.

Hi @supersunil,
First step is to download regional parameters document from LoRa Alliance web:
https://lora-alliance.org/resource-hub/rp2-101-lorawanr-regional-parameters-0
For EU868 I used an older version of the document and I have just realised there is a new (I will have to review).
Edit RFM95.cpp and ad a block for IN865 frequencies, you can copy EU868 and change values according to you freq plan.
Review also datarates and channels values, the behaviour of the code seems to be the same in both regions.
I also reviewed TTN regional plans (if you use it) because in some cases it doesn't follow LoRa Alliance standard.

@mr3188 - Thank you for your guidance. I've managed to configure the region to IN865 and successfully joint to the server and sent the payload.
When I hit the server with the join request and transfer the data, is there a way to get the acknowledgement from the server when the data been received? Kindly help me on that.
PS: I've tried both Confirmed and Unconfirmed method to send the data to the server, but haven't received any acknowledgement.

My second question is about the size of the payload. When my size of the payload is 54 characters, the MIC encryption handles it and the data been sent to the server successfully, what I need to do to send data more than 54 characters, let's say I need to send over 266 characters.
Kindly help me on that also.

Maximun datasize is given in he regional parameters document

regarding the uplink ACK I have to check because It should be implemented but I haven't tested it.

@supersunil if you have modified the library to work in IN865, it would be great if you could submit your changes as a contribution

@sabas1080 - I would love to, right now I'm performing the testing, once it's done, I'll submit it.

I have also created a variant for SAMR34 Xplained PRO in our Arduino core
https://github.com/ElectronicCats/ArduinoCore-samd/pull/3

Dear @mr3188, @sabas1080
Kindly help with the payload size.
When I try to hit the server with 54 (characters) bytes of data it was successful. But when I try to hit it with more than 54 (characters) bytes, the controller resets (Included the log)
On the server side, the gateway status changed to "mic_error"
Console Log:
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on COM5  9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- SYSTEM_START Ready Joining...  Heart Rate Sensor Initialization TIMER_START SensorInitialize : 1 Sending: #ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFG,62 OK SYSTEM_START Ready      Joining...  Heart Rate Sensor Initialization TIMER_START SensorInitialize : 1  Sending: #ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFG,62 OK SYSTEM_START Ready Joining...  Heart Rate Sensor Initialization TIMER_START SensorInitialize : 1  Sending: #ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFG,62 OK SYSTEM_START Ready Joining...  Heart Rate Sensor Initialization TIMER_START SensorInitialize : 1  Sending: #ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFGHIJKLMNOPQRSTUVWXYZ#ABCDEFG,62 OK

Max payload size is fixed now to 64 bytes but not checked when sending messages. As a work around you can change this value in  src\arduino-rfm\lorawan-arduino-rfm.h line 95 and 97 but I haven't tested it yet.

@mr3188 -  Thanks for your response man. I'll check it and revert back to you.

I can't able to read the acknowledgement bit from the server and i can't able to receive any data from the server. is there any configuration need to done on server side or controller side?

I got the payload to successfully inc to 230 by doing the changes below. I have been running onthis without issue for a a couple weeks sending many packages.
in encrypt.cpp line 173 increase size of MIC_Data to 268 (might not be perfect but this was my math)
in LoRaMAC.cpp change line 124 increase size of RFM_Data to 230 from 64 -- line 261 change RFM_Data to 230 from 64
in lorawan-arduino-rfm.h line 95 increase size of Data_Tx to 230 from 64 -- line 97 change the size of Data_Rx to 220 from 64
This will give you 230 up and 220 down.

Also, in LoraMAC.cpp, on line 442 we added randomSeed(micros()); before taking a random number there to avoid dev nonce errors on join. It was getting impossible to test things w/o doing this (We were joining every time for testing purposes)

I will check out
Have you tried to read acknowledge bit from server when you send the data?.
Have you receive any other data from the server?

We haven't messed too thoroughly with the ack stuff-- but haven't had any issues using it in passing. Same with sending data to the node from the server. We had issues initially because we were trying to send pieces of data that were too big to the node and it would crash the program. The size fixes above stopped that from happening. If you're having trouble with downlinks maybe try sending a very small bit of data to the node and see if that works. If it does, it's just the size issue crashing your program.

Hi @plachta-zabatt I too testing this code for past two days and faced the same issue for payload. Made the changes to the files in library you have mentioned ,now my entire uplink is not working even with 50bytes. what is the controller and lora modem you were using?

@Ajaynithish the lasted version has patch for max payload, download from github https://github.com/BeelanMX/Beelan-LoRaWAN/pull/57

Hi @sabas1080. I have tried the new update. There may be a issue in the way the message format is created or they are not emptying the buffer for next message. Because device address is keep on changing for every message expect first one. And even for first message I am  getting UPLINK MIC(invalid MIC) error. Did you faced any issues like this.


MRT: Support a hardware selector switch to select operation

For use in museum displays, it has been requested that a hardware 1 of 4 selector switch be supported. The switch would, for example, cause MRT to:

Connect to Wire 300
Connect to Wire 301
'Key' a text file (repeatedly)
Energize the loop (no timeout, no sounding of code, no connection to a wire)

Hi All,
I'm going to make a suggestion here.  Back almost a decade ago Les put together a special version of MorseKOB called MorseWF for the Wells Fargo Museums and it rolled out to at least several of them.  I saw it in service at both the Phoenix, AZ and Portland, OR museums half a dozen or more years ago.  I think it was Covid which ended the displays.  Sadly to our knowledge, none are still in service.  There was some discussion about how wires were switched, much like what is described below and I suggested a replica cordless jack box.  Replicas were constructed as the attached photos show.  Inside each was an Arduino Uno R3 microcontroller.
The purpose of this was exactly as described in the email copied below.  It directed the computer attached to the replica jack box to connect to one of three wires or with no plug in one of the three jacks, (standard open circuit quarter inch phone jacks and the two contacts on the plug shorted together within the plug handle).  It did this by sending a single character to the host computer via a USB cable connected between the two every half a second, the USB cable also provided power to the Arduino.  It worked very well.
The program Arduino I wrote itself was trivial.  I've attached the source.  It again, sent one of four ASCII characters to the host computer once every half second reporting on the condition of the box.  The four characters and what each indicates are:
& - No jack plugged in
A - Jack one plugged in
B - Jack two plugged in
D - Jack three plugged in
The reason for this pattern is that each jack is assigned a unique bit within the character making any short between jacks or other similar electrical problem easily identifiable and of course any other character was an error (simple shorts between the jacks would be indicated by the characters C, E, F and G).
I've also attached a simple Python program to run on the host computer to demonstrate this functionality and with modifications it could be modified and configured as a subroutine within the telegraph program to which wire to connect.
Just my two cents...
73, Chris Hausler
-----Original Message-----
From: MorseKOB/PyKOB @.>
Sent: Jan 21, 2024 12:25 PM
To: MorseKOB/PyKOB @.>
Cc: Subscribed @.***>
Subject: [MorseKOB/PyKOB] MRT: Support a hardware selector switch to select operation (Issue #296)
For use in museum displays, it has been requested that a hardware 1 of 4 selector switch be supported. The switch would, for example, cause MRT to:

Connect to Wire 300
Connect to Wire 301
'Key' a text file (repeatedly)
Energize the loop (no timeout, no sounding of code, no connection to a wire)
—
Reply to this email directly, view it on GitHub (https://github.com/MorseKOB/PyKOB/issues/296), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ABEY5E43RSPGDV32S3FGHZTYPVFQVAVCNFSM6AAAAABCEEDUA2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4TENRYGE3TMNQ).
You are receiving this because you are subscribed to this thread.Message ID: @.***>

// Jack Box
#define serialRxPin 0
#define serialTxPin 1
#define jack1Pin 8
#define jack2Pin 10
#define jack3Pin 12
#define ledPin 13
int ledState = LOW;
int jackState;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(jack1Pin, INPUT_PULLUP);
pinMode(jack2Pin, INPUT_PULLUP);
pinMode(jack3Pin, INPUT_PULLUP);
pinMode(serialRxPin, INPUT_PULLUP);
pinMode(serialTxPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
jackState = 0x40;
if (digitalRead(jack1Pin) == LOW)
jackState |= 1;
if (digitalRead(jack2Pin) == LOW)
jackState |= 2;
if (digitalRead(jack3Pin) == LOW)
jackState |= 4;
Serial.write(jackState);
if (ledState == LOW)
{
digitalWrite(ledPin, HIGH);
ledState = HIGH;
}
else
{
digitalWrite(ledPin, LOW);
ledState = LOW;
}
delay(500);
}

I implemented the selector function in MRT and included an example selector spec file in the docs directory. Waiting for @Kevijeps to receive the selector hardware to test it out.

@Kevijeps tested with the hardware selector switch and it's working well.
Closing this.


In the example  xlsx.GetRows("Sheet1")  Output  is []

cell := xlsx.GetCellValue("Sheet1", "B2")
fmt.Println(cell)
rows := xlsx.GetRows("Sheet1")
fmt.Println(rows)
原宿迷彩外套女短款冬韩版学生加厚情侣棉衣bf宽松chic棉服女新款
[]

Running into the same error using excelize 1.4.1, Golang 1.12. Use the following test case to reproduce:
func TestGetRows(t *testing.T) {
        excel := excelize.NewFile()
        sheet := excel.GetSheetName(0)
        axis := "A1"
        excel.SetCellValue(sheet, axis, "666")
        rows := excel.GetRows(sheet)
        want := 1
        got := len(rows)
        if want != got {
                t.Fatalf("want %d but got %d", want, got)
        }

Running the test case fails, the cell is stored, but GetRows() returns 0.
A1 = "666"
--- FAIL: TestGetRows (0.00s)
    main_test.go:154: want 1 but got 0
FAIL

Hi @jhinrichsen, thanks for your issue. There is no worksheet with index 0. The newly created worksheet contains a worksheet named Sheet1 by default. You can use this name directly or get it according to the GetSheetMap function.


WIP: Add cert-manager specific metrics to Prometheus endpoint

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #55
Special notes for your reviewer: this is a rebase + refactor of #225
Release note:

Add cert-manager specific Prometheus metrics

The dep changes here look wrong - could you take a look?
Use ./hack/update-deps.sh to update dependencies.

dep ensure went a bit mad

it looks a bit more sensible now

tested with a CA issuer, seems to work okay:
 g/s/g/j/cert-manager {add-prometheus-metrics-endpoint} $ curl localhost:9402/metrics
# HELP certmanager_certificate_expiry_time_seconds Number of seconds after January 1, 1970 UTC that the certificate will expire
# TYPE certmanager_certificate_expiry_time_seconds gauge
certmanager_certificate_expiry_time_seconds{name="test1",namespace="default"} 1.562413281e+09
# HELP certmanager_certificate_requests Number of certificate requests
# TYPE certmanager_certificate_requests counter
certmanager_certificate_requests{issuer_kind="ClusterIssuer",issuer_name="ca-issuer",issuer_type="ca",name="test1",namespace="default",operation="issue",result="success"} 1

And for an issuer that fails:
 g/s/g/j/cert-manager {add-prometheus-metrics-endpoint} $ curl localhost:9402/metrics
# HELP certmanager_certificate_expiry_time_seconds Number of seconds after January 1, 1970 UTC that the certificate will expire
# TYPE certmanager_certificate_expiry_time_seconds gauge
certmanager_certificate_expiry_time_seconds{name="test1",namespace="default"} 1.562413281e+09
# HELP certmanager_certificate_requests Number of certificate requests
# TYPE certmanager_certificate_requests counter
certmanager_certificate_requests{issuer_kind="Issuer",issuer_name="bad-issuer",issuer_type="acme",name="test2",namespace="default",operation="issue",result="failure"} 4

rebased

Hey folks,
I want to understand what is blocking all these Prometheus PRs from getting merged. I'm waiting for some months now, on finally having something to monitor cert-manager. Can I help in some way?

@metalmatze nothing in particular, we just want to make sure we're exposing the correct metrics. It also keeps needing a rebase which slows down reviews.

Alright! I know a bunch of people we can ping and ask for reviews, if you want me to.
Metrics so far look good, I only found a nitpick (which might come down to personal preference) that the kubernetes apiserver exposes kubelet_certificate_manager_client_expiration_seconds.
So maybe cert-manager could do _expiration_seconds and not expiry_time_seconds, but I'm not sure if there's a real convention there.
As I am switching jobs and start working at Red Hat for their monitoring team from September on, I might have time in August to work on this, if there's anything I can help with. Let me know!

Has this initiative been abandoned?

We would really like to make use of this to alert if we have a certificate nearing it's expiry and cert-manager is having trouble renewing it. Any ideas of if/when it will be merged and released?

🎉
/lgtm
/approve

/test e2e v1.11

/test e2e v1.12


feat(disc): add DnsDiscovery service

Closes #779
implements Dns Discovery that

discovers trees
emits NodeRecord
rate limited 3 req/s (same geth)

Also adds Chain::public_dns_network
See test_dns_resolver that discovers via public DNS network
Will integrate this with network in followup.
TODO

[x] tests

Codecov Report

Merging #794 (026c862) into main (9c10234) will increase coverage by 0.16%.
The diff coverage is 75.78%.

@@            Coverage Diff             @@
##             main     #794      +/-   ##
==========================================
+ Coverage   73.06%   73.23%   +0.16%
==========================================
  Files         275      278       +3
  Lines       28624    29167     +543
==========================================
+ Hits        20914    21359     +445
- Misses       7710     7808      +98

Flag
Coverage Δ

unit-tests
73.23% <75.78%> (+0.16%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crates/net/dns/src/error.rs
0.00% <0.00%> (ø)

crates/net/dns/src/resolver.rs
34.21% <32.35%> (+34.21%)
:arrow_up:

crates/primitives/src/chain.rs
91.75% <50.00%> (-3.25%)
:arrow_down:

crates/net/dns/src/sync.rs
65.27% <65.27%> (ø)

crates/net/dns/src/lib.rs
72.44% <74.36%> (+69.11%)
:arrow_up:

crates/net/dns/src/query.rs
95.42% <95.42%> (ø)

crates/net/dns/src/config.rs
100.00% <100.00%> (+100.00%)
:arrow_up:

crates/net/dns/src/tree.rs
82.53% <100.00%> (+6.02%)
:arrow_up:

crates/stages/src/stages/sender_recovery.rs
92.34% <0.00%> (-1.81%)
:arrow_down:

crates/primitives/src/net.rs
94.14% <0.00%> (-0.54%)
:arrow_down:

... and 6 more

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


Feature Request: line wrap for the tables

The ITS theme supports line warp for the tables.

But actually, I prefer Blue-Topaz Theme :D
Could you please support this feature in Blue-Topaz Theme?

I have pulled the request, just update the theme after the merge #328

Great!
Thanks


Address section is removed from wg0.conf

Describe The Problem
Performing any action on the wg0 interface removes the Address section from the configuration file
Expected Error / Traceback
╭─quintasan@frelia  ~/Sauce/wgdashboard/src  ‹main*›
╰─$ sudo bash ./wgd.sh debug
------------------------------------------------------------
| Starting WGDashboard in the foreground.                  |
 * Serving Flask app 'WGDashboard' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on all addresses.
   WARNING: This is a development server. Do not use it in a production deployment.
  I removed your public IP from your post, just for your IP's safety ;)

Thanks

Could you try shutoff the dashboard, adding the address back to [Interface] manually,  and use the dashboard to create and delete a peer to see if that will still happen? Thank you!!

@donaldzou it does, and I was able to figure out why:
`SaveConfig' is set to `true', indicating that the configuration file should be saved on shutdown using the current status of the interface

so if someone/something (in this case, most likely it was me) changes the wg0 interface using external means then it will be overwritten when using wg-quick.
I believe that there should be some way for WGDashboard to tell the user that the state of the interface is different from what's written in the .conf file and say that it might break something.
This should be a different issue though, so I'll close this one


about_zulip: Migrate to handlebars.

Testing plan:
GIFs or screenshots:

Merged with the above change and an extended commit message, thanks @ganpa3!  There's a couple follow-ups I'd like you to take care of while you have this widget in your head:

The "about zulip" overlay has a few strings not tagged for translation, like "Version {{version}}" and the "Copy version" tooltips.
The "Copy version" links don't have any hover or on-click CSS, so it feels like they don't work.


Support for Mermaid

Discussed in https://github.com/ng-doc/ng-doc/discussions/164

Originally posted by amduenas07 June  4, 2024
Is there any possibility to render a diagram with Mermaid?

I'll try to add it to NgDoc 18

Do you have an estimated date?

I'll try to add it to NgDoc 18

Do you have an estimated date?

I'll try to add it to NgDoc 18

Probably it's gonna take about 2 months. There are still some things that I need to check and fix It's gonna be a really big release and I wanna make sure that everything works correctly.

@skoropadas does it mean we should wait Angular 18 support only in 2 months?

No, recently I've added a small fix, so NgDoc 17 should work with Angular 18

@dhutaryan Moreover the NgDoc docs app is already using angular 18, so I guess it works :)

Added for NgDoc 18 (https://github.com/ng-doc/ng-doc/commit/cfb941bb53e07a00894afa72cbe19ccb5ecf0ba6)

Released in NgDoc 18


Implement Undo Command

This PR introduces the 'undo' command.
Undo reverses any previous commands executed by the user. Can be executed multiple times to undo successive commands.
To test:

add -p n/test a/test
add -c n/test a/test
undo
undo
undo
You should get a message saying "no more commands to undo"

Note: undo will also undo commands that have no effect, such as help. In that case, nothing happens. Is this intended behavior? Or should I only undo commands that change the property directory.

Note: undo will also undo commands that have no effect, such as help. In that case, nothing happens. Is this intended behavior? Or should I only undo commands that change the property directory.

Yep it makes sense for help to not be in the CommandQueue

Codecov Report

Merging #87 (c8d8fdd) into master (582a509) will decrease coverage by 0.70%.
The diff coverage is 28.88%.

@@             Coverage Diff              @@
##             master      #87      +/-   ##
============================================
- Coverage     60.04%   59.33%   -0.71%
- Complexity      543      545       +2
============================================
  Files           110      113       +3
  Lines          1987     2031      +44
  Branches        238      241       +3
============================================
+ Hits           1193     1205      +12
- Misses          707      737      +30
- Partials         87       89       +2

Impacted Files
Coverage Δ

...va/seedu/condonery/logic/commands/UndoCommand.java
0.00% <0.00%> (ø)

...logic/commands/exceptions/EmptyQueueException.java
0.00% <0.00%> (ø)

.../seedu/condonery/logic/parser/CondoneryParser.java
72.00% <0.00%> (-3.00%)
:arrow_down:

src/main/java/seedu/condonery/model/Model.java
100.00% <ø> (ø)

...a/seedu/condonery/logic/commands/CommandQueue.java
40.00% <40.00%> (ø)

.../main/java/seedu/condonery/model/ModelManager.java
80.76% <42.85%> (-3.96%)
:arrow_down:

.../main/java/seedu/condonery/logic/LogicManager.java
64.70% <66.66%> (+0.70%)
:arrow_up:

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


Enable Scala Steward dependency checking/updates

Dependabot does not know about Scala/SBT dependencies or how to update them. For that, Scala Steward can be used. We should open a pull request to the Scala Steward project to add apache/daffodil-vscode to repos-github.md so to enabble dependency updates for the scala code in this repo.

@stevedlawrence I was on the same track as you I made a duplicate item for this. But I closed so that this one will be the main tracker. Is this the way you did Daffodil? I was wondering if we wanted to use the Scala Steward GitHub Action ( (https://github.com/scala-steward-org/scala-steward-action)?

For Daffodil we just needed to add our repo here: https://github.com/scala-steward-org/repos/
However, according to that it looks like as of June 1st that's been disabled. So we'll need to find another alternative.
I think the scala-steward-action you found is probably the best approach. Maybe try adding that to the vscode repo and if it seems to work we can copy the changed over to the Daffodil repo too?

That sounds good to me I will look into it

@stevedlawrence Do you want the Scala Steward CI stuff to be included in CI.yml or make it separate?

I think it might need to be in a separate workflow since our CI workflow is trigger on pushes and pull requests, but the scala stewards wants to be triggered by a cron job schedule. I don't think github actions lets you have different triggers in the same workflow file.

@stevedlawrence How often do you think the cronjob should run, once a week, once a day?


Will you release the KBED source code?

Thanks for your awesome work named "Improving Entity Disambiguation by Reasoning over a Knowledge Base(KBED)", I am trying to reproduce the results, will you release the KBED source code?

also interested in this!


design onyo mkdir

While implementing onyo mkdir a few questions are coming up, that I want to discuss:

If a folder already exists (due to normal mkdir), what should onyo mkdir <folder> do? This gets somewhat complicated because there could exist any type of content and any level of subfolders in that existing folder.

At first I thought, write an info/warning "folder exists", and then it might just anchor it (including contents/subfolders?), but this would raise the question what to do if that folder contains for example yaml-files with asset-like names, subfolders, or even more general: existing content. Should it all be added into onyo?
Alternatively (I am leaning atm to this, for consistence), we might just print an error, that the directory already exists, and do nothing else.

I assume, if the environmental variable is set, onyo mkdir should always use it to create folders relative to it?
Does this include a situation when in onyo_dir/shelf/ onyo mkdir <folder> is called, it should create onyo_dir/?

It would block the possibility for "relative from current location" paths and possibly absolute paths when the environmental is set, but I can see still some value in the consistent use of it, since it would make it unnecessary to think about the current location completely (and one is probably not too much in these subfolders anyways).

If the folder exists, mkdir should simply error and state that the folder already exists.
This is a broader question that affects the entire code base. We need to decide what the rules are when one is both in an onyo repository and ONYO_REPOSITORY_DIR is set. That discussion should take place in its own issue.


Prometheus server should have a favicon

This'd make it easier to pick out among your other tabs

Could the favicon's from prometheus.github.io be reused here?

Ideally the favicons would be different, so tab-switching is less
guess-work.
On Sun, Oct 11, 2015 at 5:01 AM Nicholas J<EMAIL_ADDRESS>wrote:

Could the favicon's from prometheus.github.io
https://github.com/prometheus/prometheus.github.io/tree/master/assets/favicons
be reused here?
—
Reply to this email directly or view it on GitHub
https://github.com/prometheus/prometheus/issues/643#issuecomment-147149449
.

@fabxc i see thanks, we just hit the limits of my design capabilities :D  I'll throw this around the office and see if someone else wants to pick it up

And if we could get svgs of logos that would be awesome for presentations, etc.

See the PR.
I did the easy thing and negated all icons. As an alternative, we could also:

have an orange torch with black circle
have a white torch in an orange circle

On a hunch, I would lean towards giving installations the orange on black and switching http://prometheus.io/ to the secondary favicon, though.

As an aside, step make docker on https://circleci.com/gh/prometheus/prometheus/983 does not look fully healthy.

How about a yellow flame in the original logo for the server favicon? A lit flame indicating a running server?

You mean a torch without fire for the project, a lit torch for the actual instances? I think I like that.
That would even allow playing with deployment overviews: Have the torch unlit and start lighting while provisioning in the background ;)

Now you're getting creative! Love it!

Ha! Just don't depend too much on the existing logo. IMO it's more of a placeholder until we get a "real" one, which is badly needed. Sponsor companies for a logo, anyone? ;)

What? I love the logo personally! What's wrong with it?

@jimmidyson It's hard to find the right words because I'm not a designer, but it looks "ok" to me at best, not very professionally designed. It was created as a courtesy by a friend of mine, to whom I'm thankful of course, because we needed some logo before launching. But I never really saw it as the logo to keep forever. Also, it looks a bit cringe-worthy at small scales if you don't have a retina display.

Mind revisiting this one?  Sure would make my bookmarks bar look nicer.  I use just favicons with no text for many of the sites that I commonly visit.
How about using the black and white logo from prometheus.io and keeping the red and white one for the official site?

This can be closed as of 1.5.0!  Woo!


[Refactor] Log request arguments to per-sample json

We want to know the exact target completion and exact context fed into the model. Previously, we didn't log e.g. fewshot examplles or how they are formatted, so adding that by logging the args fed into the model's reqtype attr.
cc @lintangsutawika

Definitely agree, this was what the lm_eval.api.sampler is meant to accomplish but it's not finished beyond the default one.


[BEAM-10206] Deprecate unused shallow cloning functions

Mark functions in clone.go that perform discouraged shallow cloning of protos as deprecated, which will enable their eventual removal later. Done as part of the effort to address go vet warnings.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @lostluck

Fixed!


Add help intro

Note: This PR is for a pitch discussion and building a test toolchain. Please don't merge this – thanks!

Add an "intro" topic to swift-help, printing the version, welcome message, and
available subcommands.
When running swift by itself, show the intro before entering the REPL.
When running swift-help directly or via swift --help, show all of the
available flags as previously.
rdar://78280423
More context: https://forums.swift.org/t/command-line-ux-enhancements-for-swift/50670

Please test with following pull request:
https://github.com/apple/llvm-project/pull/3125
@swift-ci Please Build Toolchain macOS Platform

Please test with the following pull request:
https://github.com/apple/llvm-project/pull/3125
@swift-ci Please Build Toolchain Linux Platform

Please test with following pull request:
apple/llvm-project#3125
@swift-ci Please Build Toolchain macOS Platform

@bitjammer , I believe that currently @swift-ci Please Build Toolchain only works from PRs on the main Swift repo.

I see. @shahmishal @artemcm is it possible to kick off a build manually with the infrastructure referencing these two PRs?

I see. @shahmishal @artemcm is it possible to kick off a build manually with the infrastructure referencing these two PRs?

You can create an empty PR in the Swift repo and launch a toolchain build referencing both:
apple/swift-driver#772
apple/llvm-project#3125

Okay I think I will probably hold off on that for the moment, since that could be confusing to the folks that might want it.

Thank you!

@artemcm Do you know who could review the LLDB change for this? https://github.com/apple/llvm-project/pull/3125

@swift-ci Please test

@artemcm Aside from the conflict, does this look okay to you?

@swift-ci Please test

@swift-ci Please test

Looks like an unrelated assertion failure, will try again in a little while.

@swift-ci Please test

@swift-ci please test


Please Add University PGRI Palembang to the list

university official website URL univpgri-palembang.ac.id

@muklis-fatoni First stage of verification passed, official domain for Universitas PGRI Palembang is univpgri-palembang.ac.id as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Thanks JetBrains/swot
On Wed, Jul 17, 2024, 20:29 Philip Torchinsky @.***>
wrote:

@muklis-fatoni https://github.com/muklis-fatoni First stage of
verification passed, official domain for Universitas PGRI Palembang is
univpgri-palembang.ac.id as far as I verified. This is just an
informational note. Pull request is still in the review. I appreciate your
patience while waiting for the final decision.
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/21820#issuecomment-2233330426,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6CLLF5PUKHS2NW6ECFGE23ZMZWUHAVCNFSM6AAAAABLASZIYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZTGMZTANBSGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@muklis-fatoni Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


[BEAM-2866] Key StateTable off ID

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @tgroh

Changes Unknown when pulling eb6f5bc66f22ad664d9f433624c8a4ca8173b5d1 on kennknowles:StateTag-key into ** on apache:master**.


feat: add console logs on test failure

Issue: #155
For now, the feature is always enabled. It only provides the logs when there are failures.
Here's a code example:
export const Logs = (args) => {
  console.log("here's an object", { hello: "world" })
  console.warn("The API is deprecated!")
  console.error("Some error happened.")

  return (
    <button type="button" onClick={() => args.onSubmit('clicked')}>
      Click
    </button>
  )
};
Logs.play = async ({ args, canvasElement }) => {
  console.log("log from play function")
  await userEvent.click(within(canvasElement).getByRole('buttons')); // <-- will fail
  await expect(args.onSubmit).toHaveBeenCalledWith(expect.stringMatching(/([A-Z])\w+/gi));
};

And here's the output:

Here's how it looks like on a more realistic scenario:

📦 Published PR as canary version: 0.6.0--canary.157.045ea48.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

Release notes
Features
feat: add console logs on test failure
This version adds console logs to the output of failed tests, in order to as provide as much information as possible to help you diagnose your issues.

Codecov Report

Merging #157 (51fa138) into next (91cf672) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             next     #157   +/-   ##
=======================================
  Coverage   77.52%   77.52%
=======================================
  Files          11       11
  Lines         178      178
  Branches       38       38
=======================================
  Hits          138      138
  Misses         40       40

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 91cf672...51fa138. Read the comment docs.

Hi, I tested this out and overall I'm very :+1: on the change.  I like that it happens automatically for failing tests, but passing tests do not add logs to create noise.
I did notice two things, neither of which I see as dealbreakers.

The originalFn.name doesn't seem to work in the production version, instead, I see:

    Browser logs:

    : this is a log
    : this is a warn
    : this is a error

Console groups are not printed correctly.  For instance, here's what I see from mirage in one of my stories:

But in the test output I get:
Browser logs:

    : [object Object]
    : null
    : [object Object]
    : [object Object]
    : null
    : [object Object]

I played around a bit, and this is what I came up with to fix both issues:
        const spyOnConsole = (originalFn, name) => {
          return function() {
            const [txt, ...args] = arguments;
            logs.push(name + ": " + ((typeof txt == 'object') ? JSON.stringify(txt, null, 2) : txt ) + (args.length > 0 ? " " + JSON.stringify(args) : ""));
            originalFn.apply(console, arguments);
          }
        }
        console.log = spyOnConsole(console.log, 'log');
        console.warn = spyOnConsole(console.warn, 'warn');
        console.error = spyOnConsole(console.error, 'error');

Maybe there's a better way, but this at least gives me all the logs, which can definitely be useful I think when debugging a failed test.

Thanks for the ideas @IanVS! the logging is much improved now thanks to your feedback <3


inputmodule: init inputmodule-control (pkg), init inputmodule (module)

Description of changes
This adds support for Framework input modules, like the LED matrix module.
I added an inputmodule-control pkg which builds the binary of the official CLI tool by Framework. It also provides udev rules when added to the list of udev packages, which allow for rootless access to input modules. The udev rules are also provided by Framework. It's fetched from GitHub using fetchFromGitHub and builds using buildRustPackage.
I additionally added a NixOS module that adds the option hardware.inputmodule.enable. Setting it to true adds inputmodule-control pkg to config.environment.systemPackages and config.services.udev.packages.
Repo: https://github.com/FrameworkComputer/inputmodule-rs
Release: https://github.com/FrameworkComputer/inputmodule-rs/releases/tag/v0.2.0
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[X] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

My vs code formatted the release notes file differently. Will fix this.

Fixed :)

Can anyone help me on the ofbord-eval check? I don't really get why it fails.

… while evaluating the attribute 'cargoDeps' of the derivation 'inputmodule-control-0.2.0'

The inputmodule-control, inputmodule-control.passthru.tests on aarch64-darwincheck has been running for 24 hours now, even tho Darwin should just be skipped. Is this normal?

Hey @Aleksanaa, I've seen your name show up often around here :) Would you mind taking a look at my PR?
Also, I'm new to the nixpkgs repo. Is it okay to ping for reviews? Or would my PR just get picked up soon anyway?

Rebased the branch

After merging this, I think it would be a good idea to enable this module in the nixos-hardware profile for the Framework Laptop: https://github.com/NixOS/nixos-hardware/issues/859

Rebased

Thanks for the review! :) I included your suggestions.

I think ofborg is not a fan of this change

It might have been due to #354738 if it was the lib tests failing (can't see the failure anymore)

It might have been due to #354738 if it was the lib tests failing (can't see the failure anymore)

yes, it was the lib test! Alright, then the rebase should do the trick.


[FORMATTING] PLSQL incorrect format of "for update" syntax

Oracle sql text:
 select *  from andy.t_test for update;

Expect output:
 select *
   from andy.t_test for update;

output in demo website:
   select *
     from andy.t_test for
   update;

Thanks for the bug report.
Unfortunately this is currently pretty hard to fix. Problems like this are the reason why we're looking into doing some major architectural changes in the formatter.

Found a simpler way of fixing this. Released in 10.2.0.


Wrong positioning country labels in locked state

Lock a couple of countries, then slide the timeslider.

When hovering over locked countries, their label appears on the 'would be unlocked'.

Turn trails off. Now, if you click on a locked country, the label disappears. It reappears again on next redraw (e.g. with another country click, resize or timechange)

Steps to reproduce:
go to http://static.gapminderdev.org/vizabi/release/v0.8.4/preview/bubblechart.html
click on China -- it gets selected
press lock -- the button indicates that it's locked on 2015

drag timeslider back to some year in the past
hover any of the locked bubbles
expected result: the label would appear near the locked bubbles
actual result: the label would appear as if the bubble would not be locked, far off in the blank space

https://github.com/Gapminder/vizabi/pull/753

yes


fix-link-column

Coverage remained the same at 79.09% when pulling a7d4deb5e7344004285b4401363eba5d039dcad8 on mparke:fix-link-column into 9c2d6f47f2886af6b0ec43e5b6d44cb6c58f8900 on linode:develop.


@alias tag produces mis-named html file

Using an @alias tag produces a file named:
myphysicslab.lab.util.html#.Vector

instead of
myphysicslab.lab.util.Vector.html

When I rename that mis-named file to what it should be and open it with a browser, the contents of the file appear correct and it does seem to be using the @alias tag correctly.  Side-Note: the @alias does not work for expanding types, for example {Vector} is not expanded to {myphysicslab.lab.util.Vector}.
Here is the list of all files in my docs directory:
[17:54:37 ~/Documents/Programming/jssimlab]$ ls docs
Architecture_MVC.svg            Vector.js.html
Build_Process.svg               fonts
GenericVector.js.html           index.html
Model_Classes.svg               myphysicslab.lab.util.GenericVector.html
Overview.css                    myphysicslab.lab.util.Subject.html
Overview.html                   myphysicslab.lab.util.Terminal.html
Parameters_Controls.svg         myphysicslab.lab.util.html#.Vector
Subject.js.html                 scripts
Subject_Observer_Classes.svg    styles
Terminal.js.html

Here is a fragment of the code showing how @alias command was used:
/** @classdesc Immutable vector, after creation it cannot be altered.
* @param {number} x the x value of the {Vector}
* @param {number} y the y value of the {Vector}
* @param {number=} z_opt the z value of the {Vector} (optional, zero is default value)
* @constructor
* @implements {myphysicslab.lab.util.GenericVector}
* @author Erik Neumann<EMAIL_ADDRESS>*/
myphysicslab.lab.util.Vector = function(x, y, z_opt) {
  /**
  * @const
  * @type {number}
  * @private
  */
  this.x_ = x;
  /**
  * @const
  * @type {number}
  * @private
  */
  this.y_ = y;
  /**
  * @const
  * @type {number}
  * @private
  */
  this.z_ = goog.isNumber(z_opt) ? z_opt : 0;
};
/** @alias myphysicslab.lab.util.Vector */
var Vector = myphysicslab.lab.util.Vector;

removing the @alias tag returns things to normal:
[18:05:13 ~/Documents/Programming/jssimlab]$ ls docs
Architecture_MVC.svg            Vector.js.html
Build_Process.svg               fonts
GenericVector.js.html           index.html
Model_Classes.svg               myphysicslab.lab.util.GenericVector.html
Overview.css                    myphysicslab.lab.util.Subject.html
Overview.html                   myphysicslab.lab.util.Terminal.html
Parameters_Controls.svg         myphysicslab.lab.util.Vector.html
Subject.js.html                 scripts
Subject_Observer_Classes.svg    styles
Terminal.js.html

@myphysicslab Yep, the filename thing sounds wonky. I'll take a look.
I wouldn't expect {Vector} to be automatically expanded to {myphysicslab.lab.util.Vector}. Please feel free to file a separate feature request for that.

You can work around the problem by adding an @ignore tag to var Vector:
/**
 * @alias myphysicslab.lab.util.Vector
 * @ignore
 */
var Vector = myphysicslab.lab.util.Vector;

Hi Jeff (and list)
Thanks for that tip, the @ignore tag solves the "@alias mis-named file"
problem for me and I'm making progress with JSDoc -- which has been
fantastic.
I just ran into another bug, and wrote up an issue about it:
https://github.com/jsdoc3/jsdoc/issues/897
@extends not working with @interface #897
That one is going to make it hard to continue making progress because I
have a lot of inheritance among my interfaces, and lots of interfaces.
Regards,
--ErikN
On Thu, Jan 29, 2015 at 8:56 AM, Jeff Williams<EMAIL_ADDRESS>wrote:

You can work around the problem by adding an @ignore tag to var Vector:
/** * @alias myphysicslab.lab.util.Vector * @ignore */var Vector = myphysicslab.lab.util.Vector;
—
Reply to this email directly or view it on GitHub
https://github.com/jsdoc3/jsdoc/issues/896#issuecomment-72060747.


Add more details on using macaroons with GRPC.

This addresses #730.

Thank you for the PR!
I think the macaroon readme should be language agnostic, would it be better to modify the Java example to include this?

That makes sense. I didn't even see the Java example in there. I'll move this over and update accordingly.

Also, wouldn't it make sense to move those code samples to a separate repo? Then we can just link to them. That way people can just clone the repos to get started.

I moved the code sample into the Java GRPC example, and added the curl example from #730.

@Roasbeef I think you were looking at an outdated diff.
Here's the updated PR with 2 separate commits.

Regarding travis: that's weird, I use it on a bunch of other projects without any trouble.

@Roasbeef oh you're right, I did get banned:

That's what I get for contributing to one of these shady bitcorn projects 😛


Using with React and FlowRouter breaks Control-Sidebar and height bug

I've tried implementing AdminLTE  with my Meteor + React Project and everything is working perfectly (except one thing - see bottom) using the code below for my MasterPage:
import React from 'react'

import { Header } from './masterpage/Header'
import { MainSideBar } from './masterpage/MainSideBar'
import { ControlSideBar } from './masterpage/ControlSideBar'
import { Footer } from './masterpage/Footer'

export const MasterPage = ({content}) =>

            <MainSideBar />
            {content}

            <ControlSideBar />

Here is what happens with my routing:
import { FlowRouter } from 'meteor/kadira:flow-router'
import React from 'react'
import { mount } from 'react-mounter'

//Layouts and Pages
import { MasterPage } from '../../ui/layouts/MasterPage'
import { HomePage } from '../../ui/pages/HomePage'

FlowRouter.route('/', {
    name: 'homepage',
    action() {
        mount(MasterPage, {
            content: <HomePage />
        })
    }
})

After implementing this everything is great except the Control Sidebar doesn't open upon clicking the

 button.
I've tried opening it via CSS and that seems to work fine. Another issue I have is that now it doesn't stretch the full width of the window. There is a ton of whitespace at the bottom that's just gone un used and it doesn't look good.
All these issues began the moment I implemented FlowRouting (it worked great before that).  Am I implementing FlowRouter incorrectly? If so, what should I do?
Any help would be much appreciated!
Kind Regards,
Barry

Hello @barrydoyle18,
Unfortunately I am not a ReactJS expert so I can't help with the issue. Since the issue has been open for a few days without response, I would suggest that you try posting on StackOverflow for additional help.
Thanks!

hi, barrymichaeldoyle i have same issue like you had, if you solved it please tell me how to do it.


On flutter web in IOS browsers not working any thing

On flutter web in IOS browsers not working any thing

If you'd like us to help you, help us by providing detailed information:

Clear description on what you have tried.
Code samples (preferable an example app demonstrating the behavior).
Output of flutter doctor -v command.
Version of the plugin used.

in flutter web
await Geolocator.getCurrentPosition();
not out the result and this is happen in some browsers not all browsers
for example it works in chrome browser and not working in firefox browser or safari
check it out on an apple iphone mobile
version :
geolocator-9.0.1
geolocator_web-2.1.6
also "location" package have same problem for me
[✓] Flutter (Channel stable, 3.0.5, on Linux Mint 20.2 5.4.0-88-generic, locale en_US.UTF-8)
• Flutter version 3.0.5 at /home/edward/sdks/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision f1875d570e (13 days ago), 2022-07-13 11:24:16 -0700
• Engine revision e85ea0e79c
• Dart version 2.17.6
• DevTools version 2.12.2
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /home/edward/Android/Sdk
• Platform android-33, build-tools 31.0.0
• Java binary at: /home/edward/Downloads/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✗] Linux toolchain - develop for Linux desktop
✗ clang++ is required for Linux development.
It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/
• cmake version 3.16.3
✗ ninja is required for Linux development.
It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from
https://github.com/ninja-build/ninja/releases
• pkg-config version 0.29.1
✗ GTK 3.0 development libraries are required for Linux development.
They are likely available from your distribution (e.g.: apt install libgtk-3-dev)
[✓] Android Studio (version 2021.2)
• Android Studio at /home/edward/Downloads/android-studio
• Flutter plugin version 69.0.2
• Dart plugin version 212.5744
• Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
[✓] VS Code (version 1.63.2)
• VS Code at /usr/share/code
• Flutter extension version 3.36.0
[✓] Connected device (3 available)
• Samsung (mobile) • <IP_ADDRESS>:5555 • android-x86    • Android 8.0.0 (API 26)
• Linux (desktop)  • linux               • linux-x64      • Linux Mint 20.2 5.4.0-88-generic
• Chrome (web)     • chrome              • web-javascript • Google Chrome 103.0.5060.114
[✓] HTTP Host Availability
• All required HTTP hosts are available

If you'd like us to help you, help us by providing detailed information:

Clear description on what you have tried.
Code samples (preferable an example app demonstrating the behavior).
Output of flutter doctor -v command.
Version of the plugin used.

Do you need more info ?
Just test on iPhones

is there any solution ?

I'm still looking for solution

Hey @mohamadkenway, can you tell me if your application is served in a secure context or not? When using a unsecure context (HTTP) instead of a secure context (HTTPS) the getCurrentPosition method will not work on some browsers. If you're using a secure context, can you post a code sample for me, so that I can reproduce your issue?

Hey @mohamadkenway, can you tell me if your application is served in a secure context or not? When using a unsecure context (HTTP) instead of a secure context (HTTPS) the getCurrentPosition method will not work on some browsers. If you're using a secure context, can you post a code sample for me, so that I can reproduce your issue?

Yes I'm deployed on HTTPS server
My code has no problem , because it works some in Chrome IOS browsers and it is OK in android browsers

My Suggestion is that we implement GPS in js platform channel

try building the web app with --web-renderer canvaskit

I'm seeing the same issue.
Here are my repro steps:

setup and run the example code
deploy to github pages
open in chrome on iphone
verify not working

I added some log messages:
serviceEnabled true
permission LocationPermission.unabledToDetermine

@mohamadkenway okay i was able to resolve my issue. I needed to enable Settings > Privacy > Location Services on my iPhone. I added a prompt for users to do this when location could not be determined

@mohamadkenway okay i was able to resolve my issue. I needed to enable Settings > Privacy > Location Services on my iPhone. I added a prompt for users to do this when location could not be determined

may be you test it in other iphones , it will not work

I would say this package alone is not responsible for weird behaviour when you request for location on safari browser.
I checked multiple web apps which works based on user location, even those web apps are not able to get the location on safari browser.
Even i am looking for the solution to get the user location on safari browser, i tried JS package with Mozilla Geolocation api but it didn't work as well.

I'm facing this issue too, ios users can't get location on safari even with location on

Hello, I also encountered the same problem, has anyone found a solution?

Not sure if this issue is still active, but we encountered this kind of error before. Some iOS versions don't have the navigator.permission.query. The interim solution that worked for us is to create an import stub for web build to check the object in js.context before requesting the permission.


Jobs feature issue

Not sure it's act or cactbot issue, when I activated JOBS function, it does not work at all. Error msg is shown as:
Info: buff: BrowserConsole: TypeError: Component is not a constructor (Source: file:///XXXXXXX/Plugins/ACT.OverlayPlugin/cactbot/ui/jobs/jobs.bundle.js, Line: 2506)

I saw this briefly before the plugin update for cactbot, where the plugin was sending None for a job but cactbot was looking for NONE.  Probably the plugin needs to send NONE to match here.  cc @Echoring

Sorry for these busy days. I haven't met the same issue; my jobs module just working fine. I'm also not familar with how the plugin send data to job module, and cannot locate this error. cc @MaikoTan


Process out of memory

Fetching Hayate no Gotoku! #305.cbz
FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
Abort trap: 6
Second time this has happened to me. Only happens after a very large number of downloads.

Can you provide some additional information?

NodeJS version
MangaRack version
Operating system and architecture (32/64 bits)
Total system RAM
Estimated available RAM when this error occurred (excluding MangaRack)

Don't have my laptop on me, so going off memory here. Can provide better info later.
Node should be latest stable.
MangaRack version was the recent one that included kiss manga fix
OS X 64 bit
Total ram 16gb
Estimated ram available would have been about 10gb

On 3 Feb 2015, at 8:23 pm, Roel van Uden<EMAIL_ADDRESS>wrote:
Can you provide some additional information?
NodeJS version
MangaRack version
Operating system and architecture (32/64 bits)
Total system RAM
Estimated available RAM when this error occurred (excluding MangaRack)
—
Reply to this email directly or view it on GitHub.

Going to close this. No longer relevant with the complete rewrite that was 4.0.
Please feel free to re-open if this occurs again.


feat(database-drivers): Nuxt + Wasm workaround

Part of https://github.com/prisma/team-orm/issues/885

Update: https://github.com/prisma/ecosystem-tests/tree/dev/driver-adapters-wasm/d1-cfpages-nuxt has been merged into ecosystem-tests, and can now be referenced by this doc!


Panic after typing german umlaut in minibuffer

Hunter panics on the second input character typed into the minibuffer after a german umlaut e.g. "ü".
For example:

Start a search in current dir
Type üb (<-or copy this string if no german keyboard layout available)
Panic with message:

thread 'main' panicked at 'assertion failed: self.is_char_boundary(idx)', /rustc/ff5b446d2fdbd898bc97a751f2f72858de185cf1/src/libcore/macros/mod.rs:10:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Reason is probably the cursor positioning/indexing in minibuffer.rs.
I'm on current master (355d9a3101f6d8dc375807de79e368602f1cb87d) using 1.46.0-nightly.
Happens in alacritty as well as xterm.

Typing ü adds two bytes to self.input in minibuffer.rs instead of just one here (minibuffer.rs:521):
InsertChar(ch) => {
    self.input.insert(self.position, *ch);
    self.position += 1;
}

Since position is only incremented by one, the next character input is not at a char boundary anymore leading insert() to panic.
Not so easy to fix, i suspect...
Have you considered using rustyline for minibuffer input?


Volume Actual Size calculated wrong

https://github.com/rancher/longhorn/issues/125

Merged, thanks.


ci for mobile and desktop

committing anyway for now even though signing is failing and a few other bits.


Avoid loading libattach twice

context: https://discuss.elastic.co/t/not-able-to-add-java-apm-agent-as-dependency-in-spring-boot-project/193224

Codecov Report

Merging #764 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #764      +/-   ##
============================================
+ Coverage     21.98%   22.04%   +0.05%
- Complexity        0      547     +547
============================================
  Files           210      210
  Lines          8759     8759
  Branches       1118     1118
============================================
+ Hits           1926     1931       +5
+ Misses         6637     6632       -5
  Partials        196      196

Impacted Files
Coverage Δ
Complexity Δ

...tic/apm/agent/configuration/CoreConfiguration.java
87.8% <ø> (ø)
10 <0> (+10)
:arrow_up:

...astic/apm/agent/report/ApmServerHealthChecker.java
85% <0%> (+7.5%)
5% <0%> (+5%)
:arrow_up:

...in/java/co/elastic/apm/agent/report/HttpUtils.java
61.11% <0%> (+11.11%)
4% <0%> (+4%)
:arrow_up:

Continue to review full report at Codecov.

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

Closed in favor of #775

Actually, this is still relevant. Even if the attachment provider and thus the com.sun.tools.attach.VirtualMachine gets cached, users might try to attach from two distinct web applications. Checking the system property before trying to resolve the VirtualMachine from the tools.jar avoids it from being loaded by two distinct class loaders.
However, now that we are leveraging the emulated attach, it's far less likely that the tools.jar-based attachment provider will be used at all. We can even think about removing it and only rely on the emulated attachment provider.
However, checking the system property does not do any harm so I would just merge this tool

users might try to attach from two distinct web applications

For this scenario, the current synchronization provides no thread safety. Two web applications can still invoke ByteBuddyAgent.attach because the ElasticApm.attached is set elsewhere.

For this scenario, the current synchronization provides no thread-safety. Two web applications can still invoke ByteBuddyAgent.attach because the ElasticApm.attached is set elsewhere.

This is not so much about handling race conditions. The check in co.elastic.apm.agent.bci.AgentMain#init is responsible for that. This is mainly to not even attempt the attachment if the agent is already attached. Are you suggesting that we should get rid of the synchronized block or that we should fix it by synchronizing on the "ElasticApm.attached".intern() monitor, for example?

If AgentMain#init is always called when ElasticApmAttacher#attach is blocking on it (ie is lower on the call stack), then this actually safe enough...


Allow PR comment to read output of evaluation

Depends on the output of https://github.com/mindersec/minder/issues/5054
We want the pull request alert type to be able to read the output of the evaluation step and use the output in the PR review comment or line comments.

[x] Update the pull_request_comment alert to accept a template that reads the output of the evaluation
[x] Return (*EvaluationResult, error) from Eval as indicated here. Draft PR can be build upon.

Closing this as complete, because all the scaffolding is in place. I'll create some followup issues for additional refinement and cleanup


Training multiple buildings

Hello Odyssea,
I am trying to replicate the results based on the Kelly et al. paper.
Using your code I changed the train building to the following:
train.set_window(start="13-4-2013", end="1-1-2014")
test.set_window(start="1-1-2014", end="30-3-2014")

train_elec = []
test_building = 5
sample_period = 6
meter_key = 'kettle'

# Lists for train_elec, train_meter and train_mains for multiple buildings
train_elec = [train.buildings[i].elec for i in range(1,5)]
train_meter = [train_elec[j].submeters()[meter_key] for j in range(len(train_elec))]
train_mains = [train_elec[k].mains() for k in range(len(train_elec))]

# Test only in one house
test_elec = test.buildings[test_building].elec
test_mains = test_elec.mains()
rnn = RNNLSTMDissaggregate()

and then I call the train_across_buildings
start = time.time()
print("========== TRAIN ============")
epochs = 0
for i in range(3):
    print("CHECKPOINT {}".format(epochs))
    rnn.train_across_buildings(train_mains, train_meter, epochs=5, sample_period=sample_period)
    epochs += 5
    rnn.export_model("UKDALE-RNN-h{}-{}-{}epochs.h5".format(train_building,
                                                        meter_key,

I am creating lists for the 4 houses that I need during the training but I get the following error when I run the RNN for the function "train_across_buildings"

Could you give me some hint on how to change the code?
Best,
Tasos

Hi!
Im having the same error, so i went to the train_across_buildings function and played a bit with it.
I found that the error pointed to the same line (117) no matter what was there. At first forcing self.mmax = x and then even leaving a white line there or putting other lines of code there.
This lead me to think that the pandas error is not related with the function, or that part of the function, but for some reason it always points there. Im not certain of anything anyways :(
Let me know if the same happens to you

Hello Tomas,
I have also tried to play with the train across buildings. Here is how I tried to "debug" the function
        if self.mmax == None:
            print(mainchunks)
            for m in mainchunks:
                print(len(m))
                input("wait")

If you look at the Series that are created, you will notice for house 3, if I am not mistaken, you get an empty dataframe, where you cannot calculate the maximum value. I believe that is the core of the error.

Let me know if you get something similar.

To be more specific, here is what you get when you calculate inside the for loop m.max()

Hmm
Im using the REDD database, so i haven't checked, but maybe it's just that the third house of ukdale doesn't have a kettle meter. Check it and let me know, because i used to have that error and now i don't have it anymore and don't know why 😅.
Nonetheless, that's not my case (i don't have an empty dataframe) and i'm still having problems.
I changed the code as u suggested to
if self.mmax == None:
            print(mainchunks)
            for m in mainchunks:
                print(len(m))
                input("wait")
            self.mmax = max([m.max() for m in mainchunks])

and training with three houses i got
23179
wait
31616
wait
56886
wait

For some reason my code is now running a bit past that, it entered into the train_across_buildings_chunk method and died in doing the random.shuffle(batch_indexes).
I fixed that modifying the line above that from batch_indexes = range(min(num_of_batches)) to batch_indexes = list(range(min(num_of_batches)))
But now the reshape X = np.reshape(mainpart, (batch_size, self.window_size, 1)) raises me this error:
Traceback (most recent call last):
  File "redd-test.py", line 39, in <module>
    disaggregator.train_across_buildings(train_mains, train_meters, epochs=1, sample_period=sample_period)
  File "/Users/TSV/Desktop/Progra/IPre/Server/seq2seq/2buildings/shortseq2pointdisaggregator.py", line 151, in train_across_buildings
    self.train_across_buildings_chunk(mainchunks, meterchunks, epochs, batch_size)
  File "/Users/TSV/Desktop/Progra/IPre/Server/seq2seq/2buildings/shortseq2pointdisaggregator.py", line 212, in train_across_buildings_chunk
    X = np.reshape(mainpart, (batch_size, self.window_size, 1))
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 279, in reshape
    return _wrapfunc(a, 'reshape', newshape, order=order)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 51, in _wrapfunc
    return getattr(obj, method)(*args, **kwds)
ValueError: cannot reshape array of size 2100 into shape (42,100,1)
Closing remaining open files:/Users/TSV/Desktop/Progra/IPre/data/REDD/redd.h5...done/Users/TSV/Desktop/Progra/IPre/data/REDD/redd.h5...done

Let me know if you get here or if you don't get rid of the pandas error.

Hi Ody!
First of all thanks a lot for sharing your work and maintaining support! It's been really helpful 😃
I'm using REDD and don't have the empty dataframe problem, but another error as i explained above.
Does the train_across_buildings method as it is in the repo work fine for you?

Hello guys,
I managed to fix the error by simply removing the train and test.set_window. I assume that the toolkit can identify the common dates within all the buildings. I am using the UK-DALE dataset for my experiments.
I print the batch 0 array for my 4 training houses and it is the following:
Batch 0 of [1185228, 317437, 70848, 366821]
The error that I get know is that my data has to be 1-D.

Any hints for this one?

I managed to fix it by changing the for loop inside the train_across_buildings_chunk as follows:
                # Create a batch out of data from all buildings
                for i in range(num_meters):
                    mainpart = mainchunks[i]
                    meterpart = meterchunks[i]
                    mainpart = mainpart[b*batch_size:(b+1)*batch_size]
                    meterpart = meterpart[b*batch_size:(b+1)*batch_size]
                    X = np.reshape(mainpart.values, (batch_size, 1, 1))
                    Y = np.reshape(meterpart.values, (batch_size, 1))

                    X_batch[i*batch_size:(i+1)*batch_size] = np.array(X)
                    Y_batch[i*batch_size:(i+1)*batch_size] = np.array(Y)

from the pandas Series, we needed only the values in order to reshape

This is the latest update that I have. It gets to the point where it tries to disaggregate the selected appliance and I get the following error

How do you overcome this using the instance object to parse the list from the nilmtk?

I managed to fix the error by simply removing the train and test.set_window. I assume that the toolkit can identify the common dates within all the buildings. I am using the UK-DALE dataset for my experiments.
I am not sure whether the toolkit detects common sections within building. Also by removing the limit, you are now getting all of the data available for each building.

@TomasSalvadores Your problem seems different than the one mentioned by the OP, please open a new issue and describe your problem in order to be able to discuss it.

I managed to fix the error by simply removing the train and test.set_window. I assume that the toolkit can identify the common dates within all the buildings. I am using the UK-DALE dataset for my experiments.

I am not sure whether the toolkit detects common sections within building. Also by removing the limit, you are now getting all of the data available for each building.

You are right. I am just using all of the data available for each building. Sorry for any confusion :)

Hi @OdysseasKr, @anasvaf, @maechler, @TomasSalvadores
I have experimented using dae.train_across_buildings and got the error as well. I tested with UK-DALE dataset and tried to learn fridge model from House 1 and House 2. I tried fixing follow the recommendations by both @anasvaf and @maechler but they still didn't work. Below was the error (the same for both methods).
========== TRAIN ============
CHECKPOINT 0
0
Batch 0 of [25, 25]

AttributeError                            Traceback (most recent call last)
~\Anaconda3\envs\nilmtk-env\lib\site-packages\numpy\core\fromnumeric.py in _wrapfunc(obj, method, *args, **kwds)
55     try:
---> 56         return getattr(obj, method)(*args, **kwds)
57
~\Anaconda3\envs\nilmtk-env\lib\site-packages\pandas\core\generic.py in getattr(self, name)
5066                 return self[name]
-> 5067             return object.getattribute(self, name)
5068
AttributeError: 'Series' object has no attribute 'reshape'
During handling of the above exception, another exception occurred:
ValueError                                Traceback (most recent call last)
 in
39     print("CHECKPOINT {}".format(epochs))
40
---> 41     dae.train_across_buildings(train_mains, train_meter, epochs=5, sample_period=sample_period)
42
43     epochs += 5
~\daedisaggregator.py in train_across_buildings(self, mainlist, meterlist, epochs, batch_size, **load_kwargs)
140             meterchunks = [self._normalize(m, self.mmax) for m in meterchunks]
141
--> 142             self.train_across_buildings_chunk(mainchunks, meterchunks, epochs, batch_size)
143             try:
144                 for i in range(num_meters):
~\daedisaggregator.py in train_across_buildings_chunk(self, mainchunks, meterchunks, epochs, batch_size)
181                     mainpart = mainpart[b*batch_size:(b+1)batch_size]
182                     meterpart = meterpart[bbatch_size:(b+1)*batch_size]
--> 183                     X = np.reshape(mainpart.values, (batch_size, self.window_size, 1))
184                     Y = np.reshape(meterpart.values, (batch_size, 1))
185
~\Anaconda3\envs\nilmtk-env\lib\site-packages\numpy\core\fromnumeric.py in reshape(a, newshape, order)
290            [5, 6]])
291     """
--> 292     return _wrapfunc(a, 'reshape', newshape, order=order)
293
294
~\Anaconda3\envs\nilmtk-env\lib\site-packages\numpy\core\fromnumeric.py in _wrapfunc(obj, method, *args, **kwds)
64     # a downstream library like 'pandas'.
65     except (AttributeError, TypeError):
---> 66         return _wrapit(obj, method, *args, **kwds)
67
68
~\Anaconda3\envs\nilmtk-env\lib\site-packages\numpy\core\fromnumeric.py in _wrapit(obj, method, *args, **kwds)
48         if not isinstance(result, mu.ndarray):
49             result = asarray(result)
---> 50         result = wrap(result)
51     return result
52
~\Anaconda3\envs\nilmtk-env\lib\site-packages\pandas\core\series.py in array_wrap(self, result, context)
733         """
734         return self._constructor(result, index=self.index,
--> 735                                  copy=False).finalize(self)
736
737     def array_prepare(self, result, context=None):
~\Anaconda3\envs\nilmtk-env\lib\site-packages\pandas\core\series.py in init(self, data, index, dtype, name, copy, fastpath)
247                             'Length of passed values is {val}, '
248                             'index implies {ind}'
--> 249                             .format(val=len(data), ind=len(index)))
250                 except TypeError:
251                     pass
ValueError: Length of passed values is 64, index implies 32768
Please you guys suggest how to fix the problem.
Best,
Bundit

Hi Ody! First of all thanks a lot for sharing your work and maintaining support! It's been really helpful 😃 I'm using REDD and don't have the empty dataframe problem, but another error as i explained above. Does the train_across_buildings method as it is in the repo work fine for you?

where can i download redd dataset?


Add json_equals unit test predicate

The content_equals predicate does an exact string match on the output document. This has several drawbacks when working with JSON:

structural whitespace, which is irrelevant in JSON, is included in the test
ordering of fields, which is also irrelevant in (most) JSON, is strictly enforced

This can be problematic for a number of reasons:

Very large JSON fixtures have to be compacted and inlined to a single, very long, line in the test YAML document.
If the field ordering of a mapping behaves non-deterministically, it may not be possible to write a test for it.

The solution is to create a json_equals predicate, that behaves similarly to content_equals, but with the following differences:

the test fixture must be a valid JSON document
the output message must be a valid JSON document
structural whitespace is ignored during comparison
field ordering is ignored during comparison

See https://github.com/Jeffail/benthos/pull/621 for incoming PR that implements this.
Also adds json_contains predicate which passes if condition is structural subset of message.
Also adds json_content so can specify input messages structurally too.

See https://github.com/Jeffail/benthos/pull/621 for incoming PR that implements this.
Also adds json_contains predicate which passes if condition is structural subset of message.
Also adds json_content so can specify input messages structurally too.


[ENH] purge mentions of Panel in classification

Reference Issues/PRs
Part of #42
What does this implement/fix? Explain your changes.
Purely cosmetic PR removes mentions of the term Panel from classification, clustering and regression which to machine learning people  has no meaning at all. mtype generally changed to input type. Left the pipelines alone, they are of marginal use. Not changed any code, conversion and checking changes comes later.

I did a search on clustering, there is this line (in docstring) that mentions the term Panel:
Compute the medoids from a panel of time series.

its all just a work in progress, removing it where I find it can be done so without damage


Improvement issue for AutoScale VM Groups with Terraform.

Hello Community,
I'm seeking assistance in using Terraform to improve the following tasks:

Creating AutoScale VM Groups, which includes setting up load balancer rules with Autoscale enabled, implementing ScaleUp/Down policies, incorporating Userdata, and managing VM assignment.
Deploying an internal load balancer and associating it with VM instances.

Thank you, and achieving these objectives would be greatly appreciated.
Best regards,
Palash Biswas

Hi @rohityadavcloud
Could you please take it as an improvement plan for AutoScale VM Groups with Terraform? Thank you.

GOOD! Someone raised this as a feature request!
Right now in our environment, we provision the infra with terraform, and deploy our apps with ansible.
The pain point right now is that we have to:

Spin up a temporary VM
Deploy app to VM
Convert to template
Destroy VM
Create Autoscale Group with Template

This whole process if pretty manual and prone to human error.
Could i request for this terraform enhancement to somehow automated this process?


Split Polygon feature

Pull Request Test Coverage Report for Build 1453

178 of 214 (83.18%)  changed or added relevant lines in 9 files are covered.
33 unchanged lines in 1 file lost coverage.
Overall coverage increased (+11.4%) to 51.839%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

library/src/main/java/io/ona/kujaku/layers/BoundaryLayer.java
4
5
80.0%

library/src/main/java/io/ona/kujaku/plugin/switcher/layer/BaseLayer.java
0
1
0.0%

library/src/main/java/io/ona/kujaku/layers/ArrowLineLayer.java
0
3
0.0%

library/src/main/java/io/ona/kujaku/views/KujakuMapView.java
0
3
0.0%

library/src/main/java/io/ona/kujaku/manager/AnnotationRepositoryManager.java
9
14
64.29%

library/src/main/java/io/ona/kujaku/manager/SplittingManager.java
145
168
86.31%

Files with Coverage Reduction
New Missed Lines
%

library/src/main/java/io/ona/kujaku/layers/BoundaryLayer.java
33
52.27%

Totals

Change from base Build 1451:
11.4%

Covered Lines:
2790

Relevant Lines:
5382

💛  - Coveralls


event stop propagation on close

On ios, when the close button is over another element with a touch/click event listener. Click the close button, the element behind the close element is also triggered.

+1 to this - not just an iOS issue. Looks like it might be because the modal is closing on keydown instead of keyup?

i actually found another thread about this and the solve is to add:
	MicroModal.show('yourmodal', {
		  onClose: function(_this, elm, e) {
				e.preventDefault();
				e.stopPropagation();
		  }
	});

I found that a bit after commenting on this one. Looks like it should be in the base plugin but it's not really being maintained much anymore

Alternatively, you could attach your own handler (addEventListener) to your close buttons (and backdrop) and then use the MicroModal.close(id) method to close the modal programmatically. That way you can avoid using stopPropagation, which could lead to unexpected issues (other libraries, etc).

Closed by 79c75958c6aaa9cc00447b8a58ab7efbf2e84594 & #479


Context Isolation error

For IPC message exchange context isolation is the best practice, but the following error throws up after enabling context isolation:

Uncaught Error: An object could not be cloned.
at Conference._loadConference (Conference.js:176:25)

the error is thrown in the following cone snippet of Conference.js:
// Setup Jitsi Meet Electron SDK on this renderer.
    window.jitsiNodeAPI.setupRenderer(this._api, {
      enableRemoteControl: ENABLE_REMOTE_CONTROL,
      enableAlwaysOnTopWindow: this.props._alwaysOnTopWindowEnabled
 });

After digging further, found the cause which is the setupRenderer function takes in the API native class which is not supported by the structured clone algorithm.
Please comment if anyone know any work around, Thanks!

Could this solution be what you seek? I had the same issues as you had.
https://github.com/jitsi/jitsi-meet-electron-sdk/issues/358#issuecomment-1893722994


Integer shapes don't serialize into parameters correctly

I'm trying to use SqsClient::receive_message(). When I enable the debug log I can see the parameters going out like this:
DEBUG - request line: Post "/?Action=ReceiveMessage&AttributeNameList.0=All&Integer=20&MessageAttributeNameList.0=All&QueueUrl=http%3A%2F%2Fsqs.us-east-1.amazonaws.com%2F{redacted account id}%2F{redacted queue name}" Http11

I notice that MaxNumberOfMessages, VisibilityTimeout, and WaitTimeSeconds are not there and instead there is a single key named Integer.
As a quick test I hacked up generate_struct_field_serializers() like so:
-                tag_name = member.tag_name(),
+                tag_name = if member.tag_name() != "Integer" { member.tag_name() } else { member_name.to_string() },

This is obviously wrong (too specific), but it does cause the missing parameters to appear:
DEBUG - request line: Post "/?Action=ReceiveMessage&AttributeNameList.0=All&MaxNumberOfMessages=10&MessageAttributeNameList.0=All&QueueUrl=http%3A%2F%2Fsqs.us-east-1.amazonaws.com%2F{redacted account id}%2F{redacted queue name}&VisibilityTimeout=10&WaitTimeSeconds=20" Http11

It seems like if the shape is defined as a type in the services json like Integer is:
    "Integer":{"type":"integer"},

…then the code should theoretically be able to detect this and output the correct tag_name. I didn't see an easy way to do this unfortunately.

Yeah, we're using the shape as the fallback for the field name when locationName isn't explicitly set, for reasons that in my pre-coffee state are baffling.  I'm about 99% sure that's never correct, and we should just fall back to the member's hash key in the service json (which in this case is VisibilityTimeout etc.)

The fix for the integer shape deserialization problem is pretty simple.  Adding a proper unit test for it with the sample request/response from the AWS API documentation for the ReceiveMessage operation reveals another problem with the XML deserializer generation, which I'm working on.  I'm coding form airports today, so it might be another day until I get it wrapped up.

This was fixed a little while ago by #515 - sorry it ended up staying open so long.
I just wrote a unit test specifically for it to prevent future regressions.  That will be reviewed and merged shortly.

That's #526


Support for setting a start position

Great plugin, exactly what I was looking for. But I'm working with a big canvas and would like to start in the middle. Now, the plugin always starts top left. I have tried setting scroll positions, modifying the DOM and tried the React inspector, but I cannot find the right point of entry.
It would be great if you could support setting start X & Y attributes, or otherwise you can point me to where to do this myself. Of course the first drag after that should be correct and not jump back. Thanks a lot!

any update on this?

Not that I know.


Issue with running the cookbook as  a base deployment on a single machine

Hi,
The windows prerequisites are installed, but when it reaches the portal install phase it throws this error. Any ideea? (Instead of silently installing itself, the self extracting archive is shown to me on desktop; i have used the setup_archive variable).
The command line was: chef-solo -j C:\chef\roles\arcgis-enterprise-windows_mine.json
Anfd here is the console output:
Expected process to exit with [0], but received '2'
---- Begin output of "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  ----
STDOUT:
STDERR:
---- End output of "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  ----
Ran "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  returned 2
Resource Declaration:
---------------------
# In c:/chef/local-mode-cache/cache/cookbooks/arcgis-enterprise/recipes/install_portal.rb

 62: arcgis_enterprise_portal 'Install Portal for ArcGIS' do
 63:   install_dir node['arcgis']['portal']['install_dir']
 64:   product_code node['arcgis']['portal']['product_code']
 65:   data_dir node['arcgis']['portal']['data_dir']
 66:   setup node['arcgis']['portal']['setup']
 67:   setup_options node['arcgis']['portal']['setup_options']
 68:   run_as_user node['arcgis']['run_as_user']
 69:   run_as_password node['arcgis']['run_as_password']
 70:   run_as_msa node['arcgis']['run_as_msa']
 71:   if node['platform'] == 'windows'
 72:     not_if { Utils.product_installed?(node['arcgis']['portal']['product_code']) }
 73:   else
 74:     not_if { EsriProperties.product_installed?(node['arcgis']['run_as_user'],
 75:                                                node['hostname'],
 76:                                                node['arcgis']['version'],
 77:                                                :ArcGISPortal) }
 78:   end
 79:   action :install

Compiled Resource:
------------------
# Declared in c:/chef/local-mode-cache/cache/cookbooks/arcgis-enterprise/recipes/install_portal.rb:62:in `from_file'

arcgis_enterprise_portal("Install Portal for ArcGIS") do
  action [:install]
  default_guard_interpreter :default
  declared_type :arcgis_enterprise_portal
  cookbook_name "arcgis-enterprise"
  recipe_name "install_portal"
  install_dir "C:\\Program Files\\ArcGIS\\Portal"
  run_as_user "arcgis"
  run_as_password "Run_As_Pa$$w0rd"
  product_code "{0803DE56-BAE9-49F5-A120-BA249BD924E2}"
  data_dir "C:\\arcgisportal"
  setup "E:\\Portal_for_ArcGIS_Windows_1081_175214.exe"
  setup_options ""
  run_as_msa false
  not_if { #code block }
end

System Info:
------------
chef_version=14.14.29
platform=windows
platform_version=10.0.14393
ruby=ruby 2.5.7p206 (2019-10-01 revision 67816) [x64-mingw32]
program_name=C:/opscode/chef/bin/chef-solo
executable=C:/opscode/chef/bin/chef-solo

Running handlers:
[2020-11-18T09:32:53+02:00] ERROR: Running exception handlers
Running handlers complete
[2020-11-18T09:32:53+02:00] ERROR: Exception handlers complete
Chef Client failed. 1 resources updated in 25 seconds
[2020-11-18T09:32:53+02:00] FATAL: Stacktrace dumped to c:/chef/local-mode-cache/cache/chef-stacktrace.out
[2020-11-18T09:32:53+02:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2020-11-18T09:32:53+02:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: arcgis_enterprise_portal[Install Portal for ArcGIS] (arcgis-enterprise::install_portal line 62) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '2'
---- Begin output of "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  ----
STDOUT:
STDERR:
---- End output of "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  ----
Ran "E:\Portal_for_ArcGIS_Windows_1081_175214.exe" /qn INSTALLDIR="C:\Program Files\ArcGIS\Portal" CONTENTDIR="C:\arcgisportal" USER_NAME="arcgis" PASSWORD="Run_As_Pa$$w0rd"  returned 2

Hello @agiubleanu,
Would you be able to share your C:\chef\roles\arcgis-enterprise-windows_mine.json file? Feel free to scrub out any of the sensitive information from it. It also may help if you could pass along the chef-run.log or stacktrace.out file. This will give us a picture of what is happening during the action :unpack.
Based on the error you provided its passing the setup archive (Portal_for_ArcGIS_Windows_1081_175214.exe) as the "setup" attribute:
setup "E:\Portal_for_ArcGIS_Windows_1081_175214.exe":
arcgis_enterprise_portal("Install Portal for ArcGIS") do
  action [:install]
  default_guard_interpreter :default
  declared_type :arcgis_enterprise_portal
  cookbook_name "arcgis-enterprise"
  recipe_name "install_portal"
  install_dir "C:\\Program Files\\ArcGIS\\Portal"
  run_as_user "arcgis"
  run_as_password "Run_As_Pa$$w0rd"
  product_code "{0803DE56-BAE9-49F5-A120-BA249BD924E2}"
  data_dir "C:\\arcgisportal"
  setup "E:\\Portal_for_ArcGIS_Windows_1081_175214.exe"
  setup_options ""
  run_as_msa false
  not_if { #code block }
end

Try moving the Portal_for_ArcGIS_Windows_1081_175214.exe into a folder so that its not directly in the root of E:\. For example:
"portal": {
   "setup_archive": "E:\\some_folder\\Portal_for_ArcGIS_Windows_1081_175214.exe"
}

Thanks,
Cameron K.

Hi Cameron,
Thx for the suggestion. I got it working, by using the setup variable after extracting the archive and modifying the paths ( e.g. i extracted "E:\some_folder\Portal_for_ArcGIS_Windows_1081_175214.exe" to Documents , changed the setup_archive to setup variable and pointed it to the extracted location in the Documents folder ). Thx for the support, i consider this issue resolved.

Hi Cameron,
Thx for the suggestion. I got it working, by using the setup variable after extracting the archive and modifying the paths ( e.g. i extracted "E:\some_folder\Portal_for_ArcGIS_Windows_1081_175214.exe" to Documents , changed the setup_archive to setup variable and pointed it to the extracted location in the Documents folder ). Thx for the support, i consider this issue resolved.

@agiubleanu glad to hear you got it working by pre-extracting the setup archive and using the setup variable instead of setup_archive. Very strange though that we couldn't get the setup_archive working. If you wish to revisit this please feel free to re-open.
Thanks,
Cameron K.


Code for MOM5 Laplacian (U-cell values)

Here are useful links related to defining the MOM5 u-cell Laplacian:

See figures 9.6-9.7 of the manual for information on grid spacing terminology in MOM5: https://mom-ocean.github.io/assets/pdfs/MOM5_manual.pdf
LAP_T operator for the MOM5 Laplacian defined at tracer points: https://github.com/mom-ocean/MOM5/blob/master/src/mom5/ocean_core/ocean_operators.F90
Grid variables are defined here: https://github.com/mom-ocean/MOM5/blob/master/src/mom5/ocean_core/ocean_grids.F90

I'm placing a notebook titled MOM5_Laplacian_Filter.ipynb into the notebooks directory inside of gcm-filters. This notebook first plots the u,v velocities at one timestep (this takes a few minutes using the map projection):

We isolate a region in the west Pacific (0 to 60 degrees North, -240 to -180 degrees West):

Laplacian of both velocity components:

And the Laplacian of both velocity components globally (looks messy):


September community call

Topics
We're going to cover the following topics (5mins each):

Quick intros
Review of the most recent updates
Weekly email digests
GitHub App integration
Any other topic that you’d like to discuss

When
Tue 6 September 2022, 10:00 Los Angeles (PDT) = 13:00 New York (EDT) = 19:00 Berlin (CEST), convert to your timezone
Where
Zoom meeting: https://us06web.zoom.us/j/99421485564
Meeting ID: 994 2148 5564
(this meeting requires a Zoom account for joining, sign up for free on Zoom if you do not have an account)
Calendar invites

Google Calendar: go to this public calendar, click on the community call > Copy to my calendar. Alternatively use the email address<EMAIL_ADDRESS>to subscribe.

iCal format: Use https://calendar.google.com/calendar/ical/c_fvdtkbmdrqc17m1bmvlhiksb4k%40group.calendar.google.com/public/basic.ics for other applications.

React with a 👍 if you intend to join (RSVP)
Recording of the call
I forgot to record this one, here's a demo Hassan recorded that includes the September updates: https://www.youtube.com/watch?v=8rzvnLPLy8o
Previous calls can be seen on YouTube.

I forgot to record this one, here's a demo Hassan recorded that includes the September updates: https://www.youtube.com/watch?v=8rzvnLPLy8o
Join us for the October community call by subscribing to: https://github.com/infracost/infracost/issues/2030