Cluster setup and redis queue shards

I'm on AWS, and I've set up a 3-node dynomite cluster across 3 availability zones (so, 9 nodes total).  To start playing around with conductor, I booted a single node with conductor on it, and configured it to speak to the dynomite cluster using a custom HostSupplier implementation that talks to our internal service discovery system, as well as the dyno-supplied HttpEndpointBasedTokenMapSupplier.
I loaded up the sample 'kitchensink' workflow to test things out, but found that I couldn't get it to start; task_1 would be in the SCHEDULED state, and polling for it with the API would just return 204 no content.
After digging into the redis queues implementation, I found that when it pushes data onto a queue, it round-robins each push across available shards (of which I have three, since my dynomite/redis cluster is booted on 3 AZs), but when it pops data from the queue, it only tries to pop from the current (conductor) node's shard.  After looking at redis directly, I found that the task_1 item queue was tagged with a different shard, so there's no way for conductor to ever poll for that task using this setup.
I ended up booting two more conductor nodes, so that I'd have a node in each AZ.  To poll for a new task, however, I have to issue an API call to each node until I find the one that will successfully dequeue it.  Ultimately, I want to put all conductor nodes behind a load balancer, with a single hostname in front of it.  Then it'll be a game of whack-a-mole to repeatedly request from the poll URL until the load balancer happens to round robin to the "correct" node.
All of this seems awkward to me -- is this intended behavior, or have I set up my cluster in an unexpected way?

@kelnos Your findings are correct, this is currently a limitation enforced by dyno-queues which requires conductor to be deployed across 3 AZs. Having said that however, dyno-queues provide high availability and high-durability guarantees in such a configuration, so the tradeoffs seem quite small in comparison.

Hi @apanicker-nflx. As per my understanding, Dynomite only provides high availability but not durability.
Can we refill the conductor task queues in case of multi-az failure?

Great, thanks for the clarification!

I'm having what seems to be a similar issue.
however, in my case I only have 1 single host per RACK (AZ).
I've configured dynomite w/ DC_SAFE_QUORUM, so all instances host the same data and provide redundancy to each other.
I have a single conductor instance and all workers connecting to that instance (for now).
must I have basically a "triplicate" deployment, where all AZ have workers, conductor instances and dynomite instances, and where within each AZ, workers should coomunicate to their respective conductor instance?
what about the UI server? do I also need to run 3 instances of it?

I realized a possible bad failure scenario here: what if there's an AZ outage?  The queue data will still be available on dynomite in the unaffected AZs, but there will be no functioning Conductor nodes dequeuing from the dead AZ's queue shard.  What is the recommended way to recover from this scenario, without having to wait for AWS to restore the AZ?

@kelnos @msf  could you please share your working configs of dynomite and conductor

@kimabd sure.  dynomite:
dyn_o_mite:
  auto_eject_hosts: true
  rack: us-east-1e
  distribution: vnode
  dyn_listen: <IP_ADDRESS>:8101
  stats_listen: <IP_ADDRESS>:22222
  dyn_seed_provider: florida_provider
  gos_interval: 10000
  hash: murmur
  listen: <IP_ADDRESS>:8102
  preconnect: true
  server_retry_timeout: 30000
  timeout: 5000
  tokens: '2815085496'
  secure_server_option: none
  datacenter: us-east-1
  read_consistency: DC_SAFE_QUORUM
  write_consistency: DC_SAFE_QUORUM
  mbuf_size: 16384
  max_msgs: 500000
  pem_key_file: /mnt/dynomite/conf/dynomite.pem
  dyn_seeds:
  - [redacted]:8101:us-east-1d:us-east-1:1383429731
  - [redacted]:8101:us-east-1c:us-east-1:1383429731
  - [redacted]:8101:us-east-1e:us-east-1:1383429731
  - [redacted]:8101:us-east-1c:us-east-1:2815085496
  - [redacted]:8101:us-east-1d:us-east-1:2815085496
  - [redacted]:8101:us-east-1e:us-east-1:4246741261
  - [redacted]:8101:us-east-1d:us-east-1:4246741261
  - [redacted]:8101:us-east-1c:us-east-1:4246741261
  servers:
  - <IP_ADDRESS>:6379:1
  data_store: 0

conductor:
APP_ID=conductor
EC2_REGION=us-east-1
EC2_AVAILABILITY.ZONE=us-east-1d
STACK=dev
environment=dev
db=dynomite
workflow.dynomite.cluster=dynomite
workflow.dynomite.cluster.name=dynomite
workflow.dynomite.connection.maxConnsPerHost=16
workflow.namespace.prefix=conductor
workflow.namespace.queue.prefix=conductor.queues
queues.dynomite.threads=32
queues.dynomite.nonQuorum.port=6379
workflow.elasticsearch.url=localhost:19300
workflow.elasticsearch.index.name=conductor

@kelnos Thanks for fast reply , do you mention all redis hosts for workflow.dynomite.cluster.hosts option?

@kimabd no, I've written a HostSupplier that uses our internal service discovery mechanism to provide the list of dynomite hosts.  We're also using dynomite-manager, so I use HttpEndpointTokenMapSupplier in Conductor as well.


[Event Parameter Change] Table 36 Sales Header - Procedure CreateSalesLine - Event OnBeforeCreateSalesLine

We would like the Sender added to the following event.
Table 36 Sales Header - Procedure CreateSalesLine - Event OnBeforeCreateSalesLine
Original:
Table 36 Sales Header - Procedure CreateSalesLine - Event OnBeforeCreateSalesLine

[IntegrationEvent(false, false)]
    local procedure OnBeforeCreateSalesLine(var TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean; var SalesHeader: record "Sales Header"; var SalesLine: record "Sales Line")
    begin
    end;

Change:
Added sender

[IntegrationEvent(true, false)]
    local procedure OnBeforeCreateSalesLine(var TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean; var SalesHeader: record "Sales Header"; var SalesLine: record "Sales Line")
    begin
    end;

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


Services not rendering on edit

Working
Data is being altered on the record in the query.
Issue
Changes are not rendering on the Front-End.

Cause
Had to look into the record being updated in Pages Controller.
Solution
Reference the content_id and not the menu_id when posting the changes to the database.


Add and configure console storybook add-on

Pull Request Template
Types of changes

[ ] 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 change)
[x] Config Change ( change to config or build process )
[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #54   +/-   ##
=======================================
  Coverage   97.52%   97.52%
=======================================
  Files          53       53
  Lines         485      485
=======================================
  Hits          473      473
  Misses         12       12

Continue to review full report at Codecov.

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


Add eventmesh-operator quick start document link to the home page.

Fixes #.
Motivation
Add eventmesh- operator quick start document link to the home page.
Modifications
Add eventmesh- operator quick start document link to the home page.
Documentation

Does this pull request introduce a new feature?  no

How about link this PR to a corresponding issue?

How about linking this PR to a corresponding issue?
Okay！

This doc not finished yet, I'll convert it to draft till it ready to review.

You can copy these two documents (https://eventmesh.apache.org/zh/docs/instruction/runtime and https://eventmesh.apache.org/zh/docs/instruction/runtime-with-docker), imitating the README of Kafka and RocketMQ, removing redundant descriptions, and controlling the length of the README file.

@Pil0tXia Modifications have been made.

@Pil0tXia Done.

Please note that I've deleted some lines in these two suggestions:

https://github.com/apache/eventmesh/pull/4709#discussion_r1447744121
https://github.com/apache/eventmesh/pull/4709#discussion_r1448313285

I suggest you directly copy the new changes in the suggestion code block.
Besides, once you have completed all the submissions, you can click "request for review" to notify me that the changes have been completed.

I still haven't seen you remove the redundant narrative that I pointed out. Please refer to the following two comments.

https://github.com/apache/eventmesh/pull/4709#discussion_r1448717473

https://github.com/apache/eventmesh/pull/4709#discussion_r1448720475


Gh 5 we need docs

Update README.md and remove autogenerated docs from the repository

I've never seen [//]: # (url), is that a way to comment out a link?
What about
<!-- [![][pypi-img]][pypi-url] -->
[![][travis-img]][travis-url]

[pypi-img]: https://img.shields.io/pypi/v/btb.svg
[pypi-url]: https://pypi.python.org/pypi/btb
[travis-img]: https://travis-ci.org/HDI-Project/BTB.svg?branch=master
[travis-url]: https://travis-ci.org/HDI-Project/BTB

Yes, @micahjsmith it's a way to abuse the markdown syntax to comment out something.
I got it from here: https://stackoverflow.com/questions/4823468/comments-in-markdown?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
The difference with what you suggest is that this produces nothing in the rendered HTML.
Anyway, it is something temporary. It will be there only until we publish to PyPi

Good to know!


Supported network adapters

Does the MIB-STD2 unit support the same network adapters as MIB-HIGH2?
https://github.com/jilleb/mib2-toolbox/wiki/Alternative-network-adapters

Should be... but we did not tested it like we've done it on MHI so far.

as per /etc/system/enum/devices/net
device(usb, ven=2001,dev=3c05) # D-Link DUB-E100 big version
device(usb, ven=2001,dev=1a02) # D-Link DUB-E100 small version
device(usb, ven=0b95,dev=772b) # Edimax EU-4208 small version
device(usb, ven=0b95,dev=7720) # Edimax EU-4207 big version
device(usb, ven=0b95,dev=1780) # DELOCK 61969 USB 2.0 Gigabit LAN Adapter
waitfor(/dev/socket)
driver (mount -Tio-pkt -o "verbose,phy_check,busnum=$(busno),devnum=$(devno)" devnp-asix.so)
start/wait(if_up -p ax0)
start(ifconfig ax0 <IP_ADDRESS>)
requires(inetd,)
requires(qconn,)
device(usb)
echo("No match found for device ven=$(ven), dev=$(dev), class=$(class), busno=$(busno), devno=$(devno), cfg=$(cfg), iface=$(iface), msven=$(msven), mscomp=$(mscomp), mssubcomp=$(mssubcomp)" )

Question: is it possible to add more ven&dev pairs to extend network adapter support for more devices?

device(usb, ven=2001,dev=3c05) # D-Link DUB-E100 big version

Connected to USB port, device is recognized correctly, IP address <IP_ADDRESS> is assigned to the network adapter, but that's it. Device is behind firewall and requires user to manually enable telnet/ftp.
I hope that there is some way to enable communication with unmodified unit. If not, why would the device be recognized, right?

... the fact that the device is recognized correctly does not mean that telnet or ftp will work "automatically", for these services to work, the "inetd" service must be started, which in Technisat units is not started by default, the next condition is to unblock port 23 or disable the firewall entirely
... therefore "toolbox" implements tools to run telnet / ftp / qconn etc ... "manually"

You are 100% correct. Other than recognizing the adapter, everything needs to be adjusted manually to gain access to the unit.
Just wondering how VW is using D-Link on this type of units?
What would be the reason to implement D-Link recognition exception if there's no way of enabling the communication with the unit?

"VW Testinterface" :)))

