Test Helium BLE config

Check if the nebra/rak/helium stuff can be configured using their ble apps.
(I had no luck so far)

Using the app Helium Hotspot Utility you can connect but nothing seems to happen after that.
Other apps Helium Hotspot and Hotspotty Connect seems to require a Helium wallet

Hotspot Utility
Scenario:

Press BLE-button
Pair using Hotspot Utility
Wait a few minutes
Configure Wifi

Outcome
Successful configuration of WiFi

Normal operation & Button press logs
logs-1.txt

WiFi Configuration
logs-2.txt

Hotspot Utility
Scenario:

Press BLE-button
Pair using Helium hotspot
Configure WiFi

Outcome
Unable to proceed due to firmware version

Details
Normal operation & Button press logs
2024-04-07T17:25:33+02:00  diagnostics  INFO:hw_diag.utilities.hardware:Retrieving list of BLE device(s)
2024-04-07T17:25:33+02:00  diagnostics  2024-04-07 15:25:33,437 - [INFO] - hw_diag.utilities.hardware - (hardware.py).get_ble_devices -- /opt/python-dependencies/lib/python3.11/site-packages/hw_diag/utilities/hardware.py:(106) - Retrieving list of BLE device(s)
2024-04-07T17:25:33+02:00  diagnostics  2024-04-07 15:25:33,449 - [INFO] - hw_diag.utilities.hardware - (hardware.py).get_ble_devices -- /opt/python-dependencies/lib/python3.11/site-packages/hw_diag/utilities/hardware.py:(129) - Found the following BLE Devices: [{'Address': 'E4:5F:01:37:0D:E1', 'Name': 'c04f2b3', 'Powered': '1', 'Discoverable': '0', 'Pairable': '0', 'Discovering': '0'}]
2024-04-07T17:25:33+02:00  diagnostics  INFO:hw_diag.utilities.hardware:Found the following BLE Devices: [{'Address': 'E4:5F:01:37:0D:E1', 'Name': 'c04f2b3', 'Powered': '1', 'Discoverable': '0', 'Pairable': '0', 'Discovering': '0'}]
2024-04-07T17:25:33+02:00  diagnostics  2024-04-07 15:25:33,449 - [INFO] - hw_diag.utilities.hardware - (hardware.py).get_lte_devices -- /opt/python-dependencies/lib/python3.11/site-packages/hw_diag/utilities/hardware.py:(175) - Retrieving list of LTE device(s)
2024-04-07T17:25:33+02:00  diagnostics  INFO:hw_diag.utilities.hardware:Retrieving list of LTE device(s)
2024-04-07T17:25:33+02:00  diagnostics  2024-04-07 15:25:33,457 - [INFO] - hw_diag.utilities.hardware - (hardware.py).get_lte_devices -- /opt/python-dependencies/lib/python3.11/site-packages/hw_diag/utilities/hardware.py:(202) - Found the following LTE Devices: []
2024-04-07T17:25:33+02:00  diagnostics  INFO:hw_diag.utilities.hardware:Found the following LTE Devices: []
...
2024-04-07T17:25:59+02:00  gateway-config  2024-04-07 15:25:59,601 - [DEBUG] - gatewayconfig.bluetooth.characteristics.firmware_revision_characteristic - (firmware_revision_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/firmware_revision_characteristic.py:(19) - Read Firmware

WiFi Configuration
N/A

Another interesting thing is that name is not being fetched post BLE-pairing when using the Hotspot Utility app.
2024-04-07T14:57:28+02:00  gateway-config  2024-04-07 12:57:28,828 - [ERROR] - gatewayconfig.bluetooth.characteristics.diagnostics_characteristic - (diagnostics_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/diagnostics_characteristic.py:(41) - Unexpected exception while trying to read diagnostics: org.freedesktop.DBus.Error.ServiceUnknown: The name com.helium.Miner was not provided by any .service files

Logs: logs-3.txt

Also tested RAK's own app for onboarding and setup of MNTD. and RAK Hotspots for the Helium Network, which doesn't seem to play well with Nebras.

Logs during this period:
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,424 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(27) - Read WiFi Services
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,656 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID iotlab
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID iotlab2
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,657 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - iotlab is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,657 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - iotlab ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - iotlab2 is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - iotlab2 ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID iotlab2_5G
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - iotlab2_5G is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - iotlab2_5G ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,658 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID Orion_5G
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - Orion_5G is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - Orion_5G ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID TN_24GHz_F55D95
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - TN_24GHz_F55D95 is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - TN_24GHz_F55D95 ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,659 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(36) - Inspecting SSID TN_5GHz_F55D95
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,660 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(39) - TN_5GHz_F55D95 is a valid ssid
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,660 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(43) - TN_5GHz_F55D95 ssid is unknown
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,660 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(46) - Finished getting known wifi services
2024-04-07T17:54:59+02:00  gateway-config  2024-04-07 15:54:59,660 - [DEBUG] - gatewayconfig.bluetooth.characteristics.wifi_services_characteristic - (wifi_services_characteristic.py).ReadValue -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/bluetooth/characteristics/wifi_services_characteristic.py:(49) - Going to write b'\n\x06iotlab\n\x07iotlab2\n\niotlab2_5G\n\x08Orion_5G\n\x0fTN_24GHz_F55D95\n\x0eTN_5GHz_F55D95'
2024-04-07T17:56:26+02:00  gateway-config  2024-04-07 15:56:26,480 - [DEBUG] - gatewayconfig.processors.bluetooth_advertisement_processor - (bluetooth_advertisement_processor.py).stop_advertisement -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/processors/bluetooth_advertisement_processor.py:(43) - Stopping Bluetooth advertisement
2024-04-07T17:56:26+02:00  gateway-config  GATT advertisement UNregistered
2024-04-07T17:56:29+02:00  gateway-config  2024-04-07 15:56:29,632 - [DEBUG] - gatewayconfig.processors.diagnostics_processor - (diagnostics_processor.py).run -- /opt/venv/lib/python3.9/site-packages/gatewayconfig/processors/diagnostics_processor.py:(55) - Running DiagnosticsProcessor

Basically BLE for the nebra stuff does not seem to work with our current dual mining firmware.


added spi, timer, and (WIP) serial peripherals

implemented FullDuplex SPI. tested both SPI0 and SPI1 with real devices :D
implemented a single Timer as a CountDown timer, to do more accurate delay_ms stuff than busy-looping :D (Timer6, the "basic" timer). still need to make it a macro/generic to work with timers0-5.
very WIP USART code, that lets me at least print things to a console without a debugger :'(
added a Clocks struct so that I could abstract the clock frequency calculation in the SPI and Timer objects, but currently only hardcodes the default clock values, and doesn't indicate that the clock speeds are frozen in any way.

Thanks! I'll have these modules tested soon. Merge now :)

This looks great. Any chance you could give a code example of how to use the timer and uart to write debug messages?


Write a hello world application to use as part of the user guide

We should write a simple hello world application to deploy as part of onboarding into the Modernisation Platform, and to use within the user guide to explain concepts.

We have the example code now which serves this purpose, this can be closed


Project seems halted

Slack link is broken.
I am writing this by considering this app (site) a central hub for reading/ understanding Quran, foreseeing its potential to give more indulging encounter with the word of Almighty.
It feels good to come on this site and read some short Surah. App is very simple yet gives very pleasant experience but once in a while I long for a feature to enhance my experience. It is in the nature that I tend to be more productive when I settled for something.
It is very unsettling that project is not moving forward, I am not talking about whole bunch of new features but asking for opening the portal of ideas. I am sure a whole bunch of new ideas can be incorporated while maintaining the simplicity.

the slack link is dead, but the project is not dead - this particular repository is dead, yes, but that's because most work is happening in either here and here.

if you send your email we can add you to Slack in sha' Allah.

@ahmedre can you please add me<EMAIL_ADDRESS>

@osamasayed - it says

This person is already in your workspace.

@osamasayed - it says

This person is already in your workspace.

I just joined using the link in the frontend-next repo. Thanks a lot!


Modify the contracts to support new encryption scheme

Remove unneeded parameters from the send method signatures and
the emitted event
Update tests to reflect the new structure

This is the contract side of #31

Love how this is so much cleaner and more concise than the old encryption scheme. Looks great!


[Meta issue] Protocols and Payloads

This is a meta issue. Please avoid adding comments directly to it.

This meta-issue has served its purpose, and any remaining items are being tracked under new labeling now.


Removed numpy as a dependency with math.lcm from stdlib

I couldn't get the tests to run locally correctly but this should remove numpy as a heavy dependency in favor of the math library in stdlib.  Assuming we're not calculating the lcm on a terabyte of data this should be fine.

@2byrds not sure how to run the github actions for this PR but this change should probably be safe.  Still can't get the tests working locally.


[BUG] Site Improve Tool issue - Role with implied hidden content has keyboard focus

Describe the Bug
Certain elements have roles that imply their internal structure should be hidden from accessibility tools, meaning their child elements are treated as purely presentational. However, if a sub-element within such a role receives keyboard focus, it should be moved outside of the presentation role or the role should be adjusted.
To Reproduce
Steps to reproduce the behavior:

Open the web application.

Navigate to the "Confirm exchange set content" Page.

Use a web accessibility testing tool ( siteimprove ) to identify the error.

Expected Behavior
Focusable elements should not be placed inside parent elements that have roles suggesting their content should be hidden or presentational. Instead, such elements should be moved outside of these roles, or the parent role should be revised to allow interactive content.
Screenshots

Additional Context
In the application, there are instances where elements with implied presentational roles contain focusable child elements. This mismatch between the role and the focusable state can cause navigational and accessibility issues.

duplicate of #213


Implement log level

There are no log files within a container environment and everything is directed to either stdin or stdout. This can be achieved via --verbose.
The --verbose flag generates too many irrelevant logs specifically problematic if an external log provider (e.g. Sumologic, loggly) is used. This leads to increased cost for no apparent reason.
A log level should be implemented to reduce the logs to a minimum, e.g. debug, info, warning, error, etc.
Message processing details such as p.log.Info("Processing message...") should be moved to debug level.

I have started working on a new major version. For this new version, I have planned to refactor logging completely. This includes:

Leveled logging allowing the user to see more or less details as preferred.
Fielded logging allowing the get additional details besides the message itself.
Structured output (logfmt, json) allowing for easy post processing of the logs (helpful with ELK/EFK/Splunk)


APP-721 Remove custom LoggerFactory

Remove the IntegrationBridgeCloudLoggerFactory from the code as a whole.
Remove dependency from Symphony Logging
Remove cryptolibs

@dnsymphony could you review it, please?


Translate keywords

The keywords: in the front-matter of documents should be translated just like the main content is.

The keywords have been translated by @fleeto I think we can close the issue. @geeknoid

Thanks.


Add in definition symbol commands

I would propose
\newcommand{\defas}{:=}  % define as
\newcommand{\defs}{=:}  % defines

@trevorcampbell Would you be on board with adding these?


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/oberstel/ioBroker.pjlink

[ ] [E104] No common.titleLang found in io-package.json
[ ] [E114] No adapter are allowed in the repo without admin3 support
[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E200] Not found on npm. Please publish
[ ] [E504] found setInterval in "main.js, but no clearInterval detected
[ ] [E300] Not found on travis. Please setup travis
[ ] [E603] NO "## Changelog" found in README.md
[ ] [E604] No "## License" found in README.md
[ ] [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 oberstel<EMAIL_ADDRESS>at the start of LICENSE

I have also found warnings that may be fixed if possible.

[ ] [W400] Cannot find "pjlink" in latest repository
[ ] [W901] .gitignore not found

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Thanks, that all bugs have been fixed.


Historical information is getting timestamps besides the datestamps

Retrieving historical stock exchange data is giving problems (version 0.2.6):
>>> import yfinance as yf
>>> yf.Ticker("MSFT").history()

Gives as result
                                              Open        High         Low       Close    Volume  Dividends  Stock Splits
Date
2022-12-27 00:00:00-05:00  238.699997  238.929993  235.830002  236.960007  16688600        0.0           0.0
2022-12-28 00:00:00-05:00  236.889999  239.720001  234.169998  234.529999  17457100        0.0           0.0
2022-12-29 00:00:00-05:00  235.649994  241.919998  235.649994  241.009995  19770700        0.0           0.0

What is new is the timestamp following the date. This timestamp is irrelevant in case of the open, high, low and close data of one day.
If you are merging data of different stock exchanges around the world its giving indexing problems of the rows. Every stock exchange has a different timestamp.
I had to introduce a work around to merge data from different stock exchanges
>>> import yfinance as yf
>>> yf.Ticker("MSFT").history().tz_localize(None)

Now the result is
                Open        High         Low       Close    Volume  Dividends  Stock Splits
Date
2022-12-27  238.699997  238.929993  235.830002  236.960007  16688600        0.0           0.0
2022-12-28  236.889999  239.720001  234.169998  234.529999  17457100        0.0           0.0
2022-12-29  235.649994  241.919998  235.649994  241.009995  19770700        0.0           0.0

I think its a problem caused by Yahoo because it is a problem in case of the functions "history" from "yfinance" and "get_data_yahoo" from "pandas_datareader"

I'm getting a strange error that says:  pytz.exception.UnknownTimeZoneError: 'America/New_York'.  I removed the time zone as noted above and don't see America/New_York any where in the data.  Using Python 3.9.

This because yfinance adds timezone information to all timestamps. Being forced to remove it to merge different exchanges is a good thing, gets you thinking how best to merge USA with Australia/Japan.


changed colors of vizhub to pastel

Changed colors of vizhub to pastel theme might need to lighten the colors more.

Turns out, the package has seven layers of brackets, which can only be changed by copying the code and not utilizing the package.


[Packaging | Documentation] - Create documentation pages

[x] Create detailed documentation about the library/package (frontend, backend....)
[x] Add the CI to build the pages every time a new change is incorporated

[x] publish the extension within the vre-hub doc pages (using docusaurus)

Closed with https://github.com/vre-hub/vre-hub.github.io/pull/5 and https://github.com/vre-hub/vre-hub.github.io/pull/6


Upgrade k8s to v1.7.0 and other components

Fixes #578, Fixes #583, Fixes #584, Fixes #585, Fixes #599, Fixes #600

This LGTM

Tests passed on Snap, merging.


Bob takes longer to build in #58

#58

Closed #58. Will use a different approach for the mixed case filenames.


feat: relate to dashboard and add documentation link CKF 1.9

part of https://github.com/canonical/kubeflow-dashboard-operator/issues/190

adds dashboard library to the charm
instantiates KubeflowDashboardLinksRequirer in charm code and creates documentation item added in upstream 1.9-rc.2 version
adds dashboard relation to metadata.yaml

Screenshot of dashboard when deployed and related:

thx @DnPlas
conflicts resolved


Output is scrambled after command throws error

How to reproduce? Making a command simply raise does not garble output for me.
Raising during a spinner does seem to silence output completely:
class Nodes::ListCommand
  def execute
    spinner 'foo' do
      raise "foofoo"
    end
end

compose-e2e/e2e  > node ls
 [fail] foo
 [error] RuntimeError : foofoo
compose-e2e/e2e  > stack reg search
compose-e2e/e2e  > stack --help
compose-e2e/e2e  >

This is probably because spinner hijacks puts.
This may be an issue that has to be fixed in cli, any threads left behind by Kontena.run need to be killed after the command is completed.


KEB dependabot blocked by KCP CLI check

Description:

every PR to KEB newly needs to pass KCP CLI check which runs go mod tidy - https://github.com/kyma-project/test-infra/pull/5776
KCP CLI vendors KEB
KEB dependabot bumps various go modules for KEB
transitively, KCP CLI pulls dependabot changes if the go modules resolver deems so necessary
^^ results in every KEB dependabot PR regarding go modules automatically blocked by PR checks

Examples:

[ ] https://github.com/kyma-project/control-plane/pull/1896
[ ] https://github.com/kyma-project/control-plane/pull/1926
[ ] https://github.com/kyma-project/control-plane/pull/1895

I think there are potentially few paths forward

disable the KCP CLI mod check on KEB PRs - arguably it's not the correct place to run that check and KCP CLI should maintain its own go mods on PRs to KCP CLI. But there is also the fact these two programs live in the same repository which could mean we do instead:
on every dependabot KEB PR, trigger a github action amending a new commit with go mod tidy executed under the KCP CLI directory.

cc @pPrecel @Halamix2

@wozniakjan We are a little bit short with developers this week, but we will look into this in the following one.

thanks @kwiatekus, it's not urgent. It's just the dependabot has been very useful in keeping up to date with the KEB dependencies and also greatly lowering the number of security scanner vulnerabilities reported so it would be nice to keep it working in an automated fashion rather than having some manual steps in the process.

temporary remediation in https://github.com/kyma-project/control-plane/pull/1934


[Twig extension] Using a template variable in an asset's path?

I'm using Assetic in a Symfony2 project, from within twig templates.  Problem is, I have an asset whose name is derived from a twig template variable.  For example, I have a variable called myobject.slug that has a value of foobar-baz.  I need to process web/css/foobar-baz.css with assetic.
I've tried using twig's concatenation operator (the tilde, ~), and it throws an Unexpected token "operator" of value "~" exception:
{% stylesheets filter='?yui_css'
    'css/' ~ myobject.slug ~ '.css'
%}
    <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}

Is there a way to accomplish this, currently?  If not, perhaps there ought to be?

I think you can use the Twig double quote variables escape ( #{twig.variable} ) like:
{% stylesheets "css/#{myobject.slug}.css" filter='?yui_css' %}
    <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}

Not tested.

I know this is and old issue, but I want to share my way of resolving this issue anyway for the case other users find this issue:
I created a twig template with the stylesheets twig tag and the name of the asset in string format, then i simply include these templates in a loop in my page.html.twig.
This works because the asset is found when iterating all twig files, and only injected in the page render when needed.


Odd inconsequential "invalid string" error when running cargo install

It seems that when running "cargo install" the spirv-builder-cli project is causing cargo to barf a little. It doesn't affect the installation but it doesn't look good.
❯ cargo install --git https://github.com/rust-gpu/cargo-gpu
    Updating git repository `https://github.com/rust-gpu/cargo-gpu`
error: invalid string
expected `"`, `'`
  --> ../../.cargo/git/checkouts/cargo-gpu-ed3d64cbb28dfcbe/f46e031/crates/spirv-builder-cli/Cargo.toml:15:17
   |
15 | spirv-builder = ${SPIRV_BUILDER_SOURCE}
   |                 ^
   |
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /Users/schell/.cargo/git/checkouts/cargo-gpu-ed3d64cbb28dfcbe/f46e031/crates/cargo-gpu/Cargo.toml
workspace: /Users/schell/.cargo/git/checkouts/cargo-gpu-ed3d64cbb28dfcbe/f46e031/Cargo.toml

I don't know why it's inspecting crates/spirv-builder-cli as it's specifically ignored in the top-level Cargo.toml.

I tried addressing this by making spirv-builder-cli a proper package that is part of the workspace. I didn't quite succeed but at least cargo told me why it's complaining.
chill@Mac shader-crate-template % cargo install --git https://github.com/mbernat/cargo-gpu --rev 9179746a2e2cab76c07e1771b59d9ba3ff1b3183
    Updating git repository `https://github.com/mbernat/cargo-gpu`
error: multiple packages with binaries found: cargo-gpu, spirv-builder-cli. When installing a git repository, cargo will always search the entire repo for any Cargo.toml.
Please specify a package, e.g. `cargo install --git https://github.com/mbernat/cargo-gpu cargo-gpu`.
chill@Mac shader-crate-template % cargo install --git https://github.com/mbernat/cargo-gpu --rev 9179746a2e2cab76c07e1771b59d9ba3ff1b3183 cargo-gpu

The suggestion to specify a package resolves this particular issue in my approach but unfortunately it doesn't help with your original problem, cargo eagerly scans the whole repo anyway.

I suppose the simplest solution would be to assemble the whole spirv-builder-cli package from text files that are opaque to Cargo, at least if one can survive the maintainability hit.
My unfinished approach in https://github.com/mbernat/cargo-gpu/tree/fix-invalid-string-error would make things a bit easier to maintain but it has downsides of its own.

Haven't gotten it to work yet, maybe it's not even possible.
I had to create a dummy spirv-builder package that spirv-builder-cli can interface with. The dummy would need to be kept updated with the upstream spirv-builder. That being said, this problem exists already: it would just manifest when trying to install spirv-builder with incompatible API.

@mbernat thanks for trying that. Having the spirv-builder-cli as text files is a good suggestion. Thanks!

This is no longer happening on main.


SMTP Replay

Hello
I'm trying to configure the postal.yml file to use an external SMTP server to handle the relaying of the emails I send to Postal. My current configurations in postal.yml are exactly what you see below. I've searched the issue logs and I saw that there are other settings which I don't have in my postal.yml file. Do I need this as well and if so, what do I include and/or remove in my .yml file?
My File
smtp:
host: <IP_ADDRESS>
port: 25
username: # Complete when Postal is running and you can
password: # generate the credentials within the interface.
from_name: Postal
from_address<EMAIL_ADDRESS>Not in my file
smtp_server:
port: 25
tls_enabled: false
tls_certificate_path: # Defaults to config/smtp.cert
tls_private_key_path: # Defaults to config/smtp.key
tls_ciphers:
ssl_version: SSLv23
proxy_protocol: false
log_connect: true
strip_received_headers: false
max_message_size: 14 # size in Megabytes
smtp_relays:
hostname:
port: 25
ssl_mode: Auto

Thank you,
I will give that a try, also, do I need to remove these two chunks of setting from my yml file
mtp:
host: <IP_ADDRESS>
port: 25
username: # Complete when Postal is running and you can
password: # generate the credentials within the interface.
from_name: Postal
from_address<EMAIL_ADDRESS>Not in my file
smtp_server:
port: 25
tls_enabled: false
tls_certificate_path: # Defaults to config/smtp.cert
tls_private_key_path: # Defaults to config/smtp.key
tls_ciphers:
ssl_version: SSLv23
proxy_protocol: false
log_connect: true
strip_received_headers: false
max_message_size: 14 # size in Megabytes

Technically you only need values in your postal.yml file if you want to override the defaults which are listed here https://github.com/atech/postal/blob/master/config/postal.defaults.yml
The smtp: section is for Postal to send messages to the users (i.e. password resets) and the smtp_server: section is for Postal to actually send the messages you tell it from your application.
Have you actually put the URL of your relay server in the hostname: bit?

willpower232, I got the relay to work then I thought of something, why use smtp_relay, can't I use my smtp server instead of the Postal default SMTP?
so I removed smtp_relay and edited the following and it didn't work. It still seems to be using the Postal default mail server because it fails to send to mymailserver.com
smtp:
host: mymailserver.com
port: 25
username: # Complete when Postal is running and you can
password: # generate the credentials within the interface.
from_name: Postal
from_address<EMAIL_ADDRESS>

Is your SMTP server on a different server? Can you telnet to it from the Postal server? Have you entered the username and password correctly?


[baresip-libre] update to 3.3.0

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the update1

Many thanks for merging :)


Add support for the new SKY firmware effect available on LIFX Ceiling devices

~Note that the TileEffectSkyType enum is currently missing from the published protocol and needs to be added manually until LIFX add it themselves.~
The TileEffectSkyType enum has been added upstream.
Signed-off-by: Avi Miller<EMAIL_ADDRESS>

Upstream have fixed the protocol specification so this is ready for review/merge.

@Djelibeybi are you able to clean up the commit history a little please ? :)

