Move to API Gateway #43

Change Summary
Overview

Modularized code my creating OpenSearch stack
Created API Gateway (using api_gateway_stack.py) that uses subdomains (for example https://query.imap-mission.com)
Created stack that obtains hosted_zone (as seen in Route 53) and certificate (Certificate Manager) (using domain_stack.py)
Made minor changes to lambda to get them functional with the new setup
Created stackbuilder.py which organizes our stacks
Created template (I will attach this to Move to API Gateway #43 since I can't attach it here) for users so we don't accidentally deploy to the wrong AWS account
Updated docstrings and unit tests (IMPORTANT: I will come back to test_data_manager_stack.py after we create a strategy for test development)

New Dependencies
I created a domain imap-mission.com in the dev account and then transferred it using the instructions posted here to my individual account:
https://repost.aws/knowledge-center/account-transfer-route-53#:~:text=You can transfer a domain,domain by contacting AWS Support.&text=Create a new hosted zone in an AWS account that you own
IMPORTANT: you must create a SSL certificate for the domain.
IMPORTANT: the domain servers of the registered domain must match that of the hosted zone.
New Files

Created API Gateway (using api_gateway_stack.py) that uses subdomains (for example https://query.imap-mission.com)
Created stack that obtains hosted_zone (as seen in Route 53) and certificate (Certificate Manager) (using domain_stack.py)
Created stackbuilder.py which organizes our stacks

Deleted Files

Just moved sds-data-manager.py for organization (which made it appear that it was deleted and re-created)

Updated Files
-Minor updates to lambdas. Changed Secrets Manager so it doesn't use the "unsafe" was of achieving password anymore.
Testing
IMPORTANT: I will come back to test_data_manager_stack.py after we create a strategy for test development

Updated all relevant unit tests so they would pass.

Important Instructions
If the custom domain has not been created in your individual account when you are testing this code then you must use the url provided in the API Gateway:
For example:
Amazon API Gatewayn > My Query Service > Stages > dev
I currently see: Invoke URL: https://9d97zc7.....etc.
To make a query in Postman

Put example files from SIT1 test in the bucket
Add this to your Invoke URL: /query?instrument=mag&start_date=20230101
Or if you have the custom domain setup in your account: https://query.imap-mission.com/query?instrument=mag&start_date=20230101

To make a download in Postman

https://download.imap-mission.com/download?s3_uri=s3://sds-data-dev/imap_l0_sci_glows_20230602_v01.pkts
And then click on the url
Note, you must use the Invoke URL from API Gateway if the custom domain is not setup

To upload using Postman

first POST (attach file)
https://upload.imap-mission.com/upload?filename=imap_l0_sci_glows_20230602_v01.pkts
then PUT using returned url (do not attach file)

Instructions for deployment

Put the file template in the same directory as app.py and follow the instructions

#79

#43


iron-routes dynamic routes error

I am bothering you again. It's your fault you offered so many great tools :) Thanks, once more.
I'm stuck betwwen the JQuery of the dataTables and the Meteor part as follows:
I made a dynamic route with iron-router:
this.route("dashboardCollections", {
	path: "dashboard/:collectionPath",
	layoutTemplate: 'dashboard',
	data:function(){
	     return {
		templName: "tabular",
		contextData:{
 "table":tablesByName[this.params.collectionPath.substr(0,1).toUpperCase()+this.params.collectionPath.substr(1)+"List"],
		    "selector":{},
		    "class":"table table-striped table-bordered table-condensed"
		}
	    }
	}
    });

The path being: user, clients, brands which I get in the params and change into UserList, ClientLists and BrandsList which are exactly the names of the tabulaTables which I retrieve with tablesByName.
At this point my template looks exactly as the one in your example.
 {{> Template.dynamic template = templName data=contextData}}

What I don't understand, it's how does the dataTables  keep the previous column data in the dataTables settings and doesn't update.  With static route it works perfect. I'm just stubborn and I would really like to fix this dynamic routes style, which ,by the way might interest others as well.
For people requesting editable tabular forms, I put in the TabularTables.Whatever template the following code:
{
	    title:"
 Insert
",
	    tmpl: Meteor.isClient && Template.editables
	}

<template name="editables">

</template>

Maybe it helps someone.I know it's not SO but I couldn't stop.
Thanks again.

1.0 is out and is a complete rewrite. Please retest with 1.0, and if this is still an issue, provide a link to a simple reproduction app or MeteorPad.

Hi Eric,
I am really sorry for this late replay.
I wanted to thank you for your time. In the mean time I switched to alsagle:reactive-tables, which, though less complex, fit perfectly my needs for now.
I’m sure I will be bothering you agai as I “dive" into autoform which is really brilliant.
I graduated in computers by have been a sound engineer and a post studio owner for more than 18 years now. I do a little dev as a hobby trying to put a few tools together for the management of the studio.
Validatio, formas, error messages have been the reason I never enede up with a  coherent app yet.
Thanks to your effort this is going to be the first release in 20 years!!!
Thanks again, once for every line of code.
Vlad Blindu
<EMAIL_ADDRESS>On 20 Jan 2015, at 03:24, Eric Dobbertin<EMAIL_ADDRESS>wrote:

Closed #36.
—
Reply to this email directly or view it on GitHub.

Hi Eric,
For the previous email, i read it after 5 hours of sled and discovered I had a bunch of typos.
I hope the message is clear though.
Thanks again,
Vlad Blindu
<EMAIL_ADDRESS>On 20 Jan 2015, at 22:45, Vlad Blindu<EMAIL_ADDRESS>wrote:

Hi Eric,
I am really sorry for this late replay.
I wanted to thank you for your time. In the mean time I switched to alsagle:reactive-tables, which, though less complex, fit perfectly my needs for now.
I’m sure I will be bothering you agai as I “dive" into autoform which is really brilliant.
I graduated in computers by have been a sound engineer and a post studio owner for more than 18 years now. I do a little dev as a hobby trying to put a few tools together for the management of the studio.
Validatio, formas, error messages have been the reason I never enede up with a  coherent app yet.
Thanks to your effort this is going to be the first release in 20 years!!!
Thanks again, once for every line of code.
Vlad Blindu
<EMAIL_ADDRESS>On 20 Jan 2015, at 03:24, Eric Dobbertin<EMAIL_ADDRESS>wrote:

Closed #36.
—
Reply to this email directly or view it on GitHub.

@vladblindu, yes, no problem. I sometimes use reactive-table and it is a good choice if you don't need the full DataTables API.


Add extra section to move special files for composer

The commit provides the extra section in composer.json to move dist files to a proper location. Many of the popular JS libs available using composer are using the "components" directory to provide an asset location outside the vendor directory. This makes it easier to gain access to the dist files if an administrator don't want to allow usage the vendor directory.

Thank you.


React smart render

Working prototype what needs to be done is

Improve on change trigger.  Can probably rework all this to trigger render functions much more efficiently
Debounce onChange -  no need to render more than once a frame
Cleanup subs when component unmounts
Support passing generics to useRiptidePath so result is typed
add useRiptideValues and useRiptideKeys


Landmark detection example.

Can you please provide an example of face-Landmark detection ?

Can you please provide an example of  face alignment？

Thanks for your great work! Can you provide a demo for face alignment?

Face alignment model trained on IBUG300W, AFLW19, WFLW dataset is available, check it out here.


transferring assets just hangs

What version of Wallet are you using?
testnet beta 3
What is happening?
on the how to use page, all steps work, except the transfer assets part of the testnet. at this juncture it just hangs and doesnt do anything, so im not sure its a bug on your side, or due to brave browser which seems to have some extension issues at the moment with phantom wallet and others(which i have disabled)
steps to reproduce
transfer assets should work seamlessly,
How it should behave?
should transfer instantly.
What os are you seeing the problem on?
Mac/Apple Desktop
What browser?
Brave
What is your browser version?
1.49.120

@kayoam7, thanks for the report. In the past weeks, our network was unstable, causing transactions to be very slow and not finishing the execution, making issues like this happen. This should be solved now.
Please let us know if the issue is still happening then we can re-open the issue and work on it.


Wrong size webview content

Electron version: from ~0.36.6 to 0.37.2
Operating system: win7

Content of webview element is  always 300px x 150px, but border of webview normal and corresponds width and heigth
http://s30.postimg.org/jk6ukg6n5/elec.png

I am seeing the same issue. Mac build is fine, however Win 7 is giving me the same sizing issue. I have regressed to Electon pre 0.36.6 to build out my app in the time being.

I have been having this problem on the latest version
I fixed it by injecting the extra CSS into the webview shadow DOM
It was a lot closer to the right size

Can you provide a sample Gist that will reproduce the problem?
Specifically the HTML for the page that hosts/contains the webview.
Thanks

document.getElementById("my-webview").shadowRoot.firstChild.innerText("object{position:absolute;width:100%;height:100%;}");

Than it will always be full width

@simonhochrein. That solution will not work with flexbox layouts.  I will try to find a solution for both flexbox and regular layout (that may not take up 100% of the height/width). I just need a couple-few example to test against.
Thanks.

I forgot the flexbox part of CSS
Flex:1
On Mar 28, 2016 7:49 PM, christoth<EMAIL_ADDRESS>wrote:@simonhochrein. That solution will not work with flexbox layouts.  I will try to find a solution for both flexbox and regular layout (that may not take up 100% of the height/width). I just need a couple-few example to test against.
Thanks.
—You are receiving this because you were mentioned.Reply to this email directly or view it on GitHub

@christoth For example: I used index.html and add webview tag. GIST

@cmplx Explicitly setting the display style will break the flexbox layout of the webview/browserplugin.
Is it correct to assume that you would like to explicitly size the webview to width: 640px & 480px?
Any specific reason for display:inline-block?

@christoth In my case , I need change size of webview. Hmm... after remove  display:inline-block;  it`s work. Is this behavior  correct ?

Yes, it should work as long as you don't override the display style
property of the webview.

Closing since this has been answered.


Bump release to 1.5.0

Added: the report command now supports JSON output (#102)
Updated: the sync command is now compatible with the new crick.io backend
API (#152)
Updated: Python 3.6 is now officially supported (#150)
Fixed: catch error when user wants to edit config but file does not exist yet
(#154)

Awesome! We should update the homebrew formula I guess?

Yup. My PR is waiting: https://github.com/Homebrew/homebrew-core/pull/16240

I'll had a detailed documentation on how to release Watson.


Add bigger puzzles

Bigger puzzles are added. Three 4x6 and three 6x6. Shortcuts were changed to allow keys for 6 rows. Shuffle generates uniformly a permutation among the reachable states.

Thanks for the PR. I think the 6x4 don't look aesthetically pleasing. The 6x6 are interesting, let's keep those. I left a few inline comments.

Thanks for the PR. I think the 6x4 don't look aesthetically pleasing. The 6x6 are interesting, let's keep those. I left a few inline comments.

Thanks for the PR. I think the 6x4 don't look aesthetically pleasing. The 6x6 are interesting, let's keep those. I left a few inline comments.

The main interest of 4x6 was to ensure that no confusion were made between rows/cols and height/width. It's very easy to add or remove a puzzle.

Thanks, sorry for the delay. Going to merge this shortly.


'typedef' ignored in declaration SparkFunMLX90614.h

Hello Sparkfun,
I am just starting with Arduino and I have problems verifying the MLX_Get_ID code. It refers to SparkFun_MLX90614_Arduino_Library/src/SparkFunMLX90614.h and gives the following warning:
In file included from ...\Arduino\libraries\SparkFun_MLX90614_Arduino_Library-master\examples\MLX90614_Get_ID\MLX90614_Get_ID.ino:25:0:
...\Arduino\libraries\SparkFun_MLX90614_Arduino_Library-master\src/SparkFunMLX90614.h:54:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
So, this example didn't work out for me, as well as the other three examples.
What is it that I am doing wrong?
Luc

I'm having the same problem, from what I was able to narrow down: The: typedef ernum wasn't done correctly. At least based on C++ it wasn't. It looks like the name of the enumerator need to go between the } and the ; so it would look like:
typedef enum{
banana1
banana2
banana3
}banana_num;
That's what I could find, I might be looking at the wrong thing though.

Same same.

Hi folks - I am attempting to replicate using an Uno under Arduino 1.8.7 but cannot. Perhaps the compiler has changed slightly since first issue report but the GetID example compiles fine for me. Regardless, I've moved the declarator after the enum brackets (better practice). Should be fixed in v1.0.2. Please re-open if you continue to have issues.


Unable to read CSV with null boolean value

See comment here https://github.com/apache/arrow-rs/pull/3365/files#r1069008088
Removing this block causes errors when parsing CSV files with null values.

label_issue.py automatically added labels {'arrow'} from #3523


automesh: can't connect to another device on same subnet?

hi, i've a problem using automesh and a potential but ugly solution. i've bunch of IoT nodes (ESP8266s and ESP32s) where each wakes periodically messages a gateway node on the same SSID. the mesh nodes are ESP8266s which have the same SSID and password as the upstream router -- i believe that that's the right way to set it up.
the gateway always has a static IP. the sensors are unable to see the gateway unless they're connected to the same repeater. i've tried both configs below. sensors & the gateway can both see the internet just fine. there's no need for the sensor nodes to contact each other. is the mesh routing only upstream and not to peers? the ugly potential solution (add 2 more router levels) is also below but it'll need the ability to have different IP address spaces for each repeater level -- is that possible?
if you've ideas for a better setup, please let me know! thanks!

IoT device (I) --> mesh node (M1) --> router (R1) --> router (R2) --> router (R) --> internet
gateway (G) --> router (R2) --> internet

Add two more router levels to which the gateway (with static IP) connects. it is then upstream from the mesh, so the sensors should be able to connect to it. No mesh node between the gateway and router R2.

NAT routing in general and also in the AutoMesh setup only works for upstream connections. So the solution would be, to put the gateway in the upstream path of each IoT device, best in the last network before the internet (as far as I understood is this close to your solution).
IP-Adresses are unique at each level of the AutoMesh, so the address of the gateway in this case should be accessible to each IoT device.
If you are using MQTT, you should place the broker in that place. As it is the central data distribution instance, each node can connect to it from any NAT level and directly send and receive messages. Then the real topology of the network becomes irrelevant.

hi, what i need for the IoT network is something like the diagram below (modified from the ESP32 Mesh guide at espressif). Is something like this possible? the gateway (GW) has a static IP and needs to connect to the root node (A) -- and the root (currently an ESP32 running your esp_nat_router) is the only device that knows the credentials for the router in the diagram.

Yes, a topology like this is possible (basically a tree). All nodes B-J could be ESP8266 AutoMesh nodes (you might also configure them manually). All noden B-N can reach the GW, but only children of the same parent can talk to each other directly (and to any upstream node.

since the B-J softAPs have the same SSID/password as root A, how can we guarantee that the gateway GW connects only to A and not to, say, B? thanks!

I would connect it directly to the "Router".

i can't because the gateway GW only knows about A. and only A knows about the router. B-J know about A and not the router. L-N can connect to either B-J or to A, it doesn't matter. L-N know the static IP of GW. to reduce the total wake time of L-N, there are multiple optimizations including having no dhcp, no dns, all static addresses, etc.
is there no solution other than the following, which would probably work?
IoT device (I) --> mesh node (M1) --> router (R1) --> router (R2) --> router (R) --> internet
gateway (G) --> router (R2) --> internet

Your suggestion should work.
As an optimization you migth consider to configure all 1-level mesh nodes (B,C,D) manually, i.e. with a different SSID in up- and downlink. This means not only one single root A, but many. This elimiates the need for one additional level/hop in the tree.

don't think that'll work as L-N won't be able to reach GW via A as B-J are also root nodes. right?
the reason that only A can connect to the router is because the whole setup can be used anywhere, e.g. location L1, L2, L3 which have different routers with different SSIDs/passwords.
since i'm sending very little data, perhaps i should just use cheap commercial repeaters (CRs) instead of B-J. they should be able to handle routing between peers, shouldn't they? my network might look like the one below. A is still an ESP32 running your software but B-J are no longer ESP8266s.
IOT devices (L-N) --> repeater 1 (CR1) or root (A) --> router
Gateway (GW) --> repeater 2 (CR2) or root (A) --> router

I came up with a simple solution. Your ESP32 nat_router -- this ESP8266 wifi repeater should work, too -- as a softAP with off-the-shelf $15 repeaters, e.g. Tenda or TP-Link, connected to it's AP side. While it's possible to change the names of the commercial repeaters, you can't change their passwords. This is not a problem because the connection information of the main router is known only to the ESP softAP. The commercial extenders have no problem connecting to each other and forming a sort of mesh. here are the configs i tested; as i was able to change the extenders' names, i was able to verify the "mesh" behavior. TN is the Tenda repeater. TP is the TP-link repeater. R is the router which connects to the internet. GW is the IoT gateway. this is good enough for me. thanks!
laptop -- TP -- R -- GW
laptop -- TN -- R -- GW
laptop -- TP -- TN -- R -- GW
laptop -- TP -- R -- TN -- GW
laptop -- TN -- R -- TP -- GW

fyi, the wifi connect time is much faster when the connection is thru a tp-link range extender than with a tenda range extender.


Make Random Dungeon Map Generator

Dungeon and Dragons
Write a program that generates a random dungeon map using ASCII art. Players could explore rooms, hallways, and encounter random events.

Assign me please . I can work on it .


Making the ruby gem for MacOS work again.

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Release version 1.2

Coming from opensearch-build#567, release version 1.2. Please follow the following checklist.
Preparation

[x] Assign this issue to a release owner.
[x] Finalize scope and feature set and update the Public Roadmap.
[x] Create, update, triage and label all features and issues targeted for this release with v1.2.0.

CI/CD

[x] Increment version on main to <IP_ADDRESS>.
[x] Ensure working and passing CI.
[x] Re(add) this repo to the manifest.

Pre-Release

[x] Branch and build from a 1.2 branch.
[x] Update your branch in the manifest.
[x] Feature complete, pencils down.
[x] Fix bugs that target this release.

Release

[x] Complete documentation.
[x] Gather, review and publish release notes.
[x] Verify all issued labeled for this release are closed or labelled for the next release.

Post Release

[ ] Create a release tag.
[ ] Suggest improvements to this template.
[ ] Conduct a postmortem, and publish its results.

@opensearch-project/anomaly-detection Could we update this ticket to reflect who is assigned to the 1.2 release?

@ohltyler Until Friday the 12th at noon PST, any tests that use distribution downloader were running against old bits and need to be rerun.  Can you please see if your team was impacted, rerun the tests, and then mark the tests run as completed in https://github.com/opensearch-project/opensearch-build/issues/954?

@peternied I don't have permissions to update opensearch-project/opensearch-build#954, but we've confirmed automated testing and manual sanity testing is passing and working as expected, you may check off this plugin in the list. Thanks.

Release is public, new version and tag published on GitHub. Closing


feat: tabs component

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Other:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

The structure of the component is not aligned with the expected and will not generate the first version of the package. Check the button component to see an example.


fix: smb remount issue

This PR could fix https://github.com/kubernetes/kubernetes/issues/93805
https://github.com/kubernetes/kubernetes/pull/73661 not fixed the SMB mount issue totally, when there is a SMB mount with same remote path, original SMB mapping would be removed and SMB mapping re-established, that would cause temporally data inaccessible with the original container.
fix
should use test-path \\server\share to check whether original smb mapping is valid, here is an example showing that after SMB server password changed, Test-Path could validate whether connection is ok:
Microsoft Windows [Version 10.0.17763.1339]
(c) 2018 Microsoft Corporation. All rights reserved.

azureuser@3460k8s000 C:\Users\azureuser>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\azureuser> Get-SmbGlobalMapping

Status Local Path Remote Path
------ ---------- -----------
OK                \\accountname.file.core.windows.net\andy-win1186-dynamic-pvc-b23d5a60-50dd-4c0c-bdc1-f4ff40349609

PS C:\Users\azureuser> Test-Path \\accountname.file.core.windows.net\andy-win1186-dynamic-pvc-b23d5a60-50dd-4c0c-bdc1-f4ff40349609
True

# After SMB server password changed

PS C:\Users\azureuser> Test-Path \\accountname.file.core.windows.net\andy-win1186-dynamic-pvc-b23d5a60-50dd-4c0c-bdc1-f4ff40349609
False

# Get-SmbGlobalMapping status is always OK
PS C:\Users\azureuser> Get-SmbGlobalMapping

Status Local Path Remote Path
------ ---------- -----------
OK                \\fca1c6d57af91439aa77889.file.core.windows.net\andy-win1186-dynamic-pvc-b23d5a60-50dd-4c0c-bdc1-f4ff40349609

/assign @msau42 @jingxu97

/retest

how can I fixed the mac test failure? @jingxu97 @msau42
I cannot find detailed failure logs:
https://github.com/kubernetes/utils/pull/184/checks?check_run_id=965284976

@andyzhangx I think longer term we should move towards being able to delete the global mapping once all pods on the node are not using it anymore. Slowly leaking global resources over time will take up resources and potentially cause node instability if there's a frequent churn of unique mounts. I think it will also help improve the scenario you mention where the password changes, so we don't unmount the device while a pod is still using it.

@andyzhangx I think longer term we should move towards being able to delete the global mapping once all pods on the node are not using it anymore. Slowly leaking global resources over time will take up resources and potentially cause node instability if there's a frequent churn of unique mounts. I think it will also help improve the scenario you mention where the password changes, so we don't unmount the device while a pod is still using it.

@msau42 agree, in long term we should fix it, while still needs to figure out how to get global mapping according to the pod mount path, that's a blocking issue AFAIK.
can we make this PR merge first? I would also like to make same fix in CSI-Proxy after this merged? thanks.
cc @jingxu97

Yes that sounds like a good plan
/assign @jingxu97
for review

/lgtm


Jenayah: Watch Ozfoodhunter

Jenayah requests the watch of the watch_keyword Ozfoodhunter. See the MS search here and the Stack Exchange search here.

Approved by tripleee in Charcoal HQ


selfhost/typechecker: Reverse logic for is_static

A function is considered static if the first parameter is not "this"
or "mut this". The previous logic was inverted. Oops!

Oopsie!


[BUG] AWS Signing Requests Broken when URL has ports (SSH Tunnel)

What is the bug?
When having to sign OpenSearch requests (i.e.; AWS Hosted OpenSearch with IAM Auth), it only works with non-port URLs. At least with the awsdkv2 signer as it's the only one I've tested/used.
Somewhere there is a disconnect and the port is not getting removed somewhere or being removed when it shouldn't be on the URL passed to the Sign requests.
I have tested this with reverse proxies, sshuttle, on the bastion itself, etc... Everything works except when a URL has a port in it then there is a signature error.
How can one reproduce the bug?
Failure

Create a SSH Tunnel

ssh -i ~/mykeypair.pem -N -L 9200:#####.us-west-2.es.amazonaws.com:443<EMAIL_ADDRESS>

Set addresses or OPENSEARCH_URL to localhost:9200
Attempt to sign a request and access; signature error

Success

Use sshuttle to connect to bastion
Set addresses or OPENSEARCH_URL to #####.us-west-2.es.amazonaws.com
Attempt to sign a request and access; no error

What is the expected behavior?
To be able to use any OpenSearch URL to the library and be able to utilize it with Signing Request
The following should work without modifications on my end

https://#####.us-west-2.es.amazonaws.com
localhost:9200 (Tunneled to https://#####.us-west-2.es.amazonaws.com)

What is your host/environment?
PopOs! 22.04
Do you have any screenshots?
No screenshots, but here is my output showing the difference
Request Headers (truncated):
GET /_cat/indices?format=json&human=true&pretty=true HTTP/1.1
Host: localhost:34211
User-Agent: opensearch-go/2.3.0 (linux amd64; Go 1.21.0)
Authorization: AWS4-HMAC-SHA256

Response (truncated):
GET http://localhost:34211/_cat/indices?format=json&human=true&pretty=true
403 Forbidden 1.311s
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

The Canonical String for this request should have been

GET /_cat/indices\nformat=json&human=true&pretty=true
host:localhost

Do you have any additional context?
N/A

There are some fixes related to signing on main, would you care to try and reproduce this with the latest code, posting a detailed repro, and we can debug from there?

Still running into the same issue, I'll just go with an abundance of info

go.mod for opensearch-go
github.com/opensearch-project/opensearch-go/v2 v2.2.1-0.20230830174909-e4b95c6f94e8

This is how we're calling the OpenSearch Client
func OpenSearchClient(awsCfg aws.Config, input *OpenSearchInput, connectInfo []ConnectInfo) (*opensearch.Client, error) {
   signer, err := requestsigner.NewSignerWithService(awsCfg, "es")
   if err != nil {
      log.Fatal().Msgf("OpenSearchClient: failed to create signer: %v", err)
   }

   osHost := connectInfo[0].Host
   transport := &http.Transport{
      TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
   }

   debugTransport := &DebugTransport{T: transport}

   log.Debug().Msgf("OpenSearchClient: Setting client to use host: %v", osHost)

   // Create an opensearch client and use the request-signer.
   client, err := opensearch.NewClient(opensearch.Config{
      Addresses: []string{
         osHost,
      },
      Signer:    signer,
      Transport: debugTransport,
      Logger:    &opensearchtransport.ColorLogger{Output: os.Stdout},
   })
   if err != nil {
      log.Fatal().Msgf("OpenSearchClient: failed to create new opensearch client: %v", err)
   }

   return client, err
}

I'm using this as the debugTransport to get headers/request stuff
type DebugTransport struct {
   T http.RoundTripper
}

func (d *DebugTransport) RoundTrip(req *http.Request) (*http.Response, error) {
   requestDump, _ := httputil.DumpRequestOut(req, false)
   log.Debug().Msgf("OpenSearchClient - HTTP - Request Headers: %s", requestDump)

   if req.Body != nil {
      bodyBytes, _ := io.ReadAll(req.Body)
      req.Body.Close()

      var prettyJSON bytes.Buffer
      if err := json.Indent(&prettyJSON, bodyBytes, "", "  "); err == nil {
         log.Debug().Msgf("OpenSearchClient - HTTP - Request Body: %s", prettyJSON.String())
      } else {
         log.Debug().Msgf("OpenSearchClient - HTTP - Request Body: %s", string(bodyBytes))
      }

      req.Body = io.NopCloser(bytes.NewBuffer(bodyBytes))
   }

   // Perform the request
   resp, err := d.T.RoundTrip(req)
   if err != nil {
      return nil, err
   }

   // Pretty-print the response headers
   responseDump, _ := httputil.DumpResponse(resp, false)
   log.Debug().Msgf("OpenSearchClient - HTTP - Response Headers: %s", responseDump)

   return resp, nil
}

The function I'm actively calling for the output below
func OpenSearchListIndices(input *OpenSearchInput, tunnelInput *OpenSearchTunnelInput) error {
   log.Info().Str("profile", input.AwsProfile).Msg("OpenSearchListIndices: Switching to AWS Profile")

   awsCfg, err := AwsCreds(input.Context, input.AwsProfile, input.Region)
   if err != nil {
      fmt.Println(err)
      os.Exit(1)
   }

   // Create SSH Tunnel to Hosted Service
   tunnel, connectInfo, err := OpenSearchTunnel(awsCfg, input, tunnelInput)
   if err != nil {
      log.Info().Msgf("OpenSearchListIndices: Error setting up tunnel: %v", err)
      closeTunnel(tunnel)
      return err
   }

   //Create OpenSearch Client to access Service
   client, err := OpenSearchClient(awsCfg, input, connectInfo)
   if err != nil {
      fmt.Println("OpenSearchListIndices: Error setting up OpenSearch Client:", err)
      closeTunnel(tunnel)
      return err
   }

   // Return all Indices
   log.Debug().Msgf("OpenSearchListIndices: Get OpenSearch Indices")
   resp, err := client.Cat.Indices(func(params *opensearchapi.CatIndicesRequest) {
      params.Format = "json"
      params.Human = true
      params.Pretty = true
   })
   if err != nil {
      fmt.Println("OpenSearchListIndices: Error fetching indices:", err)
      closeTunnel(tunnel)
      return err
   }

   fmt.Println("Response:", resp)

   // Close SSH Tunnel
   closeTunnel(tunnel)
   return nil
}

This is my complete debug log output, sanitized.
go run main.go opensearch list-indices -vvv

3:00PM CLI-INFO AwsCreds: AWS config loaded successfully profile=someAWSProfile region=us-west-2
3:00PM CLI-DEBUG ppair-opensearch: bastion: totally-real-bastion.aws.com
3:00PM CLI-INFO AwsCreds: AWS config loaded successfully profile=someAWSProfile region=us-west-2
3:00PM CLI-DEBUG ppair-opensearch: endpoint: https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-INFO OpenSearchListIndices: Switching to AWS Profile profile=someAWSProfile
3:00PM CLI-INFO AwsCreds: AWS config loaded successfully profile=someAWSProfile region=us-west-2
3:00PM CLI-INFO allowIpAddr: fetched IP address from icanhazip.com ip=12.234.569.123
3:00PM CLI-INFO allowIpAddr: fetched bastion security group TXT records securityGroup=["sg-123456789"]
3:00PM CLI-INFO allowIpAddr: IP address was already authorized for ingress on port 22 ip=12.234.569.123 securityGroup=sg-123456789
3:00PM CLI-DEBUG httpForward: opening port listener name=http-fwd-default remote-url=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-DEBUG httpForward: opened port listener local-addr=http://localhost:37759 name=http-fwd-default remote-url=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-INFO httpForward: opening http listener name=http-fwd-default remote-url=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-DEBUG portForward: opening listener name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-INFO fillConnectInfo: Setup HTTP Forward localUrl=http://localhost:37759 remoteUrl=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-DEBUG OpenSearchClient: Setting client to use host: http://localhost:37759
3:00PM CLI-DEBUG OpenSearchClient: Setting Header host to use: localhost
3:00PM CLI-DEBUG portForward: accepting connections name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-DEBUG OpenSearchListIndices: Get OpenSearch Indices
3:00PM CLI-DEBUG OpenSearchClient - HTTP - Request Headers: GET /_cat/indices?format=json&human=true&pretty=true HTTP/1.1
Host: localhost:37759
User-Agent: opensearch-go/2.2.0 (linux amd64; Go 1.21.0)
Authorization: AWS4-HMAC-SHA256
Credential=<redacted>/20230831/us-west-2/es/aws4_request,
SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=<redacted>
X-Amz-Content-Sha256: <redacted>
X-Amz-Date: 20230831T200046Z
X-Amz-Security-Token: <redacted>
Accept-Encoding: gzip

3:00PM CLI-DEBUG httpForward: forwarding request local-url=/_cat/indices?format=json&human=true&pretty=true name=http-fwd-default remote-url=https://localhost:39163/_cat/indices?format=json&human=true&pretty=true
3:00PM CLI-DEBUG portForward: got local connection name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-DEBUG portForward: made remote connection name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-DEBUG OpenSearchClient - HTTP - Response Headers: HTTP/1.1 403 Forbidden
Content-Length: 1683
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Type: application/json
Date: Thu, 31 Aug 2023 20:00:47 GMT
X-Amzn-Requestid: cb9243e6-87ff-42f7-b1b0-99c402b5f714

   GET http://localhost:37759/_cat/indices?format=json&human=true&pretty=true 403 Forbidden 1.321s
OpenSearchListIndices: Error fetching indices: status: 403, error: {"message":
   "The request signature we calculated does not match the signature you provided.
   Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
   The Canonical String for this request should have been
   'GET
   /_cat/indices
   format=json&human=true&pretty=true
   host:localhost
   x-amz-content-sha256:<redacted>
   x-amz-date:20230831T200046Z
   x-amz-security-token:<redacted>

   host;x-amz-content-sha256;x-amz-date;x-amz-security-token\<redacted>'

   The String-to-Sign should have been
   'AWS4-HMAC-SHA256
   20230831T200046Z
   20230831/us-west-2/es/aws4_request\<redacted>'
   "}
   3:00PM CLI-DEBUG closeTunnel: Closing SSH Tunnel
3:00PM CLI-DEBUG httpFoward - Close: Running name=http-fwd-default remote-url=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-WARN httpForward: error listening on local http server error="http: Server closed" name=http-fwd-default remote-url=https://redacted.us-west-2.es.amazonaws.com
3:00PM CLI-DEBUG portForward: closing listener name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-DEBUG portForward: got local connection name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-ERROR portForward: local accept error error="accept tcp <IP_ADDRESS>:39163: use of closed network connection" name=port-fwd-default-port remote-host=redacted.us-west-2.es.amazonaws.com remote-port=443
3:00PM CLI-FATAL closeTunnel: error closing port/http forwards error="multiple errors during close: httpFoward - Close: Port listener close error: close tcp <IP_ADDRESS>:37759: use of closed network connection"
exit status 1

So, just tested some changes to the signer. Just doing this works... but I'm not sure if this is the right solution
Host is actually empty in the request passed here, it's taking r.URL which has the port in it. If you set Host, then no issues. (I already tried setting the Host in the Header option of the client but it didn't make it's way to the Signer)
func (s *awsSdkV2Signer) SignRequest(r *http.Request) error {
	ctx := context.Background()
	t := time.Now()

	// Extract just the hostname part
	r.Host = strings.Split(r.URL.Host, ":")[0]

	creds, err := s.awsCfg.Credentials.Retrieve(ctx)
	if err != nil {
		return err
	}

	if len(s.awsCfg.Region) == 0 {
		return fmt.Errorf("aws region cannot be empty")
	}

	hash, err := hexEncodedSha256OfRequest(r)
	r.Header.Set("X-Amz-Content-Sha256", hash)

	if err != nil {
		return err
	}

	return s.signer.SignHTTP(ctx, creds, r, hash, s.service, s.awsCfg.Region, t)
}

The r.URL was returning https://localhost:39163/_cat/indices?format=json&human=true&pretty=true and it would set the Host as localhost:39163 when it signed.
However, AWS is looking for localhost as that's what is being reported as the host. I assume this is somewhere on their end that they don't want a port reported with a hostname because when you force r.Host to just be localhost everything works.

This use-case of proxying through a local SSH tunnel is a bit unusual. I am pretty sure that if an AWS service were to run on a non-default port, the port must be present in the host header. So I'm pretty sure that if an AWS service ran on a non-standard port, you'd be required to include the port when calculating the signature. This is also interesting: https://github.com/aws/aws-cli/issues/2883 pretty.
So I don't think we should be stripping the port for an unusual case like this unless we're 100% convinced it's the right thing to do and that it doesn't introduce regressions. If you want to hang in here with me, I'd want to know whether any of the following fix/exhibit the same problem:

Another client, e.g. awscurl and/or opensearch-py.
Give localhost a different, non-local looking name.
Try with <IP_ADDRESS> or a non-loopback IP.

@TheFynx thinking about this more, the actual service port is 443, but you're signing requests with port 39163 because of your proxy, so that fails. I think that's expected, the port is incorrect.
The other question is why host=localhost fine where you're actually talking to ...us-west-2.es.amazonaws.com, I'll talk to the server team.

I tried to reproduce this but couldn't get a tunnel that would forward HTTPs requests to work.

I have an AOSS collection, e.g. xyz.us-west-2.aoss.amazonaws.com:443
I can awscurl --service=aoss --region $AWS_REGION https://xyz.us-west-2.aoss.amazonaws.com/_cat/indices successfully.
What combination of sshuttle or ssh do I run locally to do awscurl --service=aoss --region $AWS_REGION https://localhost:1234/_cat/indices?

@dblock I'm using a AWS hosted OpenSearch in a private VPC, not AOSS. I'm actually pretty sure AOSS can only be public, so to tunnel you'd have to set up a private link, a VPC, and a bastion to ssh into just to test that.
This is the docs from AWS on how to access an OpenSearch Cluster in a VPC https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html#vpc-test
Tunneling is a pretty standard practice for accessing private resources when you don't have a VPN into your private VPC.
I can't use awscurl, it doesn't support the AWS sso-session configs (let alone any SSO access I think https://github.com/okigan/awscurl/issues/114) which is why I'm using the opensearch-go library to add the features I need into our own local dev cli.

Ok, I was thrown off by "AWS Hosted OpenSearch with IAM Auth", I thought you meant the Amazon Managed OpenSearch Service. So your OpenSearch hosted on an AWS EC2 instance runs on port 443, but your tunnel listens on port 39163? It seems to make sense that if you sign with port 39163 it doesn't work, it's the wrong port. And stripping the port works because 443 is a default port for HTTPS.
So we're back to questioning whether a feature that allows to override the value of host:port for AWS Sigv4 signing is needed. I think the answer to this is "no", this doesn't seem like a realistic production scenario (doing Sigv4 behind an authenticated SSH tunnel). But I'm open to hearing whether other clients, and the AWS SDK, support this use-case.

I am using an AWS Managed OpenSearch Service... it's just with VPC enabled. So it's all my private IPs being used via Amazon's Service. Amazon has 3 OpenSearch managed options. Normal Cluster/Domain, Ingestions, and Serverless. We're using the normal cluster/domain just set up with the VPC options (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)
So the port doesn't matter for localhost, it's random and it's just a proxy port to 443 on the other end
So ssh -i ~/mykeypair.pem -N -L 9200:#####.us-west-2.es.amazonaws.com:443<EMAIL_ADDRESS>Means

localhost:9200 (or any port you want)
forwards to
#####.us-west-2.es.amazonaws.com:443 or https://#####.us-west-2.es.amazonaws.com:443

So all local requests are going to https://#####.us-west-2.es.amazonaws.com but the origin is still localhost.
I also found this in your Terraform module as I am currently converting it to work with Pulumi, this specifically calls for you to override the Host when doing an SSH Tunnel. So it seems like this is a known thing and is handled the way I mentioned above, needing to strip your local port as the signing request only shows host and not localhost:$port.
I haven't tested over-writing with over-riding  localhost:$port to #####.us-west-2.es.amazonaws.com since just doing localhost worked for my purposes but I can once I have another cluster up and running.
https://registry.terraform.io/providers/opensearch-project/opensearch/latest/docs#connecting-to-a-cluster-via-an-ssh-tunnel

Get an awscurl request to work with this setup, and we can see how we should alter the client if at all.

@dblock awscurl does not work with AWS SSO. See awscurl #114 as linked by @TheFynx here.

@dblock awscurl does not work with AWS SSO. See awscurl #114 as linked by @TheFynx here.

Any other tool that supports SigV4 that you can make work? I just want to see how others implement support for switching hosts.

This was brought up before in the opensearch python client, this is the solution proposed there

Similar Issue: https://github.com/opensearch-project/opensearch-py/issues/184
PR To Resolve: https://github.com/opensearch-project/opensearch-py/pull/491

There is this project from AWS, https://github.com/awslabs/aws-sigv4-proxy

When you curl through it you have to overwrite the host

curl -s -H 'host: s3.amazonaws.com' http://localhost:8080/<BUCKET_NAME>

Found an example of how you have to do it with awscurl and neptune, doing a host overwrite
awscurl -k --service neptune-db --access_key $ACCESS_KEY --secret_key $SECRET_KEY --region <neptune_instance_region> --session_token $SESSION_TOKEN --header 'host: <neptune-cluster-endpoint-withouthttp-withoutport>' https://localhost:8182/status

@TheFynx Great! All these allow users to override any amount of headers, without specifically doing anything about the host or port. I would merge a change that allows to override headers, and thus to specifically override the host header.


SmartEquip now Pulls the Gun Rather than the Magazine

About the PR

When storing a gun on your backslot or beltslot, when using Smart-Equip it takes out the gun rather than the magazine of the weapon.
Why / Balance

It does not make much sense to me to pull the magazine of a weapon on your belt rather than the weapon itself...
Technical details

Check if the item being pulled from does not have the gun component before trying to take an item out of the ItemSlotsComponent
Media

https://github.com/user-attachments/assets/5dcc7e43-a366-4804-a6be-2ec713b05a60

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Smart-Equip now takes the gun out of the slot rather than the weapon's magazine.

does it also works with lantern in belt slot?

ok... is there anything else that is like that? Don't want batteries or mags drawn from a smart-Equip... I don't know what else is like that


Savage worlds tabbed updated sheet.json

Changes / Comments
Updated the sheet.json file and verified via jsonlint
Roll20 Requests
Include the name of the sheet(s) you made changes to in the title.
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

Is this a bug fix?
Does this add functional enhancements (new features or extending existing features) ?
Does this add or change functional aesthetics (such as layout or color scheme) ?
Are you intentionally changing more that one sheet? If so, which ones ?
If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Greetings @finderski
Thanks for adding this. I manually updated the sheet.json into my branch from this pull request so I will close the PR. You should be able to test the sheet in about 4 hours. Let me know if you require any hot fixes. Ones that just update the .css or .html are easy but updating other files such as .json may be more difficult. I'll do what I can. :)
Thanks,
Cassie


Bit of feedback

Hi there, just a bit of feedback for your enjoyment!
Nvidia driver 560 is now out on Linux, IDK if the script still needs to point to 555 or what, but it's worth noting.
That I'm sure you were aware.
More importantly, though, the uninstall script tries to remove the mod from /usr/share/fgmod, but prepare.sh installs everything on $HOME/fgmod

First of all, thanks for reaching out.
The script downloads the Nvidia driver just to get a signed nvngx.dll instead of hosting it which I don't think you are allowed to do. The version doesn't matter. This is needed for the game to load the mod after one of the updates to streamline. A renamed nvngx_dlss.dll can also be used but finding the correct file on the file system just seems like more work.
I have plans to look into the possibility of using hosted nvngx_dlss.dll file by Nvidia themselves.
In relation to the uninstaller - prepare.sh seds the value in the uninstaller with the correct one during installation. It's done to make the AUR package easier (which needs some work btw) but also let you change the installation folder. If you look into your file in ~/fgmod/fgmod-uninstaller.sh the value should be correct.
Will close it for now. If you have any more concerns then please share and I'll reopen the issue.

Thanks that's good to know. I think I was looking at the project's uninstaller.sh, rather than the one in the fgmod folder. That makes more sense now. Thanks!


Added __clone() to AbstractEntity

Added

AbstractEntity clone handling for object properties

@wnowicki 👍

@EvanBarbour3 please do proper approval

👍  Tests are good

@wnowicki How do you know that was my approval? 😉


Allow allocating storage capacity based on instance type

Tell us about your request
When using custom launch template with Karpenter, a single node storage capacity (specified in the launch template) is used by all types of instances launched by Karpenter. We'd like to able to allocate storage capacity based on instance type.
For example:
m5.xlarge: /dev/sdf=100
m5.2xlarge /dev/sdf=200
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Currently Karpenter using a single volume capacity for all types of instances, it's not possible to allocate volume based on instance type.
Using multiple provisioners, one for each instance type, can support this, but the instance launched in such case is undeterministic
and not optimal.
Are you currently working around this issue?
Have to specify the maximum volume size in the launch template in order to avoid running out of disk.

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Hey @tonylsw,
Thanks for creating this issue and sorry for the delayed response.  Would you be willing to share more info regarding your use-case?  Are you looking to scale storage based on instance types to accommodate container images and filesystems?  Or are you allocating local ephemeral storage to pods/containers?

Hi @dewjam ideally, we'd like to have a solution to scale up/down node storage on-demand, much like Karpenter does for pod :-) , short of that, we'd like to allocate storage based on instance type for container images.

@dewjam Do we have any news regarding this/these (maybe they can be considered different) features?

Hey @carlesjavierre ,
My apologies for the delayed response.  For your use-case, you could expand a nodes storage from the default (20GB) by defining a Block Device Mapping in the Karpenter Provisioner.  Take a look at the docs and let me know if that helps:  https://karpenter.sh/v0.14.0/aws/provisioning/#block-device-mappings

ideally, we'd like to have a solution to scale up/down node storage on-demand, much like Karpenter does for pod :-)

@tonylsw, one feature we've considered is dynamically scaling node storage based on the ephemeral-storage requested by incoming pods.  So for example, if you were to spawn 5 pods each with a request for 20GB of ephemeral-storage, then Karpenter will provision a node with 100GB + overhead to accomodate those pods.
I'm curious what your thoughts are on this potential feature.

Closing this in favor of #2394


adjusted solo mage hunting spots

The lvl's wasnt really realistic so i lowered the cap for Lower Spike, Pirats and Carnivors.
Do you agree?

Sure, thanks. I'm not too familiar with mage so I'll trust you ;-)


Admin Template - Typo in TokenOptions: DefaultPhoneProvider used instead DefaultEmailProvider

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
During user Registration using an Email & Password, the ConfirmEmailToken is generated:
IdentityController.cs,
Line 521:
var token = await userManager.GenerateUserTokenAsync(user, TokenOptions.DefaultPhoneProvider, FormattableString.Invariant($"VerifyEmail:{email},{user.EmailTokenRequestedOn}"));
Line 103:
var tokenIsValid = await userManager.VerifyUserTokenAsync(user, TokenOptions.DefaultPhoneProvider, FormattableString.Invariant($"VerifyEmail:{request.Email},{user.EmailTokenRequestedOn}"), request.Token!);
Expected Behavior
It should read TokenOptions.DefaultEmailProvider.
Steps To Reproduce

Setup latest dotnet Bit.Boilerplate::8.9.0
register new user by Email & Password
Try to use the token to enable the account

Exceptions (if any)
The token returns to be invalid.
.NET Version
8.0.301
Anything else?
No response

Thanks for submitting issue.
Note that we're using TokenOptions.DefaultPhoneProvider by design in order to generate 6 digits codes, so the user will be able to either:
1- Open the link to confirm email account
2- Copy/paste 6-digit codes
3- Remember/type 6-digit codes
in order to confirm its email address.

Thanks for submitting issue. Note that we're using TokenOptions.DefaultPhoneProvider by design in order to generate 6 digits codes, so the user will be able to either: 1- Open the link to confirm email account 2- Copy/paste 6-digit codes 3- Remember/type 6-digit codes in order to confirm its email address.

Thank you.
My procedure:
If I register with Email & Password without providing a Phone Number, the token verification fails.
Once, I have changed to the DefaultEmailProvide, the token verification succeeds.

Just signed in with<EMAIL_ADDRESS>and 123456 and without any phone number to https://adminpanel.bitplatform.dev without any issue.
You can also sign-in with the credentials I provided to check if you see any problem or not.
Let me know about the results and also provide me details about your Boilerplate version.

Just signed in with<EMAIL_ADDRESS>and 123456 and without any phone number to https://adminpanel.bitplatform.dev without any issue. You can also sign-in with the credentials I provided to check if you see any problem or not. Let me know about the results and also provide me details about your Boilerplate version.

That is interesting. So there must be an issue in my copy of the Template.
Thank you!

We're happy to help at any time, let me know if you found any more details


Drop iOS 7 support in readme

iOS 7 is only a few percent of the market share right now and there are a lot of people having issues with how to install the library. Since this library is built with frameworks in mind we should consider dropping iOS 7 support since they aren't available for iOS 7.
Obviously it is still possible to use with iOS 7 but the only supported ways of installation would be the framework methods (import Xcode project, cocoapods, Carthage). This should maybe reduce all the issues we get about ios 7 installation.

I guess we have to wait until Apple offically killed the iPhones which installed iOS 7 by default. Some people just won't upgrade iOS and use the apps, especially who paid for the app. At least I was told to support iOS 7 until it's dead. I got 5 iOS 7 online every day.

What I'm saving is that it is possible to do so if you really want to but if you are a beginner and don't know much about swift or Xcode it is not easy. The other methods are way easier and many other libraries have moved to not supporting iOS7 for this very reason. See alamofire for example.
It's just to reduce the number of issues we get for something that is really not about this library. It's an Xcode issue.

What if some people start asking is it possible to support iOS 7?

We say we don't officially support it but that it is possible. With maybe a link to apple docs about how to do it.

I don't believe that this will change the amount of issues on the matter - it may even produce more of them...
The amount of those issues will go down as iOS 7 support gets dropped by Apple and as more people move to iOS 9.
I think maybe we need to declare a specific date and time or a specific version where iOS 7 support will be dropped. When it is dropped - deployment target should also be raised to 8.0.

the library deployment target is already at 8.0, I just saw it yesterday.

It has to be since iOS 7 does not support dynamic frameworks.

I am fine with your suggestion to give it a timeline. After iOS 10 maybe?

Yes, i'd say the release day of iOS 10 is a great deadline :)
בתאריך יום ה׳, 17 בדצמ׳ 2015 ב-3:36 מאת Pierre-Marc Airoldi <
<EMAIL_ADDRESS>
I am fine with your suggestion to give it a timeline. After iOS 10 maybe?
—
Reply to this email directly or view it on GitHub
https://github.com/danielgindi/ios-charts/issues/601#issuecomment-165309838
.

Charts 3.0 release is a good deadline too, and close enough to iOS 10 ;-)


visualize output

Hi, I'm currently using Gosling in R and the following is my actual code:
`library(gosling)
data <- gos$bigwig(
url = "https://s3.amazonaws.com/gosling-lang.org/data/ExcitatoryNeurons-insertions_bin100_RIPnorm.bw",
column = "position",
value = "peak"
)
track <- gos$Track(data, height = 100)$mark_area()$encode(
x = gos$X("position:G"),
y = gos$Y("peak:Q"),
color= gos$value('blue')
)
track$view()`
If I take the output of track$view() and copy and paste it in a html, then when I open the html I can see the visualization and everything works.
However, I wanted to ask if there was a way, like some commands, to directly save the html output in an html file instead of having to copy and paste. Thank you.

I want to piggyback off this issue. My question was how difficult it would be to be able to wrap Gos(ling) visualization outputs in a htmlwidget such that these visualizations would be easy to display in a Rmarkdown/Quarto document.  If html code is the native output then in theory we could just embed it in a self-contained html quarto doc, but that doesn't work my testing ; it would be far easier for the outputs to produce a htmlwidget.


Adding a 'Create Tag Set' button to Mastodon's Feature Color Modes

Hi @tinevez,
I have been recently using the Feature Color Modes with the intent to visualize these colors in 3d using the Blender-Bridge. Unfortunately, the Blender import from Mastodon only understands color information coming from tags. I had a quick talk with @stefanhahmann and he said in principle, we could introduce a new button into the Feature Color Modes GUI that would generate a new tag set from any previously created color feature. Do you think this could be a solution for this issue or are there better options?

Download
https://www.mediafire.com/file/jc5ws0hujgycrp5/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Hello @jgirstmair
I think we could find a better way. The problem with this approach is that it requires creating a tag-set structure with tags and colors taken from discretized feature values,, binning colors together. That would feel a bit clumsy and brittle, and invalidated as soon as the user modifies the tag-set structure or the feature color mode.
I would be more elegant to make the blender bridge works with the feature color mode no? What are the limitations that block this?

Right now Blender reads tables from a .csv file including color information from tags, @maarzt correct? Maybe we could write the generated color feature values of the current .mastodon project into the .csv file before sending it to Blender. Could this work?

I think so yes. It is possible to encode a RGB color over a single int.
This is what the core interface for coloring objects from features does:
https://github.com/mastodon-sc/mastodon/blob/master/src/main/java/org/mastodon/ui/coloring/ColorGenerator.java#L42-L53
and it could be reused as is.

I am closing this issue in favor of https://github.com/mastodon-sc/mastodon-blender-view/issues/23


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

chore(package): add ^3.7.0 remove ^3.6.0 (devDependencies.ava)

:tada: This PR is included in version 7.5.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feature request: Dynamic notification group based on zone

It would be nice if we could have a dynamic (notification) group of all devices in a specific zone.
The purpose for this would be to be able to send a message to every device in zone XYZ. ("Washing machine is done", is only useful to people who are at home)

That's exactly how I've done it. I use MSR for my rules engine and have exactly this in place. It holds the notifications until I'm back home, gives me first warning and then subsequent warnings until the lid is raised (meaning I've done the emptying.
John Alan
[image]
01000011 01110101 01110010 01101001 01101111 01110011 01101001
01110100 01111001 00100000 01101001 01110011 00100000 01110100
01101000 01100101 00100000 01101101 01101111 01110011 01110100
00100000 01110110 01100001 01101100 01110101 01100001 01100010
01101100 01100101 00100000 01100110 01100101 01100001 01110100
01110101 01110010 01100101 00100000 01101111 01100110 00100000
01101001 01101110 01110100 01100101 01101100 01101100 01101001
01100111 01100101 01101110 01110100 00100000 01101100 01101001
01100110 01100101 00101110
------- Original Message -------
On Tuesday, June 13th, 2023 at 13:43, Gary Cobb @.***> wrote:

This can probably be done using automations and scripts with triggers and conditions and does not really apply to iCloud3. You can use the iCloud3 sensor.[devicename]_zone_name sensor to identify the zone someone is in.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thank you both for your quick replies.
That is how I currently have it. But the only way I can get that working is by 'manually' going through each device, check whether or not it is 'Home' and send the notify-command. This of course works fine in practice, but I was looking for something cleaner.
A dynamic notification group would be much cleaner and easier to maintain.
I understand that you consider this (more or less) 'out of scope' for this integration, but I figured I'd ask anyway :)

Maybe there is some python script on JACS that will f do what you are looking for.

You can create dynamic groups with automations:
automation:
  - alias: Create home group
    trigger:
      platform: homeassistant
      event: start
    action:
        service: group.set
        data_template:
          object_id: devices_at_zone_home
          entities: >-
            {%-
              for state in states.sensor
              if state.entity_id.endswith("zone_fname") and state.attributes.zone == 'home'
            %}
            {{ state.entity_id}}
            {%- endfor %}

You can also loop through the device trackers or whatever you want. And change the triggers to when you want to update the group


GraphQL enumeration auto complete.

I already used many tools such as altair graphql client, apollo graphql client like that. but I moved to insomnia because the interface is very clear and has some valuable features.
Today I notice something in insomnia, the enumeration variable does not suggest (autocomplete) so I think this feature is valuable for the developers.

Duplicate of #902 (I think?)
@nishantha-kumara please close this issue if #902 sufficiently summarizes what you are after.

move to #902


radiotray-ng: 0.2.4 -> 0.2.5

patch to use provided gtest/gmock, fix+enable tests
Motivation for this change
Update!
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Works fine here (x86-llnux) but the test failure on aarch64 should be fixed before we merge.


Details needed on installing Unify on HA running on a RPi4

The ReadMe.md file has a few hints on how to install UnifySDK onto Home Assistant running on a RPi4 but it does not give me sufficient details on how to accomplish the task.
I have an RPi400 4GBRAM 64GB_SD with a UZB stick 700 series with HAOS installed and working.
I followed these instructions to install HAOS: https://www.home-assistant.io/installation/raspberrypi/
Home Assistant 2023.8.4
Supervisor 2023.08.1
Operating System 10.5
Frontend 20230802.1 - latest
I'd like to install Unify on this same RPi400 since it already has the UZB.
The ReadMe.md Installation sections says to "add the repo as a custom repo in the Integration category". That means nothing to me. Where is the "Integration category"?
All of the rest of the instructions again do not match the current HAOS installation.
Some screen shots or at least more detailed step by step instructions are needed.
How do we get this installed into HA permanently? Ideally there should just be a "unifySDK" integration already built into HA. After all, it is Open Source and HA is very popular and will sell more Silabs chips!

This repo has moved into the applications directory of the Unify SDK. https://github.com/SiliconLabs/UnifySDK/tree/main/applications/home_assistant

Sorry to correct you Lucy, but this repo is the most recent, it was created based on the files in https://github.com/SiliconLabs/UnifySDK/tree/main/applications/home_assistant, and has a lot of changes from that.
That being said, I have been the only maintainer of the Home Assistant integration for UnifySDK, which I did in my spare time, while I worked at Silicon Labs. After I switched to a new job, I have abandoned this project and switched to using Z-Wave JS in my home setup instead. To the extend of my knowledge the Unify HomeAssistant integration doesn't work with recent versions of Home Assistant.

Thanks for clarifying!

Either way - I would like to get Unify working under HA for the Z-Wave summit if possible. Who can provide guidance?
One problem with the Applications directory, is that I cannot file an Issue (like this) to try to get an answer.
It is a closed repo owned by Silabs?
In the long run, it would be highly beneficial to have Unify running under HA. It will expand the Z-Wave market!
They have abandoned OpenZWave which did so many things wrong.
Does Z-Wave JS do Z-Wave properly?

I support the idea of having a HA integration for Unify, the current version here is a PoC, that to the extend of my knowledge doesn't work with recent versions of HA.
IMO Silicon Labs should drive such and integration. As I mentioned earlier, I have no intention on doing more work on this.
Regarding Z-Wave JS; it is much better than Open Z-Wave. I find it very stable and feature rich. One downside is though that it isn't certifiable (yet), but they do have a backlog regarding this: https://github.com/zwave-js/certification-backlog.


Don't fail workspaces that use Kubernetes/OpenShift components with URIs

What does this PR do?
Update how Kubernetes/OpenShift components with URIs are handled:

If a component has deployByDefault: false, it is ignored and workspace starts normally (the component is expected to be applied later, e.g. via an apply command
If a component has deployByDefault: true, it is not applied to the cluster if it uses a URI, and instead the workspace gets a warning condition. This effectively downgrades the webhook rejection to a warning condition

What issues does this PR fix or reference?
Closes https://github.com/devfile/devworkspace-operator/issues/1103
Is it tested? How?
Apply the DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
kind: DevWorkspace
metadata:
  name: plain
spec:
  routingClass: basic
  started: true
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    components:
    - name: web-terminal
      container:
        command: ["tail", "-f", "/dev/null"]
        image: quay.io/amisevsk/web-terminal-tooling:dev
        memoryLimit: 512Mi
        mountSources: true
    - name: test-k8s
      kubernetes:
        deployByDefault: false
        uri: https://raw.githubusercontent.com/devfile/devworkspace-operator/main/deploy/deployment/kubernetes/objects/devworkspace-controller-metrics.Service.yaml

Update the workspace to set deployByDefault:

If false, workspace should start normally, without any issues or warnings
If true, the workspace should still start, but have a warning condition:

Ignored components that use unsupported features: component test-k8s
defines a Kubernetes/OpenShift component via URI

PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

/retest

@amisevsk do you have an already built image to test this PR?

I have tested with https://github.com/devfile-samples/devfile-sample-go-basic.git and I was able to start the workspace successfully.
The weird thing is that my workspace pod has 3 containers (but it may be related to a dashboard issue that ignores the parent and adds a default component):

do you have an already built image to test this PR?

I didn't build a specific image for this PR, so it was only pushed to quay.io/amisevsk/devworkspace-controller:dev (which is the image I use for whatever I'm working on).

The weird thing is that my workspace pod has 3 containers (but it may be related to a dashboard issue that ignores the parent and adds a default component):

This should be reported as an issue on the Eclipse Che side -- it looks like something is going wrong with merging components. The runtime component is coming from the parent, but since https://github.com/devfile/devworkspace-operator/issues/993 the che-code-runtime-description component should have been merged into it automatically (i.e. even without the explicit merge-components attribute). I tried briefly to reproduce the issue but would need to roll changes from this PR out to test properly.


Missing job "Production Operator AOI" from site peviitor.ro, company "kimballelectronics"

URL: https://peviitor.ro/
browser: Microsoft Edge
device: Computer
OS: windows

Steps to reproduce

Open the company recruitee page: https://kei.wd1.myworkdayjobs.com/en-US/GlobalKimballCareers?locations=fbecff70217d10da6c755135d69d6c29
Pay attention that are showed nine jobs
Open peviitor URL
Put the name "kimballelectronics" in the search field
Press the button "Caută"
Verify if this job "Production Operator AOI" appears.

Expected results

It should displayed  the job "Production Operator AOI" at "peviitor.ro" site

Actual results
It shouldn't displayed  the job "Production Operator AOI" at "peviitor.ro" site.

fixed

Retest.


[DNM] Add arm64 support to CMake build

This is pretty speculative, I just copied the SwiftSupport.cmake from swift-argument-parser which seems to have support for arm64.

Testing this out first via cross-repo testing on a Swift PR.

cc @lorentey @compnerd @shahmishal
if this works I think we would also need a new tag and update swift build script to pull it

@neonichu @lorentey @compnerd we need this (+ new tag) to unblock https://github.com/apple/swift-package-manager/pull/3632. do you think this is ready?

I'm ready to hit the merge button & tag a release if y'all say it works as expected.
@swift-ci test

I think that this is slightly regressing the behavior.  I think that there are now out of sync (foundation, dispatch, etc have a copy as well).  The install layout has evolved a bit from the 5.1/5.2 days.  All the platforms now support the directory layout as well.  Windows prefers that layout with the module being triple named rather than just arch I believe.

@compnerd Do you have a suggestion on which version of this file we should standardize?

The changes that I believe haven't been synced are the ones to _install_target here:
https://github.com/compnerd/swift-win32/blob/main/cmake/Modules/SwiftSupport.cmake#L53-L92
The changes that you have to the get_swift_host_arch we can get away with as we do not expect someone to define CMAKE_OSX_DEPLOYMENT_TARGET on non-Darwin targets, but this seems somewhat fragile.  I think that this might be a better check:
elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "AArch64|ARM64")
  if(CMAKE_SYSTEM_NAME MATCHES Darwin)
    set("${result_var_name}" "arm64" PARENT_SCOPE)
  else()
    set("${result_var_name}" "aarch64" PARENT_SCOPE)
  endif()

OK, thanks. I updated it, but it seems like we do need the lowercase "arm64" in the check of CMAKE_SYSTEM_PROCESSOR, otherwise this doesn't work on my M1 machine.

Hmm, I wonder if we should do string(TOUPPER or string(TOLOWER to make sure that we do the case insensitive match.  That is rather annoying, but we shouldn't be gating this on that.

I think that you missed the update for the second half of the change (the install location).

@swift-ci please test

OK, I removed the unnecessary changes and tested this locally, seems to work fine.

LGTM; we should verify that the Linux ARM64 builds are unimpacted, but otherwise, LGTM

Actually, I think I flipped it with my last edits, it'll now use "aarch64" on Darwin.

@compnerd @lorentey how are we feeling about this?

I'm happy to merge & tag as soon as someone confirms this is what we want. 😉
@neonichu, did you mean to swap the spellings? IIUC Swift Argument Parser uses arm64 on Darwin, and aarch64 elsewhere.

@swift-ci please test

@lorentey Yes, absolutely. I failed to push my latest changes. Interestingly, it seemed to have no impact on being able to build, either version worked.

@lorentey I guess we need a new tag, so we can pull this into toolchain + SwiftPM. Do you have any other pending changes?


bug: autocmds loaded to late if file opened directly vim README.md

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.9.0-dev
Operating system/version
Ubuntu 18.04
Describe the bug
While opening a file directly on the command line the autocmds eg. for markdown files are loaded after the file is loaded so they are not "executed". In the case of markdown file the specific settings are not applied(speell/wrap). If the file is opened over the Dashboard the autocmds are "executed" and spell/wrap is set.
Refreshing the file over:e "executes" the autocmds.
Steps To Reproduce

open file directly via vim README.md

check settings for wrap/spell eg echo &spell

close

open vim to be on the dashboard

open the file over f keymap

check settings for wrap/spell

Expected Behavior
autocmds are loaded before the file so that they can be "executed"
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

You did not provide a minimal init.lua. Autocmds work just fine for me. I set spell for example. Closing this.

@folke sry i forgot about that, here the init.lua i used:
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
    vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
    vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

require("lazy").setup({
    spec = {
        -- import LazyVim plugins
        { "LazyVim/LazyVim", import = "lazyvim.plugins" },
        -- import/override with your plugins
        { import = "plugins" },
        -- import any extras modules here
        -- { import = "lazyvim.plugins.extras.lang.typescript" },
        -- { import = "lazyvim.plugins.extras.lang.json" },
    },
    defaults = {
        lazy = true, -- every plugin is lazy-loaded by default
        version = "*", -- try installing the latest stable version for plugins that support semver
    },
    install = { colorscheme = { "tokyonight", "habamax" } },
    checker = { enabled = true }, -- automatically check for plugin updates
    performance = {
        rtp = {
            -- disable some rtp plugins
            disabled_plugins = {
                "gzip",
                "matchit",
                "matchparen",
                "netrwPlugin",
                "tarPlugin",
                "tohtml",
                "tutor",
                "zipPlugin",
            },
        },
    },
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

I'm sorry, I thought you posted this in the lazy.nvim repo. My bad. Will look into this!

thank you for the fix, and in general for your amazing work around neovim


Proof of Concept - Minimally used graphql-client gem

Description
Fixes #
Please, include a summary of what the PR is for:

What is the problem it is solving?
What is the context of these changes?
What is the impact of this PR?

How has this been tested?
Please, describe the tests that you ran to verify your changes.
Checklist:

[ ] My commit message follow the pattern described in here
[ ] I have performed a self-review of my own code.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have updated the project documentation.
[ ] I have added a changelog line.

Loading Shopify API schema into graphql-client will lead to memory issues again (see https://github.com/Shopify/shopify-api-ruby/issues/511 for the context). I end up building alternative Shopify Graphql API wrapper just to avoid this problem (like many other developers).
The current implementation works well. What's the motivation of bringing graphql-client back and how you'll eliminate memory issues?


gatekeeper: add simple instruction on how to view violations

Looks good to me, thanks!
Follow-up question, i.e., a question not really part of this PR, but which this PR made me ask: smile Is it possible for the application developer to see violations in Grafana? Or is that too high-level and not actionable?

Could be, gatekeeper exposes some metrics, did not find anything for violations per pod basis.Maybe @viktor-f knows more?

Looks good to me, thanks!
Follow-up question, i.e., a question not really part of this PR, but which this PR made me ask: smile Is it possible for the application developer to see violations in Grafana? Or is that too high-level and not actionable?

Could be, gatekeeper exposes some metrics, did not find anything for violations per pod basis.Maybe @viktor-f knows more?

We have a gatekeeper dashboard in grafana, but it only shows aggregated number of violation, not anything per pod, as Olle mentioned.
Here you can see some discussions on the gatekeeper repo where they say that they are not very exited about adding this to their project: https://github.com/open-policy-agent/gatekeeper/pull/657
So if we were to add something like that it might have to be as an opensearch dashboard.


integrate thumbnail functionality from Mux for video banner

relates to #1133
Mux has a feature where you can select a thumbnail for use as static image.
We can use this as the hero image used by cards for pages that use the video banner

We have a challenge here in that all of our images are set up to use a reference object from Sanity. The thumbnail we get from Mux is a string, so we either need to refactor the cards to handle both a reference object and a string (and make sure that the image is optimized correctly when using the string), or upload it to Sanity somehow.

Left some comments on the commit

I left a comment there too

Made some refactoring, would be great if either of you could verify if it looks good @SvSven @fernandolucchesi

@millianapia left a new comment

@millianapia Looks good! And since the magazines index/video banner is not in prod yet, there was no need for the feature flags here :P but also doesn't hurt, up to you if you want to clean it up before or later

@fernandolucchesi @millianapia - please add some acceptance criteria if there is something here for me to test/approve

Will move this to on hold by now


MTU Size support for JS-10.2 in both profiles

Added new flags/parameters to the .ini file.
Modification in config.py to read new flags.
Added checks for MTU val <592 and >9216  in settings_sanity.py.
Added check mtu value function in checkpoints.py.
Changed sah.py to modify ks and .cfg files.
Addition of new parameters in environment.yaml and nic-config files for 4 port and 5 port config.

Can you please update to pick the Numa/HugePages PR that was merged yesterday

I am done with the changes can you please accept/merge the pull request

Both profiles are set to use a 1500 MTU accross the networks here, which is the default value used anyway, so given the current implementation and profiles, MTU values can only be changed if using a custom profile , is this intentional ?

Both profiles default to 1500, but as required it can be changed in both profiles. I am not sure on what classifies as a custom profile.

sorry you re correct, those values aren t set in the json


version up to maven repository

What is the necessity of this update? What is updated?
version up to maven repository.
Changing from previous version is too small, then I up branch version of it.
How did you do the test? (Not required for updating documents)
Upload to maven repository

@koijima Could you please confirm this PR?


Allow others to make coupled experiments

This PR is based on something that @Dooruk found. If I make an experiment, others can use that install/bin directory to make data-ocean experiments just fine (via changes from #121). But this does not work for coupled. The issue is that when running coupled, some files are copied into install/bin which might not be world-writable.
So, the changes below copy all the coupled files into a new tempdir and those are then processed.
I'm marking this as draft for now, but I think it works. Once I'm happy, I'll probably draft some others to test it out.
(And apologies to @sshakoor1 as it's more changes to setup!)

I don't see OBCSDIR related changes here, so it may or not be related, but just FYI when I compare my v11.3.1 and v11.4.0 gcm_run.j scripts that I produced via gcm_setup for my MOM6/CICE6 coupled run I noticed:
$OBCSDIR was set to (which fails for CICE6):
/discover/nobackup/projects/gmao/bcs_shared/make_bcs_inputs/ocean/MOM6
Instead of (which works for CICE6):
/discover/nobackup/projects/gmao/ssd/aogcm/ocean_bcs/MOM6

Bin fixed my issue, you can ignore my comment

Welp, I never saw it! Let me know if there are things we need to change in the scripts!

Welp, I never saw it! Let me know if there are things we need to change in the scripts!

No problem, it was a matter of copying some cice6 files so it's resolved now (for everybody)!

@sshakoor1 was able to make a coupled experiment from a build of mine, so I think this is good to go. Undrafting.

Thanks @mathomp4 Indeed this was a problem with the coupled model set up of a clone from others.
Thanks for fixing it,


Ms229: Modify CameraData fields

@bsingh-nla
Some of the cameraData fields cannot display correctly.

You'll Need to modify amberdb.models.CameraData too to call the correct methods

@AaronCMuller , Aaron, what do you mean by 'Please don't push to amberdb without a pull request.'
Isn't this one a pull request?

Oh sorry, ignore that comment then. The way it looked from the github stream looked like you directly pushed to master without a PR.


feature request: remove a registered gauge/counter from metrics

Use case:
We want to have a gauge to record the sending/receiving rates between a local node and remote nodes.
The remote node might come and go. So we want the ability to add/remove gauge from metrics.
Do you think it is a reasonable feature to have? I can send a pull request if it is.

@codahale Thank you.


Add an undirected graph data structure

[ ] Description
Add an undirected graph data structure.
[ ] Use cases

Save the world.
Stop the imposter.
....

[ ] Proposed design
A clear and concise description of the design planned for this feature/enhancement.
Attach design diagrams if applicable.
[ ] Alternative design approaches
A list of other approaches that could've been taken to design this feature/enhancement,
but hasn't been because of a specified reason.
[ ] Workaround
If any workaround exists to achieve the desired goal without this feature/enhancement.
[ ] Additional information
Add any other context about the problem here.

Won't add as it is already present in Guava.
Graphs - https://github.com/google/guava/wiki/GraphsExplained


Replace SL with Grid in CollectionViewDemo

Fixes #488.  Fixes #301.
Scrolling is not working for all CollectionViews inside StackLayout in CollectionViewDemos app.
Similar to the previous PR (#516), this PR replaces the SL with Grid in CollectionViewDemos app to fix this issue.

Thanks for this @makazeu - I'll take a look before the week is out.
One thing to know is that when a sample is updated the docs for the sample also (potentially need updating) because the code in the docs is copy/paste from the sample.

Build failure on macOS is a false positive we'll have to put up with until the following issue gets resolved:
ILLINK : warning MT0079: The recommended Xcode version for Microsoft.MacCatalyst 18.0.8303 is Xcode 16.0 or later. The current Xcode version (found in /Applications/Xcode_15.4.app/Contents/Developer) is 15.4. [/Users/runner/work/maui-samples/maui-samples/8.0/UserInterface/Views/CollectionViewDemos/CollectionViewDemos/CollectionViewDemos.csproj::TargetFramework=net8.0-maccatalyst]

Fixed the build scripts to use Xcode 16.


initial fastlane structure

… for your RFP with F-Droid: this is the missing piece the issuebot complained about. I've just set up your app for my repo (where it will go live around 6 pm UTC), setting up these structures locally, so I can now easily offer them to you.
Be welcome to use my Fastlane Cheat Sheet to build upon this. You will certainly want to replace the screenshots¹ (e.g. move your current ones over here and link to them instead of keeping the ones I've resized and converted to JPEG for my repo, to save bandwidth and storage especially for low-end devices on slow network connections), maybe add a featureGraphic – and with future releases, add the corresponding per-release changelogs. All else is "icing on the cake" :wink:
¹ if you want to do that, please make sure to do it before your app gets into F-Droid, and then better stick to the file names; there was an issue with cleanup there

Ouch, the missing locale was a copy-error on my end. It should of course go to /fastlane/metadata/android/en-US/*. Could you please adjust? Thanks – and apologies for the mistake!


Fixed Link Destination

The removed link was redirecting to the article "Quickstart: Set and retrieve a secret from Azure Key Vault using the Azure portal", but should instead redirect to the article "Quickstart: Set and retrieve a certificate from Azure Key Vault using the Azure portal", as this is what is being discussed at that point in the documentation. This change modifies the directory in the relative link (from /secrets to /certificates) - the concerned documents otherwise have the same filename.

@RichardMuniu : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Nice catch, @RichardMuniu! Thank you for taking the time to improve our documentation for Azure Key Vault -- we really appreciate it. #sign-off


Convert docker_versioned_pkg dict keys to string

This will allow to use '-e docker_version=1.12' in ansible playbook execution. It's also backward-compatible and will work with floating docker_version format in custom yaml files.
Closes #702

Looks good, but let's wait for CI


Enhance attribute table

Fixes #8659

Ranges added to the table.
Add processesPerApplication.

Head-check on requestTimeout ... is the max timeout 360 hours (360:00:00)?

Anything else? ........... before I get flattened by a hurricane??!! 🏃😨


HTTP response headers from an RxMoya.Response object

Not wanting to dupe #515 but is it possible to extract HTTP response headers from an RxMoya.Response object?  The issue didn't seem to be adequately addressed there.
Cheers! 😄

So it turns out that the RxMoya.Response value comes out of a request as an NSHTTPURLResponse, thus giving access to the HTTP headers:
(lldb) po (response.response as? NSHTTPURLResponse)?.allHeaderFields
▿ Optional<Dictionary<NSObject, AnyObject>>
  ▿ Some : 15 elements
    ▿ [0] : 2 elements
      - .0 : Content-Type
      - .1 : application/json; charset=utf-8

which is great.  I didn't pick it up as the generated headers for the Moya framework show the RxMoya.Response value as being an NSURLResponse, as was pointed out in #515 .
Thanks either way! 😄


SANA 600M model checkpoint size

Hello, thank you very much for your team's open source work. I re-trained SanaMS_600M_P1_D28 and found that the checkpoint saved under /output/debug/checkpoints is more than 8G, but the checkpoint of the 600M model open sourced at https://huggingface.co/Efficient-Large-Model/Sana_600M_1024px/tree/main/checkpoints is only 2G. I want to know why this is? How can I set it to reduce the size of this checkpoint?

Hi, just modify save model a little
ckpt_saved_path = save_checkpoint(
                    checkpoints_last,
                    epoch=epoch,
                    step=global_step,
                    model=accelerator.unwrap_model(model),
                    optimizer=None,
                    lr_scheduler=None,
                    model_ema=None,
                    generator=generator,
                    add_symlink=True,
                )


Improve code quality

This PR improves code quality

Coverage remained the same at 100.0% when pulling 4d4fb7031eb0501334048969d1199d61543ae4be on fisuda:improve-code-quality into 1940fd0c80fb336b4952def244b083c5bccffa07 on lets-fiware:main.


tag v.1.30.6 - message manager, timer, title, scrolling & focus (incompatibility)

Message manager
Timer
Title
Scrolling
Focus/Cursor
are now included as Custom Controls. Check the samples and adjust your apps.
Use the following tag if you run into problems:
https://github.com/abap2UI5/abap2UI5/releases/tag/v.1.30.6
And let me know if you miss a functionality.

title ge js getting called 5 times in http handler.
and there is way a way to cleaer interval now that is a cc ?

Thank you! Fixed it with https://github.com/abap2UI5/abap2UI5/pull/678
Still trying to figure out which CC should be loaded at startup. In general it seems to be a robust process, loading cc accidentally multiple times does not cause any problems and loading multiple CC at startup also does not really make the startup process longer. Maybe only the controls which load third party libraries like driver.js or bwip-js should not be loaded per default at startup. I will continue testing this.
In addition i have in mind to make the Custom Controls independent from the specific view renderer to make it possible to work with multiple different renderers in the future (https://github.com/abap2UI5/abap2UI5/issues/660). Therefore the use of the class z2ui5_cl_xml_view should be avoided in the CC classes. Start to create a new wrapper class for the use of CC with z2ui5_cl_xml_view:
https://github.com/abap2UI5/abap2UI5/blob/main/src/z2ui5_cl_xml_view_cc.clas.abap
(still experimental)
@choper725
and there is way a way to cleaer interval now that is a cc ?

what does this mean/ which functionality do you need?

hi @oblomov-dev
i was just using timer with repeat, bun than notich, how can we stop thw repeat ?

ah yes, checked this out and updated demo:
Z2UI5_CL_DEMO_APP_028
With https://github.com/abap2UI5/abap2UI5/pull/680
Not sure anymore if we really need the check_repeat, because every model updated also rerenders the timer control (which only activates another delayed). You can try it out and let me know it if works.

works great !
logic wise its probebly easier to understand that you can manually shutdown timer not related to view model update being called or not..

Needed to reorganize the index.html a little bit to make the maintenance easier. Now the javascript logic is separated and stored here:
https://github.com/abap2UI5/abap2UI5/blob/eaf9e993c288c22eb8ffb578fadd422c9884dc82/src/01/01/z2ui5_cl_fw_http_handler.clas.abap#L136
And can be adjusted with the help of this repository here:
https://github.com/abap2UI5/js_files_of_abap2UI5/blob/main/webapp/fw/index.js
For a pure JS snippet i needed to delete the importing parameter:
https://github.com/abap2UI5/abap2UI5/blob/eaf9e993c288c22eb8ffb578fadd422c9884dc82/src/01/01/z2ui5_cl_fw_http_handler.clas.abap#L19
But added a new functionality for this here:
https://github.com/abap2UI5/abap2UI5/blob/eaf9e993c288c22eb8ffb578fadd422c9884dc82/src/01/01/z2ui5_cl_fw_http_handler.clas.abap#L290
The custom functionality which should be processed onEventFrontend can be imported via the new normal custom_js now. Example here:
  data(lv_js_on_event_frontend) = `sap.z2ui5.onBeforeEventFrontend.push( (args) => { debugger;  sap.m.MessageToast.show("test") } )`.

    DATA(lv_resp) = SWITCH #( server->request->get_method( )
       WHEN 'GET'  THEN z2ui5_cl_fw_http_handler=>http_get( t_config = lt_config
         check_logging = abap_true
         custom_js = lv_js_on_event_frontend
         )
       WHEN 'POST' THEN z2ui5_cl_fw_http_handler=>http_post( server->request->get_cdata( ) ) ).

fyi @choper725 let me know when this not works or if there are any problems.

never really used the custom js parameter in prod..
as its rather oreferable to make changes app wise and not handler wise for me..
what is the purpose of the js files repository ?
i see the http handler changed completly, anything new ?
what is the onbeforeevent frontend ?? first time seeing that

the onbeforefrontendevent array is just a chance to store funcitons which will be processed onfreontendevent and replace the importing parameter custom_js_on_event_frontend.
the js files repository is more or less just for testing before copying it to abap2UI5.
just refactored http handler a little bit, nothing new, try to make everything a little bit less messy but not easy with the abap & js mixture.

isee,
btw, not working on my end, getting this right after a pull

thank you for testing, you can try again:
https://github.com/abap2UI5/abap2UI5/pull/715

not getting logs in console when check_logging = abap_true

adjusted some logic again, should work now.

adjusted some logic again, should work now.

work now

this issue got big. i close this one. just open a new one if there are any further problems.