Ok, I can see some reference to port 1234 in Technisat firmware.
command /tmp/tsd.mibstd2.system.testinterface -control=tsd.mibstd2.system.testinterface.control -ipport=1234
So that's something new. Not sure if it's related to communication between RCC and MMX or diagnostic (outside) communication.

... need diagnostic tools ans special software but this topic is about "toolbox" :))))))

Back to initial question:
I'm having hard time using D-Link (actually AX88772B) with Technisat.
Unit freshly rebooted, USB-to-LAN adapter connected, hidden menu>gem>toolbox>network, <IP_ADDRESS> is listed (so I assume the adapter is recognized correctly), enabled ftp and telnet. And I can't connect with the unit.
Everything works when connecting over WiFi.
Can somebody confirm that D-Link is actually working with Technisat?

... yes

Quick update: converted my adapter from 0x2001, 0x3c05 to 0x2001, 0x1a02 and now network is working correctly.

... correct as you have the "small version" :)


Add commandUnknown, and piece events

@kyranet Can you add typings for these new events. Also it appears there isn't typings for commandRun.

Can I? 🤔

I guess, make a pr to this pr. Simpler that kyra can commit directly, but sure take a shot at it.


Dependency graph

Type of change

[ ] Added new project
[ ] Bug fix
[X] New features
[ ] Enhanced documentation

Changes proposed in this pull request

Project name: #151

Description

[X] Maintain code format
[X] Unit test

This fixes #87

One change to retain the test dependencies and a small nit. Otherwise, looks good.

Great! Thanks! Feedback applied.


Help on ideas for gracefully shutting down tasks spawned by set_delegate

I am using Lapin with Tokio, and I am making use of the set_delegate method to consume and execute messages in parallel. That works great, the problem arises when I want to shutdown the client gracefully, waiting for the tasks to finish.
Some ideas I had:

Keep track of each delegate execution join handles and join when shutting down.
Keep track of the number of running tasks with an (atomic?) counter, and wait for it to be 0, with a timeout to ignore stalled tasks.

Has anyone encountered a similar situation and perhaps could shed some light on how to accomplish this?
Thank you in advance.
I will post a code snipped of my current setup as soon as a I have my laptop with me.

Maybe use a Barrier?

Maybe use a Barrier?

What I did in the end is not using set_delegate and use a while loop + spawn tasks using a JoinSet:
let tasks = JoinSet::new();

// On each received delivery, spawn a new task and add it to the JoinSet
while let Some(delivery_result) = cons.next().await {
    tasks.spawn(async {
        // Do something async
    })
}

// Something triggers a shutdown (Typically a SIGTERM signal)

// Wait until all tasks are done
while tasks.join_next().await.is_some() {}

// Shutdown

This works great, however both while loops prevent outer code from advancing. I wonder if there is a way of iterating through the received messages while doing something else. I.e:
// Some code
queue.listen().await // Iterates through received messages and spawns tasks (as seen above)

// Instead of blocking above, here do something else
println!("Do something else")


CoreAPI.md needs more detailed request/response examples

Description
The CoreAPI.md document currently doesn't contain comprehensive REST request/response examples for all the endpoints. The required examples already exist within the fabric protocol-spec.md document in section "6.2 REST API".
https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md
As pointed out by @kchristidis it would be beneficial to rework CoreAPI.md doc to make these examples more accessible for our users.

@angrbrd you still on this?

I have created a matching issue in Jira here: https://jira.hyperledger.org/browse/FAB-123
@christo4ferris please close out this issue. Thanks!


Hey Grebtsew!

Thank you so much for this repo, this is exactly what I need for my project. The problem is that when I run it it gets stuck at the “got detection now create trackerbox” line 95. Are you able to boot it up on your end?

Hello @Sounart!
Thanks for testing the implementation!
The current implementation has not been touched in 3 years so there are probably a vast amount of problems due to changes in libaries used. I am currently working on a cleanup project where I reuvinate my old projects, such as this one. I will start looking at this today and let you know when I got it working again.
Project link: https://github.com/users/grebtsew/projects/2
Issue related to project: https://github.com/grebtsew/Realtime-Screen-Object-Detection/issues/5
Cheers,
@grebtsew

Hi again @Sounart,
Today I am glad to tell you that the implementation seems to be running OK atleast. There is still alot of cleanup and optimization to be done before I will create a release. I will leave this issue open util next release, so you can let me know if there are any problems.
Thanks for your patience and support!
Cheers,
@grebtsew

Appreciate it! From my mac, it will show one detection on the screen when I run main.py, but if I click anywhere, the screen overlay will disappear until I rerun the script. Any ideas? Also, the overlay box is misaligned. I updated all of the scripts I could find that refer to the screensize to my screen size which is 1792 x 1120. example:
output_compressed.mov.zip

Okey, I do unfortunately not have any mac devices in my possession, and can't create mac VM's due to license issues, therefore I can't debug this on a mac computer myself. However there are perhaps somethings we can try to debug this. The video you sent is great.
First thing i think of is the "Starting new HTTPS connection (1): www.google-analytics.com:443" log from your earlier run. After installing the pip packages run this command:
yolo settings sync=false
To turn off  data sync to google analytics. I don't think it will solve any of your problems but it will make performance a little better.
Also try doing this:

Regarding missed detections: There is an outcommented row #cv2.imshow('test', np.array(img))
in utils/shared_variables.py try uncommenting it and the row below with waitKey and run again to see if the collected screens seems correct. It should typically be your entire screen, make sure it is not just a small part of your screen showing. Use waitKey(0) to look at one frame instead of a stream of frames.
Regarding boxed disappearing boxes on click: Does boxes appear again if you make sure that the python application is in focus? If that is the case, I'm guessing the "stayontop" option for pyqt5 library works a little differently between windows/ubuntu and mac. There might be some OS specific flags to raise to make it work better. If you wanna test some out, take a look at the row "self.setWindowFlag(Qt.WindowStaysOnTopHint)" in utils/screen_overlay_handler.py.
Regarding boxes got wrong size: If the screen capture seems correct, there is probably still something wrong with the scaling. I will test this with some extra monitors and see if I get similar issues.

Cheers,
@grebtsew

This is really really helpful and I greatly appreciate your work and going above and beyond to help out! I will give these a try as soon as I can this weekend and will let you know what I can figure out!On Sep 8, 2023, at 2:16 PM, Grebtsew @.***> wrote:
Okey, I do unfortunately not have any mac devices in my possession, and can't create mac VM's due to license issues, therefore I can't debug this on a mac computer myself. However there are perhaps somethings we can try to debug this. The video you sent is great.
First thing i think of is the "Starting new HTTPS connection (1): www.google-analytics.com:443" log from your earlier run. After installing the pip packages run this command:
yolo settings sync=false
To turn off  data sync to google analytics. I don't think it will solve any of your problems but it will make performance a little better.
Also try doing this:
Regarding missed detections: There is an outcommented row #cv2.imshow('test', np.array(img))
in utils/shared_variables.py try uncommenting it and the row below with waitKey and run again to see if the collected screens seems correct. It should typically be your entire screen, make sure it is not just a small part of your screen showing. Use waitKey(0) to look at one frame instead of a stream of frames.
Regarding boxed disappearing boxes on click: Does boxes appear again if you make sure that the python application is in focus? If that is the case, I'm guessing the "stayontop" option for pyqt5 library works a little differently between windows/ubuntu and mac. There might be some OS specific flags to raise to make it work better. If you wanna test some out, take a look at the row "self.setWindowFlag(Qt.WindowStaysOnTopHint)" in utils/screen_overlay_handler.py.
Regarding boxes got wrong size: If the screen capture seems correct, there is probably still something wrong with the scaling. I will test this with some extra monitors and see if I get similar issues.
Cheers,
@grebtsew
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


[AutoPR] hdinsight/resource-manager

Created to accumulate context: hdinsight/resource-manager

(message created by the CI based on PR content)

@AutorestCI rebuild https://github.com/Azure/azure-rest-api-specs/blob/master/specification/hdinsight/resource-manager/readme.md

Working on generating https://github.com/azure/azure-rest-api-specs/blob/master/specification/hdinsight/resource-manager/readme.md for you!!!

Build SDK finished and cleaned


tbi(fiori-elements-writer): Write target config using contextPath

Addresses TBI : https://github.com/SAP/open-ux-tools/issues/1287

Uses contextPath routing target options instead of entitySet where applicable
Adds/updates tests
Manual integration tests have been performed into tools-suite

Thx @schreckstefan @devinea


Fixes #846

Summary
This PR fixes the problem highlighted in #846 .
Release Note
FIX TimestampResponse Time were not properly returned as GMT.
Documentation
None

Would you be able to confirm that the timestamp client here properly handles timezones/UTC? I would assume yes since we're just using the standard library.

Would you be able to confirm that the timestamp client here properly handles timezones/UTC? I would assume yes since we're just using the standard library.

Yes - confirmed this this morning.


feat: Data Factory add child Linked Service avm/res/data-factory/factory

Description
Adding child resource linked services.
Have also changed the integrationruntime in the MAX test file to not make the AutoResolveRuntime a managed IR. Instead leave it as is, then make a second IR that is managed and use this to test a linked service to attach to.
Closes #2414
Pipeline Reference

Pipeline

Type of Change

[ ] Update to CI Environment or utilities (Non-module affecting changes)
[x] Azure Verified Module updates:

[ ] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[x] My corresponding pipelines / checks run clean and green without any errors or warnings

@AlexanderSehr  I have made the changes that you have suggested, please review

Hey @clintgrove,
one last suggestion & one conflict to resolve, then we're good to go 💪. Please note that for the suggestion you need to run the Set-AVMModule script on the linkedService module.

Hey @clintgrove, one last suggestion & one conflict to resolve, then we're good to go 💪. Please note that for the suggestion you need to run the Set-AVMModule script on the linkedService module.