@Djelibeybi as in it feels this PR only really needs three commits

deps: fix bootstrap script for making protocol
deps: update public-protocol and regenerate protocol
control: Add support for sky firmware effect

Done. I also switched the field names to snake case to match everything else and updated the help text just a little bit. :)

Looks good, thanks, do you want me to make a release too?

Not super urgent, but getting Interactor support would be nifty. I'm not sure if that's automagic these days or not.

I'm not sure if that's automagic these days or not.

not overly. Technically interactor only has a lower bound on photons, but the docker container needs to be rebuilt for home assistant
Anyway I have released new photons core and interactor and the docker builds here https://github.com/delfick/photons/actions/runs/9512926226
@Djelibeybi

I'll add a reminder to take the container for a spin over the weekend. I've spent enough time staring at a screen today. :)


[BUG - Release] UE4 4.20 Not working

Branch or Release
Release
Game and Engine Version
Tiny Tina's Wonderland 4.20
Describe the bug
Engine version not supported.
To Reproduce
Steps to reproduce the behavior:

Launch game
Attempt UHT Dump
See error in log

Screenshots and UE4SS Log
[2023-12-16 12:51:58] Scan attempt 1/60
[2023-12-16 12:51:58] AOB scans could not be completed because of the following reasons:
Was unable to find AOB for 'Unreal Engine Version'.
Could not determine Unreal Engine version: 'Branch' member variable FString data was nullptr
You need to override the engine version in 'UE4SS-settings.ini.

