getTracks doesn't work anymore

Describe the bug
getTracks() gives an error when being run on this album
Spotify URL(s)
https://open.spotify.com/album/6YuNt7ueupL1klxLJiTqTJ?si=HLEtPLJoTaqprBmRm7qkCQ
Your Code
(trackLink is a variable holding that link above)
if (trackLink.includes('album')) {
    const tracks = await getTracks(trackLink);
    console.log(tracks);
}

Error Message
TypeError: Cannot read properties of undefined (reading 'items')
at getTracks (/Users/jeffturpin/Documents/GitHub/Waveform/discord-bot/node_modules/spotify-url-info/src/index.js:145:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.execute (/Users/jeffturpin/Documents/GitHub/Waveform/discord-bot/commands/sendmail.js:71:28)
at async Client. (/Users/jeffturpin/Documents/GitHub/Waveform/discord-bot/index.js:225:9)

getting similar errors. issue with recent update?
TypeError: Couldn't find any data in embed page that we know how to parse.
Please report the problem at https://github.com/microlinkhq/spotify-url-info/issues.
at throwError (/opt/node_modules/spotify-url-info/src/index.js:22:9)
at /opt/node_modules/spotify-url-info/src/index.js:65:10
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Function.addPlaylist (/var/task/helper/player.js:97:14)
at async eval (/functions/events/discord/message/create.js:59:3)

TypeError: Cannot read property 'items' of undefined
at getTracks (/opt/node_modules/spotify-url-info/src/index.js:145:26)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Function.addPlaylist (/var/task/helper/player.js:97:14)
at async eval (/functions/events/discord/message/create.js:59:3)

Facing similar issues v3.1.9

Yeah, sounds like a recent spotify update broke it :/

I use Spotify and exchange over to yt. however Im using getData(song) from Spotify.
Received a similar notification that @CaptSpider4 posted.
static async play(song, {channel_id, guild_id, direct, keyDetails} = {}) {
  if (song?.match(/^https?:\/\/(open.spotify.com|spotify.com)(.*)$/)) {
    if(song.includes('playlist') || song.includes('album')) return this.addPlaylist(song, {channel_id, guild_id, keyDetails});
    else if(song.includes('track')) song = await getData(song)

Same thing for me.
TypeError: Cannot read properties of undefined (reading 'items')
Tried fixing it, but this bug report does explain a lot. The getTracks just simply don't work. That's why I was getting undefined from "tracks"

Hello,
I pre-released<EMAIL_ADDRESS>and it should to address the issue.
Can you confirm it's working fine to you?

getting this new error since update:
TypeError: Cannot read property '0' of undefined
at /var/task/helper/player.js:102:50
at Array.map (<anonymous>)
at /var/task/helper/player.js:99:17
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Function.addPlaylist (/var/task/helper/player.js:97:14)
at async eval (/functions/events/discord/channel/message/create.js:24:3)

which is associated with this little bit of code:
    if (url.includes('spotify')) {
      list = await getTracks(url).then(
        (data) =>
          data?.map((x) => {
            return {
              title: x.name,
              shortUrl: `${x.name} by ${x.artists[0].name} audio`,
            };
          }) || []
      );
    } else {
      list = await ytpl(url, {limit: process.env.PLAYLIST_LIMIT || 20}).then(
        (res) => {
          return res.items;
        }
      );
    }
 ------------------------------------------------------------------
>>>    shortUrl: `${x.name} by ${x.artists[0].name} audio`,

please provide a way to reproduce it; what's the URL?

Hello,
I pre-released<EMAIL_ADDRESS>and it should to address the issue.
Can you confirm it's working fine to you?

After adjusting how my code works, this does work, thank you!


update battery footprints

update battery footprints to use the new cutout pattern and integrate silkscreen + and - into the footprint.

user version number 1.1


Finish hera_cal workflow using VQLS

Added a post processing step that correct for the norm and direction of the solution vector. Test now passes 🥳


Should we specify what signature/ZKP schemes a verifier supports?

It feels like leaving the verifier to wade through a schema definition or 'scheme-sniff' returned data for the crypto schemes the response items use would be messy, misfire-prone process. As such, should we consider adding a field to the Proof Presentation where the verifier can state what schemes they support verification of?

This is a good point. Currently I am assuming that JWT, JSON-LD proofs and ZKP will be discreet islands that dont interwork, and that even within one of these islands there may not be complete interworking due to the numerous options that are available

@tplooker @csuwildcat any update on this? how do we move this forward?

I agree, we in general need the ability between all actors in a verifiable credential ecosystem for them to communicate to one and other, what cryptography they support (e.g what algorithms I support signing and verifying), otherwise we will create headaches around achieving crypto-graphic agility in future.
I think a place for a verifier to express what cryptographic algorithms they support in verifying assertions is wise. But the same applies for an issuer and holder being able to advertise what algorithms they support.

This expands beyond just ZKP schemes too, there are different algorithms for even more traditional digital signatures.

I'm having trouble seeing the discussion here as much more than "we wish things were clearer" :) can we provide an example of an improvement?

Will tackle in future release of spec.


chore: fix image name

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Isntalled prettier

Installed prettier with some sensible defaults. Let me know if you prefer another prettier configuration.

Also, this repository may need to have github workflows enabled so that the CI can run

Thanks for your contribution. I changed the entire project structure to Typescript and add prettier inside of that setup with eslint


Initial implementation of component rt interface

WIP for #283
This doesn't expose anything at the node level yet but has the necessary types to write/execute a component

@sanity could you take a look at this PR see if you see anything wrong with it


Fix past tense and make German text clearer (ramp down FAQs)

Description
This PR fixes a wrong past tense in "ramp_down_functionality" and fixes the German text in "ramp_down_tests".
What was changed?

https://github.com/Ein-Tim/cwa-website/blob/fix/ramp-down-updates/src/data/faq.json
https://github.com/Ein-Tim/cwa-website/blob/fix/ramp-down-updates/src/data/faq_de.json

Screenshots
This is a minor change only, if you want I can still provide screenshots for it.

@Ein-Tim
What is the planned release date for CWA 3.2?

@Ein-Tim The release is not planned before mid-April, so I think it makes sense to update the wrong tense.

@Ein-Tim Thanks for the PR, makes sense; will cross-check internally with the team.


refactor: remove non needed inputs

Thanks @dipinknair for noticing that some inputs in the private actions were not needed.
This comes from the fact that two steps are performed before running any private action (checkout and setup-python) Since both private actions (windows and linux) are not involved in python setup and git install + clone, this PR removes the following inputs from the private actions:

python-version
use-python-cache
checkout

Branch name not valid @SMoraisAnsys - please resubmit PR

Closing for #519


Add SwipeControlOpenState #7015

Description
Add SwipeControlOpenState to SwipeControl
Note that this PR only implement the basic Closed and Opened state, which exactly maps to the previously internal state. If Closed, Opening, and Opened, or event OpendLeft/Right is desirable as described in the issue, I can update in this PR.
Motivation and Context
Implement #7015
Fix #7021
Fix #7022
How Has This Been Tested?
Manually in test app.

The fix for #7022 introduced another issue, where if reveal mode is set to auto, after the initial OpenState property changed is fired for when it is true (i.e. after swiping), it would fire repeatedly and the state would be false -> true -> false, whereas if the reveal mode is remain open, there is no subsequent property changed event.

Thank you for submitting this PR, the current focus of the team is to assist our users in moving from WinUI 2 to WinUI 3. We are closing this PR as it does not address resolving a critical issue for WinUI 2 or WinUI 3.


Prevent swallowed build errors in e2e tests

GitHub's documentation on run 1 and shell 2 implies that
commands invoked via bash will be run with pipefail. Unfortunately
this is not the case. Specifying bash as the shell does activate
pipefail, and prevent errors in test execution from being swallowed.

Please ignore this for now, I've rebased this on #947 because it was gonna conflict anyway.

Were all errors really swallowed before? I find that hard to believe as these tests did trigger build errors

In the e2e tests, yes. There's a bug in multinode which we have been missing in our test cases for the last week or so.

FYI This change is waiting on a new release of timescaledb.

Added @Harkishen-Singh to take a look at these skipped tests.


Print Grabber_1

Would it be possible to print the Grabber_1 today?
https://drive.google.com/a/ncsu.edu/#folders/0B93g4TjHMS2pZ0NubEFBTWxJZTA

Since this part is no longer needed this issue is closed


Add bitcoincleanup.com single-page site

This adds https://bitcoincleanup.com under the list of articles debunking "Bitcoin uses dirty, non-renewable energy". It is a single-page site, so not technically an article, so I think it should still be fine, especially since I link back to you.

great stuff! thank you.


[Enhancement] Support optimize table change distribution method

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[x] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[FE Incremental Coverage Report]
:heart_eyes: pass : 8 / 8 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/alter/OptimizeJobV2.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/load/InsertOverwriteJobRunner.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

@Mergifyio backport branch-3.2

@mergify backport branch-3.2


Maven support

Please add maven support

why not available in any repo like maven central or jcenter ?? If possible please add there.

I'll add it as soon as possible guys, promised :)
I shifted from this project to a startup job but I want to give it more love once again.

In order to create maven support you need to create an account here https://issues.sonatype.org/secure/Dashboard.jspa and submit a new ticket with your request. You need to describe what Universal Tween Engine is about and give some extra information. After a few hours you get approval and access to the Snapshot and Release repository.
In TravisCI for instance you can then setup a build job to auto-release to the Sonatype repo. Take a look at one of my projects for an example pom setup.
Unfortunately, in order to release to the Maven repository you need to sign all your code with a GPG signature (setting this up was pain in the ass) but once it's setup everything works flawless.

I hate to confuse everything, and would love the original project to be published out so I hope this happens.  For others that don't need the sources jar yet (say for GWT projects), this fork has been published up to a maven repo on jitpack:
https://github.com/Arcnor/universal-tween-engine
As @MyRealityCoding described, there's a bunch of setup to publishing but I had success with a library of mine by working off of the Ashley ECS project:  https://github.com/libgdx/ashley and looking at their publish.xml file

Thank you @Barryrowe! Previously I copy-pasted all the tween engine code into my recent project (to be compatible with mvn install). Thanks to you I can just use this dependency instead. Lovely. ❤


Documentation

### Tasks
- [ ] https://github.com/hashgraph/solo/issues/39
- [ ] https://github.com/hashgraph/solo/issues/94

sub tasks are done


Parallel builds of crate dependencies leads to intermittent linker errors

Summary
While cargo is compiling dependencies I'm seeing intermittent linker errors. It appears the issue is caused by how cargo uses job objects on windows detailed in this issue: https://github.com/rust-lang/rust/issues/33145
Output
  Compiling log v0.3.6
 Documenting winapi v0.2.8
   Compiling rustc-serialize v0.3.19
   Compiling cfg-if v0.1.0
   Compiling utf8-ranges v0.1.3
   Compiling clang-sys v0.7.2
   Compiling strsim v0.5.1
   Compiling clang-sys v0.10.1
   Compiling winapi-build v0.1.1
   Compiling winapi v0.2.8
   Compiling backtrace-sys v0.1.4
   Compiling kernel32-sys v0.2.2
   Compiling dbghelp-sys v0.2.0
error: linking with `link.exe` failed: exit code: 1318
  |
  = note: "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe" "/NOLOGO" "/NXCOMPAT" "/LARGEADDRESSAWARE" "/SAFESEH" "/LIBPATH:<lots of paths to libs>
  = note: libpanic_unwind-40393716.rlib(panic_unwind-40393716.0.o) : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'

error: aborting due to previous error

error: linking with `link.exe` failed: exit code: 1318
  |
  = note: "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe" "/NOLOGO" "/NXCOMPAT" "/LARGEADDRESSAWARE" "/SAFESEH" "/LIBPATH:<lots of paths to libs>
  = note: LINK : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'

error: aborting due to previous error

Build failed, waiting for other jobs to finish...
Build failed, waiting for other jobs to finish...

System info
Windows 10 x64

rustc 1.12.0 (3191fbae9 2016-09-23)
binary: rustc
commit-hash: 3191fbae9da539442351f883bdabcad0d72efcb6
commit-date: 2016-09-23
host: i686-pc-windows-msvc
release: 1.12.0

rustup 0.6.3 (a0e2132 2016-08-28)

cargo 0.13.0-nightly (109cb7c 2016-08-19)

Thanks for the report! You also mentioned that there are parallel builds of Cargo going in the background as well, which I think is a key ingredient here. In that sense, I think the sequence of steps here are:

Cargo process A starts

This process spawns rustc
This process spawns link.exe
This process spawns mspdbsrv.exe

Meanwhile, Cargo process B starts

This process spawns rustc, then link.exe
This link.exe realizes mspdbsrv.exe is already running, and starts communicating

Cargo process A finishes (link.exe returns, rustc.exe returns)
The job object for Cargo process A kills mspdbsrv.exe
Cargo process B's link.exe doesn't like mspdbsrv.exe going away, so it bails

I think the solution here is to do the same thing as the Rust build system which is to tweak our usage of job objects:

By default, do the same thing as today, tear down everything
If Cargo finishes entirely, then we kill all sub-processes that aren't whitelisted
We whitelist to persist mspdbsrv all the time

That way by default this scenario would work, and otherwise we'd still get the same benefits that if you interrupt things then everything is torn down.

To clarify, I'm using cargo interactively and launching cargo build once. I was under the impression that cargo built dependencies in parallel internally and that was where the conflict was coming from.

I'm using the script from this guy's blog to isolate mspdbsrv. http://blog.peter-b.co.uk/2017/02/stop-mspdbsrv-from-breaking-ci-build.html

Run an mspdbsrv manually, overriding environment variable
Run link.exe (or whatever else, devenv et al)
Using python's 'with', mspdbsrv will automatically close, whether we succeed or fail.

@Joeasaurus to confirm, is that required to fix this today? In theory this has been fixed in Cargo and shouldn't be an issue for Rust projects.

@alexcrichton  I don't think so, sorry for the necro post! Didn't look at the dates ;D


Fix dnf plugin for Fedora users

On Fedora, all dnf commands require root.

Can't reproduce on my end. Those commands all work under non-privileged users.


feat: more robust parameter and code change detection and transparent reporting of detected changes

QC

[x] The PR contains a test case for the changes or the changes are already covered by an existing test case.
[x] The documentation (docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).

Summary by CodeRabbit

New Features

Enhanced tracking of job parameters within the Snakemake framework.
Introduced a new ParamsChange dataclass for improved clarity in parameter change tracking.
Added logging functions to track jobs with outdated or missing metadata.
Implemented automatic updates of Conda in the CI workflow.

Improvements

Simplified logic for job execution reasons, improving readability and maintainability.
Updated job parameter change reporting for more detailed insights during execution.
Enhanced visibility of job metadata status during workflow execution for better debugging.
Introduced new tests to validate parameter handling and metadata management.

Hi Johannes! @johanneskoester
Is the change to _code permanent? Not having fine grained re-running of rules based on changed python code has really degraded my workflow, I just realized this commit is likely the reason for that. For some reason the mtime thing doesn't reliably work either, but even if it did I think it would just rerun all the rules in the same file which is unwanted.


Featured Image

Hello everyone,
I'm having an issue with my website, and I'm hoping someone here can help me out. I can't find the "featured image" option on the admin page of my website. I'm trying to add a featured image to a post, but I can't find the option anywhere.
Does create-react-wptheme support the "featured image" option? I don't know how to enable it on the admin page for posts. Has anyone had this issue before or knows how to solve it?
I would appreciate any help or advice that you can provide. Thank you very much!

Hey, hope you've found the answer by now, but just in case anyone else needs it, in order to enable the post thumbnails, you just need to add
add_theme_support ('post-thumbnails');
anywhere in the public functions.php file

I'll be trying this! Thx (i will reply if it worked)


Option to clear charging profiles

Is your feature request related to a problem? Please describe.
I was unable to charge my EV as the charger stated that the external station only allowed charging at 0A. I was unable to set the maximum current via the OCPP HA addon. this was stuck at 0A. When I set this to 8A or 16A, after a refresh the max was 0A again. I did look at the log (enabled debugging log), but could not find anything related to this. Since the priority was to charge my car, I resolved this using the alternative as described below.
Describe the solution you'd like
I would like the option to send the OCPP 1.6 'Clear charging profiles' to clear the profiles in the charger.
Describe alternatives you've considered
To solve the issue and allow the charge to charge, I used SteVe (see https://github.com/steve-community/steve) to link the charger to this backend, send the clear command and now the carger works again.
Additional context

There is a service for this already, goto developer tools | services to use it.

Hi drc38. You are correct. I did not find this option as this was not documented (at least not that I could find) and not available to me.
For anyone finding this topic; there is a service "ocpp.clear_profile" but this service is only available if you chose  “Force Smart Charging feature profile" during the setup.


Add images to features

Codecov Report

Merging #106 (735f0bf) into master (1b08cb4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #106   +/-   ##
=========================================
  Coverage     74.06%   74.06%
  Complexity      484      484
=========================================
  Files            81       81
  Lines          1442     1442
  Branches        166      166
=========================================
  Hits           1068     1068
  Misses          328      328
  Partials         46       46

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 1b08cb4...735f0bf. Read the comment docs.

Not sure what the issue was yesterday, but after re-running the workflow, the error has disappeared.
Will merge the changes now.


Rename tutorial-console.md to tutorial-console1.md

hi @ppdpoch - looks like this PR contains no changes. we'll close it. if you have changes you'd like to propose, can you open a new PR? thanks.


OCPBUGS-7974: PTP BC: an unnecessary openshift_ptp_clock_state metric is shown

Stop reporting wrong metrics

/jira refresh


If you click the Tezos logo in top-left, it exits the wallet and can’t return (that should not happen)

When you are inside the wallet (for example accounts view) and you click on the TZ logo in the upper left-hand corner you get logged out from the application. Clicking on the logo should do nothing.

Ready to review, need to be marged


feat: refine theme and add support background

[x] Support configuring background color
[x] Add Theme Switch Demo
[x] Adjust some properties of built-in theme

Support configuring background color
type Theme = {
   node?: StaticNodeOptions;
   edge?: StaticEdgeOptions;
   combo?: StaticComboOptions;
   background?: string;
};

type StaticNodeOptions = {
   style?: NodeLikeStyle;
   state?: Record<string, NodeLikeStyle>;
   animation?: AnimationOptions;
   palette?: PaletteOptions;
};

new Graph {
     background: '#000'; // Change the canvas background color to black. Setting the background color here has priority over the theme.
}

Adjust Properties of Light/Dark theme
Main Changes:

labelBackground: false.
Label on elements does not omit line breaks by default.
element sizes are not set; each element's implementation maintains the default size internally

Theme Switch Demo

有几个截图更新可能需要调整下测试用例，保证原有用例截图一致性


Tapo C210 audio not working

Hello,
I am trying to setup a C210. I am using go2rtc within Frigate, the whole thing runs inside the frigate docker container.
The camera is setup via the cloud password, as suggested in the documentation:
go2rtc:
  streams:
    bedroom:
      -<EMAIL_ADDRESS>
As long as I do not add the audio role to the frigate camera, everything works fine. When I do add the role, I get a bunch of errors in the logs - nothing from go2rtc which seems happy enough, but one in particular on frigate side looks odd to me:
Output file #0 does not contain any stream
Now, it looks to me that for some reason either the restream from go2rtc is without audio, or frigate is unable to understand there is audio there.
Any suggestion as to how to proceed with this? I understand this might be frigate related, rather than go2rtc, but first I wanted to make sure I am not missing anything from this side. Any way I can check the stream separately, without using frigate?
Thanks!

add- ffmpeg:bedroom#audio=opus
try this!!!

Hello,
where should I add that line? Also, I guess whatever is after the # is treated as a comment in yaml, perhaps double quotes are missing?

https://github.com/AlexxIT/go2rtc/issues/849


hard negative mining

Hi @yhenon
Apologies for opening up a new thread, I am interested to train hard negative examples for my classifier. Currently, I am using pascal_voc_parser.py to load in my annotated positive examples.
I understand from roi_helpers.py that if the best_iou < classifier_min_overlap (set to 0.1 currently), the training will be skipped.
Can I ask in your opinion, how this could be achieved? Thank you very much!

@yhenon
I am training my own data set for fruit detection with only one class (fruit). However, i found the model detected branches and trunks along with the fruits. Is it possible with your current implementation to do hard data mining such that the trunks regarded as background..  if so is it just to annotate trunks as 'bg' class?...
any help and suggestion would be appreciated...  Thanks

@thealchemist89  I think that setting classifier_min_overlap = 0.0  in the config would work since IoU is always >=0.
It would be interesting to see how this affects localisation capability as the 0.1 threshold will bias the background regions chosen to be bordering positive regions. You would almost want to retain the roi's below this threshold as a separate list and sample from both below and above the threshold when constructing the list of negative samples.
@anandkoirala Actively labeling trunks as 'bg' should work, however be careful of biasing your background class towards focusing on trunks. Actively labeling background features will bypass the best_iou < classifier_min_overlap issue for background mining raised by thealchemist89 above as the best_iou is calculated with respect to labelled bounding boxes.


"Error during build: .0.0 is not valid SemVer string"

When I try to start mybinder: https://mybinder.org/v2/gh/ngs-docs/2020-ggg-201b-rnaseq/latest?urlpath=rstudio
I get the following error message upon build:
Waiting for build to start...
Picked Git content provider.
Cloning into '/tmp/repo2docker9q9ck4ah'...
HEAD is now at bfa8ad2 update README to point to 201b branch
Error during build: .0.0 is not valid SemVer string

From random googling I'm seeing this pop up occasionally in some docker-related places, but nothing clearly connected to my issue. Any ideas?

it looks like a (the?) problem is that r-base needs to be pinned to a specific version; I had it in binder/environment.yml as just r-base, and when I set it to r-base=4.0.5 it started building.
@raynamharris gets the credit for pointing this out to me on slack at some time in the distant past :). I'll follow up here after the build is done.

Exactly right, there are assumptions that self.r_version is always specified, but that isn't the case when you have r-base without a version pinning. The workaround is indeed to specify r-base=4.0 or r-base=4.0.5 etc. Should be fixed by #1141


Event on chain

I figured out how to emit an event and have another contract wait, listen and capture the event (on()) when it happens on chain which triggers it. Would just need a small discussion to integrate the next step
Article on example - https://soliditytips.com/articles/smart-contract-emit-events-capture-web3/

Implemented


Autoware weekly scenario tests are failing.

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
The scenarios in AWF weekly tests are failing.
https://evaluation.ci.tier4.jp/evaluation/reports/ca72c235-6701-53e4-9b9a-1c9c256ef413?project_id=awf
After downloading the log file, I found out that control node container is crashing.
[openscenario_interpreter_node-3] [ERROR] [component_container_mt-36]: process has died [pid 17082, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=control_container -r __ns:=/control -p use_sim_time:=True -p wheel_radius:=0.383 -p wheel_width:=0.235 -p wheel_base:=2.79 -p wheel_tread:=1.64 -p front_overhang:=1.0 -p rear_overhang:=1.1 -p left_overhang:=0.128 -p right_overhang:=0.128 -p vehicle_height:=2.5 -p max_steer_angle:=0.7'].

Expected behavior
Control component container does not crash.
Actual behavior
Control component container crashes.
Steps to reproduce
Build Autoware and run scenarios.
Here's the repos file from the evaluator 1f8d7e07-0b16-4cd7-aa4c-f80c2a748eca_autoware.proj.repos.exact.txt.
Versions
No response
Possible causes
No response
Additional context
No response

I've also tested with the latest main branch today and still saw the same issue.
Steps to reproduce:

Build Autoware and scenario simulator
In terminal 1, run ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit scenario_simulation:=true
In terminal 2, run ros2 launch scenario_test_runner scenario_test_runner.launch.py   architecture_type:=awf/universe   record:=false   scenario:='$(find-pkg-share scenario_test_runner)/scenario/sample.yaml'   sensor_model:=sample_sensor_kit   vehicle_model:=sample_vehicle initialize_duration:=90 launch_autoware:=false

I got the following glog output from aeb module
[component_container_mt-36] PC: @                0x0 (unknown)
[component_container_mt-36] *** SIGSEGV (@0x0) received by PID 154061 (TID 0x7f0f06ffd640) from PID 0; stack trace: ***
[component_container_mt-36]     @     0x7f0f162fc4d6 google::(anonymous namespace)::FailureSignalHandler()
[component_container_mt-36]     @     0x7f0f1a642520 (unknown)
[component_container_mt-36]     @     0x7f0f1af3847d rclcpp::Time::Time()
[component_container_mt-36]     @     0x7f0eafd608f4 autoware::motion::control::autonomous_emergency_braking::AEB::onImu()
[component_container_mt-36]     @     0x7f0eafd6487a autoware::motion::control::autonomous_emergency_braking::AEB::fetchLatestData()
[component_container_mt-36]     @     0x7f0eafd69c83 autoware::motion::control::autonomous_emergency_braking::AEB::checkCollision()
[component_container_mt-36]     @     0x7f0eafd6a1ed autoware::motion::control::autonomous_emergency_braking::AEB::onCheckCollision()
[component_container_mt-36]     @     0x7f0eafdd968e diagnostic_updater::Updater::update()
[component_container_mt-36]     @     0x7f0eafd6e3f5 rclcpp::GenericTimer<>::execute_callback()
[component_container_mt-36]     @     0x7f0f1aec3f61 rclcpp::Executor::execute_any_executable()
[component_container_mt-36]     @     0x7f0f1aecb27a rclcpp::executors::MultiThreadedExecutor::run()
[component_container_mt-36]     @     0x7f0f1aadc253 (unknown)
[component_container_mt-36]     @     0x7f0f1a694ac3 (unknown)
[component_container_mt-36]     @     0x7f0f1a726850 (unknown)

After reverting https://github.com/autowarefoundation/autoware.universe/pull/6997 locally, it stopped failing, but I couldn't really trace the root cause yet.
@soblin Could you think of any cause by any chance?

This is already fixed so I'm closing the issue.


Rregarding specific download options from Pliers

Debanjan:
I was wondering whether Pliers support any functionality, similar to NLTK, where users can download a specific model (i.e., interactive installation) as they need it (i.e., vocabulary or say a particular embedding file).
I explain the situation with an example. Suppose, they users want to experiment with the "fasttext" embedding. Now, instead of allowing the users to download that from the web we can host the embedding as part of Pliers and allow them to download when they need it. Essentially they will be using an interactive installer such as NLTK:
Pliers.download("fasttext")
and once it is downloaded they can use the "fasttext".
Let me know whether Pliers already have any similar function. Essentially it will be like this - https://www.nltk.org/data.html
Reply from Tal Yarkoni:
Some of the extractors function exactly like that. See e.g. the PredefinedDictionaryExtractor and the TensorFlowInceptionV3Extractor, both of which download required data files the first time they're invoked. We also use nltk for a bunch of extractors, so internally, that downloads data files on demand as well.
There isn't a unified interface for downloading data files at the moment. We could potentially implement one, but I'm not sure it's worth the trouble given that different kind of extractors need to obtain different kinds of data from different sources.
Reply from Francisco Pereira
Thank you for the answer! The reason we were asking is that, for the kinds of models we are looking at (word and sentence embeddings), the distributed files are usually several gigabytes large. It seems like a situation where going for an on-demand download is problematic, as it might take a while and/or be too large for the space available. Hence we were inclined to follow the nltk approach, e.g. tell the user to run a certain function to download the specific model they want to use. For that we would prefer to use a coherent interface, which was why we asked rather than just go ahead and roll our own.
Reply from Tal:
Ah, I see. That sounds like an excellent idea, but that doesn't exist yet. If you're going to write it anyway, it would be great if you could submit a PR with a more general solution. I'm happy to provide pointers if you open an issue or PR.
There's already a support/download.py module (https://github.com/tyarkoni/pliers/blob/b9b843c3e383cea2f5d774d471b5499c4038f7d4/pliers/support/download.py), so a reasonable approach would be to add a generic download_data() method there that takes as its first argument the name of the extractor class, and then calls a _download_data() class method (optionally) defined inside each extractor.
We should probably settle on a common location to put such files, rather than just dumping them in a tempdir (which is what we do right now). Maybe something like .pliers/data. Does that make sense?
Reply from Tal:
There are two ways to go about this that I think would both be reasonable. One would be to create a general-purpose downloader, and then different extractors would all call that to retrieve files. That seems fine, but might need some careful thought to construct an API that would be usable from a variety of different extractors.
The simpler alternative, which might be a better place to start, would be to make only the download invocation interface uniform, and leave it to each extractor to actually download its own files (with the requirement that they go in a similar place). So, for example, the TensorFlowInceptionV3Extractor has a _download_pretrained_model() instance method that currently retrieves the model files. Rather than rewriting this code to call a common downloader, the suggestion is just to rename this method to something like _download_data, and make it a class rather than instance method. Then, when a user calls download_data("TensorFlowInceptionV3Extractor") from the command line, that would implicitly call TensorFlowInceptionV33Extractor._download_data(), which would execute the existing code (except with the storage directory updated to reflect the common location).
I would suggest starting with the 2nd approach, and then we can always add a file downloading utility that specific extractors could use (if they want to) from inside _download_data.

This is a dupe of #387 (or the other way around), so I'll close this one


[Bug]: Rate limit hit when using Groq

What happened?
with this alias in place:
groq_api=$(cat ~/Documents/groq-api.txt)
alias groq="env OPENAI_BASE_URL=https://api.groq.com/openai/v1 OPENAI_API_KEY=$groq_api"

The contents of groq-api.txt is the key generated at https://console.groq.com/keys
Running this:
cat ~/Downloads/Leadership\ Committee\ Meeting_otter_ai.txt | groq fabric --pattern extract_wisdom -m Llama3-70b-8192
Error: Error code: 429 - {'error': {'message': 'Rate limit reached for model `llama3-70b-8192` in organization `org_01hrsvc1b8ey0anvbgha0xckf2` on tokens per minute (TPM): Limit 7000, Used 0, Requested ~12903. Please try again in 50.597142857s. Visit https://console.groq.com/docs/rate-limits for more information.', 'type': 'tokens', 'code': 'rate_limit_exceeded'}}
Error code: 429 - {'error': {'message': 'Rate limit reached for model `llama3-70b-8192` in organization `org_01hrsvc1b8ey0anvbgha0xckf2` on tokens per minute (TPM): Limit 7000, Used 0, Requested ~12903. Please try again in 50.597142857s. Visit https://console.groq.com/docs/rate-limits for more information.', 'type': 'tokens', 'code': 'rate_limit_exceeded'}}
kayvan@dharma fabric % cat ~/Downloads/Leadership\ Committee\ Meeting_otter_ai.txt | groq fabric --pattern extract_wisdom -m Llama3-70b-8192
Error: Error code: 429 - {'error': {'message': 'Rate limit reached for model `llama3-70b-8192` in organization `org_01hrsvc1b8ey0anvbgha0xckf2` on tokens per minute (TPM): Limit 7000, Used 0, Requested ~12903. Please try again in 50.597142857s. Visit https://console.groq.com/docs/rate-limits for more information.', 'type': 'tokens', 'code': 'rate_limit_exceeded'}}
Error code: 429 - {'error': {'message': 'Rate limit reached for model `llama3-70b-8192` in organization `org_01hrsvc1b8ey0anvbgha0xckf2` on tokens per minute (TPM): Limit 7000, Used 0, Requested ~12903. Please try again in 50.597142857s. Visit https://console.groq.com/docs/rate-limits for more information.', 'type': 'tokens', 'code': 'rate_limit_exceeded'}}

We should retry after n seconds each time the query returns HTTP code 429 according to the specs on this page: https://console.groq.com/docs/rate-limits
Version check

[X] Yes I was.

Relevant log output
kayvan@dharma fabric % wc -l ~/Downloads/Leadership\ Committee\ Meeting_otter_ai.txt
     456 /Users/kayvan/Downloads/Leadership Committee Meeting_otter_ai.txt
kayvan@dharma fabric % wc -c ~/Downloads/Leadership\ Committee\ Meeting_otter_ai.txt
   48479 /Users/kayvan/Downloads/Leadership Committee Meeting_otter_ai.txt

Relevant screenshots (optional)
No response

Yep that's just a Groq limitation right now. Should fix once they enable the paid keys soon.


Mock config module in tests

The tests in chttpd_db_bulk_get_test do not start config app.
The change in https://github.com/apache/couchdb-couch/pull/226
introduces call to config app.
Make sure we mock config so the tests pass.
COUCHDB-3293

+1
chttpd_error_info_tests: error_info_test (module 'chttpd_error_info_tests')...[0.010 s] ok
=======================================================
  All 136 tests passed.
==> rel (eunit)
==> db-chttpd (eunit)

Note: I couldn't reproduce this error locally. However I have seen similar failure when working on couch pr resulting from config being in the path of basic doc operations. The fix was similar to here so and tests still pass with the pr.


71.Simplify Path

Description
Description
This issue requests the addition of the solution for the 71. Simplify Path problem
DSA Problem
71. Simplify Path

Please assign this issue to me!


WP-CLI: Close underlying socket.io connection to prevent reconnects

We're currently not properly closing the connection when commands end in subshell, so they keep trying to reconnect after the command is complete.
This can manifest as several "rate limit exceeded" errors if a user has run several commands in the subshell and their internet connection drops/reconnects - all the orphaned socket.io connections attempt to reconnect at the same time, causing the rate limit error message.

Side-note - we can thank cats for turning off my power strip / wifi which caused a bunch of the rate limit errors when it finally reconnected, leading me to realize the connections were still open 😹

Amazing!


Metrics for assessing model fit for a portfolio of hourly-modeled buildings

#85 At a previous meeting we saw OpenEE's work on weighted portfolio CV(RMSE), and I wanted to jot down some LBNL thinking on that. If RMSE is squared before adding up the values, then the output is a statistically valid metric, an aggregated CV(RMSE). Two cautions though, when interpreting the results:

A guidance value of <25% has been suggested for CV(RMSE) for a single building, but there is no evidence that the SAME guidance value is appropriate for an aggregated value for a portfolio. The metric may be appropriate but setting an acceptable level for that metric needs more work.
When discussing, we should be clear that this is a model fitness metric, not a quantification of savings uncertainty

We're happy to chat more on this (though I'm not the right person to get deeper in the weeds myself)

Thanks @eliotcrowe. I think we're on the same page - here are some of the conclusions that were buried in the 50 or so threads in #71. in general, we think the aggregate CVRMSE might be a decent metric for planning and trend analysis, but we definitely can't determine the actual values of appropriate thresholds without more testing, because they would vary depending on many different factors.

CVRMSE is not savings uncertainty - CVRMSE is a measure of model fitness and can be used to evaluate how closely a model represents a building's energy use. Fractional savings uncertainty (FSU) is the bounds within which savings are expected to lie (e.g. Savings = 100 kWh +/- 10%). Lower FSU means higher confidence in your results. We are recommending portfolio FSU as the main metric to evaluate portfolio-level results in certain applications. CVRMSE can be used to screen individual buildings prior to an EE intervention, and aggregates of CVRMSE at the portfolio-level may serve as proxies for uncertainty (only the trends, not the actual values). This could be useful in some cases for planning, because calculating FSU requires knowledge of the actual or estimated savings.

[This issue was intended for "Existing Daily Methods Improvements"]

Closing this - Hourly model metrics will be further investigated in #92


Backport "Parser simple expression error recovery change from null to ???" to LTS

Backports #19103 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-19356.
Reference


adding NLB gotcha on client connectivity

Great find-- thanks for the heads up! If you're not on the Slack team, feel free to drop by and introduce yourself: https://og-aws-slack.lexikon.io


docs: add helper docs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
539

Relevant Lines:
980

💛  - Coveralls


Declaring multiple types at once

I noticed in the adder.qasm example that multiple qubits can be declared at once (https://github.com/Qiskit/openqasm/blob/master/examples/adder.qasm#L20). I assume this is more generally true that one can do type identifier1[size1], identifier2[size2], ..., identifierN[sizeN]. I think this should be made explicit.

I believe this should be removed for the sake of explicitness now. I also do not believe this was a feature of OpenQASM2.0.

I believe this should be removed for the sake of explicitness now. I also do not believe this was a feature of OpenQASM2.0.

I am actually ok w/ this for now. It does simplify the code if you can do bit result1, result2[3], result3[2]=3 or int[32] x=5, y; It has been included in the  antlr grammar: https://github.com/Qiskit/openqasm/blob/a3132a4fd9a96383a94410449f9511235822b51a/source/grammar/qasm3.g4#L154.
Common language like C allow this and so I am ok w/ OpenQASM doing so as well. Will allow for more concise code.

I am actually ok w/ this for now. It does simplify the code if you can do bit result1, result2[3], result3[2]=3 or int[32] x=5, y; It has been included in the  antlr grammar: https://github.com/Qiskit/openqasm/blob/a3132a4fd9a96383a94410449f9511235822b51a/source/grammar/qasm3.g4#L154.
Common language like C allow this and so I am ok w/ OpenQASM doing so as well. Will allow for more concise code.

So a declaration of the form type identifier1[size1]=literal1, identifier2[size2], identifier3[size3]=literal3 becomes a problem with subroutine calls. If I do bit x = sub(10, 5) q1, q2 for some subroutine call, the q2 could be identified as a second bit.
Therefore I propose that when multiple declarations are made, either no assignments are done or all assignments are done. @taalexander thoughts on this?

So a declaration of the form type identifier1[size1]=literal1, identifier2[size2], identifier3[size3]=literal3 becomes a problem with subroutine calls. If I do bit x = sub(10, 5) q1, q2 for some subroutine call, the q2 could be identified as a second bit.
Therefore I propose that when multiple declarations are made, either no assignments are done or all assignments are done. @taalexander thoughts on this?

This is addressed in https://github.com/Qiskit/openqasm/pull/187

Closing as #187 is merged


Create a Cast utility type

Search Terms
Casting, type casting, functional type casting, cast, string as number, cast utility type
This is similar to #15048, but I think the proposal is different enough to warrant a new issue (if the community disagrees, I'm happy to close the issue).
Suggestion
This might not be a practical idea, but I'd love to see the inclusion of some sort of Cast type that takes a generic argument similar to Partial. So running Cast<number> would return things that can be generally cast as numbers.
Use Cases
I came across a need for this while developing a polyfill for the ElementInternals spec. As part of that specification there are ARIA properties to interact with an element's Accessibility Object Model, so things like ariaValueMax. Run the following code in Chrome and notice the last line yields a string.
class X extends HTMLElement {
  internals = this.attachInternals();
}
customElements.define('x-x', X);
let x = new X();
x.internals.ariaValueMax = 5000;
x.internals.ariaValueMax; // returns '5000'

Granted, this is bizarre behavior, but I was hoping there would be a way to accept 5000 | '5000', but not 'five thousand' as part of the type checking.
Examples
I would imagine this could be used like the following:
interface AriaValues {
  ariaValueMax: Cast<number>;
  ariaValueMin: Cast<number>;
  ariaValueNow: Cast<number>;
  ariaValueText: string;
}

Another trivial example would be a concatenate function where users might be able to concatenate different types together:
function concatenate(first: Cast<string>, last: Cast<string>): string {
  return first.toString() + last.toString();
}

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

This would be #2521

@RyanCavanaugh, I fail to see how this is a duplicate of #2521.

@calebdwilliams Maybe I'm misunderstanding what you want, since "a thing with toString" is already a thing you can describe ({ toString(): string })

I’m looking for something like a functional type that will allow both 4 and '4', if a variable can be effectively and logically cast from one type to another.
Again, based on how the DOM works, I might have an object like this
{
  ariaValue: string|number;
}

But for that particular property, the value 'foo' would be invalid. 42 or '42' could be equally valid based on how the DOM specifications work. I’d like something where I could indicate to the type system that anything castable from one type to another would be evaluated as valid.

There's nothing called "casting" in JS or TS, so I'm still not sure what you're going for. But anyway this doesn't really fit with something that's needed in a programming language, since if you are writing the string in code you should just write 42 instead of "42", whereas if you're taking the input as data you'd reasonably want to know when you're performing conversions, and TS wouldn't be able to know in the first place whether that data conformed to some schema like "Converts to a JS number that isn't NaN" or "Converts to a nonnegative integer" or "Converts to a number representable in 32 bit" or whatever specific kind of resultant "number" the target property accepts.


Move studio how-to to top level outside of deployments

Testing/iteration is important and doesn't seem to belong nested under "deployment"
CC @hwchase17

i think should be handled in isaacs refactor, will tal


Special case when NaNs present in min() and max()

Adds a special case for the two functions that any NaNs present in computed elements should result in NaN. Hopefully I've used the correct language here.
Per discussion with @kgryte, this is expected behaviour.
>>> min([0., float("nan")])
0.0
>>> np.min(np.asarray([0., float("nan")]))
nan
>>> torch.min(torch.as_tensor([0., float("nan")]))
tensor(nan)

Do note this does mean PyTorch is wrong.

I don't see that in the example. tensor(nan) (as a 0-D array) looks like the expected answer to me (reduction over 1-D array -> 0-D array). The numpy.array_api answer should match that, but it may not (?).

Do note this does mean PyTorch is wrong.

I don't see that in the example. tensor(nan) (as a 0-D array) looks like the expected answer to me (reduction over 1-D array -> 0-D array). The numpy.array_api answer should match that, but it may not (?).

Oops I was thinking of a different discussion (I didn't even read my own example, oops!)

@kgryte I suppose this special case applies to all statistical functions? If that's the case, I can update this PR.

@honno Yes, that is correct. NaN values should propagate for the other statistical functions. Feel free to update this PR. Thanks!


Add PaymentSource to User

Reading the payment_methods of the Bolt account by the service created from https://github.com/nebulab/solidus_bolt/issues/76, add the PaymentSource to the user.
This requires a new relation between SolidusBolt::PaymentSource(belongs_to optional: true) and Spree::User(has_many).
As specified on https://github.com/nebulab/solidus_bolt/issues/86, we should store the credit_card_id in order to re-use the source.

The target of this issue is to read the PaymentMethods from the Bolt Account and add these to the user PaymentSource list


fix: fix dynamic import on windows

Fixes #40
This should work based on this SO answer, although I admit I don't have a Windows machine handy to verify.

Ran a quick test on Windows, it works with --scenario foo.mjs, --scenario ./foo.js, and --scenario .\foo.mjs.


Vehicles offline due to API changes?

Describe the bug
All vehicles (bmw and polestar) configured in GUI are marked offline.
Steps to reproduce
Configure bmw or polestar in GUI, validate, error exclamation mark shows up with notification about EVCC API problem code 400 for vehicle 1, when trying with other vehicle same but number 2.
Configuration details
bart@nas:~$ cat /EVO500/AppsConfig/EVCC/evcc.yml
interval: 5s

site:
- title: xxxxx
  meters:
    grid: HuisMeter
    pv:
    - pvHuis
    - pvTuinHuis
  residualpower: 10

messaging:
  events:
    connect:
      title: Wagen aangesloten
      msg: |
        Connect
        Voertuig aangesloten op de {{.title}}-lader.
        Wagen voorlopig onbekend
    disconnect:
      title: Wagen ontkoppeld
      msg: |
        Disconnect
        Er is {{round (divf .chargedEnergy 1000) 2 }} kWh geleverd op {{.chargeDuration}}.
        Voertuig {{.vehicleTitle}} was {{round (divf .connectedDuration) 8 }} aangesloten op de laadpaal
        Je kan {{.vehicleRange}} km rijden!
    start:
      title: Wagen gestart
      msg: |
        Start
        {{.vehicleTitle}} is gestart met laden op de {{.title}}-lader
        Het huidige rijbereik van {{.vehicleTitle}} is {{.vehicleRange}}km

    stop:
      title: Wagen gestopt
      msg: |
        Stop
        Voertuig {{.vehicleTitle}} is gestopt op de {{.title}}-lader
        Er is {{round (divf .chargedEnergy 1000) 2 }} kWh geleverd op {{.chargeDuration}}.

  services:
    - type: telegram
      token: xxx:xxx
      chats:
        - -xxxxx

tariffs:
  currency: EUR # (default EUR)
  grid:
    # static grid price
    type: fixed
    price: 0.52 # [currency]/kWh

  feedin:
    # rate for feeding excess (pv) energy to the grid
    type: fixed
    price: 0.12 # [currency]/kWh
  co2:
    type: electricitymaps
    uri: https://api.co2signal.com/
    token: xxxxx
    zone: BE

meters:
  - name: HuisMeter
    type: modbus
    model: sdm # specific non-sunspec meter
    id: 1
    energy: Sum # only required for charge meter usage
    #via TCP:
    uri: <IP_ADDRESS>:8899
    rtu: false # serial modbus rtu (rs485) device connected using simple ethernet adapter

  - name: pvHuis
    type: sma
    uri: <IP_ADDRESS>
    password: xx
  - name: pvTuinHuis
    type: sma
    uri: <IP_ADDRESS>
    password: xxxx

sponsortoken: x.x.z-x

log: debug
levels:
    core: debug
    cc-main: debug

influx:
  url: http://<IP_ADDRESS>:8086
  database: EVCC
  token: "xxxx=="
  org: "xxx"

chargers:
- name: ChargingPointAlfen
  type: alfen
  uri: <IP_ADDRESS> # TCP ModBus address
- name: wallbox1
  type: template
  template: pulsarplus
  timeout: 5m

loadpoints:
- title: Voortuin # display name for UI
  charger: ChargingPointAlfen # Wallbox Referenz
  mode: minpv # charge mode (off, now, minpv, pv)
  phases: 0
  mincurrent: 6
  maxcurrent: 16
  guardduration: 2m
  enable:
    threshold: 0
    delay: 1m
  disable:
    threshold: 0 # maximum import power (W)
    delay: 3m
- title: Oprit
  charger: wallbox1
  mode: pv
  phases: 1
  mincurrent: 6
  maxcurrent: 20

vehicles:

Log details
Later

What type of operating system are you running?
Linux
Version
No response

Also mein BMW wird ohne Probleme erkannt. An der allgemeinen BMW API dürfte es daher also nicht liegen.

Just to make sure, you configured the cars not within the yaml-file but by using the GUI configuration?
Might be a bug, because this is still highly experimental.

Missing config

Just to make sure, you configured the cars not within the yaml-file but by using the GUI configuration? Might be a bug, because this is still highly experimental.

Correct.
And indeed, I saw another thread with @andig about API changes and I think one is related to the other.

Missing config

Config has been added (was on mobile when creating issue)

Validation of BMW:

When I go back to the main screen there is a red triangle:

Notifcations:

Then I go back to the vehicles and try to validate the Polestar:

Returning to main screen:

Please check the evcc log, or post it here.

Sowohl mein Test- BMW als auch der Polestar funktionieren. Wie immer mal in App/Webseite einloggen, Credentials prüfen und trace log.

Please check the evcc log, or post it here.

@GrimmiMeloni and @andig : I have sent the logs to the emailaddress of EVCC.


Compilation speed benchmark bias?

(using https://github.com/vlang-io/V/blob/ffd6c1511ccbcd624b96cf730778b03309cf5eee/website/compilation_speed_test_gen.v as a reference)
All other languages include some kind of I/O or a puts / print calls on their benchmark codes, except V's benchmark code. Is there a reason for this?

Good catch. Fixed.
Would be a ridiculous bias :)
I add files manually via GitHub editor here because I haven't set up the dual repository thing.
That's my changes don't often get synced. Originally I was printing only once.
The compilation time is 0.6s with the printing.


Custom metadata are not attached to unhandled errors

We noticed that when an unhandled error is reported, the attached metaData is not shown in the report. We attach them like this:
// first we configure the bugsnag client
export const bugsnagClient = bugsnag({
  apiKey: BUGSNAG_API_KEY,
  releaseStage: `${ENV}-ng`,
  beforeSend: () => ['development', 'test'].indexOf(ENV) < 0,
  autoCaptureSessions: ['development', 'test'].indexOf(ENV) < 0,
});

// later in the app when the app is loaded
bugsnagClient.metaData = {
      user: {
        id: currentUser.id,
        name: `${currentUser.firstname} ${currentUser.lastname}`,
        email: currentUser.email,
      },
      company: { id: currentAccount.id, company_name: currentAccount.title },
};

When we call deliberately:
bugsnagClient.notify(new Error('test'));

the metadata are presented in the report. However, any unhandled error doesn't have it. Moreover, when we change the initial configuration of bugsnagClient and set metadata in beforeSend callback, again metadata are in the report for unhandled errors.
// this works!
export const bugsnagClient = bugsnag({
  apiKey: BUGSNAG_API_KEY,
  releaseStage: `${ENV}-ng`,
  beforeSend: (report) => {
      report.updateMetaData('user', { email<EMAIL_ADDRESS>});
      return ['development', 'test'].indexOf(ENV) < 0
  },
  autoCaptureSessions: ['development', 'test'].indexOf(ENV) < 0,
});

However, this is not an option. At the time we configure the bugsnagClient we don't have metadata we need. How can we modify the metadata for unhandled errors?
Plugin versions we use:
@bugsnag/js: 6.5.2
@bugsnag/plugin-angular": 6.5.2

Hi @Olgagr
It looks like in your configuration where you are setting beforeSend: () => ['development', 'test'].indexOf(ENV) < 0, is it this that you are trying to achieve?: https://docs.bugsnag.com/platforms/javascript/configuration-options/#notifyreleasestages
This setting also applies to autoCaptureSessions, so you will not need to manually turn off session capturing for release stages you are not interested in.
Any errors which happen between when you initialise Bugsnag and when you set your metadata will not have any of your custom metadata attached to that error report.
Are you able to try defining a beforeSend callback when your app is loaded and you have access to the metadata you need?
Are you able to give an example of how you are triggering your unhandled error?

@phillipsam Thanks for replay!

It looks like in your configuration where you are setting beforeSend: () => ['development', 'test'].indexOf(ENV) < 0, is it this that you are trying to achieve?: https://docs.bugsnag.com/platforms/javascript/configuration-options/#notifyreleasestages
This setting also applies to autoCaptureSessions, so you will not need to manually turn off session capturing for release stages you are not interested in.

Ok, thanks for pointing this. The effect is probably the same but of course using notifyReleaseStages is more meaningfull.

Any errors which happen between when you initialise Bugsnag and when you set your metadata will not have any of your custom metadata attached to that error report.

Yeah, this is reasonable. However, we set our metadata as soon as we get user data which is at the app startup. All unhandled errors that happen later should have this metadata but they don't.

Are you able to try defining a beforeSend callback when your app is loaded and you have access to the metadata you need?

Actually, I don't see such possibility. We are using bugsnag in Angular app. According to documentation you need to first create and configure the bugsnagClient:
const bugsnagClient = bugsnag({
  apiKey: BUGSNAG_API_KEY,
  releaseStage: `${ENV}-ng`,
  notifyReleaseStages: ['production-ng', 'qa-ng', 'staging-ng'],
  beforeSend: () => {//something}
});

Then create an error factory that uses this client:
export function errorHandlerFactory() {
  return new BugsnagErrorHandler(bugsnagClient);
}

And then pass this factory to app module as a ErrorHandler provider:
{
    provide: ErrorHandler,
    useFactory: errorHandlerFactory,
}

All of this happens before the app starts to get user data. I don't see in the docs that later I can add to bugsnagClient beforeSend callback. Or can I?

Are you able to give an example of how you are triggering your unhandled error?

Well, I'm not able to give an example :) This is why they are unhandled. Bugsnag catches them for me and sends the report.

Hey @Olgagr, there's a few of options for you to set user data once the app has started.
Your beforeSend callback can call out to another function to get the data from a store which will have this data once loaded, for example:
var bugsnagClient = bugsnag({
  apiKey: 'your_api_key',
  beforeSend: function (report) {
    var user = yourGetUserFunction()
    report.user = { name: user.name, id: user.id }
  }
})

Alternatively, you can use the following code to inject the user data into your config:
bugsnagClient.user = { name: 'the_name', id: 'the_id' }

Finally, if you want to do it through a callback, but want to declare this after the initialisation, you can use the following:
bugsnagClient.config.beforeSend.push(
  function (report) {
    report.user = { name: 'the_name', id: 'the_id' };
  }
)

Can you try to throw an unhandled exception yourself to see how your application handles it:
throw new Error('Unhandled error')

If you're not getting the metadata you're expecting with one of the methods above, please let us know and we'll take a look into why this may be occurring.

@xander-jones Thanks for answer and help. I've checked two last ways and neither work. However, it seems like this is our app-specific problem. I created a new angular application and set up this in a similar way we have this in the original app. It works. It's really hard to say what is causing problems as this is a big application with a lot of dependencies.
Thank you for taking the time to help me with this issue! @xander-jones @phillipsam


New issues with installing the package behing a firewall

@doutriaux1 @durack1 I'm having new issues when trying to install the MP at TGCC on our computing center (behind a firewall).
Until now, we've overcome the problem of downloading all the tar files by:

launching the install script until it stops (when it tries to download the tar files)
then, copying the tar files in tmp/uvcdat/uvcdat_build
and re-launch the install_metrics script

But now, the installation wants to 'git clone' two repo: libcdms and uvcdat-testdata.
I've done a clone of those repo at IPSL (as we do for cmake, uvcdat and the source of the MP). But if I modify directly tmp/uvcdat/uvcdat_build/libcdms-prefix/tmp/libcdms-gitclone.cmake accordingly (replacing  git://github.com/UV-CDAT/libcdms.git by igcmg@ciclad.ipsl.jussieu.fr:/home/igcmg/PCMDI-MP/libcdms) the file is then overwritten when I relaunch the install_metrics script. Same if I do directly the git clone in the tree to get the sources for libcdms and uvcdat-testdata.
Can you tell me where I can change the github address (for our igcmg@ciclad address) upstream in the sources to get libcdms and uvcdat-testdata?

@jservonnat this is a good test case, which we have dealt with before.. I'm pinging @doutriaux1 as he's more familiar with getting around these issues than I am..
Once we have a path forward, we should document the additional steps on the Wiki install page

Great, thank you @durack1 !

@jservonnat go to your temp/uvcdat/uvcdat directory that's where the sources used for building sit. also you might  need to tell it to not remove the build directory: https://github.com/PCMDI/pcmdi_metrics/blob/master/install_metrics.bash#L9

@doutriaux1 this is what I do actually; the problem is that I didn't find the mean to by the downloading of libcdms. I can't just copy the libcdms-prefix directory from a working installation because it is already a build with the paths of the installation. And if I modify libcdms-download to point at my<EMAIL_ADDRESS>adress, it is overwritten when I rerun the install script.
If you have another solution so I can get libcdms (even by downloading it by hand in uvcdat_build) I'll take it ;).

edit the file in the tmp directory once it's cloned it will not be overwritten. (you may have to comment out the line that remove the clone)

@doutriaux1 just to let you know it is working now, with the classical protocole to install the package behind a firewall (copying the tar files by hand).


About size of input images for training

I have two question:

The first, I have some real traffic images that I want to use for training model. But when I crop it to get only the plate, it maybe small ( ~ 50px). What size of the input images should be? And does it effect significantly to the accuracy of the model after training?
The second, I want to train model for recognize both two and one layer plate. So how many image of each class should be prepared for a accuracy model?
Thanks in advance!

Looking through code it looks like height of image is 64 pixels and you can have arbitrary width as it pads/crops the rest of image that does not fit.

Here, 128x64 is used. Customize the image size to suit you.
The number required depends on the characteristic of the training data.
Also, due to the structure of the CRNN, two-line license plates may not be recognized well.


Fix issue #91 Cannot read property 'push' of undefined

@genoud  one PR on release branch for hotfix as well


[BUG] Presence of 'index' column in pos_data causes error when merging with car_data

Describe the issue:
For FP1 for the 2022 Spanish Grand Prix, the position data for the test drivers (KUB, DEV, and VIP) has an extra 'index' column:
     index                    Date   Status       X       Y       Z Source                   Time            SessionTime
0     1749 2022-05-20 12:30:46.133  OnTrack   750.0  -588.0  1707.0    pos 0 days 00:00:00.121000 0 days 00:45:46.122000
1     1750 2022-05-20 12:30:46.293  OnTrack   681.0  -695.0  1707.0    pos 0 days 00:00:00.281000 0 days 00:45:46.282000
2     1751 2022-05-20 12:30:46.573  OnTrack   561.0  -885.0  1708.0    pos 0 days 00:00:00.561000 0 days 00:45:46.562000
3     1752 2022-05-20 12:30:46.793  OnTrack   413.0 -1118.0  1708.0    pos 0 days 00:00:00.781000 0 days 00:45:46.782000
4     1753 2022-05-20 12:30:47.294  OnTrack   242.0 -1388.0  1708.0    pos 0 days 00:00:01.282000 0 days 00:45:47.283000
..     ...                     ...      ...     ...     ...     ...    ...                    ...                    ...
307   2056 2022-05-20 12:32:07.994  OnTrack  1189.0    95.0  1710.0    pos 0 days 00:01:21.982000 0 days 00:47:07.983000
308   2057 2022-05-20 12:32:08.254  OnTrack  1080.0   -72.0  1708.0    pos 0 days 00:01:22.242000 0 days 00:47:08.243000
309   2058 2022-05-20 12:32:08.274  OnTrack  1072.0   -85.0  1708.0    pos 0 days 00:01:22.262000 0 days 00:47:08.263000
310   2059 2022-05-20 12:32:08.634  OnTrack   929.0  -307.0  1707.0    pos 0 days 00:01:22.622000 0 days 00:47:08.623000
311   2060 2022-05-20 12:32:08.874  OnTrack   828.0  -465.0  1707.0    pos 0 days 00:01:22.862000 0 days 00:47:08.863000

This causes an error when attempting to merge the car and position dataframes due to this line @core.py 443::
 merged = merged.reset_index().rename(columns={'index': 'Date'})  # make 'Date' a column again
The result is two 'Date' columns in the merged dataframe. At the end of the merge where the column types are reset, the error is thrown because the 'index' column in dtype_map is no longer present.
Reproduce the code example:
sess = fastf1.get_session(2022,'spain','fp1')
laps = sess.load()
lapd = sess.laps.pick_driver('45')
flap = lapd.pick_fastest()
pd = flap.get_pos_data()
cd = flap.get_car_data()
tele = pd.merge_channels(cd)

Error message:
core           INFO     Loading data for Spanish Grand Prix - Practice 1 [v2.2.5]
api            INFO     Fetching driver list...
core        WARNING     Failed to load data from Ergast API! (This is expected for recent sessions)
api            INFO     Fetching timing data...
api            INFO     Parsing timing data...
api            INFO     Fetching timing app data...
core           INFO     Processing timing data...
api            INFO     Fetching session status data...
api            INFO     Fetching track status data...
api            INFO     Fetching car data...
api            INFO     Parsing car data...
api            INFO     Fetching position data...
api            INFO     Parsing position data...
api         WARNING     Driver 11: Position data is incomplete!
api         WARNING     Driver 23: Position data is incomplete!
api         WARNING     Driver 24: Position data is incomplete!
api         WARNING     Driver 36: Position data is incomplete!
api         WARNING     Driver 45: Position data is incomplete!
api         WARNING     Driver 88: Position data is incomplete!
api            INFO     Fetching weather data...
api            INFO     Fetching race control messages...
core           INFO     Finished loading data for 20 drivers: ['1', '63', '55', '47', '45', '44', '36', '31', '22', '20', '18', '16', '14', '10', '6', '5', '4', '3', '77', '88']

Traceback (most recent call last):
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3361, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas/_libs/index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 103, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 135, in pandas._libs.index.IndexEngine._get_loc_duplicates
  File "pandas/_libs/index.pyx", line 143, in pandas._libs.index.IndexEngine._maybe_get_bool_indexer
  File "pandas/_libs/index.pyx", line 161, in pandas._libs.index.IndexEngine._unpack_bool_indexer
KeyError: 'index'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/bruzie/.local/lib/python3.8/site-packages/fastf1-2.2.5-py3.8.egg/fastf1/core.py", line 485, in merge_channels
    merged.loc[:, col] = merged.loc[:, col].astype(dtype_map[col])
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 925, in __getitem__
    return self._getitem_tuple(key)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1100, in _getitem_tuple
    return self._getitem_lowerdim(tup)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 838, in _getitem_lowerdim
    section = self._getitem_axis(key, axis=i)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1164, in _getitem_axis
    return self._get_label(key, axis=axis)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexing.py", line 1113, in _get_label
    return self.obj.xs(label, axis=axis)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/generic.py", line 3761, in xs
    return self[key]
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/frame.py", line 3458, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/home/bruzie/.local/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 'index'

This was not limited to the three test drivers. The problem was that the position data is incomplete and did not cover the whole session. The api parser accidentally introduced the index column when extending the data with empty values.


Post about microcks with asyncapi part 2

(with correct content with time)
I know this is time for a break but I've got this in the pipe for some time now. Would be nice if we can published it by beginning of January.
Description

This is the PR for post proposal #167

Related issue(s)

Resolves #16
I hope I haven't screwed anything in file path or image formats ...

Hi @derberg,
You're right regarding the headers. I've modified them in a last commit. Today's relase would be nice if not too late.
Thank you very much!

Hi @derberg,
You're right regarding the headers. I've modified them in a last commit. Today's relase would be nice if not too late.
Thank you very much!

@lbroudoux looks great man. It is not too late, let us :shipit:

@lbroudoux looks great man. It is not too late, let us :shipit:


Error after last update

Hi there,
I updated today, and now I can't start the tool:
user@evilginx:~/tools/Winpayloads$ sudo ./WinPayloads.py
Traceback (most recent call last):
File "./WinPayloads.py", line 5, in
from lib.menu import *
File "/home/user/tools/Winpayloads/lib/menu.py", line 4, in
from generatepayload import *
File "/home/user/tools/Winpayloads/lib/generatepayload.py", line 8, in
from sockets import *
ImportError: No module named sockets
I tried in Kali and Ubuntu 16.04, both same error.

Should be fixed now.
Thanks

I made a setup.sh -r
Still the same error.
I deleted everything and reinstall from scratch, but no luck either.


update monitor winbar to be more consistent and add "Piorun uploadfs" command.

update monitor winbar to be more consistent, set toggleterm mode when focused to terminal mode, keymap toggleterm 'Esc' and ':' to go command line
Add "Piorun uploadfs" command

Hey, just checking, may I ask why have you changed the indentation style from 2 space to a Tab. If you can revert it back and have the necessary changes.

better yet, have a stylelua or some formatter to save on format
just advice, but maybe do it after merging


Refactor how section ordering is handled

Fixes #1371 (forces sections to be loaded by number)
Changes proposed in this PR:

Refactored controllers for better readability
Ensure sections are being loaded by number in views
Add a button to sort sections manually—this now creates a new template if published
Refactor code for Rubocop adherence
Renamed GuidanceService to GuidancePresenter—this isn't a service object.

Adjustments look good. Feel free to merge yourself once the tests are fixed

Tests are passing but the bundle-audit check --update is failing because of https://github.com/rubyzip/rubyzip/issues/369

@Bodacious there's a small conflict after merging @johnpinto1 csv updates. Once you've resolved it feel free to merge the PR.

Looks like tests are failing since you've missed the rename on a guidanceservice in: render_phases_edit within the private methods of the plans controller.

Sorry, fixed the merge conflicts.

Looking good to me


Update screenshots to show current available channels

Issue
In the channels section of the docs, the inbox page of certain channels does not capture the recent screenshots of all the available channels Chatwoot offers.
This might be a bit confusing for someone checking out the docs for the first time.
Old Screenshot

Updated Screenshot

Channels Affected

[ ] Website Live Chat
Link: https://www.chatwoot.com/docs/product/channels/live-chat/create-website-channel
Image: https://www.chatwoot.com/docs/assets/images/list_of_channels-286d253ddd3a288b82a49588f4c14db3.png

[ ] Facebook Channel
Link: https://www.chatwoot.com/docs/product/channels/facebook
Image: https://www.chatwoot.com/docs/assets/images/list_of_channels-e51820eb73cf9570973d9ceb12a6477a.png

[ ] Twitter Channel
Link: https://www.chatwoot.com/docs/product/channels/twitter
Image: https://www.chatwoot.com/docs/assets/images/list_of_channels-f3a59186bc1a91e00518139a4b7fcb4c.png

[ ] Twilio Whatsapp/SMS
Link: https://www.chatwoot.com/docs/product/channels/twilio-whatsapp-sms
Image: https://www.chatwoot.com/docs/assets/images/list_of_channels-f13d6ddafe2d134d6ef20e7f8fef280f.png

[ ] API Channel
Link: https://www.chatwoot.com/docs/product/channels/api/create-channel
Image: https://www.chatwoot.com/docs/assets/images/select-api-inbox-171b7e327a88251fec670ce7d8b618af.png

@Evavic44 Thanks for reporting.

Thank you @sojan-official 😎


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: d1qzpt65x8lptb
Region: ap-southeast-1
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
A clear and concise description of what the issue/question is.
Error message
If there is an error message, please include it here.
Note: Be sure to check the message for sensitive information.
Additional information
Please add any other relevant information. Please feel free to include screenshots.
I have already linked this domain in a different region with a different aws amplify resource. Is there any restriction on this ?

Are you still having issues?  It looks like that domain is available and active.  Please re-open the ticket if you are still having issues!


rsyslog.service doesn't nominally work on Arch Linux: may hang up startup + shutdown

compute-image-packages/google_compute_engine_init/systemd/google-startup-scripts.service
compute-image-packages/google_compute_engine_init/systemd/google-shutdown-scripts.service

Current
After=local-fs.target network-online.target network.target rsyslog.service systemd-resolved.service
"Corrected"
After=local-fs.target network-online.target network.target systemd-resolved.service

We don't support Arch Linux in GCE and this issue is very specific to that distro. The init scripts and packaging scripts provided here are for the Linux distros we fully support as public GCE images. Standard practice here is that any other distro that wants to support a GCE guest package can pull in the source from this repo and either patch it for their own distro or create distro specific packaging in their own code repo to conform with the specifics of that environment.


[TwigComponent] Fix ux:icon & ux:map renders

Change implementation to avoid many dispatched events for nothing
Add a conflict in symfony/ux-map and symfony/ux-icons  to synchronise the 3 packages to 2.21
Performance gain around 20%

Performance gain around 20%

Can you link the Blackfire profiles delta plz?

Thank you Simon.


Generalise

Generalises the regex check on version files to make it more robust for other languages like Python and Javascript. See rationale here.

Hey @peaky76 👋
Looks like this https://github.com/simplybusiness/version-forget-me-not/pull/158/files?diff=unified&w=0#diff-e4cc940f36dd25b81c7943c78647a9d12d0a88debf6c0d24fee32e0a0e7f1b83R49 change broke many gems, e.g. https://github.com/simplybusiness/simply_shopping/pull/45.
Take a look on the VERSION constant definition to understand the problem
https://github.com/simplybusiness/simply_shopping/blob/master/lib/simply_shopping/version.rb#L4-L5


Utilize dialogs throughout the install process.

Utilize dialogs throughout the entire installation process. Think about switching from whiptail to dialogs when doing so to better gather information needed from the end user.

Stuck with whiptail.
No reason to change...
Don't know why the thought crossed my mind...
Anyways dialogs are now placed through the scripts where needed/wanted.


Added the error serializer

@davidmarkclements please review

I like that we're making this explicit
shouldn't we therefore remove the .stack check?
https://github.com/mcollina/pino/blob/errSerializer/pino.js#L100
I think that's wrong anyway, because it will interpret this {stack: 'meow'} as an error object too.
Also - is it redundant to add a test for an alternative type of error, e.g. try { x = u } catch (e) { pino.error({err: e}) }  will be a ReferenceError

That check does a separate job:
error(new Error('aaaa'))

Which will also set the message.
If you pass { err: new Error('aaa') } it is something different: we are using the standard serializer thing.


Image markdown not working in custom field

Hi,
I have an issue displaying an image through a custom field. I am using the following markdown in a custom field of a modular page and it shows up as a broken link on my website:
[![Alt Text](UseCase1.png)](http://www.google.ca?target=_blank)
Using the browser's inspect mode I can see that it tries to fetch the image from the root directory, i.e. localhost/cytapex/UseCase1.png.
However, when I am using the same code in the pages default content field, Grav looks into the page folder where the image is located and as a result, displays is without an issue. Do I need to specify anything in my page blueprint for the custom field to look into the page folder for media instead of the root? Code for the page blueprint is below.
title: Use Cases #Create new tab blueprint called Use Cases
'@extends':
  type: default #it extends the default blueprint

form:
  fields:
    tabs:
      type: tabs #Type is a tab
      active: 1

      fields:
        gallery:
          type: tab
          title: Use Cases #Set the title of the tab to 'Use Cases'

          fields:
            header.usecases:
              type: list #Create a list
              label: Case Study #called 'Use Case'
              fields: #declare the fields for each list item
                .title: #name
                  type: text #is of the type text
                  label: Case Study Title #called 'Use Case Title'
                .intro: #description
                  type: editor #textarea is a text editor
                  label: Case Study Introduction (~65 words) #called 'Use Case Introduction'
                .desc:
                  type: editor #this is a text editor
                  label: Case Study Description #called 'Use Case Description'
                .featured: #images
                  type: filepicker #allows you to select a file
                  folder: 'self@'
                  label: Select a feature image
                  preview_images: true
                  accept:
                    - .png
                    - .jpg
                    - .jpeg

And finally I am using {{ usecase.desc|markdown }} in my front matter to display the content of the custom field.

I forgot to mention that any other markdown (e.g. headings, links, etc.) work fine in the custom field. The issue is just that the custom field looks in the wrong folder for the image (or I am missing a setting to specify just that).

The problem is that you are processing the markdown in the twig template, outside of the page context.  Usually links in markdown are parsed automatically when you call content() on a page, and then you are in the context of the page, so it knows exactly what page you are referring to and the logic looks in that page's folder to see if the image name matches.  Because you are doing this in a custom field, the field's twig is rendering outside this context, and therefore the page location is not known.  Fields can be used anywhere, configuration, plugins, themes, etc, so it's not assumed it's a page.
We have actually refactored the markdown processing a little since the last Grav release, and now it looks for Grav's page context.  Can you please try the latest Grav version from GitHub develop branch and see if that resolves your issue?

Because you are doing this in a custom field, the field's twig is rendering outside this context, and therefore the page location is not known. Fields can be used anywhere, configuration, plugins, themes, etc, so it's not assumed it's a page.

Ah, I see. That makes sense.

We have actually refactored the markdown processing a little since the last Grav release, and now it looks for Grav's page context. Can you please try the latest Grav version from GitHub develop branch and see if that resolves your issue?

I just tried installing the latest grav-develop version and then copied my user, theme and pages to that folder. Unfortunately, it is not working. It still tries to pull the image from the root directory.
Could it be because the theme I'm building pulls together content from several modular pages? And are there any quick workarounds to successfully pull the image (besides a direct URL)?

Hi. Are there any updates on this? Thanks.

As a workaround, you can also use any of Grav streams, like theme://, though with pages there's no automatic path resolving.


Ignore test when using config cache

This test explicitly checks that intra-project task parallelism s constrained again after a task finishes waiting on work items in between task actions.  With config cache, project mutability is not a concern and therefore intra-project task parallelism is allowed, so this test is not meaningful when config cache is enabled.

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

I've triggered a build for you. Click here to see all failures if there's any.


Error in defaultSettings.json

Issue Type: Bug
Getting end of file expected error in defaultSettings.json.
VS Code version: Code - Insiders 1.31.0-insider (7ab53e6d1c7998006bc70f18230178a702598222, 2018-12-13T06:20:30.449Z)
OS version: Windows_NT x64 10.0.16299
Extensions (5)

Extension
Author (truncated)
Version

gitlens
eam
9.1.0

code-runner
for
0.9.5

python
ms-
2018.11.0

vscode-docker
Pet
0.4.0

material-icon-theme
PKi
3.6.1

(1 theme extensions excluded)

It should no longer be opening the default settings file by default.

@roblourens, why was this closed? default settings still have invalid json: End of file expected.

Oh yeah, I misunderstood the issue.


pushbutton not in main

I've tried to rebase my custom branch to main but it seems a file is missing?
Unless I'm mistaken and it's supposed to use something included in uP's extmod/uasyncio?
>>> import gui.demos.slider
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gui/demos/slider.py", line 7, in <module>
  File "hardware_setup.py", line 23, in <module>
  File "gui/core/ugui.py", line 16, in <module>
  File "gui/primitives/__init__.py", line 20, in __getattr__
ImportError: no module named 'gui.primitives.pushbutton'

Apologies and thanks for the report - I forgot to do a git add. It's now pushed.


Adding observability support

Observability in shim
Spin 2.4 introduced basic OpenTelemetry observability support to Spin. More specifically it added support for the tracing OTEL signal. Traces are emitted when apps are triggered or host components are called.
I would like containerd-shim-spin to have this observability support too. We must use the spin-telemetry crate to setup this support:
let _telemetry_guard = spin_telemetry::init(version!().to_string())?;

Under the hood spin_telemetry::init is setting up a tracing subscriber to put logs out to STDERR and traces to a configured OTEL exporter.
The integration doesn't work
Out of the box integrating spin-telemetry with containerd-shim-spin panics:
$ sudo ctr run --rm --net-host  --env RUST_BACKTRACE=full --env OTEL_EXPORTER_OTLP_ENDPOINT=http://host.lima.internal:4318 --runtime io.containerd.spin.v2 ghcr.io/radu-matei/perftest:v1 perf bogus-arg
thread '<unnamed>' panicked at /home/caleb.linux/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-subscriber-0.3.18/src/util.rs:91:14:
failed to set global default subscriber: SetLoggerError(())
stack backtrace:
   0:     0xaaaab728c600 - <unknown>
< snipped>
  15:     0xaaaab59469c0 - <unknown>

After lots of digging (and help from @kate-goldenring, @vdice, and @radu-matei 🙏) it was determined that the issue is that we are trying to set a global logger twice. The obvious place where it is here in the containerd-shim. The less obvious place where it is set is here in tracing-subscriber.
It turns out that spin-telemetry uses tracing-subscriber which by default has a tracing-log feature turned on. This tracing-log feature turns on a compatability layer where tracing will pick up any log messages and print them as tracing events. The tracing-log feature inevitably boils down to configuring a global logger.
It should also be noted that the trigger-sqs crate also depends on tracing-subscriber and configures a global logger.
Possible fixes
Turn off the containerd-shim logger
One obvious fix is to just turn off the containerd-shim logger:
let shim_config = Config {
    default_log_level: "error".to_string(),
    no_setup_logger: true,
    ..Default::default()
};

This works, but has the obvious problem that we aren't able to get any logs. Oddly enough this approach does have some of the containerd-wasm-shim logs picked up by the tracing subscriber that spin-telemetry uses. In other words some of the shim logs are emitted as app logs.
An example of this approach is found in #60.
Disable tracing-log feature in upstream crates
As seen in this Spin PR and this trigger-sqs PR we can turn off the tracing-log feature and we don't get the panic. This seems like a good fix, but has a key issue. It turns out Spin relies on the tracing-log feature to pick up any logs emitted from within Spin or in upstream dependencies via tracing::log::* or log::*. To simplify if we turn off the feature we are going to be losing some logging from Spin that we don't want to lose.
An example of this approach is found in #59.
Convert all of containerd-shim-spin, runwasi, and containerd-shim to use tracing instead of log
This is extremely far fetched, but I thought it was worth mentioning b/c it would technically solve our problem.
Another option I'm not thinking of
I'm all ears 👂
Going forward
I've been working on this for awhile and feel like I have hit an impasse. I am only trying to integrate observability into the shim, but it feels like I have tapped into a much larger issue of logging in the shim. I would appreciate input and direction from the maintainers to help drive this forward.

I'd love standardizing shims on runwasi solution! Let's do make sure we ping owners of the downstream shims to let them know and get their feedback.

Thanks for the write-up, @calebschoepp.
@Mossaka awesome to hear the openness to collaborate on this!
Zooming in on one of the things you mentioned there, @calebschoepp:

In other words some of the shim logs are emitted as app logs.

Does that mean we could surface some of the shim logs (which are runtime logs, some that might be very useful when debugging apps) to the pod logs?

fwiw, I did some investigation on adding opentelemtry and tracing to runwasi: https://github.com/containerd/runwasi/issues/10, so the last point about converting all upstream projects to use tracing isn't far fetched and I believe that's something we should do. With that said, I'd love to collaborate with you all on this work and I am happy to contribute to both runwasi and rust-extensions to add tracing support. I am happy to talk about how we can parallize the work if you're interested 🙌.

Nice, I'm happy to collab on this too. Couple of thoughts and questions for you:

How long do we think it would take to get tracing into everything upstream? If it is going to take awhile maybe I should try to land observability in the interim by disabling the tracing-log feature.
We'd have to make sure that tracing makes it everywhere. A single log init somewhere and we're still screwed. I'm honestly pretty shaky on how shim-spin, runwasi, containerd, and everything else fit together logging wise so more clarity here would be good.
Would containerd want to set its own tracing subscriber? B/c that would be a problem too and would conflict with spin_telemetry::init().

Does that mean we could surface some of the shim logs (which are runtime logs, some that might be very useful when debugging apps) to the pod logs?

Yes, I think that is a possibility.

@calebschoepp It looks like @Mossaka wired up the tracing::subscriber in a slightly different way not using the init() function that doesn't seem to interact with default logger:
: https://github.com/containerd/runwasi/pull/582/files#diff-529b294a55113158c10faa8011a513bfd0359d9fa7ba001d1c5549237df52853R77-R79
Would that be something worth trying or do you think we will still be missing some of the logs because of " It turns out Spin relies on the tracing-log feature to pick up any logs emitted from within Spin or in upstream dependencies via tracing::log::* or log::*. "

@jsturtevant That's an interesting idea, but I don't think it is actually any different in the end. From reading the docs it appears that init is just a convenience wrapper (via a trait extension) around the set_global_default call @Mossaka is making.
It sort of skirts the issue of the conflicting global loggers b/c it doesn't setup a global logger for the tracing-log compatibility layer. But, we're still left with the issue of Spin relying on this compatibility layer. I need to do more investigating on how much we rely on this compatibility layer.
I still think the easy way out is to turn off the tracing-log compat layer, and that the cleanest way out is to convert all the upstream libraries to tracing.

After some reflection and conversation with @radu-matei I've decided that the most straightforward way to land o11y support in SpinKube is by disabling the tracing-log feature in upstream crates. I'll get some PRs up for that. Bottom line was that we're really not losing that many logs doing it this way.
I still think we should standardize on tracing in all the libraries though fwiw.

o11y support has landed in the shim so I'm closing this. Config work is being tracked here.


scipy.signal.dlsim returns error if number of timesteps in input is less than number of inputs

The problem is an error in the statement
if t is None:
        out_samples = max(u.shape)

Which results in this behaviour:
# Define system
A=np.array([[1]])
B=np.array([[1,1,1]])
C=np.array([[1]])
D=np.array([[0,0,0]])
dt = 1.0

# Define input
U=np.array([[0,0,0],
            [0,0,0]]) # Input tensor with 2 timesteps.

dlsim((A,B,C,D,dt),U)

Traceback (most recent call last):
File "/home/rjs10/git/SHARPy/src/PyCoupled/Coupled_LinDynamic.py", line 61, in
dlsim((A,B,C,D,dt),U)
File "/usr/local/lib/python3.2/dist-packages/scipy/signal/dltisys.py", line 118, in dlsim
np.dot(d, u_dt[out_samples-1,:])
IndexError: invalid index
The statement should be
if t is None:
        out_samples = u.shape[0]

Easy fix.

As far as I can tell, this is fixed by gh-3741


feature/11-add-criteria-for-task-partitioning-experiments

Methods, always/never partition, as well as method parameters if applicable.

Moved to fordyca, where all the research issues are.


add pointer locking, its janky as hell LOL

Hi @PSYclownYT! What browser are you using? This works pretty well for me on Chrome, but you need to enter the fullscreen mode (through) the button so it automatically will lock your pointer. Same on Firefox, but for whatever reason "WASD" keys are not working there, so you have to move by pressing your mouse right key.

chrome


[BUG] Error when trying to repack dng

I can't repack the dng, maybe some necessary data is missing during dng writing, despite the fact that I used all possible methods in the tinydngwriter::DNGImage
Dng reader notifies: Err: Failed to read StripByteCount value.
Simple example code on gist: https://gist.github.com/eszdman/34e83dacc70369b62d596be3a0ba5531

Is it known issue? Why it is closed?

You should post minimal reproducible code & test DNG file

It happens on any DNG files
Here minimal code with dng and cmake
testProject.tar.gz

Your code is broken.


Bug 1.1.3 - background-image: initial; array image disappears

I am loading jquery Reel spinners using ajax and image arrays. If I click around the page and then roll back over the Reel instance, the Reel image disappears and is replaced with an x. It says it's undefined.
The .jquery-reel-interface div css becomes:
style="position: absolute; left: 0px; top: 0px; width: 800px; height: 320px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); opacity: 0; background-position: initial initial; background-repeat: initial initial;"
Any idea what this is?
Seen in IE7 and Chrome.

I assume the above answer did the job for you and am closing this issue. Feel free to reopen otherwise.


[Bug] Installation issue on windows with pip

Describe the bug
As I saw "Microsoft::Windows" was added as a valid Operating System on pypi tiledbsoma page, I tried to install it on windows.
I got an error:
tiledbsoma build fails on windows.
To Reproduce
Run
pip install tiledbsoma
On a windows environment.
Versions (please complete the following information):

OS windows 10

Additional context
Trying to install in a conda environment.
File with pip output is attached.
pip_output.txt

Hi @royassis that may be an inadvertent bug over at PyPi.  We have providing Windows builds on the roadmap, but we are not there yet.


fix(pubsub): Removing console logs for redundant pubsub messages

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Markdown doesn't automatically render on pasting content or on existing line

When you type the syntax first, the markdown is instantly rendered but it's not working in case of pasting text or on an existing line.
For example if I start with ## and then type Some heading it works but if I directly paste ## Some heading, it doesn't work.
Similarly for lists, if start with 1. then it works, but if I type This is a line and then type 1. at the start, it doesn't work.

Please provide reproduction steps for your issue. Based on your description, I have no idea where you're doing these things that you're describing, or what code you're using.

SuperEditor is a tool for all editors, not just markdown editors, therefore it wouldn't be appropriate to automatically treat pasted content as markdown. However, you can implement that behavior yourself by replacing the existing paste behavior with your own, and then call the provided deserialization method that turns markdown into a Document.

I stared to explain this but then I decided that we probably make this harder than it needs to be. There will always be some work that needs to be done, but we can add some pieces that help.
When pasting Markdown text, that text needs to be deserialized into a Document and then the nodes in that partial Markdown text Document need to be inserted into the primary document. We should consider adding requests and commands to insert nodes from outside a Document into the primary Document through the Editor, and/or...
We might want to add requests and commands within the super_editor_markdown package that do the deserialization on your behalf and inserts the appropriate nodes into the primary document.
I'll look into this.

@alterhuman please follow https://github.com/superlistapp/super_editor/pull/1753 for a solution.