HI Alex. I did run a -recurse "Set-AVMModule -ModuleFolderPath ".\avm\res\data-factory\factory" -Recurse" and this should run all child/ sub folders. I see that linked-service does have a self generated main.json and a readme.md. Is this not what we expect?

Hey @clintgrove, one last suggestion & one conflict to resolve, then we're good to go 💪. Please note that for the suggestion you need to run the Set-AVMModule script on the linkedService module.

HI Alex. I did run a -recurse "Set-AVMModule -ModuleFolderPath ".\avm\res\data-factory\factory" -Recurse" and this should run all child/ sub folders. I see that linked-service does have a self generated main.json and a readme.md. Is this not what we expect?

Hey @clintgrove,
it is 110%. But it is curious that the ReadMe of the linked service did not seem to have been updated after the last change :

Could you give it another run? Maybe git had other plans 😄

Hey @clintgrove, one last suggestion & one conflict to resolve, then we're good to go 💪. Please note that for the suggestion you need to run the Set-AVMModule script on the linkedService module.

HI Alex. I did run a -recurse "Set-AVMModule -ModuleFolderPath ".\avm\res\data-factory\factory" -Recurse" and this should run all child/ sub folders. I see that linked-service does have a self generated main.json and a readme.md. Is this not what we expect?

Hey @clintgrove, it is 110%. But it is curious that the ReadMe of the linked service did not seem to have been updated after the last change :  Could you give it another run? Maybe git had other plans 😄

This should be resolved now

Resolved and very much merged. Thanks @clintgrove - I'll have an eye on the workflow to make sure it publishes


Cannot connect to mqtt via wss

When trying to connect to a wss:// mqtt endpoint no connection is established. State stays in connecting.

Fixed in commit 22d453e8515836469bfe3055192c85a923ed145f


fix(toggle): add checkmark icon for v10 mini toggle

Closes IBM/carbon-components-react#1929
Tile audit updates, and readme update
Changelog
Changed

Updated readme to include CARBON_USE_EXPERIMENTAL_FEATURES
Added checkmark svg back in for v10 small/mini toggle
Updated to latest version of Carbon components

@IBM/carbon-developers Can somebody do another review...? Thanks!


One-Time Welcome Page and Refined Welcome Message

Description

Display the welcome page only on the first visit
Make minor adjustments to the welcome message

Verification
Feedback Status
🚀 means fixed

@shishawn for review
@jessicalilii for testing the write access
thanks


minitower_oled.service fails to start

For some reason minitower_oled.service fails to start despite sysinfo.py running just fine when ran with python /usr/local/minitower/sysinfo.py
$ systemctl status minitower_oled.service
× minitower_oled.service - Minitower OLED Service
     Loaded: loaded (/etc/systemd/system/minitower_oled.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Sat 2024-06-08 18:25:03 EDT; 18s ago
   Duration: 235ms
    Process: 1128 ExecStart=sudo /bin/bash -c /usr/bin/python3 /usr/local/minitower/sysinfo.py (code=exited, status=1/FAILURE)
   Main PID: 1128 (code=exited, status=1/FAILURE)
        CPU: 234ms

Jun 08 18:25:03 raspberrypi systemd[1]: minitower_oled.service: Scheduled restart job, restart counter is at 5.
Jun 08 18:25:03 raspberrypi systemd[1]: Stopped minitower_oled.service - Minitower OLED Service.
Jun 08 18:25:03 raspberrypi systemd[1]: minitower_oled.service: Start request repeated too quickly.
Jun 08 18:25:03 raspberrypi systemd[1]: minitower_oled.service: Failed with result 'exit-code'.
Jun 08 18:25:03 raspberrypi systemd[1]: Failed to start minitower_oled.service - Minitower OLED Service.

running a raspberry pi 4 with rasbian lite 64bit
btw im using a custom username instead of "pi" if that makes any difference :/

could you please check if the sysinfo.py file in location /usr/local/minitower/ ?


Added amqp exchange-type option.

Closes #42

@48d90782 can you take a look please?

@wolfy-j Sure

Thank you @siad007


Create: New Python File missing from VS code shortcut and no sign of it in hotkeys

Behaviour
Normally when I used Ctrl+alt+windows+N to create a new file it gives me the option to create a txt file,.py or jupyter lab file. After a recent update it seems the .py is missing now while jupyter lab option still remains.
XXX
Steps to reproduce:

Load VS code version 1.71.2
Click File drop down and then New File
Notice that the pallet bar no longer shows .py as an option in dropdown.

We removed that option as we now use VSCode specific create python file command itself which is not supported in the New File UI. I'll talk with the team to reconsider adding it back.

Making the call to bring this back for now until we get some feedback from internal team.


.NET Core 2.0 Build Fails on Azure Devops

Hello,
I keep getting this error in my Azure builds
2019-02-04T12:17:12.5957839Z C:\Program Files\dotnet\sdk\2.2.102\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.AspNetCore.DataProtection.Abstractions". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.6006813Z C:\Program Files\dotnet\sdk\2.2.102\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.AspNetCore.Identity". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.6008114Z C:\Program Files\dotnet\sdk\2.2.102\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Options". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8809336Z Utilities\MailToken\IMailToken.cs(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8811919Z Utilities\MailToken\MailToken.cs(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8812149Z Utilities\MailToken\IMailToken.cs(7,58): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8812984Z Utilities\MailToken\IMailToken.cs(8,105): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8813451Z Utilities\MailToken\IMailToken.cs(9,68): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8813617Z Utilities\MailToken\IMailToken.cs(10,69): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8813800Z Utilities\MailToken\MailToken.cs(9,65): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8813973Z Utilities\MailToken\MailToken.cs(30,112): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8814162Z Utilities\MailToken\MailToken.cs(56,75): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8814321Z Utilities\MailToken\MailToken.cs(103,76): error CS0246: The type or namespace name 'IDataProtector' could not be found (are you missing a using directive or an assembly reference?) [D:\a\1\s\AppObjects\ApplicationObjects.csproj]
2019-02-04T12:17:12.8969851Z
2019-02-04T12:17:12.9006847Z Build FAILED.
It seems like the SDK isn't installing right. Please help

.NET Core 2.0 is not supported as of 2018/10.
Did you try to use supported .NET Core version?
Are you able to reproduce the same problem locally? (outside of Azure DevOps)
I assume that no, in which case: Did you try to contact Azure DevOps support?

Not actionable, closing.

This has been resolved. 2.0 is still supported. You just need to select the correct version in the dot net core tools. Also, remember to add .NET Core to your libraries through Nuget

Just to clarify: .NET Core 2.0 is out of support. It does not get even security fixes. I'd highly recommend everyone to NOT use it.


chore(master): release 1.1.92

:robot: I have created a release beep boop
1.1.92 (2023-06-26)
Miscellaneous

deps: lock file maintenance (7bd51d4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/keywind/releases/tag/v1.1.92 :sunflower:


Class in the footprint module for customization?

The stactools raster footprint utility uses a class for footprint creation. You can override any of the core steps (extract, densify, reproject, simplify) by subclassing. The primary motivation was the ability to use a custom reprojection function, specifically a custom implementation for the sinusoidal projection used by MODIS and VIIRS. By moving to functions only, we've lost that.
We could:

Add a class to the footprint.py module that the existing functions in that module would use. This would keep the the API simple (just function imports and calls) for standard use-cases, but allow subclassing when needed.
Do nothing. If you need different functionality in a specific step, write a custom function, import the others you need, and string them together yourself.

I'm leaning toward the "Do nothing" option

Thinking of ways to make the custom sinusoidal projection available. I hate to lose track of that work.
We could include it in the projection module:

Glass half-empty = dumping ground for oddball projections
Glass half-full = curated, reviewed selection of unique projections


Build WipperSnapper on ESP32 Arduino v2.0.7

Build on ESP32 Arduino 2.0.7
Bump version

Especially useful for https://github.com/espressif/arduino-esp32/pull/7828


Unable to add @key to an existing model

Hey, Amplify team!
I was hoping to get some assistance around adding sorting to an existing app. I was trying to add the createdAt to the @key directive, according to this stackoverflow answer.
When adding @key to an existing type model - I get an error when trying to run aws publish.
Any help would be fantastic.
Thanks for this awesome tool, loving it so far!
Which Category is your question related to?
API
Amplify CLI Version
➜  amplify -v
4.13.4

What AWS Services are you utilizing?

Category
Resource name
Operation
Provider plugin

Api
XXXXXXXXXXXXXXXX
Update
awscloudformation

Auth
XXXXXXXXXXXXXXXX
No Change
awscloudformation

Hosting
XXXXXXXXXXXXXXXX
No Change
awscloudformation

Storage
XXXXXXXXXXXXXXXX
No Change
awscloudformation

Provide additional details e.g. code snippets
Error
✖ An error occurred when pushing the resources to the cloud

Attempting to edit the key schema of the ImageTable table in the Image stack.
An error occured during the push operation: Attempting to edit the key schema of the ImageTable table in the Image stack.

Updated Schema
// amplify/backend/api/chainappterparty/schema.graphql
type Image @model @key(fields: ["createdAt"]) {
  id: ID!
  long: String!
  lat: String!
  image: String!
  createdAt: String!
}

Original Schema
type Image @model {
  id: ID!
  long: String!
  lat: String!
  image: String!
}

@kesteinbakk You're right - the primary index of a DDB table cannot be changed once the table is provisioned. Thw workaround would be a two step process:

Remove the model (if you're fine with loosing the data stored in DDB)
Add the model back with the desired @key attributes

@kaustavghosh06 Thanks, but that failed for me as well. Getting an error that the stack already contains an export of the table name. I actually need to delete the stacks entirely, or make a new name for the table... Did you actually have any luck with this?


fix setting params

Set const directly instead of trying to get them from URL params.

Thank you Kory, but you're speaking Greek to me. lol.
Zachary R. Venghaus
Columbus ISD Director of Technology
979.732.5704 ext 111
<EMAIL_ADDRESS>...Preparing today's students to succeed in tomorrow's world.
"Often when you think you’re at the end of something, you’re at the
beginning of something else." ~ Fred Rogers
CONFIDENTIALITY NOTICE: This e-mail, and any attachment, is intended only
for the person or entity to which it is addressed and may contain
confidential and/or privileged material. Any review, re-transmission,
copying, dissemination or other use of this information by persons or
entities other than the intended recipient is prohibited. If you received
this in error, please return it to the sender and delete the material from
any computer. Columbus ISD will not be held responsible for the contents,
accuracy, completeness or validity of any information contained within this
message.
On Fri, Sep 18, 2020 at 2:02 PM Kory Prince<EMAIL_ADDRESS>wrote:

Set const directly instead of trying to get them from URL params.
You can view, comment on, or merge this pull request online at:
https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1
Commit Summary

fix setting params

File Changes

M index.html
https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1/files#diff-eacf331f0ffc35d4b482f1d15a887d3b
(6)

Patch Links:

https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1.patch
https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQ2YAL64P4Q7HZDNBNLWK4TSGOVGBANCNFSM4RSMMJDQ
.

Lol, you just need to merge this PR. There should be a merge button somewhere on this page for you.
That will pull the code change I sent.

You can also see the exact changes I made here: https://github.com/zacharyvenghaus/columbusisd-covid-tracking/pull/1/commits/af906af1042873b07025f9c62970f8b3df065f50


minio: support building on darwin

Motivation for this change
Modified build command and flags to allow successful build on Darwin
systems. Based on flags in GitHub issue from minio project
Things done

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

[ ] NixOS
[X] macOS
[ ] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] 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)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Reviewed points

[x] package name fits guidelines
[x] package version fits guidelines
[x] package build on Darwin
[x] executables tested on Darwin
[ ] all depending packages build

Possible improvements
> minio
NAME:
  minio - High Performance Object Storage

DESCRIPTION:
  Build high performance data infrastructure for machine learning, analytics and application data workloads with MinIO

USAGE:
  minio [FLAGS] COMMAND [ARGS...]

COMMANDS:
  server   start object storage server
  gateway  start object storage gateway

FLAGS:
  --certs-dir value, -S value  path to certs directory (default: "/Users/lclaude/.minio/certs")
  --quiet                      disable startup information
  --anonymous                  hide sensitive information from logging
  --json                       output server logs and startup information in json format
  --help, -h                   show help
  --version, -v                print the version

VERSION:
  DEVELOPMENT.GOGET

Can you try to provide a better version message?
Comments

@ludovicc unfortunately, the version issue seems to be pre-existing and I don't know enough about how go works to get what seems to be some linker flags passed in properly. Do you have any advice here?

Could it be that buildFlags overrides buildFlagsArray? If yes addig your flags to buildFlagsArray should still keep the version

@bachp I mean to say that building minio from nixpkgs on master still results in a DEVELOPMENT.GOGET version it seems, this change doesn't impact that.

@afontaine You are right. I will fix this in another MR. @ludovicc We should not block this change because of an unrelated issue.

yes, please don't block this MR because of this minor issue. @bachp a separate MR would be great, thanks.

I'm sorry, one last remark: @afontaine you added the flag -tags=kqueue, but I can see also -trimpath being used. Is that relevant to this build? Those flags also seem to be used for all architectures if I understand well goreleaser config.
https://github.com/minio/minio/blob/73890f31af5f1247c1f5b8131f136d1045d6b5f6/.goreleaser.yml#L67
https://github.com/minio/minio/blob/36d36fab0bfeb0e91099e852408d0e1ac2e06440/Makefile#L61

@ludovicc you seem correct, and it looks like all these flags seem to be used across all architectures, so I removed the darwin check for -tags kqueue as well.

and a little more playing around and things now all fit into the buildFlagsArray properly :tada:

it looks like CGO is disabled on linux builds as well, so I might as well just keep it consistent.

I reviewed the latest update and it works well on Darwin. Version is still DEVELOPMENT.GOGET but it's a very minor annoyance.

Ah I just noticed the merge conflicts, they are all fixed up now :rocket:

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/239


use custom ext::Option for default_value in DeclStorageLine

related to https://github.com/paritytech/substrate/issues/1570

He updated the versioning because the CI is currently very sensitive. In this case it could just have been ignored and merged.


Export rev

Add support for exporting database as rev files

Currently missing handling of primitive types 1, 3, 5, 9 and 10 as I haven't seen a file with them in yet.


Utilize new directory name and remove deprecated fhirpath directory for docker

I didn't dig into the reason why we are copying package.json from the react app into the docker image for the server dockerfile, but it's out of the scope for this.

Coverage remained the same at 94.6% when pulling a428d3466121d3fd5681eca00210fddebb62c186 on brandonin:main into 5cdbc666d10f3278975f402ff89b311f225a76e8 on medplum:main.

Thanks @brandonin !

I didn't dig into the reason why we are copying package.json from the react app into the docker image for the server dockerfile, but it's out of the scope for this.

Dockerfile.app and Dockerfile.server are only used for Docker-based development, and (as you probably noticed) they're not heavily utilized.  Most of the engineers on the team develop directly on the host OS.  We've had many conversations about to what extent we want to officially endorse and support Docker-based development, or if we should cut it entirely because it just adds confusion.  We'd love your feedback or suggestions on that.
The Docker image that is actually deployed is generated from Dockerfile (no extension).  Most of the heavy lifting is done in scripts/deploy-server.sh, which creates the medplum-server.tar.gz file.

@codyebberson ,
I much rather prefer developing using docker based environments because you get a lot of the niceties of knowing that if it is working on the docker image, it should in theory work as an artifact for any environment you are planning to deploy it to. When using docker-based environments you'll be able to run E2E and integration tests by spinning up a docker image and running that in Circle CI, github actions, creating the artifact after a passing build and then promoting that instance at a later time for release. Without a proper docker environment you'll be struggling in order to run E2E tests unless you're intercepting and mocking all the endpoints (which defeats the purpose of E2E tests and turns them into intergration tests). Also in a matter of an hour I was able to fix it and run the app entirely.
There are tradeoffs, but I generally like the ease of use for docker. It just takes some knowledge and experience of how to get around some of the gotchas, for example knowing to use your local network IP in order to get it to work vs using localhost.


write tickets for remaining work on eligibility questionnaire

Either create tasks in the epic or write separate tickets for any remaining work on the eligibility questionnaire.

I added the following tickets:
#215 , #216 , #217, #218


Missing css on Bower.json

I think you can add the .css into these files :
package.json, bower.json and dot bower.json
    "main": ["./release/js/ui-navbar.js", "./release/css/ui-navbar.css"],
And re-sync the bower.json with dot bower.json, for windows user's.
Thank you for your work.

@clabnet file added in version 0.4.5.
Please reopen it if not fine.


chore: Update dependencies.

Coverage remained the same at 93.834% when pulling 6434d4a6ab3ae0f867ccdb26f77ece56e90f68bb on coreyfarrell:update-next into d6db55175c240bda28184ae2ebfc8587edc21f3e on istanbuljs:master.


Experiment 3 Implementation

Start of work on an implementation for experiment 3. Needs iteration to get intended behavior.

@rockretep please pull the latest from the main branch to account for the changes from Chris' PR #4 and resolve the merge conflicts (along with any pending changes from Gema's review)