Seems like you didnt set the engine version to 4.20 in 'UE4SS-settings.ini.

Seems like you didnt set the engine version to 4.20 in 'UE4SS-settings.ini.

So I can use the pre-loaded one for B3 and it just works. However it doesn't work for Tiny Tina's Wonderland. I think they are using a modified 4.20.3 version of the engine. I had to use the signatures as the tool was just failing to find the AOB as I am guessing the engine is different? not sure but that seemed to have worked.


Update top-level README with latest statuses.

has this label become passé? If not needed or applied anymore, should we remove it? (since it currently applies to only to a subset of candidates)

I think so indeed; since we started more explicitly assigning numbers or else leaving ???? as numbers to CIP the label has become sort of redundant.

@rphair your last comment reminded me to create labels for categories as we said we would. So this is now done. I've also removed the old labels for Candidate CIP, and CIP's types (removed from CIP-0001 back in November 2022).


Add ingress and catalogs config iterator

Just wanted to add an ingress resource and a catalog config iterator where you can add multiple configs.

@ricosega, it looks like the ingress portion is superseded by #39 and the catalogs iterator is implemented by #1. I'm going to recommend to @hashhar that we close this PR unless you have any reason you think it should stay open.

@bitsondatadev well this was opened more than a year and a half ago so yes it can be closed.

@ricosega, I apologize for the delay on getting these reviewed. We've just set up a developer experience team to address and avoid these issues from happening in the future.


Service Agreement

Users on Teams desktop clients that are more than three months old will see a blocking page that gives the options to update now, reach out to their IT admin, or continue to Teams on the web.
Desktop client versions that are more than three months old upon first install and/or first run of Teams have a 28-day grace period before encountering the above-mentioned servicing information.
Above lines are confusing.

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

ID: f6da28da-eb7b-d3ae-4c2f-8f87803b1830
Version Independent ID: 8c42d7a2-80c6-86dd-347a-ed6d8d909c41
Content: Teams updates - Microsoft Teams
Content Source: Teams/teams-client-update.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@dipinn26592 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @dipinn26592, thank you for your feedback.
I have read this sentence several times and it seems to be very accurate to me.
If client is more than 3 months old AND NO new installation = blocking page
If client is more than 3 months old AND new installation = 28-day grace period
I don't know how I can improve it, please let me know if you have some good ideas.
Thanks!

Hello Dario,
Thank you for checking on this. The part that I am confused is what does “New installation” mean.  Are we referring to freshly installed client which has not been launched or we are referring to update.
Below are couple of scenarios where I would like to know what will be the behavior.

If the Teams client was installed on my computer last year ( more than 3 months old ) but it was never launched or never automatically updated.
If the Teams client was installed on my computer last year ( more than 3 months old ) I used it for couple of weeks then I never used it. ( turned off auto launch due to which the client was never updated )

Regards,
Dipin Nair
From: Dario Woitasen<EMAIL_ADDRESS>Sent: Wednesday, April 8, 2020 1:56 AM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Dipin Nair<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] Service Agreement (#4400)
Hi @dipinn26592https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdipinn26592&data=02|01|Dipin.Nair%40microsoft.com|d94c6cda5100438f41da08d7db31d6c9|72f988bf86f141af91ab2d7cd011db47|1|0|637218879418337566&sdata=1j5za6CZnlAYXnL3EyZmxx6TDIyhY6AdJUL%2Bg9nJ1W4%3D&reserved=0, thank you for your feedback.
I have read this sentence several times and it seems to be very accurate to me.
If client is more than 3 months old AND NO new installation = blocking page
If client is more than 3 months old AND new installation = 28-day grace period
I don't know how I can improve it, please let me know if you have some good ideas.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fissues%2F4400%23issuecomment-610602442&data=02|01|Dipin.Nair%40microsoft.com|d94c6cda5100438f41da08d7db31d6c9|72f988bf86f141af91ab2d7cd011db47|1|0|637218879418347561&sdata=LOIQ3Po7MOMDzpUbFkUXLyRT1yYC5ddbozFcgo2oWZI%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJ3OIN5E23Q4WC5LQQ73RJDRLOD4FANCNFSM4L327IGA&data=02|01|Dipin.Nair%40microsoft.com|d94c6cda5100438f41da08d7db31d6c9|72f988bf86f141af91ab2d7cd011db47|1|0|637218879418347561&sdata=YsvhFNDUnb%2Fa48dFkr8PXrqpE25%2FEAasmILvex%2FmIeQ%3D&reserved=0.

Hi @dipinn26592,
In these scenarios I understand:

You have a 28-day grace period. Based on this information: "more than three months old upon first install and/or first run of Teams have a 28-day grace period"
You will see the blocking page, as it was installed and used.


Auto-Annotation Code

Hi, it is a good work!
I am very interested in auto-annotation method. Can you provide this code?
Thanks!

Hi,
Thanks for your interest.
The reason I didn't open-source the source code for the auto-annotation is because the work was done with Sensor Cortek Inc. So technically, they have the right to decide whether we open-source it.
In addition, I only kept the original development repo. The scripts inside are unorganized, which may make the repo itself a little bit hard to read. :\
I can try to ask their permission for the original development repo if you are still interested.

Thanks for your reply!


xSQLServerAlwaysOnAvailabilityGroupReplica - 'ReadOnlyRoutingList' is a ReadOnly property

Details of the scenario you try and problem that is occurring:
If I change a setting on a replica (bringing it out of desired state), for example FailoverMode then I receive "'ReadOnlyRoutingList' is a ReadOnly property" when performing a consistency check.
VERBOSE: [LABSERVER02]: LCM:  [ End    Resource ]  [[xWaitForAvailabilityGroup]WaitForAvailabilityGroupMyLab]
VERBOSE: [LABSERVER02]: LCM:  [ Start  Resource ]  [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica]
VERBOSE: [LABSERVER02]: LCM:  [ Start  Test     ]  [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica]
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Connected to SQL LABSERVER02
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: 'FailoverMode' should be 'Manual' but is 'Automatic'
VERBOSE: [LABSERVER02]: LCM:  [ End    Test     ]  [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica]  in 0.5160 seconds.
VERBOSE: [LABSERVER02]: LCM:  [ Start  Set      ]  [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica]
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Preferred module SqlServer found.
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Importing SqlServer module.
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Connected to SQL LABSERVER02
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Connected to SQL LABSERVER01
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Getting the effective permissions for the login 'NT SERVICE\ClusSvc' on 'MSSQLSERVER'.
VERBOSE: [LABSERVER02]:                            [[xSQLServerAlwaysOnAvailabilityGroupReplica]SQLAOGroupMyLabReplica] 2017-04-20_21-12-30: Connected to SQL LABSERVER02
Invoke-CimMethod : 'ReadOnlyRoutingList' is a ReadOnly property.
At C:\Lab\SQLAOAG.ps1:20 char:5
+     Invoke-CimMethod -CimSession $ServerName -Name PerformRequiredCon ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-CimMethod], CimException
    + FullyQualifiedErrorId : PropertyAssignmentException,Microsoft.Management.Infrastructure.CimCmdlets.InvokeCimMethodCommand
    + PSComputerName        : LABSERVER02