@rockretep heads up that all other open PRs have been merged, so you should be able to take the latest from the main branch now

Everything should be ready to merge into main now.

Thanks for your efforts @rockretep !🙂


issue in getting started

Hi;
I couldn't run the command "cd ./model/voc8.res50v3+.CPS" because there is no folder called model.
where is the folder  model?

Sorry for the late reply. The model directory does not exist. Just cd ./exp.voc/voc8.res50v3+.CPS is OK.


Dont' require JSON input when null input is enabled

Fixes #76 and also based a but on #85 by @zstadler

Manually tested with other options and various combinations and things seems to work

Thanks for the contribution @wader. I added the check to trigger an API call when query & --null-input are both not empty. I also backfilled some tests.

@owenthereal 👍 Oh missed that, thanks!


made page for creating and deleting QR codes

Description
Create QR codes from urls, to share with others.
closes #
Changes:
Screenshots:
Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] The PR includes a picture showing visual changes
[ ] Added Analytics-events if relevant
[x] CHANGELOG.md has been updated. Guide

Får en feilmelding uten innhold når jeg prøver den

Uhm. Litt kleint, men det funker fortsatt ikke


Infinite loop in WolfLSZoom when using stan for optimization

Summary:
Infinite loop in WolfLSZoom when using stan for optimization
Description:
When using Stan for optimization (with optimizing in rStan), the function WolfLSZoom (file bgfs_linesearch.hpp) is called, and causes infinite loop in some conditions.
When I run my script, it appears to be stuck in an infinite loop. Using Gdb on the code, I get the following values for local variables in the main loop of the WolfLSZoom function:
itNum = 59171617
alo = 0.73678486652303887
ahi = 0.73678486652303898
This indicates that there is indeed an infinite loop (itNum is high). The reason for that is that the loop is expected to terminate when ahi-alo < min_range, but ahi and alo stay constant because of rounding errors in the loop, and, in my particular case, ahi-alo = 2^(-53) > min_range = 10^(-16).
Do we expect to always have abs(ahi) < 1 and abs(alo) < 1? If so, then a simple fix could be to choose a larger value for min_range (10^(-15) would do the trick).
Reproducible Steps:
The bug is 100% reproducible with my R script, but, unfortunately, I cannot publish the source code of my example.
Version:
I am using rStan 2.21.8, but the bug seems to still exist in Stan's sources.

Thanks for reporting and for suggested fixes.

The bug is 100% reproducible with my R script, but, unfortunately, I cannot publish the source code of my example.

Is there a way you can publish a simple example that has the problem with simulated data?  Without an example, it can be very hard for us to diagnose what's going on, though this is a hint that maybe we want to cap the number of iterations.
I'm pinging @SteveBronder, who is the person most familiar with our existing L-BFGS code.  Some of that's been refactored, I think, on the way to implementing our new variational inference algorithm, but Steve will know more.

Is there a way you can publish a simple example that has the problem with simulated data? Without an example, it can be very hard for us to diagnose what's going on, though this is a hint that maybe we want to cap the number of iterations.

Sorry, but that's really difficult to publish this piece of code. But that's the reason why I tried to debug the code myself. I really think the current value of min_range does not guarantee termination, and that a larger value would do.

I'm pinging @SteveBronder, who is the person most familiar with our existing L-BFGS code. Some of that's been refactored, I think, on the way to implementing our new variational inference algorithm, but Steve will know more.

Great! Let's wait for Steve then!

I confirm that replacing 1e-16 with 1e-15 fixes the issue in my particular case. But it's unclear that it would fix it in general, since there is no reason alo and ahi would be smaller than 1 (if I understand well...).

The general fix could be using relative tolerance instead of absolute, for example something like
std::fabs(alo - ahi) < 1e-15*std::max(1.0, alpha)

However, infinite looping suggests a different problem to me. WolfLSZoom() is supposed to stop as soon as it finds a point that satisfies the Wolfe conditions. If the range shrinks to the limit of floating point precision then either WolfLSZoom did not recognize a valid point, or it was called on a range that does not contain any interval where Wolfe conditions hold. The latter would be an error in WolfLineSearch(), assuming your target function is continuously differentiable.

Do you mean that there is some theorem telling that a point with Wolfe conditions necessarily exists in the interval? How robust is this theorem w.r.t. floating point approximations?

Condition (i) is equivalent to saying the average of the derivative over the interval between the starting point and final point is at least c1 times the derivative at the starting point. This always holds in some neighbourhood of the starting point.
Condition (ii) says the derivative at the final point is at most c2 times the derivative at the starting point, and must hold eventually or the target distribution cannot be proper.
When c1 < c2 the mean value theorem guarantees there is some overlap. Stan uses c1=0.0001,c2=0.9 so I think it's quite robust.
Condition (iii) refines condition (ii) but does not change the analysis--a continuously differentiable target function cannot skip the region where (iii) holds when moving into a region where (ii) holds.

@jhjourdan apologies for my slow delay, imo this sounds like a floating point error due to rounding. Can you try @nhuurre's suggestion? Something like replacing line 147 with
const Scalar epsilon = std::numeric_limits<Scalar>::epsilon();
const auto min_a = std::min(alo, ahi);
if (std::fabs(min_a - alpha) <= epsilon * std::fabs(min_a) + min_range)

If that works then I put in a PR to patch that. Though it would be nice to be able to find a test that catches this so we know we have fixed it and not done a silly thing. I'd have to think of a model that would cause this to happen
@nhuurre there are some extra heuristics during the search to satisfy the wolfe conditions and it could be caused by those, but I'd need to dig deeper to figure out where those heuristics came from and compare against other ideas.

Sorry for the delayed answer: I needed some time to realize that for my particular model, the infinite loop disappears with rstan 2.26.23, and I needed some time to actually test with lots of different data that the patch you are proposing actually fixes the issue on 2.21.
(I'm not sure why 2.26 fixes the issue, perhaps the model is evaluated with better accuracy. In any case, the piece of code where the infinite loop appears does not seem to have significantly changed between the two versions, so it's still worth fixing.)
So the answer is yes, your patch fixes the issue, I no longer observe the infinite loop that we were seeing.


Proposal: Embed WebView2 Control into a Scrollviewer and disable the Chromium-style scrolling by default

Proposal: Embed WebView2 Control into a Scrollviewer and disable the Chromium-style scrolling by default
Summary
Due to the limited performance of Chromium WebView2 scrolling especially on touch screen or trackpad ，use UWP ScrollViewers to give a smoother scrolling similar to EdgeHTML WebView.
Rationale

Chromium scrolling is not smooth enough to give a good experience to touch-screen and trackpad users.
A ScrollViewer can give a scrolling experience similar to other UWP apps or the EdgeHTML WebView, to provide a continuous and immersive experience for al users.

WebView2 is not optimized for touch inputs and trackpad .

Scope
| Capability | Priority |
| Use UWP ScrollViewer instead of WebView2 default  | Must |
| Disable the scroll of WebView2 | Must |
Important Notes
UWPlize the experience of WebView2!

@predavid and @codendone FYI

Pretty good. More radical solution is to update(rebuild) Edge's smooth scrolling experience directly, which was satisfactory when using old EdgeHTML. And I guess there must have been someone who proposed this in the FeedbackHub.

Pretty good. More radical solution is to update(rebuild) Edge's smooth scrolling experience directly, which was satisfactory when using old EdgeHTML. And I guess there must have been someone who proposed this in the FeedbackHub.

Using UWP-Styled ScrollViewer? That's pretty nice! But I think that needs a lot of hard work to integrate it into Chromium rendering system.

Edge itself has fairly decent handling of touchpad/touch screens already. I think a better ask would be to enable that handling in WebView 2, because AFAIK WebView 2 captures all input in it so a ScrollViewer can't work since there's no way for it to get input and recognize scroll/pan gestures.

At least make the scrollbar thumb modern by default for all pages unless overridden by the site, it looks terrible currently.

The approach proposed here is probably not going to happen. If WebView2 drew into an enormous surface the width/height of the entire page, that would provide the desired smooth scrolling experience but would have a huge performance cost for that surface. That surface cost could be mitigated if WebView2 drew into a XAML VirtualSurfaceImageSource, which would require significant design changes and other complexities due to the WebView2 Runtime rendering outside of the app process.
It sounds like this was just one idea, though, and the core request for this proposal is "Ensure WebView2 has a smooth scrolling experience". If that is correct, then I suggest we focus this proposal on that request.
@Jaiganeshkumaran I agree it would be good to have the scrollbar visuals match. Could you log that as a separate issue?

For reference, item for updating scrollbar look is here: #6192


PSCi console needs to support terminal colours

As per title.

Needs to? Is the display broken (showing colour codes as text or suchlike) or just not coloured?
I'm assuming this is 0.9 related

It's not coloured, this is correct im in ps 0.9.1 and new pulp.

@nwolverson it needs to. I'm on a fresh (yesterday, actually) Arch install and color codes show up as text in the PSCI console in Atom.
Typing main into the input field and pressing Enter gives me an Unknown value [33mmain[0m error.

Oh thanks @mrkgnao, that's the opposite answer, I'll have to look into it.
Really what we want is a protocol to talk to psci rather than it giving its terminal output...

Colors should now work 047a4d39c61e6ee1a548b4596e7e5046ac414dc1 0.13.5

Works, cheers!

Can confirm that it works too.
On Mon, Jun 20, 2016, 2:02 AM Srepfler Srdan<EMAIL_ADDRESS>wrote:

Works, cheers!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nwolverson/atom-ide-purescript/issues/80#issuecomment-227018768,
or mute the thread
https://github.com/notifications/unsubscribe/ANhd7taJqIP5N4QFopZqkU7EgzH1AF-Eks5qNadrgaJpZM4Iwb3H
.


Pasting with AI: if you're using AI, in my view it ought to be free and/or private

Description of the new feature / enhancement
I signed up for an OpenAI API key, thinking that it offered some use for free.  It doesn't, but OpenAI is not clear about that.  That was annoying as their support is slow and poor.  But really, paying for AI and sending private info to a company, just to do fancier pasting, that is a little over the top.
Scenario when this would be used?
The feature sounds interesting, but if it is not implemented in a good way, then it should be left out, until it can be implemented in a better way.  My machine has a GPU.  It can't figure out how to paste text without paying an outside fee for artificial intelligence?  I get that AI is all the rage, but there should be limits, and the incorporation of AI should be thoughtful, not gratuitous.
Supporting information
Thank you for your work on PowerToys over the years.  Sorry, I was not sure how else to leave feedback.  This probably is not quite the right place.

/dup https://github.com/microsoft/PowerToys/issues/32960


Error after Homeassistant OS 14

Hi, after updating to HomeAssistant OS 14 the integration stopped working with error: " Setup failed for custom integration 'linksys_velop': Unable to import component: cannot import name 'entity_registry' from 'homeassistant.config_entries' (/usr/src/homeassistant/homeassistant/config_entries.py)"

Duplicate of #522 and #541.
Please ensure you're running at least 2024.12.1 of this integration.


Fix bug in writing two-dimensional problems

Coverage remained the same at 78.762% when pulling 0e1ff07cae9c67a0bc61dec4950f6368b6a6d099 on fix/io_2d into c9140171710c1177af144f57cd4fa8a8db44677f on master.


cors issue poped when deployed to vps server on centos

In local it works fine but when it is hosted in live server, it shows following issue

Access to XMLHttpRequest at 'http://sockjs.pusher.com/pusher/app/myKey/20/2o3o018b/xhr_streaming?protocol=7&client=js&version=4.3.1&t=1551526399491&n=3' from origin 'http://<IP_ADDRESS>' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
and

Firefox can’t establish a connection to the server at ws://<IP_ADDRESS>:6001/app/myKey?protocol=7&client=js&version=4.3.1&flash=false

Any help is appreciated, thank you.

Has any help been offered regarding this?

Same issue for me

First, see here: https://docs.beyondco.de/laravel-websockets/1.0/basic-usage/pusher.html#usage-with-laravel-echo you'll need to set disableStats: true to prevent Echo from firing off requests to sockjs.pusher.com.
For the second issue, make sure your port 6001 is open on your server's firewall.

@francislavoie I followed your instructions and I still facing this issue. I deployed on Laravel Forge. It works on localhost and I have set up websockets on forge using the instruction in the docs but still I face this issue. Help please

Same here, any solution about it?

Same here, any solution about it?
pusher  work on my computer where the app is installed, but in another device is connected on my local is not work, have an issue with cors


placing comment still buggy (sometimes you need to press 5x that its published once)

Describe the bug
Try to post a comment and wait until its reflected
To Reproduce
Post a comment
Expected behavior
See if the comment will be refreshed right away
Or at least after waiting
For me it did not appear even after waiting (just sometimes)
Screenshots
See video
https://drive.google.com/open?id=1zgma9gglBdjX5Tsno6RqPe22YjGOxonB
Smartphone (please complete the following information):
Iphone X
Latest iOSD

just to note something here @marcelinhio in the video if you look at the View x comments the number increases when you comment on things, the reason why it doesnt show up because the comments on the front of the posts are basically the two most popular and since you just added yours it doesnt appear


Cookie fallback for Safari private browsing

localStorage is not supported by Safari in private mode but cookies are supported. Cookies persists on page refresh etc, so fallback could be implemented.

Can we build this as a plugin maybe, so it doesn't pollute the codebase - I'll work on it, if you folks want.

Any progress on this issue?

Yup! Almost done :) there's a major update coming soon.
On Tue, Dec 20, 2016 at 5:20 AM Pontus Karlsson<EMAIL_ADDRESS>wrote:

Any progress on this issue?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/marcuswestin/store.js/issues/156#issuecomment-268206937,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIDfyuSv6MLvhYCzrWIkQS0qUfFijqRks5rJ6vggaJpZM4IYJ70
.

--
-- while mobile

store.js v2 is almost complete, and has a cookie storage option (among a bunch of additional addon features - see https://github.com/marcuswestin/store.js/tree/v2-dev/storage & https://github.com/marcuswestin/store.js/tree/v2-dev/addon). Stay tuned for an official release.

This will be part of version 2 when released in the new year.

Store.js v2.0 has been released with a cookie fallback for safari private browsing.
If you update to the latest version using the v1 backcompatible build you will automatically get this functionality plus a bunch more :)

Thank you for your work!
One more thing:
There is a limit of data size stored in cookie. Is store.js preventing from writing too much/too big data to the cookie store?


Add locale and CalendarIdentifier

Hi dude
I've added locale and CalendarIdentifier for suppor calendar All type of locale for example Persian and etc ...
And add some cool stuff you may enjoy
thanks in advance
Hussein Habibi Juybari
Pictures :

Thanks a lot.
Could you please add some documentation about these features in README.md if you have time?
Thanks in advance.

Yes sure. I'll add documents in README.md file

@Husseinhj thanks, man, I really appreciate it.

@maximbilan your welcome dude ✌🏻


fix: removed unused method teamsActivityHandler

Fixes #4259
Description
Invoke activity with the name adaptiveCard/action is supported in ActivityHandler class, the method handleAdaptiveCardAction is not needed in teamsActivityHandler class.
Specific Changes

Removed unused method handleAdaptiveCardAction in teamsActivityHandler class.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.002%) to 84.486%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
19903