The DSC configuration that is using the resource (as detailed as possible):
xSQLServerAlwaysOnAvailabilityGroupReplica "SQLAOGroup$($AG)Replica"
{
    DependsOn                     = "[xWaitForAvailabilityGroup]WaitForAvailabilityGroup$AG"
    Ensure                        = 'Present'
    PsDscRunAsCredential          = $Credential
    Name                          = $Node.NodeName
    AvailabilityGroupName         = $AG
    SQLServer                     = $Node.NodeName
    SQLInstanceName               = $Node.SQLInstanceName
    AvailabilityMode              = 'SynchronousCommit'
    ConnectionModeInPrimaryRole   = 'AllowAllConnections'
    FailoverMode                  = 'Manual'
    PrimaryReplicaSQLServer       = $AGClusterData.PrimaryAG
    PrimaryReplicaSQLInstanceName = $Node.SQLInstanceName
}

Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
Server: Windows 2012 R2 (Update)
SQL Server: 2016 SP1 CU2
Powershell: 5.1
What module (SqlServer or SQLPS) and which version of the module the DSC Target Node is running:
SqlServer v20.0
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
<IP_ADDRESS>

I think I found the root cause. The error only appears if the config on the node changes and it's not the primary. Config for the AOAG can only be changed on a node if the node is primary (Microsoft has set this requirement).
So to replicate this you would:

On Node01 (Primary) make a change.
Failover the AOAG to Node02 (Secondary)
On Node01 (Secondary) perform a consistency check

So I guess we could either say this is by design or the DSC resource should only connect to the Primary node when making changes. What are everyone's thoughts?

I agree. But it looks like the resource do connect to the Primary replica. If it is not the primary replica, it connect to the primary replica. But it seems there is a problem somewhere here. https://github.com/PowerShell/xSQLServer/blob/dev/DSCResources/MSFT_xSQLServerAlwaysOnAvailabilityGroupReplica/MSFT_xSQLServerAlwaysOnAvailabilityGroupReplica.psm1#L241
But this should be easier to look into when you provided the steps to reproduce the behaviour.

Hello guys, I am having the same problem, but not only on the secondary, but the primary too.
You resolved it ?
DSC configuration:
SqlAGReplica AddReplica
{
Ensure                       = "Present"
Name                         = $Node.NodeName + "" + $Node.InstanceName
AvailabilityGroupName        = $Node.AGName
ServerName                   = $Node.NodeName
InstanceName                 = $Node.InstanceName
PrimaryReplicaServerName   = ( $AllNodes | Where-Object { $.Role -eq 'Primary' } ).NodeName
PrimaryReplicaInstanceName = ( $AllNodes | Where-Object { $.Role -eq 'Primary' } ).InstanceName
ReadOnlyRoutingConnectionUrl = 'TCP://' + $Node.NodeName + "." + $ENV:USERDNSDOMAIN + ":31244"
#ReadOnlyRoutingList          = 'SQLDsc-2\SQLCore2016'
AvailabilityMode              = 'SynchronousCommit'
ConnectionModeInPrimaryRole   = 'AllowAllConnections'
ConnectionModeInSecondaryRole = 'AllowAllConnections'
FailoverMode                  = 'Manual'
PsDscRunAsCredential = $domainSetup
}
ERROR:
'ReadOnlyRoutingList' is a ReadOnly property.
+ CategoryInfo          : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : PropertyAssignmentException
+ PSComputerName        : SQLDsc-1
'ReadOnlyRoutingList' is a ReadOnly property.
+ CategoryInfo          : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : PropertyAssignmentException
+ PSComputerName        : SQLDsc-2
Server: Windows 2016
SQL Server: 2016 SP1 CU2
Powershell: 5.1
SQLServerDSC: dev (11.0)

The each node should connect to the Primary according to this code.
https://github.com/PowerShell/SqlServerDsc/blob/29f2fc48f65fdf44d7e98a11dc0bf78de07db4a0/DSCResources/MSFT_SqlAGReplica/MSFT_SqlAGReplica.psm1#L250-L260
And here it

@aalmeida89 The node that is assigned to Name in the above configuration is it your secondary replica?
The target node should connect to the Primary according to this code.
https://github.com/PowerShell/SqlServerDsc/blob/29f2fc48f65fdf44d7e98a11dc0bf78de07db4a0/DSCResources/MSFT_SqlAGReplica/MSFT_SqlAGReplica.psm1#L250-L260
And here it will get the replica (that is assigned to Name).
https://github.com/PowerShell/SqlServerDsc/blob/29f2fc48f65fdf44d7e98a11dc0bf78de07db4a0/DSCResources/MSFT_SqlAGReplica/MSFT_SqlAGReplica.psm1#L306-L311
And here it will set the routing list. I wonder if it will go out to the secondary and try to update it, but it is not allowed becuase it is not running under the primary role. Is it that this setting can only be set when the replica is running under the primary role?
https://github.com/PowerShell/SqlServerDsc/blob/29f2fc48f65fdf44d7e98a11dc0bf78de07db4a0/DSCResources/MSFT_SqlAGReplica/MSFT_SqlAGReplica.psm1#L374-L378

A given read-only routing list takes effect only when the local replica is running under the primary role. This list must be specified on a replica-by-replica basis, as needed.
What Replica Properties Do you Need to Configure to Support Read-Only Routing?

So I assume the bold text above 'must be specified on a replica-by-replica basis, as needed' is meaning that this needs to be set on each replica,

You must be connected to the server instance that hosts the current primary replica.
Prerequisites

And that says, to set this you must be connected to the primary replica. I suppose this means that to be able to set this, the "secondary" must (can) only be configured once it starts to run under the primary role.
Can someone confirm this?

You modify it on the primary replica.
But you can change it for every replica on the primary replica, whether it's currently primary or secondary.


handle multiple intents

Rasa Core version:
Master (commit 241979c)
Python version:
3.5.2
Operating system (windows, osx, ...):
linux
Issue:
Hi, I understand that the dialogue model will use the most likely intent (as coming from nlu) to decide what to do next.
What would you suggest in case there are two equally probably intents? Something like "I want to know the weather forecast and to book a table at my favourite restaurant for tonight". If I understand how rasa works now, in this case the dialogue will just pick whichever intent happen to have a slightly larger confidence, and forget about the other. Is this correct?
Is there a way for me, maybe in an action, to access the full nlu analysis of the last user input and decide what to do? I would like my bot to store the pending intent in a slot while it addresses the first one, or at least ask some sort of confirmation if the top two intents are very close in confidence.
Thanks for your help,
Andrea.

Ok, I digged a bit into the code, and I think that, beacuse the UserUttered is only extracting "intent" "entities" and "text" from the interpreter answer (which means "intent_ranking" is missing), this is at the moment just not possible. Am I right?
On the bright side, adding "intent_ranking" to the extracted data would probably be enough to allow advanced users to implement ad-hoc solutions.
Is this likely to happen anytime soon, or maybe rasa is not doing it due to some design criteria that I do not grasp yet?
Thanks for your help,
Andrea.

You can try using the probabilistic featurizer https://github.com/RasaHQ/rasa_core/blob/master/rasa_core/featurizers.py#L146

@amn41 thanks a lot for the suggestion. this is, however, just a featurizer, right? it would only add/remove inputs to the dialogue model, it would not help in training with specific stories.
what I would like to do is to provide stories that depend on multiple intents, something like:

ask_question1

slot{"additional_intent":"question2"}
reply_question1
reply_question2

I would be also happy to set the slot myself, so that this becomes:

ask_question1

action_check_additional_intent
slot{"additional_intent":"question2"}
reply_question1
reply_question2

But it is not clear to me how one accesses, from the action, the full interpreter response. It looks to me like parse_data is where to look for it, but this is now only saving the main intent, not the ranking.
Or did I misunderstand the code?
Thanks for your help,
Andrea.


Process nested contexts in Events.getActor