Relevant Lines:
22310

💛  - Coveralls


movement reluctance

What needs occurred
#85
What you changed (What reviewers have to see)

Enhance: configurable evaluation function
Refac: StaticAllocationCalculator use Config

Check list

[ ] Code styles confirmed
[ ] Test confirmed

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

Comparison is base (1998529) 93.39% compared to head (245a5a4) 93.37%.

:exclamation: Current head 245a5a4 differs from pull request most recent head 2bd1ac0. Consider uploading reports for the commit 2bd1ac0 to get more accurate results

Files
Patch %
Lines

...trategies/MagneticAllocation/MagneticAllocation.py
83.33%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##              dev      #86      +/-   ##
==========================================
- Coverage   93.39%   93.37%   -0.02%
==========================================
  Files          27       27
  Lines         666      664       -2
==========================================
- Hits          622      620       -2
  Misses         44       44

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


[CHANGE] Use of different Thorchain explorer

To improve overview of THORChain txs/addresses we should switch to a better performing explorer.
Please change tx to
thorchain.net/tx/{hash}
and addresses to
thorchain.net/tx/{addresses}

QA done.


下载在XCode中无法运行，报错

Code Signing Error: No account for team "T86X98NCU2". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.
Code Signing Error: No signing certificate "iOS Development" found:  No "iOS Development" signing certificate matching team ID "T86X98NCU2" with a private key was found.

再试一下：

去除代码签名：https://github.com/banchichen/TZImagePickerController/commit/60458234d3e4114ad2c9e7585d6181e3d028ad02


Column not found: 1054 Unknown column

I have two eloquent model in ManyToMany Relationship (Student, Exam)
Student:
public function exams()
    {
        return $this->belongsToMany(\App\Exam::class)
                    ->using(\App\ExamStudent::class)
                    ->withPivot([
                        'pause_limit',
                        'questions',
                        'warnings',
                        'time_left',
                        'started_at',
                        'current_started_at',
                        'last_ping',
                        'is_online',
                    ]);
    }

Exam:
public function students()
    {
        return $this->belongsToMany(\App\Student::class)
                    ->using(\App\ExamStudent::class);
    }

And I am fetching a row and trying to update but it is showing an Error
Update:
public function ping(Exam $exam)
    {
        Gate::authorize('join', $exam);

        $examStudent = ExamStudent::where('student_id', Auth::user()->id)
            ->where('exam_id', $exam->id)
            ->first(['last_ping']);

        $examStudent->last_ping = now();
        $examStudent->save();

        return response()->json(['message' => 'pong'], 200);
    }

Error:
"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' (SQL: update `exam_student` set `last_ping` = 2020-05-19 16:11:21 where `` = 2020-05-19 16:07:42 and `` = 2020-05-19 16:07:42)"

Paste the entire ExamStudent model.

<?php

namespace App;

use Illuminate\Database\Eloquent\Relations\Pivot;

class ExamStudent extends Pivot
{
    public $timestamps = false;

    protected $casts = [
        'exam_id'     => 'integer',
        'student_id'  => 'integer',
        'pause_limit' => 'integer',
        'warnings'    => 'integer',
        'questions'   => 'array',
        'time_left'   => 'time',
        'last_ping'   => 'datetime'
    ];

    protected $guarded = [];

    /**
     * @return bool
     */
    public function getIsOnlineAttribute()
    {
        return time() - strtotime($this->last_ping) <= 90;
    }
}

strtotime($this->last_ping)

strtotime($this->last_ping)

last_ping will be a datetime object, so that code won't work.

I feel like we are missing some code here. Some global scopes or something that is adding those where clauses.

Also don't pass an array of columns to first. Let it pull all the columns.

The exam_student table doesn't have a primary key (e.g. id), right? Without it, it's not possible to update a record like this.
You can only update the pivot record if you get it from a relationship:
$examStudent = $exam->students()->withPivot('last_ping')
    ->where('student_id', Auth::user()->id)->first()->pivot;

$examStudent->last_ping = now();
$examStudent->save();

@staudenmeir as per you we can also solve this by adding public $incrementing = true; right?

Does the pivot table have an id column?

I will add this

Hi. I have a similar issue with @RahulDey12. I've got two Models: User and Training, which have a many-to-many with the Appointment model used as pivot:
User:
 protected $fillable = [
        'name',
        'email',
        'password',
        'role' => self::ROLE_ASPIRING_STUDENT,
    ];

    /**
     * The attributes that should be hidden for serialization.
     *
     * @var array<int, string>
     */
    protected $hidden = [
        'password',
        'remember_token',
    ];

    /**
     * The attributes that should be cast.
     *
     * @var array<string, string>
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
    ];

    public function trainings(): BelongsToMany
    {
        return $this->belongsToMany(Training::class)->using(Appointment::class);
    }

Training:
protected $fillable = [
       'type',
       'startDate',
       'endDate',
       'status' => self::ACTIVE_TRAINING,
       'slots' => self::DEFAULT_MAX_SLOTS,
   ];

   /**
    * The attributes that should be cast.
    *
    * @var array<string, string>
    */
   protected $casts = [
       'startDate' => 'datetime',
       'endDate' => 'datetime',
   ];

   public function students(): BelongsToMany
   {
       return $this->belongsToMany(User::class)->using(Appointment::class);
   }