This PR fixes issue #921.
Previously, Events.getActor(EventContext) worked properly only for events generated from commands, as it did not traverse any nested contexts of the event.
Now, we analyze the origin of the event to retrieve any nested context and thus actor ID.
Also, the events without origin set are not allowed as an input to this method. Such events are not valid according to our model and the only way to create them is to use non-validating Builder. Some tests where this was overlooked had to be repaired.

@armiol PTAL.


Support macOS

Draft for:

[x] Let's not claim this until after https://github.com/ericaltendorf/plotman/pull/99

macOS runners seem hung up.  Submitted a support ticket in case it doesn't resolve itself sooner.


octoprint: add nixosTests

Description of changes
This adds some basic tests of the octoprint service. These will hopefully catch regressions like #213145.
Please note: Due to the PR above not yet being merged, this nixosTest will fail (as it should), but will pass, once the commit has been applied.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Please rebase.

Please rebase.

done :+1:

@ofborg test octoprint


workload_manager actor fails to retrieve reservation

Using the workload_manager actor I not able to list reservation that are supposed to be saved in BCDB
Here my test script:
from Jumpscale import j

cockpit = j.clients.threebot.client_get(18)
me = j.tools.threebot.me.default

wm = cockpit.actors_default.workload_manager

reservation_model = j.data.schema.get_from_url("tfgrid.reservation.1")

reservation = reservation_model.new()
reservation.customer_tid = me.tid
reservation.data_reservation.expiration_provisioning = j.data.time.epoch + (60 * 10)  # 10 minutes
reservation.data_reservation.expiration_reservation = j.data.time.epoch + (60 * 10)  # 10 minutes

# network
network = reservation.data_reservation.networks.new()
network.node_id = ""
network.workload_id = 1
network.name = "zaibon_dev_network"
network.iprange = "<IP_ADDRESS>/16"

nr1 = network.network_resources.new()

nr1.iprange = "<IP_ADDRESS>/16"
nr1.node_id = "5rabu25PAnxv5SHgMSwsuqSWQgjhwrr82HJUPQ7LPSHd"
nr1.wireguard_listen_port = 6380
nr1.wireguard_public_key = "0UjFRM5xtqU7L3Mc45qc6jJCHN182up2bWqQI8hsIhQ="
nr1.wireguard_private_key_encrypted = "c5bc5beaeb8052fe2eb095513b2f92cc4e38287ad43a6338b4975f7e9c7b9104b114ebbf85d"

peer = nr1.peers.new()
peer.allowed_iprange = ["<IP_ADDRESS>/16", "<IP_ADDRESS>/16"]
peer.endpoint = "<IP_ADDRESS>:6380"
peer.public_key = "AlotbVRohQabubzbldftAUbODv1MXYQU90sbn5oD4gc="

nr2 = network.network_resources.new()
nr2.iprange = "<IP_ADDRESS>/16"
nr2.node_id = "qzuTJJVd5boi6Uyoco1WWnSgzTb7q8uN79AjBT9x9N3"
nr2.wireguard_listen_port = 6380
nr2.wireguard_public_key = "AlotbVRohQabubzbldftAUbODv1MXYQU90sbn5oD4gc=="
nr2.wireguard_private_key_encrypted = "e9046ad98d857ce618942e1e58ce7d7ff808de78d1e3847909748940cea78e5f0f0b4599c1a7711426bb81c2d790457269a4d0c72b529bce81d8b156cb0270ce1f2af0eeb3ba942fb407d9062560c8401393ab78a4a78bdddf0b0600"

peer = nr2.peers.new()
peer.allowed_iprange = ["<IP_ADDRESS>/32", "<IP_ADDRESS>/24"]
peer.public_key = "VHrmA1licqbB5y2UV2j/dMcqg3ymG0bAOu/uIVyJfz4=="

peer = nr2.peers.new()
peer.allowed_iprange = ["<IP_ADDRESS>/32", "<IP_ADDRESS>/24"]
peer.public_key = "cUFTtsX1C0nwkJcy2TkrYUfKW2KY0PHH9INcGrN3gXk=="

peer = nr2.peers.new()
peer.allowed_iprange = ["<IP_ADDRESS>/32", "<IP_ADDRESS>/24"]
peer.public_key = "0UjFRM5xtqU7L3Mc45qc6jJCHN182up2bWqQI8hsIhQ=="

reservation.json = reservation.data_reservation._json
reservation.customer_signature = me.nacl.sign_hex(reservation.json.encode())

wm.reservation_register(reservation)

wm.reservation_list()

The error happens when I try to call wm.reservation_list()
None
JSX> wm.reservations_list()
Wed 16 14:44:51 _workload_manager.py - 454 - handle_error                       : EXCEPTION:
    GEDIS SERVER <IP_ADDRESS>:8901 SOURCE METHOD: default.workload_manager.reservations_list
 - original Exception:       {"traceback": [["/sandbox/lib/jumpscale/Jumpscale/servers/gedis/handlers.py", "_handle_request", 366, "result =
          cmd.method(*params_list, user_session=user_session, **params_dict)", null],
          ["/sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py",
          "reservations_list", 275, "return self._filter_reservations(node_id, state, epoch)", null],
          ["/sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py",
          "_filter_reservations", 202, "reservation = self._reservation_get(reservation_id)", null],
          ["/sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py",
          "_reservation_get", 144, "raise j.exceptions.NotFound(\"reservation with id: (%s) not found\" % reservation_id)",
          null]], "message": "\u001b[1;31mEXCEPTION: \n    reservation with id: (27) not found\u001b[0;0m", "linenr": 144,
          "filepath": "/sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py",
          "processid": "unknown", "level": 50, "context": "_reservation_get", "cat": null, "data": null}
--TRACEBACK------------------
<stdin> in <module>
    1
/sandbox/var/codegen/gedis/cockpit/client/default_workload_manager.py in reservations_list
    109    self.handle_error(e,1,cmd_name=cmd_name)
/sandbox/var/codegen/gedis/cockpit/client/default_workload_manager.py in handle_error
    454    raise j.exceptions.RemoteException(message=msg, data=logdict, exception=e)
-----------------------------

--DATA-----------------------
  cat: null
  context: _reservation_get
  data: null
  filepath: /sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py
  level: 50
  linenr: 144
  message: "\e[1;31mEXCEPTION: \n    reservation with id: (27) not found\e[0;0m"
  processid: unknown
  source: 'GEDIS SERVER <IP_ADDRESS>:8901 SOURCE METHOD: default.workload_manager.reservations_list'
  traceback:
  -   - /sandbox/lib/jumpscale/Jumpscale/servers/gedis/handlers.py
      - _handle_request
      - 366
      - result = cmd.method(*params_list, user_session=user_session, **params_dict)
      - null
  -   - /sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py
      - reservations_list
      - 275
      - return self._filter_reservations(node_id, state, epoch)
      - null
  -   - /sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py
      - _filter_reservations
      - 202
      - reservation = self._reservation_get(reservation_id)
      - null
  -   - /sandbox/lib/jumpscale/threebot_packages/threefold/tfgrid_workloads/actors/workload_manager.py
      - _reservation_get
      - 144
      - 'raise j.exceptions.NotFound("reservation with id: (%s) not found" % reservation_id)'
      - null
-----------------------------

Fixed here https://github.com/threefoldtech/jumpscaleX_threebot/commit/aa531f9f90f5ed3b35876b0258939462b7c9c96b

@serboctor cool, I'll retry.
While you at it, could you revive the tests for this actor: https://github.com/threefoldtech/jumpscaleX_threebot/blob/aa531f9f90f5ed3b35876b0258939462b7c9c96b/ThreeBotPackages/threefold/tfgrid_workloads/tests/1_base_tests.py
and add some more to cover this bug.
@rkhamis told me there is a way to enable CI also nowadays in JSx. would love to have this actor covered there too.

@zaibon sure, I'll take a look.

Most of the tests are passing now, fixing and tweaking the last bit while also fixing some minor bugs in the actors,
https://github.com/threefoldtech/jumpscaleX_threebot/commit/8b9aee7119b5b4315334cdfc9c6c78dfbf25dad6
https://github.com/threefoldtech/jumpscaleX_threebot/commit/8b9aee7119b5b4315334cdfc9c6c78dfbf25dad6
https://github.com/threefoldtech/jumpscaleX_threebot/commit/108a2c4940c82b14a476878956011d947a654505
https://github.com/threefoldtech/jumpscaleX_threebot/commit/f55f16498dd26429d20e757d44175d67c3295877
https://github.com/threefoldtech/jumpscaleX_threebot/commit/70c1ea1ed866beee7e46b284e67e7e78727e0269

Fixed a network bug that affected the workload listing, and added tests to cover network workload. Also, hardened the tests a bit. The tests are green now.
https://github.com/threefoldtech/jumpscaleX_threebot/commit/7c9de7f82b8a8a38474fa2adad532aec94200576

I created a separate issue for the indices issue instead of tackling too many different issues here.https://github.com/threefoldtech/jumpscaleX_threebot/issues/132

Added more tests in this PR https://github.com/threefoldtech/jumpscaleX_threebot/pull/133


Updated to PHPUnit 5.7 and PHPUnit Mock Objects 3.4

I updated PHPUnit to ^5.7 and PHPUnit Mock Objects to ^3.4, and dropped support to PHP versions 5.3, 5.4 and 5.5, as PHPUnit 5 requires PHP 5.6.
Why dropped support for PHP versions 5.3, 5.4, and 5.5?
These versions are no longer supported by PHP.
Why PHPUnit 5.7 and not PHPUnit 6?
Because PHPUnit 6 requires PHP 7, and we will need to work on that.
I use PSR-1 while extending PHPUnit TestCase class. This will help us when to migrate to PHPUnit 6, that no longer support snake case namespaces.
Also, added PHP 7.2 to Travis CI and PHP 5.6 as minimum version in Requirements section :rocket:

Codecov Report

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

@@             Coverage Diff              @@
##             master      #11      +/-   ##
============================================
+ Coverage     98.42%   98.66%   +0.24%
  Complexity       45       45
============================================
  Files             2        2
  Lines           127      150      +23
============================================
+ Hits            125      148      +23
  Misses            2        2

Impacted Files
Coverage Δ
Complexity Δ

src/SpdxLicenses.php
98.82% <0%> (+0.17%)
27% <0%> (ø)
:arrow_down:

src/SpdxLicensesUpdater.php
98.46% <0%> (+0.34%)
18% <0%> (ø)
:arrow_down:

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 2603a0d...22314ec. Read the comment docs.

Big 👎 on dropping those php versions. Composer can't do this.

What @GrahamCampbell said. As this library is a core component of Composer, and Composer still supports those older PHP versions, we cannot yet upgrade or raise constraints.

@alcohol Cool. I'll only submit namespaces changes, granted PHP versions support.


menuitem.setVisible(true) has no effect after visibility of all MenuItems has been set to false on ICS

I'm having 6 different MenuItems in the ActionBar, whereas at most 2 are visible depending on the application's state.
Because the application's state depends on dynamically loaded content I decided to hide all MenuItems in the beginning. Then I wanted to make those visible again, that the apps state requires to be.
I tried to hide the MenuItems in onCreateOptionsMenu() with MenuItem.setVisible(false) and within the menu XML with android:visible="true".
Once all MenuItems that are in the menu XML are invisible I can't show one or more of them up again.
I discovered that if at least one MenuItem stays visible, the bug is not present.
I could only detect this bug on ICS. Gingerbread works for me. I could not yet test it on Honeycomb.
running ABS 4.0.2

i am facing same problem. Any one can help?

Hi All,I have a problem with My Fragment .I Added a Menu item for a single fragment for what i need .It works fine ,But when i go for another fragment , it reflects the same (menu item ) showing.I have only one Activity FYI.


feat: import platform formatting from oranda

This supports incorporating human-readable platform names in cargo-dist, which needs the same information as oranda does: https://github.com/axodotdev/cargo-dist/issues/356#issuecomment-1690723619

Good call, done.


Update package.json to include typings file reference

Have added a ref to the typings file in package.json, as per typescript spec
http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html

ok, that was simple. thx


MSG_messagename is not parsed in manifest.json

Chrome Desktop Apps have the ability to localize their App Name, Short Name and Description in the manifest file. It would be great to have the same there too.

Dupe of #462.


local_auth no cancel possibility for onscreen fingerprint

Hi guys,
I'm using and debugging with my OnePlus 7 Pro which has an onscreen fingerprint. Unfortunately using local_auth to use that fingerprint shows up location of that sensor like wanted, but there is no option to cancel that operation.
When I use android's back button it pops my page, but fingerprint keeps on display.
Also there is no method inside LocalAuthentication to cancel operation.

I've also had this issue on a Mate20 Pro. Have you found a workaround? I haven't had a chance to look at it in my code yet.
I have been thinking to use face ID over fingerprint where both are available.

No workaround yet.
Since authentication were one of the first features of my app, there is still a lot of time, until I will release it. So there is no urgent need for me to fix this bug or so.
Hopefully there will some cancel option soon.
Also when using it beside entering a PIN and the user enters the PIN correctly, the indisplay fingerprint will not disappear and is still visible.

Hi @sethladd,
I just wanted to draw this to your attention to see if this can be assigned to the correct person with the Flutter team. It's really poor UX and is currently stopping me from releasing a production app.
I hope this isn't poor form to @ you in the comments.
Best,
Sam

Oneplus devices do not show up the "original" modal screen so that might be the problem. I am also affected by this issue.

The only way currently to fix this is to modify the local_auth plugin with your own code. I tried adding the androidx biometric library and use the cancelBiometrics function with no luck. After digging into the code it's because the library uses an atomic boolean to prevent resetting the authentication progress state.
I added something like this to the LocalAuthPlugin.java:
   else if (call.method.equals("cancelBiometrics")) {             Activity activity = registrar.activity();             if (activity == null || activity.isFinishing()) {               result.error("no_activity", "local_auth plugin requires a foreground activity", null);               return;             }             authInProgress.compareAndSet(true, false);         } else {             result.notImplemented();         }
Then a function to call it from the dart plugin LocalAuthentication.dart:
`  Future cancelBiometrics() async {
final Map<String, Object> args = <String, Object>{
'localizedReason': "",
'useErrorDialogs': false,
'stickyAuth': false,
};
AndroidAuthMessages androidAuthStrings = const AndroidAuthMessages();
IOSAuthMessages iOSAuthStrings = const IOSAuthMessages();

if (_platform.isIOS) {
  args.addAll(iOSAuthStrings.args);
} else if (_platform.isAndroid) {
  args.addAll(androidAuthStrings.args);
} else {
  throw PlatformException(
      code: otherOperatingSystem,
      message: 'Local authentication does not support non-Android/iOS '
          'operating systems.',
      details: 'Your operating system is ${_platform.operatingSystem}');
}

return await _channel.invokeMethod<bool>("cancelBiometrics", args);

}`
Once that code exists I can call cancelBiometrics whenever I need too.

@matthewrice345 not had a chance to try this but if it works then we'll done, great work.
Maybe worth a pull request to add it the the package?

I just noticed that 6 days ago work was done to fix this https://github.com/flutter/plugins/pull/2111 @SamuelMTDavies

I can confirm that flutter/plugins#2111 fixes this issue.

In latest version of local_auth package, there is method to cancel it.
Use localAuth.cancelAuthentication()

I'm having issues with on screen finger print. First thing there's no dialog showing up. If an unregistered fingerprint is used the scanner just disappear and the error will be auth_in_progress. But when it comes to ios and hardware fingerprints there's no issue.
This is my main activity
import android.os.Bundle
import io.flutter.app.FlutterFragmentActivity
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterFragmentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}

I'm having issues with onePlus6T mobile  on screen finger print. If an unregistered fingerprint is used the scanner just disappear and local_auth not triggering any event, i am unable to perform action on wrong fingerprint event.
please give us any solution or any update idea

Closing, as this was fixed by flutter/plugins#2111. Please file new issues for unrelated bugs.


include_top, pooling args for squeezenet, and a jupyter notebook example

Extends SqueezeNet to use the include_top and pooling args like other pretrained architectures do.
Includes a jupyter notebook example showing SqueezeNet in use.

Squeezenet transfer learning
I am having some trouble implementing transfer learning using Squeezenet for the dogs/cats example described on the Keras blog.
Here is what I have tried:
model = SqueezeNet(weights='imagenet', include_top=False)
for layer in model.layers:
layer.trainable = False
#Add custom layers for training
x = model.output
x = Dropout(0.5, name='drop9')(x)
x = Convolution2D(classes, (1, 1), padding='valid', name='conv10')(x)
x = Activation('relu', name='relu_conv10')(x)
x = GlobalAveragePooling2D()(x)
x = Dense(2, activation="softmax")(x)
model_final = Model(inputs=model.input, outputs=x)
This does not appear to work as the training accuracy and loss stay the same for each epoch with the accuracy being 50%.  Any idea what the issue is?  Do I need to preprocess the image data?  If so, how do I do that?


Why angular-translate-loader-url.js v2.7.2 uses a .success and .error as they are depreciated?

angular-translate-loader-url.js uses .seccess and .error in its http call which causes an error. Is it a bug or I am doing some thing wrong. I have update these to "then" and error removed and everything works fine.

This repo is for the core AngularJS project (which angular-translate is not a part of). Please, reopen on https://github.com/angular-translate/angular-translate.

I cant reopen this issue as it is not closed by me.

I meant, you should open an identical issue on the correct repo (https://github.com/angular-translate/angular-translate) :smiley:

oh ok thanks, I am new to github :)


explore automated/standard release procedure

Several goals:

should find potential problems before tag, including build error
fewer steps to make a release

jenkins is a option.

jenkins could be a good option for this. It could build before tagging, and run release procedures automatically. When making the release procedure, I will record and publish the way to config job in jenkins (and maybe alternative commands).
One further problem is that etcd-project-specific key/cert is needed to sign release binaries.
We need more time to make it work with existing testing/release platform because existing platform is under some changes. Delay it to 2.3.0-alpha
/cc @crawford

based on discussion OOL, the existing jenkins platform is fine. will work on this.

After digging into it, I would stage it into two phases:

standard release procedure. It needs a document about the standard procedure from tag to release binaries. Also I would make it as clear and simple as possible. And maybe some precheck script.
automated release procedure. It needs to integrate with jenkins.

I think it doesn't deserve efforts to build an automated release procedure with jenkins today. several reasons: 1. the release happens once per two weeks, whose frequency is low 2. I can foresee that I can generate all binaries in one script after stage 1, which is convenient enough. Set up jenkins could take much more time and get little benefit today. @crawford

Jenkins setup should take no more than 5 minutes. The tricky part is writing the scripts (which you will need either way). I'm happy to show you exactly how to set up Jenkins, but we need to get the build procedure squared away first. Jenkins will have more of a benefit once we add Windows and OS X builders.

For jenkins integration, i have implemented a jenkins job that could build all binaries and upload them to github release at https://jenkins.coreos.systems/job/etcd-release/ . It is a good first step. The left part is at  #3472. /cc @crawford
The release script has been merged, and waiting for release guide to be merged.

I do not think people outside coreos can access to https://jenkins.coreos.systems/job/etcd-release/

@xiang90 This is used to facilitate the procedure inside coreos, and its manual steps are all recorded in the release guide.

@yichengq Then we should not bring it up on github at all.

@xiang90 ok

Close it because release guide is merged.


#6358 Fix docker language warnings.

thanks, those warnings are gone but now we got a bunch like this:
/home/beakerx/kernel/base/src/main/java/com/twosigma/beakerx/kernel/magic/command/functionality/TimeMagicCommand.java:90: error: unmappable character for encoding ASCII


Provide better defaults for "Checks" dialog

After installing the clang-power-tools extension, all the checks start off disabled.  This probably isn't what people want.  Consider setting most of them to enabled by default.  The main ones I can see leaving off by default would be the clang-analyzer-optin category.
Alternatively, make it easier to switch large chunks from false to true.

We were just about to to that in the next release :)
We were thinking of enabling by default all modernize and readability checks.