Appointment:
```

protected $table = 'appointments';
public $incrementing = true;
protected $fillable = [
    'status' => self::ACTIVE_APPOINTMENT
];

The Appointment extends the Pivot class, and it has no id as primary key. Instead in the database, I'm using the id of the linked training and user as composite primary key. I have a use case in which I want to set the status of an Appointment to cancelled. The code looks like this:

$existingAppointment =
Appointment::where('training_id', $trainingId)
->where('user_id', $userId)
->where('status', Appointment::ACTIVE_APPOINTMENT)
->first();
if ($existingAppointment === null) {
throw ValidationException::withMessages(['noAppointment' => 'There are no appointments for this date.']);
}
    $existingAppointment->status = Appointment::CANCELED_APPOINTMENT;
    $existingAppointment->save();

I know that Laravel does not support composite keys in it's models, and I understand the solution of adding the id property to the Appointment model, but is there another way in which I could use the Training's and User's ids as primary keys ? Maybe a one-to-many relation between Training and Appointment, and another one for the User and Appointment ?

Hi. I have a similar issue with @RahulDey12. I've got two Models: User and Training, which have a many-to-many with the Appointment model used as pivot:
User:
 protected $fillable = [
        'name',
        'email',
        'password',
        'role' => self::ROLE_ASPIRING_STUDENT,
    ];

    /**
     * The attributes that should be hidden for serialization.
     *
     * @var array<int, string>
     */
    protected $hidden = [
        'password',
        'remember_token',
    ];

    /**
     * The attributes that should be cast.
     *
     * @var array<string, string>
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
    ];

    public function trainings(): BelongsToMany
    {
        return $this->belongsToMany(Training::class)->using(Appointment::class);
    }

Training:
protected $fillable = [
       'type',
       'startDate',
       'endDate',
       'status' => self::ACTIVE_TRAINING,
       'slots' => self::DEFAULT_MAX_SLOTS,
   ];

   /**
    * The attributes that should be cast.
    *
    * @var array<string, string>
    */
   protected $casts = [
       'startDate' => 'datetime',
       'endDate' => 'datetime',
   ];

   public function students(): BelongsToMany
   {
       return $this->belongsToMany(User::class)->using(Appointment::class);
   }

Appointment:
protected $table = 'appointments';
    public $incrementing = true;

    protected $fillable = [
        'status' => self::ACTIVE_APPOINTMENT
    ];

The Appointment extends the Pivot class, and it has no id as primary key. Instead in the database, I'm using the id of the linked training and user as composite primary key. I have a use case in which I want to set the status of an Appointment to cancelled. The code looks like this:

 $existingAppointment =
            Appointment::where('training_id', $trainingId)
                ->where('user_id', $userId)
                ->where('status', Appointment::ACTIVE_APPOINTMENT)
                ->first();
        if ($existingAppointment === null) {
            throw ValidationException::withMessages(['noAppointment' => 'There are no appointments for this date.']);
        }

        $existingAppointment->status = Appointment::CANCELED_APPOINTMENT;
        $existingAppointment->save();

I know that Laravel does not support composite keys in it's models, and I understand the solution of adding the id property to the Appointment model, but is there another way in which I could use the Training's and User's ids as primary keys ? Maybe a one-to-many relation between Training and Appointment, and another one for the User and Appointment ?


fix Web API 2 integration when built-in tracing is enabled

The original goal of this PR was:

fix Web API 2 integration breaking app when app uses EnableSystemDiagnosticsTracing() by emitting IL instead of using dynamic

To (hopefully) make our lives easier while emitting IL, I also made this change:

use Sigil to emit IL with validation and helpful error messages

While debugging, I also found other bugs:

fix bug in C++ Trim() what would truncate strings with spaces
use RedisBase.ExecuteAsync() should return Task<T>, not Task<Task<T>> (caught by Sigil!)

A flaky test failed the first time, then passed.


OpenVPN role on edge node.

Did you think of OpenVPN role to piggy-back on edge-node?
 I use ssh-tunnel for most of connections to Internal control-node to get into mantl ui/mesos/marathon...etc. on Cisco Cloud ( Openstack ). OpenVPN role can help a lot.
There are some good ansible openvpn roles on github we can borrow....

Could this be an addon?

@siddharthist  Yes as we agreed on MANTL chat with @stevendborrelli  ...that we should start with making it as add-on.
I am not sure about licensing of openvpn...let me check....I've been using it forever...never checked though...

@siddharthist its GNU GPL ...its that a problem?

I am not a licensing expert...but don't see whats wrong with this:
"The GNU General Public License (GNU GPL or GPL) is a widely used free software license, which guarantees end users (individuals, organizations, companies) the freedoms to run, study, share (copy), and modify the software."

http://stackoverflow.com/questions/2982364/how-does-apache-2-0-license-differ-from-gpl

@zoza1982 I just mean the Ansible role, not OpenVPN :) sorry if that was unclear!

Oh :+1:  ...that would not be a problem. We can write one ourselves in the worst case.

@zoza1982 Are you planning on working on this? We can assign it to you so nobody does concurrent work.

Assign this one to me...

I will submit PR once its ready.

@siddharthist   any preference GPLv2 license vs MIT license ?
I found two good candidates for ansible openvpn roles I can work from...

@zoza1982 MIT would be best, thanks!

@zoza1982 Have you gotten OpenVPN working?

Closing this due to lack of interest. Please reopen if anyone wants to implement this functionality!

@siddharthist  Sorry, I have been busy...horribly busy. Mostly what held me (when I had time to work on this) is using MIT licensed ansible code which I did not liked and involves a lot of changes to make it work. The GPLV2 based ansible code is a lot easier to work with...but this project does not likes it.
Not to  keep any hope high, let's keep this closed...and then I will re-open when I get time to get it done. I will give my best.


Huge and long lag spikes

There are large (up to hundreds of ms) and long (10-20 frames) lag spikes, probably caused by garbage collection of ImageDatas and Meshes. I did not manage to achieve this in the new project, but in my current project these lag spikes are noticeable even if I open the imgui demo window. The solution for me was to manually free the Meshes and create a new ImageData only when needed. You can check the changes in my fork, maybe you will find a better solution to this problem, but mine suits me.
https://github.com/apicici/cimgui-love/blob/1c18d59a5d586b413d1ea51f49beaa4e077c6bab/src/love.lua#L229
https://github.com/apicici/cimgui-love/blob/1c18d59a5d586b413d1ea51f49beaa4e077c6bab/src/love.lua#L231
The love2d wiki doesn't recommend calling these functions every frame.

I haven't noticed any lag spikes on my system, but this is a great suggestion. I implemented a similar approach to what you did, but I went one step further by also avoiding recreating the mesh itself.


Add Ressources

Ressources for README
https://github.com/numz/sd-wav2lip-uhq/assets/800903/6594f243-b43d-46b9-89f1-7a9f8f47b764

https://github.com/numz/sd-wav2lip-uhq/assets/800903/47b0aff1-7b1a-4c1a-a426-5b4c50de01b0

https://github.com/numz/sd-wav2lip-uhq/assets/800903/d11220c9-5524-4843-b5e5-308dc50f4107

https://github.com/numz/sd-wav2lip-uhq/assets/800903/af205a91-30d7-43f2-afcc-05980d581fe0

https://github.com/numz/sd-wav2lip-uhq/assets/800903/5b06230b-282a-40b1-85ba-8b3d7a423d68

demo deforum
https://github.com/numz/sd-wav2lip-uhq/assets/800903/bb9d888a-d33e-4246-9f0a-1ddeac062d35

https://github.com/numz/sd-wav2lip-uhq/assets/800903/61b1e32f-3f87-4b36-98d6-f711822bdb1e

https://github.com/numz/sd-wav2lip-uhq/assets/800903/901086a3-22cb-42d2-b5be-a5f38db4549a

https://github.com/numz/sd-wav2lip-uhq/assets/800903/8987802e-c5fb-4470-be03-8b90f81b06bc

https://github.com/numz/sd-wav2lip-uhq/assets/800903/300f8cc3-9136-4810-86e2-92f2114a5f9a


Update add-license.sh

This PR does the following:

Update add-license.sh
Only for doc.go, append LICENSE only
Other go files, append a newline after license

Resolves #365

@fahimbagar Thank you!


[labs/context] @provide decorator does not work with Babel

See discussion below.
Decorators work fine with TS.
With Babel:
@provide() on its own does not work.
@provide() @property() does not work.
@property() @provide actually seems to make the context providing work but value is not accessible from the host component.
Discussed in https://github.com/lit/lit/discussions/3804

Originally posted by jrj2211 April 13, 2023
I have an element that is providing some async loaded data from an API. I have children inside the element consuming the context, which is working.
I need my provider to also use the data being provided in the context, but it the property just comes back undefined?
import { userContext } from './contexts/user.js';

export class UserView extends LitElement {
  @property({ attribute: false })
  @provide({ context: userContext })
  user;

  render() {
    return html`
      <user-contact></user-contact>
      <div>${this.user?.name}</div>
    `;
  }

  async connectedCallback() {
    super.connectedCallback();
    const user = await App.client.service('users').findOne(this.id});
    this.user = user;
    console.log('provider', 'user', user) // not undefined
    console.log('provider', 'user', this.user) // is undefined?
  }
}

Logging out the loaded user, its undefined. The child user-contact that @consumes the userContext, gets the data.
Is this correct? The documentation show adding @property along with @provide, so why isn't the value available in the provider element via this.user?

Here are some findings after investigating.
The @lit-labs/context decorators make use if decorateProperty() https://github.com/lit/lit/blob/a1f8c345cc978be06c6416edd1228fc5471c53d8/packages/reactive-element/src/decorators/base.ts#L63
When this is used without providing a descriptor and only finisher as it is done with @provide(), in Babel mode this ends up creating the property on the instance with placement: "own" rather than the prototype, so the setter defined in the finisher ends up getting masked. It happened to be that if you do @property() @provide(), the @property() decorator was overriding this behavior and not creating an instance property, allowing the setter to work, but since the @provide() never sets a getter, its value is still not accessible.
When doing @provide() @property(), the finisher defined for @provide() never gets the correct property key as it gets the Symbol() from the @property() decorator. The code that's meant to handle this https://github.com/lit/lit/blob/a1f8c345cc978be06c6416edd1228fc5471c53d8/packages/reactive-element/src/decorators/base.ts#L89-L94 does not actually work as it seems originalKey is not carried over in Babel's implementation for chaining decorators.
I think the single @provide() use for babel is fixable by either making decorateProperty() always set the placement to prototype instead of own, and make sure the @provide() decorator accounts for data descriptors that have writable and value, or have the @provide() implementation just provide the getter/setter with the descriptor option for decorateProperty(). The latter has implications with chaining decorators or when the user provides getter/setter of their own.
Considering that Babel's removing support for the "2018-09" version (https://github.com/babel/babel/pull/12712), I wonder if it's worth our time to even consider fixing this.
cc: @justinfagnani

Not planning on supporting the nonstandard 2018 Babel transform with context


rkt-v1.2.0 breaks etcd logs

Issue first reported on https://github.com/coreos/etcd/issues/4993:
rkt starts etcd but it does not print anything.

coreos.com/etcd:v2.3.1 works fine with rkt-v1.1.0 but it fails with rkt-v1.2.0 or rkt-v1.2.1 or more recent.
coreos.com/etcd:v2.0.10 works on all versions of rkt.

It seems that the problem is a combination of https://github.com/coreos/rkt/pull/2224 and https://github.com/coreos/etcd/commit/48e36bbb842df34658ed9945582ad35c17cd8cce.
After that commit, ]etcd logs](https://github.com/coreos/etcd/blob/29853967681e161e756a6221b681743dc053604c/cmd/vendor/github.com/coreos/pkg/capnslog/init.go#L41) to /run/systemd/journal/socket if it's run by PID1 and can connect to the journal. This means the log output goes directly there and not also to the console via the options StandardOutput=journal+console.
However, the logs can be accessed via journalctl -M ${POD_UUID}.

Per discussion in the sync, this is working "as designed". We just need to sort out the UX since it can be quite surprising.

@jonboulle can you elaborate on this one, will push back to next release.

At the very least we need to update the docs (e.g. where we use etcd as an example - "note that when etcd detects that journal logging is available, it will log directly to the journal and not output anything to stdout/stderr"), and have a description somewhere of how the journal logging works for apps.
Potentially we could also add a flag to etcd to force it to output to stdout/stderr

FYI this issue is reproducible easily without rkt:
sudo systemd-run -t $HOME/go/bin/etcd-v2.0.10

--> output on stdout and journald
sudo systemd-run -t $HOME/go/bin/etcd-master

--> output on journald only

I asked for a flag in etcd to request the output on stdout: https://github.com/coreos/etcd/issues/5449

Moving milestone.

Docs portion is related to #2640, assigning to @woodbor to organically cover the topic.

@woodbor any updates?

I guess what's missing here is

Implementing a "force logging to stdout" flag on etcd (https://github.com/coreos/etcd/issues/5449#issuecomment-229721613)
Updating the etcd ACI to use it

I'm de-milestoning this.

@tmrts assign it to me, i will be writing documentation this week


rename dynomite.yml settings

The following is a suggestion that I think would make the configuration file slightly more "self documenting".
IMO, there is an opportunity to make the dynomite.yml file clearer by renaming the following options:

listen to client_listen: Listen for client (RESP) requests
dyn_listen to peer_listen: Listen for Dynomite peer requests

If you think this is okay, I'll submit a PR with the update.

Sounds good to me 👍
Please make sure that the current unit testing is able to cover the code changes.

One more....

server_retry_timeout to rejoin_cluster_wait_period: it's the amount of time an ejected node must wait before rejoining the cluster...and not really a timeout

These sound good. We want to make sure that nothing breaks from these changes.

@akbarahmed One more thing that came to my mind this morning is that we want to make sure that these changes are backward compatible. From a short discussion I had with @shailesh33 we have agreed that such changes can potentially be backward compatible by supporting the new ones, but if somebody uses the old configurations there can be a warning that X has been deprecated in ver YYY. Let me know if it does not make sense.

@ipapapa Will do.

@akbarahmed I am working on push some of the command line arguments to the YAML. YAML seems to be becoming the industry practice rather than multiple command line arguments. Our changes will probably conflict. Do you have this ready or do you want to wait until I am done to rebase?

I'll rebase after you're done.

#370 has been merged... Moving to the next round soon!

@ipapapa @shailesh33 The following are some ideas for updates to the dynomite.yaml options.
Overall, the most important goals should be to make the configuration more understandable for users and to bring standardization to the option naming.
The items below are meant to start the discussion and are not hard suggestions. Please edit, change, update as you see fit.
Suggestions for naming conventions:

client_: client
peer_: node-to-node (i.e. intra-cluster)
node: refers to this dynomite instance
server_ or backend_: backend storage server

dynomite.yaml configuration options.

Main bullet point is the current option name. Suggested names are nested bullet points.

auto_eject_hosts: should dynomite automatically removed failed nodes from cluster

auto_eject_node

backlog: max length to which the queue of pending connections may grow

max_queue_length
max_pending_connection
max_connections_backlog

client_connections: max number of client connections

max_client_connections

datacenter: datacenter name

No change

data_store: backend data storage server. Could also change to text (redis, memcached) vs 0,1

backend_server
server_type
backend_server_type

distribution: defines how hashed keys are distributed

Removed?

dyn_connections: max number of peer connections

max_peer_connections
peer_connections

dyn_listen: listen for Dynomite peer requests (i.e. node to node)

peer_listen

dyn_port: port used for node-to-node communication

peer_port

dyn_read_timeout: the node-to-node read timeout (in milliseconds)

peer_read_timeout

dyn_seed_provider

seed_provider

dyn_seeds: an array of seed servers

seeds
seed_servers

dyn_write_timeout: the node-to-node write timeout (in milliseconds)

peer_write_timeout

env: environment

No change

gos_interval

gossip_interval

hash: hash algorithm to use when hashing a key

No change
hash_algorithm

hash_tag: a string that defines delimiters that cause the key hash to only use the portion of the key

No change
hash_delimiter

listen: listen for client (RESP) requests

client_listen

pem_key_file: the pem key

No change

preconnect: should dynomite preconnect to a backend server

backend_preconnect
preconnect_to_backend

rack: rack name

No change

read_consistency

No change

secure_server_option: determines which node-to-node communication will be encrypted

cluster_security
peer_security

server_connections: number of connections to the backend storage server

backend_connections
max_backend_connections

server_failure_limit: the number of consecutive failures after which a node is ejected from the cluster

No change
node_failure_limit
auto_eject_failure_limit

server_retry_timeout: the amount of time an ejected node must wait before rejoining the cluster...and not really a timeout

No change
rejoin_wait_period
cluster_rejoin_interval
rejoin_interval

servers:  the backend server (ex. Redis, ARDB) in the form of backend-host:backend-port:weight

No change
server (singular)
backend: I like the idea of using a separate term for the backend server vs. the generic server
storage

stats_listen: address and port number for the statistics REST endpoint (default: "<IP_ADDRESS>:22222")

Newly added by Ioannis. No change.

stats_interval: statistics aggregation interval in msec (default: 30000 msec)

Newly added by Ioannis. No change.

timeout: the amount of time in ms that we wait for a connection to a server to for a response from a server

server_timeout
backend_timeout

tokens: node token

token
node_token

write_consistency

No change

I like the initiative of making the configurations more understandable and categorized. If we decide to change it we will have to be backward compatible. I like the notion of peer_. However I personally like datastore instead of backend since datastore more precisely defines the role of the module/process. So something like:
datastore_type,
datastore_connections
datastore_timeout

datastore_ is better than the options I suggested, so I'll plus 1 this prefix.

This whole auto eject thing needs a thought. We recently introduced backoff mechanism for peer connections. but now with the baggage of these options from previous code base, we have to check if auto eject is even to be done or just exponential backoff pretty much is what we do for all the connections. (They more or less achive the same thing but we need to be uniform here)

auto_eject_hosts: should dynomite automatically removed failed nodes from cluster

auto_eject_datastore

backlog: max length to which the queue of pending connections may grow

max_pending_connections

client_connections: max number of client connections

max_client_connections

datacenter: datacenter name

No change

data_store: backend data storage server. Could also change to text (redis, memcached) vs 0,1

datastore_type : keep it uniform

distribution: defines how hashed keys are distributed

Removed

dyn_connections: max number of peer connections

Today we use 1 and only 1 connection. There will be corruption if we use more than one connection with today's code.

dyn_listen: listen for Dynomite peer requests (i.e. node to node)

peer_listen

dyn_port: port used for node-to-node communication

peer_port

dyn_read_timeout: the node-to-node read timeout (in milliseconds)

peer_read_timeout

dyn_seed_provider

seed_provider

dyn_seeds: an array of seed servers

seeds

dyn_write_timeout: the node-to-node write timeout (in milliseconds)

peer_write_timeout

env: environment

No change

gos_interval

gossip_interval

hash: hash algorithm to use when hashing a key

hash_algorithm

hash_tag: a string that defines delimiters that cause the key hash to only use the portion of the key

hash_delimiter

listen: listen for client (RESP) requests

client_listen

pem_key_file: the pem key

No change

preconnect: should dynomite preconnect to a backend server

No Change This applies to every connection not just backend or peer

rack: rack name

No change

read_consistency

No change

secure_server_option: determines which node-to-node communication will be encrypted

peer_security

server_connections: number of connections to the backend storage server

max_datastore_connections

server_failure_limit: the number of consecutive failures after which a node is ejected from the cluster

auto_eject_failure_limit

server_retry_timeout: the amount of time an ejected node must wait before rejoining the cluster...and not really a timeout

rejoin_wait_period

servers:  the backend server (ex. Redis, ARDB) in the form of backend-host:backend-port:weight

datastore

stats_listen: address and port number for the statistics REST endpoint (default: "<IP_ADDRESS>:22222")

Newly added by Ioannis. No change.

stats_interval: statistics aggregation interval in msec (default: 30000 msec)

Newly added by Ioannis. No change.

timeout: the amount of time in ms that we wait for a connection to a server to for a response from a server

datastore_timeout

tokens: node token

No Change

write_consistency

No change

@ipapapa we left the discussion half way. Have a look again and correct me if you disagree.

@shailesh33 I agree with the above terms... I think @akbarahmed effort is really timely and it will improve significantly the on boarding of new folks!

I will be adding 'enable_gossip' as part of the effort moving it from the command line.

#386 has been merged for enable_gossip. Moving on to the other two.

@akbarahmed completed mbuf_size and alloc_msgs_max https://github.com/Netflix/dynomite/pull/387 Feel free to do any other YAML changes.

I suggest we get ride of the server_connections parameter. We can corrupt the data is we have more than one server_connections. There is no binding of client connections to the server connections so a client request can be sprayed on multiple connections leading to out of requests.

@shailesh33 +1 and it seems you are already on this way :)
https://github.com/Netflix/dynomite/pull/393


[bug]Unable to Use OpenAI Embedding Function within Provenance Guardrails Workflow throwing AxisError

I am encountering an issue when trying to integrate OpenAI's embedding function into a workflow that includes Provenance guardrails. This issue prevents me from effectively leveraging the capabilities of both OpenAI and Provenance guardrails in my projects.
I have a workflow that involves using OpenAI's text embedding function, specifically the openai.Embedding.create method. When I attempt to utilize this functionality within a workflow that includes Provenance guardrails, I face challenges and limitations.
#Code
from rich import print
import openai
import cohere
import numpy as np
from guardrails import Guard
from guardrails.validators import ProvenanceV0
from typing import List, Union
def embed_function(text: Union[str, List[str]]) -> np.ndarray:
model = "text-embedding-ada-002"
if isinstance(text, str):
text = [text]
embeddings = openai.Embedding.create(input=text, model=model)['data'][0]['embedding']
return np.array([embeddings])
val = embed_function("1")
print("array:\n", val)
output:
array:
[[ 0.00831002 -0.00957561  0.01263579 ... -0.00130995 -0.01182554
-0.01469153]]
guard.parse(
llm_output="Cats can be retrained to use a litter box.",
metadata={"embed_function": embed_function, "sources": sources},
)
See the guard logs
guard.guard_state.most_recent_call.tree
getting the below error
AxisError                                 Traceback (most recent call last)
 in <cell line: 1>()
----> 1 guard.parse(
2     llm_output="Cats can be retrained to use a litter box.",
3     metadata={"embed_function": embed_function, "sources": sources},
4 )
5
14 frames
/usr/local/lib/python3.10/dist-packages/numpy/linalg/linalg.py in norm(x, ord, axis, keepdims)
2555             # special case for speedup
2556             s = (x.conj() * x).real
-> 2557             return sqrt(add.reduce(s, axis=axis, keepdims=keepdims))
2558         # None of the str-type keywords for ord ('fro', 'nuc')
2559         # are valid for vectors
AxisError: axis 1 is out of bounds for array of dimension 1

@ramchennuru Thanks for filing an issue!  I'm taking a look at this an I'll update here once I have a clearer picture of the problem and any potential causes.

In the meantime could you please provide us with the following information to help with debugging:

Version of guardrails-ai you are using
The railspec or guard definition
Any other important or unique details related to the issue you are experiencing

@ramchennuru it looks like the problem is that the embed function is only grabbing the first embedding from the openai.Embedding.create response.  Try iterating over all the data and collecting the embeddings like this:
def embed_function(text: Union[str, List[str]]) -> np.ndarray:
    model = "text-embedding-ada-002"
    if isinstance(text, str):
        text = [text]

    embeddingsResponse = openai.Embedding.create(input=text, model=model)['data']
    embeddings = list(d['embedding'] for d in embeddingsResponse)
    return np.array(embeddings)

Thank you @CalebCourier

@ramchennuru it looks like the problem is that the embed function is only grabbing the first embedding from the openai.Embedding.create response. Try iterating over all the data and collecting the embeddings like this:
def embed_function(text: Union[str, List[str]]) -> np.ndarray:
    model = "text-embedding-ada-002"
    if isinstance(text, str):
        text = [text]

    embeddingsResponse = openai.Embedding.create(input=text, model=model)['data']
    embeddings = list(d['embedding'] for d in embeddingsResponse)
    return np.array(embeddings)

Thank you @CalebCourier it solved my issue.