BTW, did you know that you can also specify wildcard filters for clang-tidy checks ?
Eg.
-*,modernize-*,readability-*  <== that means "enable just the modernize and readability" checks
(that's clang-tidy standard syntax/CLI)

This issue was fixed


BAU: handle AmazonServiceExveption when deleting the capture message

Handle AmazonServiceExveption when deferring the capture message (when the message cannot be delated it currently return Bad request 400 - we want to get more detailed information on what's causing this behaviour)

These might make more sense being logged at a warning level in the future but this will likely be standardised as the pattern is used across more services.


brand styles

Description
Change to include branding styles
Overview of Changes
Company specific styles can be loaded followed by app specific overrides
Type of Change

[ ] New feature

You did it @sandeepmantha!
Thank you for signing the Anthem Opensource Software CLA.


support remix 1.16

the new dev server apparently calls esbuild.context, not esbuild.build

@apaleslimghost thank you!
I will merge and release this pull request👍


How to disable frequent rebuild of palette.json when image is not changed?

Is there a way to not generate palette.json every single time if my stylix.image never changes?
It adds at least 20 seconds of build every single time I update flake inputs. This is a pain for iteration of configuration, and since I have stylix enabled on a few machines, it adds non-considerable "wasted" time to compute something identical every time.

Is there a way to not generate palette.json every single time if my stylix.image never changes?

@danth might be more helpful here, since I am not very familiar with this part of the code base:
https://github.com/danth/stylix/blob/e309d64fe7f203274a7913e1d2b74307d15ba122/stylix/palette.nix#L119-L125

It adds at least 20 seconds of build every single time I update flake inputs. This is a pain for iteration of configuration, and since I have stylix enabled on a few machines, it adds non-considerable "wasted" time to compute something identical every time.

Implementing the Vim highlight groups may involve rewriting the palette-generator. In that case, we may consider improving its run time performance.

I managed to binary search the problem, which relates to using stylix across multiple flakes.
I have a shared repository with some wrapper modules that set up my desktop machines, which I use across multiple private flakes.
It sets stylix.image to a file within the shared flake, if a consuming flake doesn't set it's own stylix.image but instead relies upon the default from the shared flake, every time the input is updated the palette.json is rebuilt because the path to stylix.image changes because the option type coerces a package to a string.
https://github.com/danth/stylix/blob/e309d64fe7f203274a7913e1d2b74307d15ba122/stylix/palette.nix#L37-L45
The solution is setting stylix.image in each consuming flake.

I'm aware that as of efb734ff436d7ba9df6648d3c9f3ce93a4b0f971 the output of the palette generator is no longer directly part of the system closure, despite what it says in the comment. This is because the colors loaded via an import-from-derivation and substituted into palette.json.mustache, so the original palette.json which was output by the palette generator may be garbage collected.


Accessibility d3

Added a new page for accessible VR Features, with the goal of supporting blind/visually impaired users.
Changes include:

a VR Accessibility Component with an embedded A-Frame VR element and support for controller interactions
a D3 document, hapticplot.d3, which generates A-frame objects and performed necessary event listener set-up and element styling
angular routing changes to support navigation to the new component
three new dependencies ('aframe-extras,' 'super-hands,' and 'aframe-haptics-component') to support controller interactions

@googlebot I signed it!


Allow adding options to apiserver runtime-config

I would like to add extra options to the runtime-config of the api-server.
This would be very useful as an optional value in the cluster yaml.
In particular, we are using CronJobs and need batch/v2alpha1=true

Closed woth #500


ci: move from manifest to config file

Issue #, if available: release-please action not triggering as expected, see errors and previous PR (https://github.com/runfinch/finch/pull/738)
Description of changes:

I re-read the release-please-action documentation, and I think I put the config in the wrong file in my previous PR.
Followed the instructions here to create a manifest release since that seems to be what release-please requires when using a config file on v4
Moved release-type to the config file instead of the yaml directly because the action seems to branch its behavior depending on if that's present or not

Testing done:

Tested on my fork, but its hard to replicate the upstream perfectly

[x] I've reviewed the guidance in CONTRIBUTING.md

License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I re-read the release-please-action documentation, and I think I put the config in the wrong file in my previous PR.

This link doesn't point to the right place. Did you mean https://github.com/google-github-actions/release-please-action?tab=readme-ov-file#advanced-release-configuration ?

Followed the instructions here to create a manifest release since that seems to be what release-please requires when using a config file on v4

No link for "here", did you mean https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md ?

Yeah, it was a copy/paste error, fixed the links in the original PR, thanks.


Clarify intended use of using

*Main> sh $ using (mktemp "." "foo") >>= \(a,h) -> outhandle h (return "asdf") >> stdout (input a)
*** Exception: ./foo1804289383846930886: openFile: resource busy (file is locked)

I expect this code to print "asdf"; I assume that my expectation is wrong and that this is not a bug, but I don't see anything in the documentation to explain how I would accomplish the intended behavior.

Actually the problem isn't with using.  The problem is that you have to close the Handle returned by mktemp before consuming it using input.
I can add this to the documentation for mktemp and also re-export hClose, though

I guess that makes sense... is it really such an uncommon use case to write to a temp file and read from it at the same time? Especially since my understanding of using and Managed is that it they'll guarantee that the handle is closed when you exit the scope.

Actually, even if it did guarantee that the handle is closed when you exit the scope, you'd still have an issue because you haven't even exited the scope yet.  The end of the scope is when the surrounding sh (or with or runManaged) completes.
However, I agree that the current API is a bit difficult to use.  I'm trying to think of an easier interface to work with.

So it just occurred to me that a simpler API might be to just not return the Handle at all.  In other words, just change the type to:
mktemp :: FilePath -> Text -> Managed FilePath

After all, it's not that hard for the user to just write to it using output anyway.  The drop in efficiency from closing and reopening the Handle is probably negligible.
How does that solution sound?

Sounds good. I'd also clarify using (I didn't realize how far the scope went) and maybe mention with. I might have benefited from seeing how to replicate Python's with in the tutorial (IIUC, this would involve liftIO . runManaged, but I'm not sure how to run Shell code within the Managed block).

As a side note, turtle now re-exports with from the managed package, which is exactly analogous to Python's with

As a side note, turtle now re-exports with from the managed package, which is exactly analogous to Python's with

Not exactly analogous. It does not work seamlessly with Shell values in that its second parameter is an IO action, not a Shell action.
import tempfile
with tempfile.TemporaryFile() as f:
  f.write("asdf")
  f.seek(0) # Ideally I would have a read and a write descriptor, but there's no easy way to do so AFAICT
  print(f.read())

{-# LANGUAGE OverloadedStrings #-}
import Turtle
import Control.Monad.Managed (with)
main = sh $ do
  -- I shouldn't always need to care about the arguments to mktemp.
  -- I'd probably provide a function that takes no parameters and one which uses some default arguments trick to let the user customize, but I understand that that is in contrast to `turtle`s goal of `turtle` is simplicity.
  liftIO {- [1] -} $ with (mktemp "/tmp" "foo") $ \fname -> sh {- [2] -} $ do
    output fname "asdf"
    stdout $ input fname -- No need to seek, but opens you up to a TOCTOU attack [3]

Since with returns an IO action, I need to liftIO it to work in a Shell context
But if I want to use a Shell within the with, I need to convert it to an IO; sh is the most straightforward way to do so, but if I want to return something, I need to resort to fold, which is necessarily somewhat involved.
This isn't a exactly downside w.r.t. Python; Python doesn't let you get a value from a with block, but it does let you set variables and use the result later (which we can do via IORefs, but those are, again, more involved than the Python equivalent).
I'd go with the simplified interface, but I'd make a comment that it's bad systems programming practice because it enables TOCTOU vulnerabilities (example).

The whole reason I didn't originally export with is precisely because it let you introduce a TOCTOU bug.  If you don't use, then the idiomatic way to use it to just bind the result in the Shell monad through using.
Actually, it's still possible to have a TOCTOU bug if you use fold, but it requires much more effort.
The direct answer your question is to just do this:
example = do
    fname <- using (mktemp "/tmp" "foo")
    output fname "asdf"
    stdout (input fname)

That gives you full access to the Shell monad within the scope introduced by the mktemp statement.

Right. Managed embeds into Shell; I should have realized.
The cleaned up code you presented still has the same TOCTOU bug, though, if the attacker swaps out the file between mktemp and output or between output and input; the nominally "proper" way to do this would be to return a file handle (like mktemp used to), possibly without the file name (this is probably why System.IO.openTempFile has the return type it does).

The direct answer your question is to just do this

Is there a way of ensuring that the file is deleted after example (since it doesn't happen automatically)? e.g.
example2 = do
    output "/tmp/foo1234" "asdf"
    example
    example
    view $ find (prefix "/tmp/foo") "/tmp"
    -- I would like this to print only `FilePath "/tmp/foo1234"`

That's what I was looking for in with.

The file is automatically deleted after example2 when the Managed block completes (either at the end of a runManaged or sh call).  For example, the way I would structure your code would be to make one minor modification:
-- This ensures that the temporary file's scope is localized to `example`
example :: IO ()
example = runManaged (do
    fname <- mktemp "/tmp" "foo"
    output fname "asdf"
    stdout (input fname) )

-- Now this would do the right thing
example2 = do
    output "/tmp/foo1234" "asdf"
    liftIO example
    liftIO example
    view $ find (prefix "/tmp/foo") "/tmp"

Perfect. Thank you!

I just wanted to clarify that I decided to rename the more convenient version of mktemp into mktempfile and keep mktemp as the old, safer behavior.  That way it avoids a breaking API change and it also gives users the choice as to what level of safety/convenience tradeoff they are willing to make.


[Docs Request] Add example for how to use the module to fill the store

Describe the feature
Hello,
Thanks for the great module. I've been looking for something like NuxtServerInit in Nuxt 2 to fill up my Pinia store on first run.
My use case is I scrape some data using playwright on the server and I need to run that at build time and fill that data into the store to then use it in the frontend (I'm serving the site as a SSG).
Afer searching and trying workarounds in this discussion I managed to get it to work. But this package seems a much more cleaner way to do it. Can an example of usage with pinia be provided? I'm willing to help but I think I don't got the enough understanding for it sorry for that.
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Can you think of other implementations of this feature?

Final checks

[X] Check existing issues.

That is a valid point!
I have implemented a new feature with v0.2.0 – is this what you are looking for?
Updated docs 👉  https://nuxt-prepare.byjohann.dev/guide/example-pass-state-to-nuxt.html

I've been itching to try and figure out how to help you.  If you run into any errors, feel free to open a separate issue.


EVE can't contact Adam

At least on MacOS I get into a situation where the entry for Adam in /etc/hosts is <IP_ADDRESS>. I don't understand how this could resolve. The correct IP is <IP_ADDRESS> (and once I manually change it -- EVE seems to be able to talk to Adam just right)

Fixed on PR43.


latex

Thanks for you created this application，Its very great that i think！I has a problem when using it, I need latex syntax support，Can you add that with next version?

Thank you for your advice. I will consider it if I have enough time

I use it after my deployment is complete, upload an image link returned by the article as localhost:3000/public/Date.now().(jpg|png), why did it happen?

@Triment Use http://<IP_ADDRESS>:3000

This is a very good solution. If you want to be successful in casinos then you should definitely look for only the best options. I can advise you my favourite site which is really very profitable, check this casino.

ha

您好，您的邮件我已收到

Ripple (XRP) has experienced a period of relative quiet, but recent developments suggest a promising turnaround. Despite a lull over the past two years, XRP surged dramatically by 169% in November, catching the attention of the crypto community and earning a top spot on Coindesk’s Top 20 https://paybis.com/blog/ripple-price-prediction/. This resurgence has fueled speculation about the potential for XRP to surpass $10. Investors and analysts are closely watching Ripple’s progress, as it may signal a significant shift in its market trajectory. For more insights and up-to-date information on XRP’s potential, check out Paybis.com.

您好，您的邮件我已收到

I was clueless about how to approach my letter of recommendation for grad school. LORService.com took all that stress away. The letter they provided was professional and really showcased my qualifications. It’s like they read my mind and knew exactly what I wanted to say but couldn’t find the words for. Highly recommend!


Node module name for Waveform.js is incorrect

Description
Node module name for Waveform.js is incorrect. Line 13 of videojs.wavesurfer.js should be
module.exports = factory(require('video.js'), require('wavesurfer.js'));
Steps to reproduce
Try to import plugin into my JS
Results
Expected
That the JS compiles correctly
Actual
Get an error on compilation that the wavesurfer module can't be found
Error output
Cannot find module 'wavesurfer' from 'PATH/node_modules/videojs-wavesurfer'

Thanks, merged and released (1.2.2).


Added ui:*Template properties

Reasons for making this change
Makes customizing templates for a form a more granular experience.
Resolves #1010
Checklist

[ ] I'm updating documentation

[ ] I've checked the rendering of the Markdown text I've added

[x] I'm adding or updating code

[x] I've added and/or updated tests
[ ] I've updated docs if needed
[x] I've run npm run cs-format on my branch to conform my code to prettier coding style

[ ] I'm adding a new feature

[ ] I've updated the playground with an example use of the feature

@loganvolkers will you have time to make these changes? I'd like to merge this PR

@loganvolkers just bumping this!

@loganvolkers any update on this? This looks really promising.

Working on wrapping this up.
I just made some progress on merging the latest to bring this branch up to speed, but there are still some changes requested for tests and docs.

@epicfaace can you please review? I believe this should meet your requests.

Thanks @loganvolkers looks good -- can you update the docs?

@epicfaace merged latest changes and updated docs. Please take a look.

Looks good -- thanks!

I agree with this. templates could be added to the registry and use the same capabilities that exist for string-referenced widgets and fields.

Was this piece implemented?

No, it was not.
On Wed, Aug 7, 2019, 11:13 AM Tim Kindberg<EMAIL_ADDRESS>wrote:

I agree with this. templates could be added to the registry and use the
same capabilities that exist for string-referenced widgets and fields.
Was this piece implemented?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mozilla-services/react-jsonschema-form/pull/1152?email_source=notifications&email_token=AAI2PXXAV3O7DUM65LHXH23QDMGETA5CNFSM4GRVX3ZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ZIODI#issuecomment-519210765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAI2PXQADHOXBR7FODSF7H3QDMGETANCNFSM4GRVX3ZA
.

I agree with this. templates could be added to the registry and use the same capabilities that exist for string-referenced widgets and fields.

Was this piece implemented?

It's now being tracked in #1387, though.


Syntastic linting not recognizing filetype after tern_for_vim installation

So, after I installed tern_for_vim, default filetype for javascript files was changed from javascript to javascript.jsx, what breaks Syntastic, because all checkers for javascript are made for javascript filetype.

That doesn't sound like something this plugin does. In fact, the string jsx turns up zero hits when I grep for it in this repository.


generalize Boyer-Moore to regex search

It seems conceivable that we can utilize ideas from Boyer-Moore to speed up regex searching in some cases.
In particular, I recently had to remove the "reverse suffix literal" optimization because it runs in worst case quadratic time: https://github.com/rust-lang-nursery/regex/commit/50d991eaf53e6c21b8101c82e01ab6cf36fe687c --- The reverse suffix literal optimization works by detecting suffix literals, scanning for those quickly, and then matching the DFA in reverse from the literal matches. The problem is that this can lead to the DFA scanning the same bytes over and over again if the suffix literal appears many times in a haystack that never matches.
One way to fix this is to put a hard bound on how many mismatches we're willing to put up with before giving up on the suffix literal scanning. The problem is that this can still lead to very bad performance on, say, large haystacks without any matches but many occurrences of the suffix literal towards the end of the string. The DFA could end up scanning backwards over the entire haystack N times before we give up. This is in contrast to what it will do today, which is a single linear scan.
A better way to fix this is to do more analysis and limit the cases where this optimization may apply. Taking a page out of the Boyer-Moore algorithm, we could prevent the DFA from scanning text it has already seen if we knew that running the regex in reverse could never proceed past the suffix literal. For example, consider the regex \s+Holmes. Running the regex \s+ in reverse can never match past Holmes because Holmes contains no whitespace characters. Therefore, after a mismatch, we can increment the starting position of the next search to be the end of the previous occurrence of Holmes. We can do this because we know, a priori, that the DFA won't match it. (In fact, the DFA will stop on its own, but we still need to make sure that it will stop before applying the optimization.)
We should be able to take this idea and extend it to inner literals as well. Consider, for example, \s+Holmes\s+. We could split this regex into three component pieces: \s+, Holmes and \s+. Candidate locations are determined by quickly scanning for Holmes, then matching the first component in reverse and matching the third component forwards. We would have to handle capping the reverse search like we do in the previous case. Similarly, for the forward search, since if it could match Holmes, it could degrade to quadratic behavior.
The above cases don't even appear to be a full generalization either, since they deal only with literals, which admittedly makes them somewhat simpler to reason about. It also seems possible to generalize this to arbitrary regexes, even those without any literals.
Related reading:
Commentz-Walter is an algorithm that combines Aho-Corasick with Boyer-Moore. (Only implementation I know of is in GNU grep.)
Taxonomies and Toolkits of Regular Language Algorithms is a dissertation on the classification of substring search algorithms. Notably, it contains a section on generalizing Boyer-Moore to regular expression search. It is, however, very long and very dense. (I don't know of any implementations in the wild, although perhaps the author's source code is still available.)

This issue might have the seeds of some really interesting future experimental work, but it's not actionable and will require substantial time investment to pursue.


[BUG] Incompatibility with ModernFix's Dynamic Resource feature if also using Create

Important Information
Minecraft Version: 1.20.1
Mod Loader System: Forge
DramaticDoors Version: 3.1.3_2
Logs
latest.log
crash report
Describe the bug
If using ModernFix's Dynamic Resources feature, and if also using Create, the game crashes because of Dramatic Doors.
To Reproduce

Create an instance with just Create, Dramatic Doors, and ModernFix
In the configs, open the modernfix-mixins.properties and set mixin.perf.dynamic_resources to true
Launch the game and crash

I've uploaded a new version, does it fix the crashes?

Seems to be fixed! Thanks!


Support all command line options for pep8

I was trying to change the --max-line-length.  I'm not sure why this code was only written to support ignore.  I'm proposing a change that would support everything.  If you'd prefer, this could also be written to only support recognized options (eg: ignore, max-line-length, ...).

I converted the format string to unicode.  I made the log statement use unicode as well but, now that I think about it, logging is supposed to handle that automatically.

@markstory, how does this look to you?

Looks good. I'll get some tests added.

Thanks!


Use Expert Mode for LSFCluster ?

The problem was mentioned in @mrocklin's great blog post: https://blog.dask.org/2019/08/28/dask-on-summit#invalid-operations-in-the-job-script.
The work-around is to use header_skip to get rid of the offending lines in the job_script. Maybe a better option would be to allow to submit in "expert mode" instead.
I originally thought "easy mode" was a Summit cluster scpecific thing, but actually it seems like LSF thing although it seems some kind of LSF extension (LSF with Cluster System Manager whatever this means) and not all LSF clusters may have it.
Since '-csm y' can be used in job_extra maybe this is only something that could be added to the documentation e.g. https://jobqueue.dask.org/en/latest/examples.html#slurm-deployments. @mrocklin if you could try this at one point on Summit this would be great! If there are other dask-jobqueue users on Summit, feel free to get them involved of course!
In principle I think something like this should work if I am reading the LSF doc and @mrocklin's blog post correctly:
from dask_jobqueue import LSFCluster
cluster = LSFCluster(
    cores=128,
    memory="600 GB",
    project="GEN119",
    walltime="00:30",
    job_extra=['-csm y']
)
cluster.scale(jobs=3)  # ask for three nodes

I seem to remember that at one point you said you could start and scale a LSFCluster from a compute node but not from the login node. This could have been because EasyMode was only enabled on the login node.

Closing this issue as stale. If any LSF user is around and wants to test this, please comment!