text:
🛑 SMD Altezz Block C is down

In 9a3cb6b, SMD Altezz Block C (https://cloud.tymly.in/status/1177) was down:

HTTP code: 521
Response time: 20253 ms

Resolved: SMD Altezz Block C is back up in f3448d2.


text:
🛑 Sumadhura Silver Ripples Club House is down

In 46fdefd, Sumadhura Silver Ripples Club House (https://cloud.tymly.in/status/1090) was down:

HTTP code: 521
Response time: 20873 ms

Resolved: Sumadhura Silver Ripples Club House is back up in 6e6b828.

source: gharchive/issue

repo: bvenkysubbu/tymlymonitor

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 SMD Altezz Block B is down

In 1ed0ae0, SMD Altezz Block B (https://cloud.tymly.in/status/1176) was down:

HTTP code: 521
Response time: 20262 ms

Resolved: SMD Altezz Block B is back up in b24611c.


text:
🛑 Prakruthi Villas Sarjapura is down

In 8ec2662, Prakruthi Villas Sarjapura (https://cloud.tymly.in/status/1058) was down:

HTTP code: 521
Response time: 28196 ms

Resolved: Prakruthi Villas Sarjapura is back up in 936c57b.


text:
🛑 Gayathri Goodlife is down

In 971ad71, Gayathri Goodlife (https://cloud.tymly.in/status/1009) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Gayathri Goodlife is back up in caaadce.


text:
🛑 Dasta Concerto Entrance is down

In 7d6e27a, Dasta Concerto Entrance (https://cloud.tymly.in/status/1137) was down:

HTTP code: 521
Response time: 236 ms

Resolved: Dasta Concerto Entrance is back up in 47eaf7d.


text:
Message.ContentWithMentionsReplaced() replace role and channel mentions.

Currently Message.ContentWithMentionsReplaced() only replaces the User mentions, but not Channel and/or Role mentions.
It maybe nice to have them replaced too.

Message.ContentWithMentionsReplaced() also does not replace user names with their proper guild nickname

Made a pull request for this :stuck_out_tongue:

Fixed with https://github.com/bwmarrin/discordgo/pull/375

authors: ToadKing VagantemNumen bwmarrin legolord208

repo: bwmarrin/discordgo

license_source: bigquery


text:
Show offline as off

What issue do you have? Please be as thorough and explicit as possible.
Hi. When the Sonoff device on ewelink is offline does not reflect back on Homebridge in which the device is always showing on even if you click on it to switch it off. Any way to have it synced as switched off when the Sonoff device is offline. thanks
Details of your setup.

Do you use (1) Homebridge (+ config-ui), (2) Homebridge (CLI) or (3) HOOBS?

Which version of Homebridge/HOOBS do you have?

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.

Which version of this plugin (homebridge-ewelink) do you have? Has the issue started since upgrading from a previous version?

Which eWeLink devices do you have that are causing issues? Please include product models if applicable.

Please paste any relevant logs below.

Hi @salahaki
The issue with this is that offline does not necessarily mean that the switch is off.
For example, I have sonoff wall switches that sometimes disconnect from the wifi network, but the channels are still ON and so the lights are still ON. I would not want these lights to show as "OFF" in homekit just because they are offline from the network.
I do see your point however - one of my wall switches is connected to a sonoff bulb - meaning when the wall switch is OFF, the bulb has no power and is offline. If I turn the wall switch OFF when the bulb is ON, of course the bulb is actually off but it is still shown in homekit as ON.
However, in this same situation, if the bulb has power and is ON, but goes offline, it doesn't turn off. So I wouldn't want it shown as OFF in homekit.
The plugin cannot determine whether a device has gone offline due to either

the device not having power (in this case it would make sense to show as OFF in homekit)
a random disconnect from the wifi (in this case the device may still actually be ON so it would not make sense to show as OFF in homekit)

So I really am unsure the best way to reflect an offline device

Could I message you on discord?
https://discord.gg/cMGhNtZ3tW

Many thanks for reverting back. I have 2 mini DIY small switches; one is connected to generator 1 and another to generator 2. When generator 1 is off I need to see the switch in offline mode but in fact it stays on and I can not even switch it off manually.
Regards,
Salahaki

On Jun 23, 2021, at 1:46 PM, Ben @.***> wrote:

Hi @salahaki
The issue with this is that offline does not necessarily mean that the switch is off.
For example, I have sonoff wall switches that sometimes disconnect from the wifi network, but the channels are still ON and so the lights are still ON. I would not want these lights to show as "OFF" in homekit just because they are offline from the network.
I do see your point however - one of my wall switches is connected to a sonoff bulb - meaning when the wall switch is OFF, the bulb has no power and is offline. If I turn the wall switch OFF when the bulb is ON, of course the bulb is actually off but it is still shown in homekit as ON.
However, in this same situation, if the bulb has power and is ON, but goes offline, it doesn't turn off. So I wouldn't want it shown as OFF in homekit.
The plugin cannot determine whether a device has gone offline due to either
the device not having power (in this case it would make sense to show as OFF in homekit)
a random disconnect from the wifi (in this case the device may still actually be ON so it would not make sense to show as OFF in homekit)
So I really am unsure the best way to reflect an offline device
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I can make the devices appear as "no response" in the home app, but not in the homebridge app.
Please install the beta version of the plugin, and use the homebridge UI to turn on the setting "Offline Devices" in the optional settings section.
This should mark any offline accessory as "no response" in the home app, just saying it again, that this status is not available in the homebridge ui

Many thanks. I will try it out and revert back
Regards,
Salah Kanaan

On Jun 23, 2021, at 11:09 PM, Ben @.***> wrote:

I can make the devices appear as "no response" in the home app, but not in the homebridge app.
Please install the beta version of the plugin, and use the homebridge UI to turn on the setting "Offline Devices" in the optional settings section.
This should mark any offline accessory as "no response" in the home app, just saying it again, that this status is not available in the homebridge ui
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi,
Could you please guide me on where to find the beta version?
Thanks
Sal

On 23 Jun 2021, at 11:09 PM, Ben @.***> wrote:
I can make the devices appear as "no response" in the home app, but not in the homebridge app.
Please install the beta version of the plugin, and use the homebridge UI to turn on the setting "Offline Devices" in the optional settings section.
This should mark any offline accessory as "no response" in the home app, just saying it again, that this status is not available in the homebridge ui
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/bwp91/homebridge-ewelink/issues/268#issuecomment-867124318, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABRIAYVGWNNSICMR4DZPZTTUI5PDANCNFSM47FLNKLQ.

https://github.com/bwp91/homebridge-ewelink/wiki/Beta-Version#homebridge-ui

Once installed, you should see this new "Offline Accessories" option in the settings. turn this on and restart homebridge

Many thanks for your swift response and support. I will check and revert back.
Thanks again.

On 24 Jun 2021, at 10:46 AM, Ben @.***> wrote:
https://user-images.githubusercontent.com/43026681/123223234-a0b9a200-d4c8-11eb-8ea5-220717c5d2e2.png
Once installed, you should see this new "Offline Accessories" option in the settings. turn this on and restart homebridge
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/bwp91/homebridge-ewelink/issues/268#issuecomment-867418249, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABRIA4EM745VXRGUHEWH3LTULPGZANCNFSM47FLNKLQ.


text:
MSL100D Brightness Error

Please explain your feature request in a one or two sentences.
I can turn the MSL100D On and Off, but whenever I change brightness, nothing happens and it reverts. The log shows a "Not supported type!" error.

Is your feature request related to a problem? Please describe.
Changing the brightness should work.

Any particular Meross devices that this relates to?
MSL100D

Anything else?

Version: homebridge-meross v8.5.0
Logs
2023-01-17T03:58:46.932Z mqtt-packet:writeToStream publish: payload: '{"header":{"from":"/app/2764334-578b2fc0187f1fb2b927c4eb9f3906dc/subscribe","messageId":"8d0be66cd51b699559db7a6aa49d6399","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"ae326b4314a7a9d7e6134e2f2f1eff0c","timestamp":1673927927},"payload":{"light":{"luminance":58,"channel":0}}}'
...
2023-01-17T03:58:47.102Z mqtt-packet:parser _newPacket: parser emit packet: packet.cmd: publish, packet.payload: {"header":{"messageId":"8d0be66cd51b699559db7a6aa49d6399","namespace":"Appliance.Control.Light","method":"ERROR","payloadVersion":1,"from":"/appliance/2106255921965990853548e1e9731fac/publish","timestamp":1673927926,"timestampMs":722,"sign":"b8b415a15af5b49238ff7cf9216b9911"},"payload":{"error":{"code":5003,"detail":" Not supported type!"}}}, packet.length: 400

Hi @Aridor2006
This is indeed a strange issue as I thought brightness was sorted for these devices.
What I will need from you is some http sniffing to see how the meross app controls the brightness.
Very happy to guide you through this on discord:
https://discord.gg/bHjKNkN

Does this help? It seems to have an additional capacity field, which doesn't change? Attached are the POST requests for changing the brightness to 100% and then back down to 1%.
{
  "payload": {
    "light": {
      "channel": 0,
      "luminance": 1,
      "capacity": 4
    }
  },
  "header": {
    "messageId": "ddcfc0db6ac3930167c4e1bc9c2ae516",
    "method": "SET",
    "from": "http://198.18.3.71/config",
    "payloadVersion": 1,
    "namespace": "Appliance.Control.Light",
    "sign": "9c292d1e4ae0cfaabe2a1a579728d3f7",
    "triggerSrc": "iOS",
    "timestamp": 1674444486
  }
}

meross_app.zip

Can you update to the beta version of the plugin to see if this has fixed this?
https://github.com/bwp91/homebridge-meross/wiki/Beta-Version

This fixes it, thanks!


text:
fix: upgrade storybook

Types of Changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Description
[Place a meaningful description here.]

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

source: gharchive/pull-request

repo: bylapidist/components


text:
Deprecate this crate

We are deprecating this crate, since regalloc2 is more modern, maintained and expected to be faster both in compile times and have better generated code quality.
@cfallin If you agree with this, once we've merged this, I'll archive this repository and disable pull requests/issues. If there's any interesting issues that also makes sense for regalloc2, we can re-open them in regalloc2's issue tracker.

cargo-deny is failing because the crate unicode-ident (pulled in via some proc-macro helpers, then serde) added an "and Unicode license" qualifier to its license field. Since this crate is no longer used in downstream contexts that have strict license requirements, and because such a license would likely not affect the actual compiled code, and because the tree today is the same as it was yesterday (this PR doesn't introduce any changes to dependencies), I'm going to go ahead and merge this against the CI failure.

authors: bnjbvr cfallin


text:
Homebrew formula

I'm in the progress of submitting a PR with a WAMR Homebrew formula here: https://github.com/Homebrew/homebrew-core/pull/107301
As you can see in the review, we are having certain issues there, but the main blocker is that the project doesn't have semver, but rather a calver versioning scheme, which itself is not an issue, but the current calver format is not lexicographically correct, which matters for Homebrew. Can we change this versioning scheme to YYYY.MM.DD format. Or maybe you have some plans for this already, which might be better?
Also please if you have any insights other than this connected to the formula feel free to comment!

it is a nice one and we will keep you updated.

Btw, is it about the latest release fast-jit-06-29-2022 not using the usual "WAMR-MM-DD-YYYY" pattern?

Yes, that is also an issue, but the original issue is that it would be better to use the YYYY-MM-DD CalVer pattern, so tools like Homebrew could detect version changes based on lexicographical order, for example according to the current format 01-21-2021 is newer than 05-13-2022 which is an issue for homebrew.

To be clear: we're not asking you to change the version scheme for your project.
We were just looking for feedback about whether using your existing version scheme to construct a CalVer scheme is a sensible move for us. It wouldn't be if, for example, you intend to adopt a different version scheme in the near future.

We are changing:
https://github.com/bytecodealliance/wasm-micro-runtime/pull/1374

This is great news!

This is real now: https://formulae.brew.sh/formula/wasm-micro-runtime so closing. Thank you for #1374 !

authors: bonifaido carlocab lum1n0us

repo: bytecodealliance/wasm-micro-runtime


text:
A question about the compilation determinism of wamrc.

I am wondering if the compilation result is always the same for a given target platform and compilation options when compiling a WASM application. Specifically, if I use the same version (commit ID) of wamrc, will the resulting AoT file be the same when compiling a WASM file on an x86 machine running Ubuntu 20.04 compared to a RISC-V machine running Ubuntu 20.04? Additionally, does the operating system used for compilation have any influence on the result? Could you provide some examples of factors that may influence the compilation result?
Thank you for your time and expertise in advance.

If I use the same version (commit ID) of wamrc, will the resulting AoT file be the same when compiling a WASM file on an x86 machine running Ubuntu 20.04 compared to a RISC-V machine running Ubuntu 20.04?

Usually, it wouldn't be the same, including the example you use.

Additionally, does the operating system used for compilation have any influence on the result?

Yes, OS will potentially influence the result.

Could you provide some examples of factors that may influence the compilation result?

As far as I know, the factors that will affect the compiled AOT file content are:

Target Architecture
Target CPU
Target ABI(Influenced by OS, because OS typically defines or chooses the ABI)

You can use the CLI argument to set those targets for wamrc, for example:
./wamrc --target=xxx --target-abi=xxx --cpu=xxx -o main.aot main.wasm

Thanks for your kind answers!
I am sorry that I did not describe my problem clearly.
My question is that given the same target information (e.g. target architecture, target CPU, target ABI), will the architecture or the OS of the machine that perform the compilation, have an influent on the result AoT binary?
e.g. compile a hello.wasm to x86-AoT, on an x86 Ubuntu machine and on a RISC-V Ubuntu machine respectively.
Could you provide some examples of factors that may influence the compilation result, except the factors about the target platform?
Really appreciate your help!

My question is that given the same target information (e.g. target architecture, target CPU, target ABI)

be aware that there are subtle differences like: https://github.com/bytecodealliance/wasm-micro-runtime/blob/6e3c3fe9ec08faf0f28db91fd952d6bbe2334935/wamr-compiler/main.c#L390-L396
if you specifiy everything explicitly, hopefully it can produce the same (or at least compatible enough) binary. (unless you hit bugs like https://github.com/bytecodealliance/wasm-micro-runtime/pull/2260)

My question is that given the same target information (e.g. target architecture, target CPU, target ABI), will the architecture or the OS of the machine that perform the compilation, have an influent on the result AoT binary?

I can't be 100% sure, but theoretically speaking, it should be.
The simplified workflow of how a aot file is generated:
llvm unopt ir -> llvm opt -> object file ->aot file
Let's take a closer look::

The input WebAssembly (wasm) file is first processed by wamrc, which generates unoptimized raw LLVM Intermediate Representation (IR).
This raw LLVM IR is then passed through the LLVM pass manager, where it is transformed into optimized LLVM IR.
From this optimized LLVM IR, an object file is created.
Finally, the object file, along with some extra data, is put into an AOT file.

You can dump the intermediate result to the file using those commands:
# it will dump raw llvm it
./wamrc --format=llvmir-unopt -o test_unopt.ll test.wasm
# it will dump optimized llvm it
./wamrc --format=llvmir-opt -o test_opt.ll test.wasm
# it will dump object file
./wamrc --format=object -o test_unopt.o test.wasm
# and of course, generate the aot file
./wamrc -o test.aot test.wasm

You can try those commands out with some sample programs. To see whether the result aligns with the supposed behavior (and if not, you can know which step it starts to differ)

authors: TianlongLiang ghost-787 yamt


text:
chore: Pin nightly to 2023-04-23

This ensures reliability accross builds.

I was able to reproduce the failures with nightly-05-22+

Alternatively, using updating proc_macro2 should work: https://github.com/bytecodealliance/wasmtime-rb/compare/jb/update-all-deps

Alternatively, using updating proc_macro2 should work: https://github.com/bytecodealliance/wasmtime-rb/compare/jb/update-all-deps

Oh this makes sense to me. Do we gain anything significant by not pinning nightly? As far as I understand we only rely on nightly for doc generation for which a pinned nightly should be enough? I'd like to avoid PRs randomly breaking due to un-pinned nightly versions. Perhaps updating proc-macro2 and pinning nightly to the latest makes sense? Let me know if I'm missing something here though!

After discussing this change offline with @jbourassa and making several iterations, this is now ready for another review. I plan to defer the updates for dependencies to a future PR, given that this current PR already contains a mix of changes. However, these changes are necessary to make the CI pass again.

authors: jbourassa saulecabrera

repo: bytecodealliance/wasmtime-rb


text:
Add definitions of tiers-of-support for Wasmtime

This commit adds documentation of a Tiers-based system for classifying
how supported a component is within Wasmtime. This was somewhat
pioneered in the Wasmtime 1.0 RFC but the documentation here is
expanded to include more than just API stability but additionally other
components. Inspiration for this is drawn from Rust's definition of
support tiers as well.
The motivation for this is to help clarify what exactly it means to live
at each tier and what is expected. For example one thing this document
clarifies is the requirements necessary for landing new major changes in
Wasmtime at all. Additionally this helps clarify what it means to have
the highest level of support vs "otherwise well supported".

As-is this document is a work in progress and I would like to gather feedback from others about their thoughts on this classification. My hope is that most of the guidelines here are pretty uncontroversial, but if there are points of contention then I will close this and reopen it as an RFC for a more official venue of discussion.
I also plan on talking about this in the upcoming days at the Cranelift and Wasmtime weekly meetings to cast a wide net for getting interest in this.

This is a great overall idea, as I mentioned in the Wasmtime biweekly -- thanks for putting this together @alexcrichton!
I had a few additional thoughts on the sorts of things that could be tiered, both related to Cranelift. Basically any large feature or piece of functionality could in theory be assigned a tier, and two that come to mind are:

Support for Cranelift features not exercised by Wasmtime. While we want to maintain wide support as much as possible, in practice the parts of Cranelift that are exercised by Wasmtime get a lot more testing and are more solid as a result. The set of features/instructions/types used by cranelift-wasm is also significantly smaller than the whole theoretical range of programs that can be expressed in CLIF. At least in the following dimensions we can make this distinction:

Instructions (CLIF opcodes);
Value types (I32/I64/F32/F64/128-bit vectors, vs. everything else -- narrow and wide types, bools, etc.);
Other calling conventions (e.g., SpiderMonkey/Baldrdash);
Other "code model" settings, such as relocation restrictions, etc;
Other Cranelift settings than what is configured by Wasmtime in general.

I would argue that the above (i.e., non-Wasmtime uses of Cranelift) should be listed as tier 3, in order to capture the de-facto situation we have today. To graduate from tier 3, we would need someone working on Cranelift fulltime whose focus is these other use-cases.
I also think that debug support is already de-facto tier 3, and should be listed as such. Partly this is because no one currently on the project fully understands the code, and partly this is because there are some lingering issues or shortcomings. We've recently seen debug support as sort of best-effort, in the sense that we try to keep it working for the tests (I put in a few weeks of effort specifically on regalloc2 and the new-backend migrations for this) but we don't have the developer time to make and support strong guarantees. To graduate from tier 3, we would need someone who deeply understands DWARF and debug infrastructure to overhaul the code, improve its robustness, then continue to support it.
And finally to write down something I said at the meeting here: I think it would be really useful to list "what is needed to graduate" alongside features/platforms at lower tiers. This serves both to capture some rationale, and to motivate: if I (as a potential contributor) see that all a given feature needs to be tier-1 and on by default is some more fuzzing, and I want that feature, maybe I will jump in and help. I wrote down some "to graduate" conditions above as examples. In particular I think some of the items in your list are pretty close: e.g. aarch64 really just needs fuzzing on real hardware to be tier-1 supported, if I understand correctly.

Discussion of this in the Wasmtime/Cranelift meetings felt positive about the various bits here, so I'd like to give some more time in case anyone has feedback, otherwise I will merge later this week.

Ok there hasn't been any further discussion of this so I'm going to queue up its merge. PRs and tweaks over time are of course welcome though!

authors: alexcrichton cfallin

repo: bytecodealliance/wasmtime


text:
optimize perfermance of fd_read/fd_write

Issue #7973

Compared to native(C/C++), fd-read can only reach 20% of native. I will divide the performance hotspots  into the following two categories:,

Wasi implementation of fd-read(approximately 30% of the hotspots), such as the cost of redundant memory copies, the cost of inserting and deleting HostInputStream into WasiView, and the cost of accessing guest memory(merged PR);
Wasm program call host function(approximately 40% of the hotspots): I am not very familiar with this mechanism yet, and currently I cannot understand the reasons behind the hotspots here;

This PR is mainly optimized for the first type of performance hotspot:

Avoid unnecessary copying;
Avoid inserting and deleting HostInputStream intoWasiView;

The perfermance hotspots of fd_write is the same fd_read:
https://github.com/bytecodealliance/wasmtime/blob/86dcae460b5437703570e52253cc1b7d5bad8597/crates/wasi/src/preview1.rs#L1682
https://github.com/bytecodealliance/wasmtime/blob/86dcae460b5437703570e52253cc1b7d5bad8597/crates/wasi/src/preview1.rs#L244

@alexcrichton  Your review comments have been completed，this pr can be merged.


text:
instance type declaration size is out of bounds

Apologies if this isn't the correct place to report this.
I'm running into linking issues in rust after increasing the number of functions in the wit file.
I run wit-bindgen rust . to generate rust bindings from a wit file. That is then compiled in a static lib crate, which succeeds, but linking fails for a binary that is linked against the static library. Compiling the whole workspace with cargo b -r --target wasm32-wasip2.
error: linking with `wasm-component-ld` failed: exit code: 1
note: error: failed to parse core wasm for componentization
          Caused by:
              0: decoding custom section component-type:wit-bindgen:0.36.0:x:xx:xxx:encoded world
              1: instance type declaration size is out of bounds (at offset 0x8b)

The issue seems to start happening when there is around 45k functions. 44k functions worked fine, 45.5k didn't work, with everything else being the same.
Additional information that might matter:

The wit file currently has <20k types (resources, records, enums combined)
The produced .rs from wit-bindgen is ~60mb
The produced .rlib with the output of wit-bindgen is ~200mb
rustc 1.85.0-nightly (4d669fb34 2024-12-08)

Let me know if anything else is needed to identify the issue.
Thanks in advance!

Thanks for the report! Can you share a binary or two here perhaps? The limit here is hardcoded at this location and is pretty arbitrary and should be fine to increase.

I cannot share the original wit file, but this test wit file seems to reproduce the same issue: testcase.txt (github doesn't allow .wit files?)
If anything else is needed for reproduction, please let me know.
Thanks for helping!

authors: MangoPeachGrape alexcrichton

repo: bytecodealliance/wit-bindgen


text:
请问下视频制作工具和ios端、web端会开源吗？

RT

通过AE可导出标注rgb的mp4和 灰度图像的mp4。然后通过ffmpeg 合成一个视频即可

@jtyang 视频制作工具方面的问题 @crazy1235 已经帮忙回答了，实际上AE还支持直接将标注rgb的mp4和灰度图的mp4合成一个视频输出。目前iOS端的开源还在准备中，web端暂时不支持

期待ios端的开源

repo: bytedance/AlphaPlayer


text:
Update BYU JWT dependency

:arrow_up: Update to byu-jwt 2.0.0
✔ Update tests
:wrench: add package-lock to gitignore

Thanks for fixing the tests to reflect CAS changes.

authors: GaryGSC SpencerTuft

repo: byu-oit/byu-wabs-oauth


text:
Extra velocity and VLM normal dot

It appears that there is something different in the new VLM, possibly coordinate definitions, that makes the vother not correct for a propeller on wing case of anything other than 0 degrees aoa.  I have reverted back to the old VLM since I have run out of time to work on this problem by myself and the old VLM validates fine.  As far as I have tested via plotting, I have verified that my propeller extra velocities are exactly the same.
Here is the New VLM.  Even by bypassing the nhat dot product and adding on the extra velocity to the b like was done in the old vlm does not solve the problem.  Possibly a reference frame issue?
Here is the new

Here is the old

Here are the propeller induced velocities for the Veldhius case if you're interested in skipping the propeller analysis and just running a general propeller on wing case at an angle of attack etc.
rprop [0.017464, 0.03422, 0.050976, 0.067732, 0.084488, 0.101244, 0.118]
uprop [0.0, 1.94373, 3.02229, 7.02335, 9.02449, 8.85675, 0.0]
vprop [0.0, 1.97437, 2.35226, 4.07227, 4.35436, 3.69232, 0.0]
For reference
The code to reproduce this is in moore2018-multi-prop-opt master for the new VLM setup and oldvlm for the old
packages that would need to have specific branches checked out are:
CCBlade: add_RE_M
VLM: kevin
BeamFEA: kevin

In both cases, the propeller extra velocity is in the body frame, i.e. not affected by the aoa.

Also, it looks like the new VLM adds 0.86 seconds to each function evaluation of my whole system compared to the old VLM, 1.12 seconds vs 0.26 seconds

Where can I find the exact case you are running?  I don't know where the code is that uses the new VLM.  Or even better, can you give me a minimal example.  Geometry of the wing. Where the prop is.  I should know where that info is for when I did the original validation case, but I can't recall.
I haven't done any profiling. I suspect the time difference could be the stability derivatives.  Currently it calculates about 5X as many outputs as the old one since it has all the stability derivatives.  I could put an option to turn those off then you could compare time again.

Is it Fig. 6.11 from here: https://repository.tudelft.nl/islandora/object/uuid%3A8ffbde9c-b483-40de-90e0-97095202fbe3

where is the wing definition?

what is uprop and vprop in your post above?  Is vprop swirl?  And if so in which direction?  are these already corrected for far-field?

moore2018-multi-prop-opt, branch master for the new VLM
branch oldvlm for the old
the validation cases are in Veldhius_Validation.jl and Epema_Validation.jl respectively, both branches will run them (branch oldvlm runs with the old vlm)
The propeller uprop (axial) and vprop (tangential) I gave above are the exact velocities I am applying to the wing, so corrected for the far field.  The tangential velocity is for inboard up, just like the validation case.
Here is our original validation case from December, the first case is Veldhius's and the second is Epema.
`include("propwing.jl")
import CCBlade
using PyPlot
close("all")
Vinf = 50.0  # freestream speed
J = 0.85  # prop advance ratio
etaprop_center = [0.3/0.64]  # spanwise location of prop (center)
cw = 1.0  # 1 if clockwise, -1 if counter-clockwise (when viewed from upstream) (symmetric wing is on the right viewed from upstream, so clockwise is inboard up)
alpha = 4*pi/180
xtowing = 0.2  # distance from prop to wing (for wake contraction) - assuming it is the same for all props
rho = 1.225  # air density  (irrelevant in normalization)
Pprop = 5.5e3
--------- propeller --------
geometry
Rhub = 0.035/2
Rtip = 0.236/2
chord_prop = Rtip*[0.158788, 0.15083, 0.146158, 0.145793, 0.148978, 0.153175, 0.154064, 0.145548, 0.119747]
twist_prop = pi/180*[54.9242, 49.6058, 44.6923, 40.1836, 36.0798, 32.3809, 29.0869, 26.1977, 23.7134]
r = linspace(Rhub+0.05Rtip, 0.95Rtip, length(chord_prop))
r = Rtip*[2.31e-01, 4.00e-01, 5.11e-01, 6.15e-01, 7.20e-01, 7.89e-01, 8.60e-01, 9.30e-01, 9.65e-01, 9.99e-01]
chord_prop = Rtip*[1.56e-01, 1.46e-01, 1.47e-01, 1.52e-01, 1.54e-01, 1.52e-01, 1.38e-01, 1.10e-01, 9.13e-02, 6.87e-02]
twist_prop = pi/180*[5.27e+01, 4.39e+01, 3.85e+01, 3.35e+01, 2.91e+01, 2.69e+01, 2.47e+01, 2.35e+01, 2.25e+01, 2.19e+01]
r = 1e-3*[30, 45, 60, 75, 90, 105]
chord_prop = 1e-3*[11.88, 15.59, 18.81, 19.55, 18.32, 3.96]
twist_prop = pi/180*[32.5, 26.5, 23.5, 19, 16.5, 14]
twist_75 = propwing.interp1(r, twist_prop, [0.75Rtip])[1]
pitch = 25pi/180 - twist_75
println(pitch180/pi)
twist_prop += pitch + 6.6pi/180
B = 4  # number of blades
aftype = CCBlade.af_from_aerodynfile("NACA64_A17.dat")
n = length(r)
af = Array{CCBlade.AirfoilData}(n)
for i = 1:n
af[i] = aftype
end
Dprop = Rtip2  # propeller diameter
Omega = Vinf/(JDprop)2pi  # rotation rate
uwake, vwake, T, Q, reff = propwing.propanalysis(Rhub, Rtip, r, chord_prop, twist_prop, B, af, Vinf, Omega, rho, xtowing)
#TODO: check thrust coefficient make sure it is 0.168
n = Omega/(2*pi)
CT = T / (rho * n^2 * Dprop^4)
println(CT)
println(Q*Omega)
println(T*Vinf)
--------- wing geometry -------
AR = 5.33
sectionspan = [0.64]
twist_wing = [0, 0]*pi/180
b = sectionspan[1]*2
chord_wing = [b/AR, b/AR]
tc = [0.12, 0.12]  # irrelevant for the aerodynamics
sweep = [0]*pi/180
dihedral = [0]
N = [100]
alpha = 4.0*pi/180
L, Di, CP, cl1, cllocal, Vinfeff, alphaeff = propwing.winganalysis(sectionspan, chord_wing, twist_wing, tc, sweep, dihedral, N, alpha, rho, Vinf, reff, uwake, vwake, etaprop_center, cw)
alpha = 0.0
L, Di, CP, cl2, cllocal, Vinfeff, alphaeff = propwing.winganalysis(sectionspan, chord_wing, twist_wing, tc, sweep, dihedral, N, alpha, rho, Vinf, reff, uwake, vwake, etaprop_center, cw)
expdata = [
9.772047626521212 0.36487438017230045;
17.456214395697152 0.3699581337937061;
25.141017429406453 0.3776505720018155;
28.36038871521223 0.3770728438055406;
31.51982388197718 0.4307570275417708;
34.66386144703521 0.42131104427976984;
37.734219579132215 0.4097793858774725;
40.93806601032445 0.3455497537656257;
52.987516489855814 0.2482967198442424;
56.206378764034916 0.24563204397860466;
59.276864149038595 0.23462212249364806;
62.42090171409665 0.22517613923164698;
65.57779182272824 0.2684255846210621;
68.72221114650627 0.2605448121110834;
74.86521796302029 0.24687275981862233;
81.22608175575076 0.2264143100135313;
87.36476197343806 0.19500320253148462;
92.03952475281122 0.16153059796140856
]
expdata0=[
9.619921363040625 0.029354838709677367;
17.404980340760133 0.032258064516128976;
25.111402359108773 0.04193548387096771;
28.256880733944946 0.04290322580645156;
31.402359108781134 0.09612903225806448;
34.469200524246375 0.08903225806451609;
37.53604193971165 0.08032258064516125;
40.76015727391874 0.04999999999999995;
52.87024901703797 -0.025161290322580687;
56.01572739187416 -0.05774193548387102;
59.161205766710346 -0.07806451612903226;
62.30668414154652 -0.08354838709677423;
65.37352555701176 -0.04548387096774195;
68.59764089121887 -0.021290322580645227;
74.73132372214937 -0.018709677419354864;
81.02228047182172 -0.013548387096774195;
87.07732634338137 -0.010967741935483832;
91.79554390563564 -0.008387096774193525;
]
rc("figure", figsize=(3.5, 2.6))
rc("font", size=10.0)
rc("lines", linewidth=1.5)
rc("lines", markersize=3.0)
rc("legend", frameon=false)
rc("axes.spines", right=false, top=false)
rc("figure.subplot", left=0.19, bottom=0.18, top=0.97, right=0.96)
semispan = sectionspan[1]
figure()
plot(CP.y/semispan, cl1)
plot(expdata[:, 1]/100, expdata[:, 2], "o")
plot(CP.y/semispan, cllocal)
ax = gca()
ax:set_color_cycle
figure()
plot(CP.y/semispan, cl2)
plot(expdata0[:, 1]/100, expdata0[:, 2], "o")
xlabel(L"2y/b")
ylabel(L"c_l")
legend(["VLM", "Exper."], loc="upper right")
savefig("../MDAO_paper/figures/epemaval1.pdf", transparent=true)
xtowing = 0.2  # distance from prop to wing (for wake contraction) - assuming it is the same for all props
Vinf = 19.0  # freestream speed
J = 0.695  # prop advance ratio
etaprop_center = [0.35]  # spanwise location of prop (center)
cw = 1.0  # 1 if clockwise, -1 if counter-clockwise (when viewed from upstream)
alpha = 4*pi/180
rho = 1.225  # air density  (irrelevant in normalization)
Pprop = 5.5e3
--------- propeller --------
geometry
Rhub = 0.084/2
Rtip = 0.41/2
r = Rtip*[2.31e-01, 4.00e-01, 5.11e-01, 6.15e-01, 7.20e-01, 7.89e-01, 8.60e-01, 9.30e-01, 9.65e-01, 9.99e-01]
chord_prop = Rtip*[1.56e-01, 1.46e-01, 1.47e-01, 1.52e-01, 1.54e-01, 1.52e-01, 1.38e-01, 1.10e-01, 9.13e-02, 6.87e-02]
twist_prop = pi/180*[5.27e+01, 4.39e+01, 3.85e+01, 3.35e+01, 2.91e+01, 2.69e+01, 2.47e+01, 2.35e+01, 2.25e+01, 2.19e+01]
twist_70 = propwing.interp1(r, twist_prop, [0.7Rtip])[1]
pitch = 30pi/180 - twist_70
twist_prop += pitch + 6.0*pi/180
B = 6  # number of blades
aftype = CCBlade.af_from_aerodynfile("naca642-015a-Re300-fixed.dat")
n = length(r)
af = Array{CCBlade.AirfoilData}(n)
for i = 1:n
af[i] = aftype
end
Dprop = Rtip2  # propeller diameter
Omega = Vinf/(JDprop)2pi  # rotation rate
uwake, vwake, T, Q, reff = propwing.propanalysis(Rhub, Rtip, r, chord_prop, twist_prop, B, af, Vinf, Omega, rho, xtowing)
#TODO: check thrust coefficient make sure it is 0.168
n = Omega/(2*pi)
CT = T / (rho * n^2 * Dprop^4)
println(CT)
println(Q*Omega)
println(T*Vinf)
--------- wing geometry -------
AR = 5.33
semispan = 2.58/2
sectionspan = [0.35semispan, 0.65semispan]
twist_wing = [0, 0, 0]pi/180
b = semispan2
chord_wing = [0.279, 0.279, 0.161]
tc = [0.12, 0.12, 0.12]  # irrelevant for the aerodynamics
sweep = [0, -5]*pi/180
dihedral = [0, 0]
N = [35, 65]
cmac = 0.24
L, Di, CP, cl, cllocal, Vinfeff, alphaeff = propwing.winganalysis(sectionspan, chord_wing, twist_wing, tc, sweep, dihedral, N, alpha, rho, Vinf, reff, uwake, vwake, etaprop_center, cw)
exp_x = [4.61E-02, 1.39E-01, 2.44E-01, 2.87E-01, 4.00E-01, 4.38E-01, 5.62E-01, 6.87E-01, 8.09E-01]
exp_x2 = [4.57E-02, 1.39E-01, 2.44E-01, 2.87E-01, 3.99E-01, 4.38E-01, 5.62E-01, 6.86E-01, 8.09E-01]
exp_x3 = [4.61E-02, 1.39E-01, 2.44E-01, 2.88E-01, 4.00E-01, 4.38E-01, 5.62E-01, 6.86E-01, 8.08E-01]
exp_y1 = [5.12E-01, 5.79E-01, 7.54E-01, 6.86E-01, 3.31E-01, -5.93E-02, 3.20E-01, 3.15E-01, 2.83E-01]
exp_y2 = [4.97E-01, 5.63E-01, 7.09E-01, 5.03E-01, 1.44E-01, -1.01E-01, 3.06E-01, 3.03E-01, 2.70E-01]
exp_y3 = [5.27E-01, 5.97E-01, 7.98E-01, 8.70E-01, 5.14E-01, -1.47E-02, 3.31E-01, 3.29E-01, 2.95E-01]
other_vlm_x = [9.66E-03, 2.95E-02, 4.82E-02, 6.69E-02, 8.47E-02, 1.04E-01, 1.23E-01, 1.42E-01, 1.61E-01, 1.81E-01, 2.00E-01, 2.19E-01, 2.38E-01, 2.56E-01, 2.75E-01, 2.95E-01, 3.14E-01, 3.33E-01, 3.61E-01, 3.97E-01, 4.34E-01, 4.70E-01, 5.08E-01, 5.43E-01, 5.80E-01, 6.16E-01, 6.54E-01, 6.89E-01, 7.26E-01, 7.62E-01, 7.99E-01, 8.35E-01, 8.72E-01, 9.08E-01, 9.45E-01, 9.81E-01]
other_vlm_y = [5.18E-01, 5.20E-01, 5.16E-01, 5.19E-01, 5.22E-01, 5.30E-01, 5.41E-01, 5.55E-01, 5.73E-01, 6.02E-01, 6.75E-01, 8.13E-01, 8.74E-01, 8.83E-01, 8.44E-01, 7.54E-01, 5.29E-01, 4.39E-01, 4.19E-01, 1.67E-01, 1.12E-01, 1.63E-01, 2.70E-01, 2.95E-01, 3.04E-01, 3.06E-01, 3.03E-01, 2.97E-01, 2.89E-01, 2.78E-01, 2.65E-01, 2.50E-01, 2.32E-01, 2.09E-01, 1.78E-01, 1.29E-01]
rc("figure", figsize=(3.5, 2.6))
rc("font", size=10.0)
rc("lines", linewidth=1.5)
rc("lines", markersize=3.0)
rc("legend", frameon=false)
rc("axes.spines", right=false, top=false)
rc("figure.subplot", left=0.16, bottom=0.18, top=0.97, right=0.96)
figure()
plot(CP.y/semispan, cl.*CP.chord/cmac)
errorbar(exp_x, exp_y1, yerr=[exp_y1-exp_y2, exp_y3-exp_y1], fmt="o")
plot(other_vlm_x, other_vlm_y, "k--")
xlim([0 , 1])
xlabel(L"2y/b")
ylabel(L"c_l\ c / c_{mac}")
legend(["Our VLM", "Epema VLM", "Experimental"])
savefig("../MDAO_paper/figures/epemaval2.pdf", transparent=true)
`

Closing this for now, we can reopen if it becomes relevant to the new version of the package.

authors: andrewning moore54 taylormcd


text:
Failed to generate voting results after /skip Status: success

https://user-images.githubusercontent.com/67483423/110191433-541a6000-7e20-11eb-8166-aeacbf7c510f.mp4
After song is skipped, the "vote" message fails to generate voting results.
Here's the final message:
Skip a song?
Vote count: 0
Vote Ended!

Status: Failed

Group Participants:
1 admin, 1 RadioBot
Config
"vote": {
  "enable": true,
  "vote_time": 15,
  "update_time": 15,
  "release_time": 30,
  "percent_of_success": 40,
  "participants_only": false,
  "user_must_join": false
}

Strange.......
Why Vote count: 0 happen lol
It should append vote starter into vote list first.....
and I can't reproduce :(


text:
🛑 www.ssc.sk is down

In 99bec05, www.ssc.sk (https://www.ssc.sk/sk/Aktualne.ssc) was down:

HTTP code: 403
Response time: 522 ms

Resolved: www.ssc.sk is back up in 5c6a807.


text:
🛑 www.natureland.sk is down

In 4fc7596, www.natureland.sk (https://www.natureland.sk) was down:

HTTP code: 503
Response time: 545 ms

Resolved: www.natureland.sk is back up in 7e3e55d.


text:
🛑 www.garancnyfond.sk is down

In 27d36ea, www.garancnyfond.sk (https://www.garancnyfond.sk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: www.garancnyfond.sk is back up in 41d1165.


text:
#114 reset password

Implementing reset password feature #114

Is this out of date? #220 exists with this feature?

Did you need a review on this?


text:
Invoker isn't sending errors correctly

2021/01/23 15:57:42 * esthar ERROR: in Invoke stage: while decoding updates: invalid character 't' in literal false (expecting 'l')

This is a recurring problem (and is masking another bug I need to fix!), and is annoying the Chipping Sodbury out of me.  I'm not entirely sure how to fix it.

This is happening when the invoker panics.  We maybe ought to install a panic recover.

This is happening when the invoker panics.  We maybe ought to install a panic recover.


text:
Clean up libraries

@ubamrein commented:

Don’t use multiple async runtimes (either tokio or async-std)
Don’t use multiple TLS libraries (either rustls or openssl)

I'm not actually sure how to tackle this - any ideas welcome...


text:
Revert "Support Nodejs@12+"

Reverts cabinjs/cabin#139

I'm reverting this because I want to support Node v6.4 out of the box without having XO lint errors.  Maybe once 14 becomes the go-to I'll revert this back

repo: cabinjs/cabin


text:
check slow requests in sitemapchecker

escpecially /docs

seems to get slower over time

repo: cables-gl/cables


text:
Implicit US-ASCII encoding somewhere

(Proposed resolution at the end, full story for reference)
On my system I get errors like this:
2022-02-03 16:14:01 +0100 Unexpected error while processing request: invalid byte sequence in US-ASCII
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload/body_processor.rb:78:in `gsub!'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload/body_processor.rb:78:in `block in process!'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload/body_processor.rb:76:in `each'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload/body_processor.rb:76:in `process!'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload.rb:28:in `_call'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-livereload-0.3.17/lib/rack/livereload.rb:14:in `call'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/connection.rb:86:in `block in pre_process'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/connection.rb:84:in `catch'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/connection.rb:84:in `pre_process'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/connection.rb:53:in `process'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/connection.rb:39:in `receive_data'
        /home/chrysn/.gem/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine'
        /home/chrysn/.gem/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/backends/base.rb:75:in `start'
        /home/chrysn/.gem/ruby/2.7.0/gems/thin-1.8.1/lib/thin/server.rb:162:in `start'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-2.2.3/lib/rack/handler/thin.rb:22:in `run'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:327:in `start'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:168:in `start'
        /home/chrysn/.gem/ruby/2.7.0/gems/rack-2.2.3/bin/rackup:5:in `<top (required)>'
        /home/chrysn/.gem/ruby/2.7.0/bin/rackup:25:in `load'
        /home/chrysn/.gem/ruby/2.7.0/bin/rackup:25:in `<main>'

and plain Internal Server Error results in the browser.
As a workaround, I start with RUBYOPT="-KU -E utf-8:utf-8" kdwatch or LC_ALL="en_GB.UTF-8" kdwatch or LC_ALL="C.UTF8: kdwatch, which makes things work better. (Setting LC_ALL to en_US.UTF-8 was insufficient, probably because that locale is not built on my system).
I think that my work environment is all set up for UTF-8 (which, really, all system should have been for ages):
$ env |grep LC\\\|LANG
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en

Operating system is Debian GNU/Linux sid, in a setup that only builds the en_GB.UTF-8 (and a few selected other) locales.

I think that this is related to the ENV["LANG"]="en_US.utf-8" workaround on top of bin/kdwatch -- this sets the default to some (on my system), which I can override by setting LC_ALL.
Quite possibly, the workaround has become obsolete anyway; if it has not, C.UTF-8 might be a suitable replacement (as it should be available no matter which locales are built).

It seems C.UTF-8 is a recent invention.  It is certainly not universal:
https://unix.stackexchange.com/questions/597962/how-widespread-is-the-c-utf-8-locale
What is the best way to check whether a locale is implemented?  I could cycle through a few en_XX.UTF-8 at the start.

authors: cabo chrysn

repo: cabo/kdwatch


text:
🛑 CBTB Coffee House Shop is down

In aef33f5, CBTB Coffee House Shop (https://shop.cbtb.coffee/) was down:

HTTP code: 403
Response time: 1619 ms

Resolved: CBTB Coffee House Shop is back up in 80f97fd.

repo: cachetech/service-status


text:
🛑 CBTB Coffee House Shop is down

In 687118e, CBTB Coffee House Shop (https://shop.cbtb.coffee/) was down:

HTTP code: 403
Response time: 1228 ms

Resolved: CBTB Coffee House Shop is back up in ea796f5.


text:
Fix checksum-forced downloading

Rebased on #24
caddy was downloaded once even when caddy_update is false, probably because omit does not make checksum undefined or empty, forcing downloading and checksum computation.
See https://github.com/ansible/ansible/issues/44261. debug prints {{ undefined_var | default(omit) }} as "Hello World!". It should have been simply default('').
https://github.com/caddy-ansible/caddy-ansible/blob/c9b442887f7c7047d3f225dacae91ee3835fc56b/tasks/main.yml#L59-L73

@xiruizhao thanks for the contribution but could you please rebase on to master now that #24 is merged? I will merge it for you then as it looks like a simple & worthwhile change.

I don't currently have time, but please test this before merging. The reason debug prints "Hello World" is because the debug module does that when no msg is specified: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/debug_module.html As far as I can see the get_url module automatically defaults checksum to an empty string if is not set. I wonder why you notice a behavior change though...
The downloading and updating logic is very brittle and sadly not easy to understand.

@lbischof thanks for the tip, will be sure to be extra careful and keep that in mind when reviewing.

@lbischof you are correct. Gonna try to figure out why mine keeps downloading.

authors: joelnb lbischof xiruizhao

repo: caddy-ansible/caddy-ansible


text:
Uploading files: filename should not be kept

As a general rule with allowing user-uploaded file it is a good thing to never allow user to decide on the filename.
I suggest a random file name is generated (no extension needed anyway) and original filename is completely discarded. This has several great side-effect:

no longer need user act on duplicated-filename message, which is a bit funky anyway,
users can't upload and share links to files like movies and software directly as the mime-type can be forced to one of the whitelisted mimetypes and extension would be stripped away. Thus, even if user tricks the site to upload a disallowed binary, it would be very hard for him to use this link as a malware/illegal online resource

@MatejBalantic, right now we are using the filename as the alt attribute (in case of an image for example), and I think that this is important for SEO of public websites. And I believe that is also important for SEO that different images have different alt values, so it makes sense to validate it.
Now, I didn't understand your concerns about the filename when serving them. I see the importance of validating the mime types that we host, but I see no harm on the filename. I think we should create another issue for this mime type problem, what do you think?

I think the problem is that two users can use the same filename and it would conflict.
We could save the filename, but save it with another name at the filesystem(a hash, maybe)

At the FS I use the attachment id as the filename to avoid conflicts. I
think @matej is talking about the filename used when serving the file:
https://github.com/caelum/mamute/blob/master/src/main/java/org/mamute/controllers/AttachmentController.java#L85
Is that the problem, Matej?
On Fri, May 22, 2015 at 10:20 PM Leonardo Cesar Wolter <
notifications@github.com> wrote:

I think the problem is that two users can use the same filename and it
would conflict.
We could save the filename, but save it with another name at the
filesystem(a hash, maybe)
—
Reply to this email directly or view it on GitHub
https://github.com/caelum/mamute/issues/159#issuecomment-104810681.

Hey,
Yes, I am talking about the filename used to serve the file from our servers.
Persisting file name for purposes other than URL generation is not problematic in my opinion. So, keeping the original file name to display it in the alt field seems reasonable.
I do on the other side have doubts about serving the uploaded file under its original file name. For example, for avatars, not forcing the .jpg extension and/or Content-type header would allow a malicious user to upload & hotlink a .exe file containing a virus from your website.
In my experience, mime checking is good but unreliable and doesn't protect you from abuses as it can be easily manipulated.
Solution for this would be a combination of anonymizing the URL to random hash or ID and than forcing the Content-Type header to a white-listed content types. Also some size limitations? For avatars it could also be very easily checked if they are an actual image or not.
p.s. incrementing IDs are easy solution but make it very easy to retrieve all attachments on the system. Not sure if this is a problem in this case at all.

I guess this thread collided a bit with https://github.com/caelum/mamute/issues/158, but anyway. What I forgot to mention in the last post is the inconvenience of the user currently if he uses a file name that already exists when uploading an attachment. I guess users' attachments shouldn't be sharing the namespace, or, even better, filename shouldn't matter for reasons explained anyway.

So we have three issues here:

Protect mamute against malicious file uploads.
The path for serving files should not use the incremental id as malicious clients could use it to download all the files hosted by the site.
Uploaded file names validation. A filename from one question/answer should not conflict with a filename from other post.

What's your idea for (1)? Should we check the content-type header sent by the user during the upload? I think we can't trust the client, but we should validate during that moment to provide a good experience for normal users. After that, we could validate on the backend after storing the file with File. probeContentType and check a whitelist of allowed mime types. What do you think?
For (2) we could simply store a hash (md5+salt) of the filename concatenating the attachment id to guarantee its uniqueness.
For (3). I think this is not happening. Right now we are only validating if there are filenames repeated at the same question/answer. You can check the implementation in QuestionController and AttachmentsValidator:
https://github.com/caelum/mamute/blob/master/src/main/java/org/mamute/controllers/QuestionController.java#L165
https://github.com/caelum/mamute/blob/master/src/main/java/org/mamute/validators/AttachmentsValidator.java#L25
I think we should close this issue and open two new issues for (1) and (2).

authors: MatejBalantic csokol leocwolter

repo: caelum/mamute


text:
Does not work with Wildfly 18.0.0.Final

I am trying to make it work with Wildfly 18.0.0.Final and i have some issues.
I don't see any progress over a year now.
Could you please let me know if the project is discontinued?
If yes i should remove it from my stack, otherwise i could resolve my issues and make PR

I'm asking same thing. Whats the current status of project ?

I have fixed problems with wildfly 18.
Add:
<dependency>     <groupId>com.jslsolucoes</groupId>     <artifactId>vraptor</artifactId>     <version>4.3.1</version> </dependency>
and excludes another versions if exists in your classpath (dependencies of plugins for example).

Thanks @jslsolucoes

@jslsolucoes can you make a PR with the changes so they can merge into the official rep?

authors: jslsolucoes pbaris valeriolopes


text:
SpatialBN:error occurs when testing

I use BN as follows:
fc1_bn = model.SpatialBN('fc1_','fc1_bn',hidden_dim,is_test=not model.train)
error occurs when testing:
RuntimeError: [enforce fail at blob.h:97] IsType(). wrong type for the Blob instance. Blob contains nullptr (uninitialized) while caller expects caffe2::Tensorcaffe2::CUDAContext .
Offending Blob name: gpu_0/fc1_bn_rm.
Error from operator:
input: "gpu_0/fc1_" input: "gpu_0/fc1_bn_s" input: "gpu_0/fc1_bn_b" input: "gpu_0/fc1_bn_rm" input: "gpu_0/fc1_bn_riv" output: "gpu_0/fc1_bn" name: "" type: "SpatialBN" arg { name: "is_test" i: 1 } arg { name:"use_cudnn" i: 1 } arg { name: "cudnn_exhaustive_search" i: 0 } arg { name: "order" s: "NCHW" } device_option { device_type: 1 cuda_gpu_id: 0 }

problem solved

how? please advice.


text:
error occurred in the CMake phase when run build_android.sh

Hello,
I'm following this tutorial for running the build_android.sh and error occurred in the CMake phase:
CMake Error at /usr/share/OpenCV/OpenCVConfig.cmake:45 (include):
include could not find load file:
/usr/share/OpenCV/OpenCVModules_armeabi_v7a.cmake

Does someone know how to solve it? Thank you.

-DUSE_OPENCV=OFF

This solved the error, thank you!


text:
Bug: anchor links navigate too far above target

This problem has been reported on the design system site by @ashleydraper and on the development.digital.ca.gov site which uses design system components by Regan.
Noticed in sidebar links all over the design system site by Ashley.
From Regan:
The sidebar jump links seem to calculate a higher y-value than needed (maybe 150px off due to header calculation?). Persists across browsers on Mac/iPhone

This still seems to be an issue. While it jumps to the header, that header is at the bottom of the screen, rather than the top.

@aaronhans @ashleydraper  I couldn't recreate this at any screen size. Could you include the url+path, browser, and the link that was clicked? Bonus points for video screen shot.

@zakiya and @aaronhans I still get this when using Firefox on PC. While I don't have video capture possibilities (at least that I know of with my baseline Windows setup), here's a step-by-step of how I got my bug with screenshots.

I go to https://designsystem.webstandards.ca.gov/style/content/.

I click Our inspiration in the left menu.
It moves the screen slightly so the Our inspiration header is at the bottom of the screen rather than the top.

I'd expect the header to be at the top of the screen rather than the bottom.
Just the observations of a California citizen. 😄

I bet this would be solved by addressing the first bullet point in #672.
Safari 15.4 has been out for a while now, so we could remove all of that polyfill code and just trust the browser to scroll to the right place.

Nice @xjensen! I love that solution

Thanks all! Reassigning to @xjensen so @aaronhans can focus on Benefits.

PR is ready in #926.

authors: aaronhans m-sullivan7 xjensen zakiya

repo: cagov/design-system


text:
[CAIKIT-NLP-3] Remove device arg from .run

Disabled calling of device functionality- but left argument in place (defaulted to none) to maintain backwards compatibility. Functionality no longer exists- if user sets device parameter a warning message is shown, otherwise device is detected manually.

Can someone tell me what this lint thing is doing besides failling and making it impossible to update my code w/o a force push?

Hey @rawkintrevo! There's instructions on how to set up & run the code formatter and linter here. It looks like this is failing due to the black code formatter - running the format command and checking in the result should resolve it

bump @gkumbhat / @alex-jw-brooks could i get a review and this merged?

@gkumbhat updated the branch- I think it fell out of sync because it has been waiting for a review for ~2 weeks. Responded to your other comment.

authors: alex-jw-brooks rawkintrevo

repo: caikit/caikit-nlp


text:
Add include & exlude parameters to #tool directive

Currently #tool directive exclusively looks for *.exe, this locks out a few scenarios including CoreCLR as command line assemblies there have dll extension.
Proposed fix for this is to add 2 new optional parameters to the #tool directive that lets you specify your own globbing pattern to override the default behavior.

parameter
description
example

include
pattern of which files to look for
#tool #tool nuget:?package=Cake.Foo&include=./**/Foo.dll

exclude
pattern of which files not considered tools
#tool #tool nuget:?package=Cake.Foo&exclude=./**/*Serializer*.dll

You should also be able to specify multiple globbing patterns i.e.
#tool #tool nuget:?package=Cake.Foo&include=./**/*.dll&include=./**/*.exe&exclude=./**/*Serializer*.dll&exclude=./**/Foo.dll

@gep13 @devlead Anyone started with this yet or can I implement this?

@patriksvensson no

authors: devlead patriksvensson

repo: cake-build/cake


text:
Add ICakeArguments.GetArgument extension

1.0 RC 1 removed Cake.Core.ICakeArguments.GetArgument(System.String) since we now support multiple arguments with the same name. To avoid a breaking change (e.g. when called from an addin) we could add an extension to GetArgument extension to ICakeArguments.

For reference see the discussion https://github.com/cake-build/cake/discussions/3026

For reference see the discussion https://github.com/cake-build/cake/discussions/3026

Fixed with https://github.com/cake-build/cake/pull/3049

Fixed with https://github.com/cake-build/cake/pull/3049

authors: devlead pascalberger


text:
Fix doc comments in InnoSetupAliases

The comments were referring to the ".nsi" script file, which is the extension for NSIS, instead of ".iss", which is the extension for InnoSetup.

@thomaslevesque this isn't something that I use, but I am willing to accept your authority on the correct file type here.
Thanks for submitting this PR!


text:
🛑 XMR USA Servers is down

In c1981e2, XMR USA Servers ($XMR_USA) was down:

HTTP code: 0
Response time: 0 ms

Resolved: XMR USA Servers is back up in 76c581d after 14 minutes.

repo: cake-tech/upptime-cakewallet


text:
🛑 xmr-node.cakewallet.com:18081 is down

In 5a02e32, xmr-node.cakewallet.com:18081 (xmr-node.cakewallet.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: xmr-node.cakewallet.com:18081 is back up in 2af7d3f after 29 minutes.

repo: cake-tech/upptime-monerocom


text:
Test the pipeline (run the script and see the results) [subtask]

A/C:
TBD

Brainstorming ideas:

[ ] Define a common interface for the end-user script (¿extract, transform, load?)
[ ] Mock some database or textfile to act as input data
[ ] ¿ Allow user to have their own unit tests ?
[ ] Should we provide DataInterface as a "output" too ?

authors: tobiasmcnulty wfzyx

repo: caktus/etlman


text:
Investigate websocket packet loss

This might not be a Soup issue, but using ws.send in JavaScript twice leads to the second message likely not being received by Soup.

Doing ws.send("hello"); ws.send("world"); results in Soup receiving helloLçÈÔ↓qúìk↔░, yummy.

repo: calamity-inc/Soup


text:
Tissue specificity of model predictions

Hi, great paper.
I'm just wondering about the tissue specificity of the gene expression predictions. Specifically, if we take model predictions for one tissue, eg monocyte - how do expression predictions for monocyte correlate with true gene exp. values for monocyte versus true gene exp. values for all other tissues? In other words, how specific are gene expression predictions for each particular tissue?
Apologies if I've missed this in one of the figures somewhere

We'll have new versions of these analyses in the final publication coming soon. Generally, the PearsonR for predictions versus observations after we normalize across samples and subtract the mean remains high ~0.7 median.

repo: calico/borzoi


text:
[Docs] Document target browser compatibility

Cheers for the awesome work. Would like to know - does this work on all html5 supported browsers?
Related to #468.

@JulianTapales We haven't formally documented what browsers Material-UI supports, but a good rule of thumb is we support the browsers that support flexbox: http://caniuse.com/#feat=flexbox

@mbrookes Do you think it makes sense to put this on the README.md or somewhere in the Getting Started?

Any chance you can expand on the status of IE11 testing/support? Per your reference to caniuse.com, it seemed like IE11 could go either way:

Thanks!

@jmar777 You can consider it supported, as there are workarounds for  known issues.

Well, so does IE 11 run material-ui.

@NitroBAY Yes, MUI will work with IE 11. We are using it at call-em-all, but we ended up using babel-polyfill package to plug some holes (mostly in our use of ES-latest JavaScript).

authors: JulianTapales NitroBAY jmar777 m2mathew mbrookes newoga

repo: callemall/material-ui


text:
Dialog doesn't close when pressing escape

Problem description
Pressing escape should close dialogs. Instead nothing happens.
Note that just calling onRequestClose is not the right thing here, since you don't always want clicking outside the dialog to close it, but you do want escape. So you'd need another argument to onRequestClose to tell you if it was being closed because of escape.
Steps to reproduce
Try any dialog in the docs site.
Versions

Material-UI: all.
React:  all.
Browser: Chrome.

Works for me, in chrome, on the docs site.  Please note that not all dialogs are the same, some do not respond to the esc key.

Can't you use the event to know the nature of the interaction that triggers a close request?

since you don't always want clicking outside the dialog to close it, but you do want escape.

@esprehn I confirm, you can use the event type: https://developer.mozilla.org/en-US/docs/Web/API/Event/type.

onRequestClose takes a boolean, not an event, how do I do that?

As far as I know, it takes an event on the v1-beta branch. Can't tell for the master branch.

The Dialog component will not close on ESC key if you don't supply the onClose prop.
Hope it helps anyone.

authors: esprehn itayox oliviertassinari rosskevin


text:
[Tabs] Fix transition when isRtl is used

transition is not done when switching between tabs and using rtl language.
reproduce at :
https://www.webpackbin.com/bins/-KiuaII_oSPJvhM1Gn7H

Looks good. Thanks @jony89!


text:
Unexpected token   , currently no loaders are configured to process this file

I have an in-house developed package and try to use it with Repack, it is all React and React Native, but it shows this error on multi files, with does not make sense since it is JSX and should work with React loader.
Error in "/src/utils/withLinkRouter.jsx": Module parse failed: Unexpected token (35:28)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| const withLinkRouter = (Component) => {
|   const wrappedComponent = forwardRef(({ LinkRouter, linkRouterProps, ...props }, ref) => {
>     if (!LinkRouter) return <Component {...props} ref={ref} />
|     return (
|       <LinkRouter linkRouterProps={linkRouterProps} Component={Component} ref={ref} {...props} />

I ran into this and needed to rename a .babelrc file to babel.config.js and I needed this:
module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
};

Also, if the in-house package is referenced by a project setup to use Re.pack, you may need to add it to webpack.config.mjs include section for babel-loader from the default template:
      rules: [
        {
          test: /\.[jt]sx?$/,
          include: [
            /node_modules(.*[/\\])+your-in-house-package-regex-pattern-here/,
            /node_modules(.*[/\\])+react/,
            /node_modules(.*[/\\])+@react-native/,
            /node_modules(.*[/\\])+@react-navigation/,
            /node_modules(.*[/\\])+@react-native-community/,
            /node_modules(.*[/\\])+@expo/,
            /node_modules(.*[/\\])+pretty-format/,
            /node_modules(.*[/\\])+metro/,
            /node_modules(.*[/\\])+abort-controller/,
            /node_modules(.*[/\\])+@callstack\/repack/,
          ],
          use: 'babel-loader',
        },

Thanks @sschottler for the answer. It looks like it solved the problem, closing the issue.

authors: RafikiTiki sampertelus sschottler

repo: callstack/repack


text:
feat: workflow vizualization

UI tool for visualizing the task flow between agents - should be implemented via a live flowchart (react-flow?)

I am asking for credits for coining that feature 😂😂 I think this will be amazing to be honest

Credits @grabbou - I only noted this one 🫣😁

authors: grabbou pkarw

repo: callstackincubator/fabrice-ai


text:
Fix json object output for INI.

When dumping INI format, json objects were ignored, causing for the value of the entry to be discarded.
This patch fixes that and adds a test to ensure parsing back and forth works correctly.
This is patch 1/2 to fix the issue related to https://github.com/calyptia/cloud/issues/632 reported by @eduardo
Signed-off-by: Jorge Niedbalski j@calyptia.com

Thanks for the fix. Yesterday I found a way to replicate it too, but didn't submit the fix. Glad you found it :)

authors: nicolasparada niedbalski

repo: calyptia/go-fluentbit-config


text:
Enhancements to One Time Password SMS API for Better Usability and Compliance

Overview
This issue outlines a series of proposed enhancements to the One Time Password SMS API to improve its usability, security, and compliance. The goal is to provide a clearer, more robust, and developer-friendly API that aligns with best practices and industry standards.
Below we compare the current API specification with the suggested enhancements by providing concrete examples for each for your review:

Performance Metrics:

Current: No performance metrics are defined in the documentation.
Suggestion: Document expected performance metrics.
Example: Add to the documentation: "The API is designed to handle up to 10,000 requests per minute with an average latency of 500 ms."

Endpoint Descriptions:

Current: Endpoint descriptions are basic, with no mention of rate limits.
Suggestion: Add details about rate limits to endpoint descriptions.
Example: Add to /send-code endpoint description: "Rate limited to 100 requests per hour per phone number."

Error Handling:

Current: Generic error messages, e.g., "message": "Client specified an invalid argument, request body or query param".
Suggestion: Provide specific error messages and troubleshooting steps.
Example: Change to "message": "Invalid 'phoneNumber' format. Ensure it is in E.164 format, including the '+' sign and country code."

Security Schemes:

Current: OAuth2 security scheme with no details on token algorithm or lifecycle.
Suggestion: Specify token algorithm and lifecycle best practices.
Example: In securitySchemes, add "algorithm": "RS256" and in the description: "Tokens have a 60-minute lifetime before expiration."

Request and Response Bodies:

Current: Message maxLength: 160
Suggestion: Handle multi-part messages internally.
Example: Update the API to accept "maxLength": 640, with documentation stating: "Messages will be automatically segmented and reassembled."

Rate Limiting and Quotas:

Current: No explicit rate limiting headers or documentation.
Suggestion: Define and document rate limits, include headers in responses.
Example: Include in response headers X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.

Webhooks for Asynchronous Operations:

Current: No webhook support.
Suggestion: Implement webhooks for status updates.
Example: Add a webhook endpoint in the documentation for status updates, e.g., "webhookUrl": "https://clientapp.com/otp-delivery-status".

Localization and Internationalization:

Current: No support for multiple languages in the Message schema.
Suggestion: Support multiple languages.
Example: Add "locale": "en-US" in the SendCodeBody schema, with a note: "Locale parameter sets the language for OTP messages."

Testing and Sandbox Environment:

Current: No separate sandbox environment URL provided.
Suggestion: Provide a sandbox environment URL.
Example: Add a sandbox URL like https://api.sandbox.example.com/one-time-password-sms/v0 for testing.

Monitoring and Analytics:

Current: No endpoints for monitoring or analytics.
Suggestion: Add monitoring and analytics capabilities.
Example: Include an endpoint GET /analytics/otp-usage to fetch usage statistics.

Compliance and Regulation:

Current: No mention of compliance with privacy regulations.
Suggestion: Add compliance features and documentation.
Example: Include a field in the request schema for user consent: "userConsent": true, with a note on GDPR compliance.

The above examples highlight the difference between the current state of the API and how each suggested improvement could be articulated within the API documentation or functionality.

Hi @ajamous !
Can you join our community call, so we can discuss this issue?
MS Teams link
Thx!
David

Hi!
closing this issue.
@ajamous if more concerns are coming in future and this issue becomes relevant - we can reopen it.
Thx!

authors: DT-DawidWroblewski ajamous

repo: camaraproject/OTPvalidationAPI


text:
[Question] Agents access function in role-play

Required prerequisites

[X] I have read the documentation https://camel-ai.github.io/camel/camel.html.
[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[X] Consider asking first in a Discussion.

Questions
Hi,
I am currently working on getting my agents access to a text documents that they would be reviewing and making edits on. I am having a hard time injecting the asset into there conversations. I tried writing a function and adding it like bellow but found no luck with the agents interacting or even knowing the function is accessible:

def get_doc() -> str:
    # construct doc
    return doc

assistant_role_kwargs = {
    'assistant_role_name': '...',
    'assistant_agent_kwargs': {'model_type': ModelType.GPT_4_TURBO, "function_list":[OpenAIFunction(get_doc)]}
}
...
role_play_session = RolePlaying(
    **task_kwargs,
    **user_role_kwargs,
    **assistant_role_kwargs,
    # **critic_role_kwargs
)

When I run
print(f"is assistant using function calling: " + str(role_play_session.assistant_agent.is_function_calling_enabled()))

I get
is assistant using function calling: True

Let me know if I am doing anything wrong or if this is not a feature yet.

Hi @Gunnar-Stunnar. You may need to set the model_config with FunctionCallingConfig for using the function calling: https://github.com/camel-ai/camel/blob/master/examples/function_call/role_playing_with_function.py.
It is a bit confusing. We will work on improving it. Let me know if there is any questions.

Perfect, it worked for me

authors: Gunnar-Stunnar lightaime

repo: camel-ai/camel


text:
Support global endpoints in Java DSL

currently it is only for "from" and "to", endpoint configured at camelcontext level are ignored

https://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/DefaultCamelContext.html#addEndpoint(java.lang.String, org.apache.camel.Endpoint)
https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java#L666

repo: camel-tooling/camel-language-server


text:
docs：6.5ctf学习网站推荐.md

本次更新的内容主要为CTF学习网站推荐
欢迎前来学习

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


text:
Update index.php

add camicSignup link from landing page

Can you please update select.php instead? index.php is fetched from the security repository

repo: camicroscope/ViewerDockerContainer


text:
Single lane orientation

Add an option to the orientations list that collapses all notes into a single horizontal row. To prevent abilities clashing hard in this, it'd need some extra support to shift ability icons vertically when they'd overlap an earlier note.

This was added as "Compact Mode" to version 1.2.0

repo: campbt/DanceDanceRotation


text:
実装が終わったものにチェックボックスをつける

Related Issue
What

実装が終わったものにチェックボックスをつける

Memo

@sanposhiho 消しました〜！

repo: camphor-/relaym-server


text:
Cleanup of 2-gofmt-and-friends

A couple of grammar and command updates to 2-gofmt-and-friends.

I signed it!
On Fri, Jun 30, 2017 at 4:45 PM googlebot notifications@github.com wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If your company signed a CLA, they designated a Point of Contact who
decides which employees are authorized to participate. You may need to
contact the Point of Contact for your company and ask to be added to the
group of authorized contributors. If you don't know who your Point of
Contact is, direct the project maintainer to go/cla#troubleshoot.
In order to pass this check, please resolve this problem and have
the pull request author add another comment and the bot will run again.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/campoy/go-tooling-workshop/pull/14#issuecomment-312369055,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAdyEboaDyTB8emgKaYZPgt7ZDltqm26ks5sJV59gaJpZM4OLCLh
.

Thanks, @colezlaw!

authors: campoy colezlaw

repo: campoy/go-tooling-workshop


text:
Making tree sort insensitive to case.

Example of why (on Ubuntu 16.04):
$ git clone git@github.com:dhermes/tools.git
$ cd tools/tree/
$ tree .
.
├── main.go
└── README.md

0 directories, 2 files
$ go build main.go
$ ./main
tree
├── README.md
├── main
└── main.go

1 directories, 3 files

while with this fix:
$ git checkout case-insensitive
$ go build main.go
$ ./main
tree
├── main
├── main.go
└── README.md

1 directories, 3 files

thanks!

Cheers @campoy!

authors: campoy dhermes

repo: campoy/tools


text:
Enhancement - Test coverage of groovy scripts

Would like to be able to drill into a node and see the groovy script and see the lines of script highlighted in green that are covered. Would like groovy script lines added to calculation of the coverage percentage.

Hi @madmax25,
thank you for the idea. I'm not sure this is intended by this extension. We speak about process coverage, not code coverage.
I think coverage of script code (Groovy, Javascript or any other) is out of scope of this extension for the moment.
Cheers,
Simon

Process coverage is a good start, but not a final answer. To achieve high coverage on the scripts, a gap will still need to be filled, perhaps by another open source project. @ingorichtsmeier


text:
Deprecate charts

Deprecates the zeebe-* charts
Add note on:

zeebe-full
zeebe-cluster
zeebe-operate
zeebe-tasklist

Marks them depreacted in the chart.yaml

Discussed with menski the review hints and one line extra is good and he approves.


text:
Restructure directory structure

Move starter and starter-provided into extension.
Prepare to separate the client from the implementation

Fixed by https://github.com/camunda-community-hub/camunda-platform-7-rest-client-spring-boot/commit/019f175e299e1e65b30bfc136929b7efbc629310


text:
Authentication header is not applied in 8.5.0

In the tasklist client 8.5.0 I currently can not get authentication using bearer tokens to work properly. Although the client is configured and built correctly, I always get responses with 401 status code, because not authentication header is ever sent.
Caused by: io.camunda.tasklist.generated.invoker.ApiException: searchTasks call failed with: 401 - {"message":"Full authentication is required to access this resource"}
	at io.camunda.tasklist.generated.api.TaskApi.getApiException(TaskApi.java:82)
	at io.camunda.tasklist.generated.api.TaskApi.searchTasksWithHttpInfo(TaskApi.java:521)
	at io.camunda.tasklist.generated.api.TaskApi.searchTasks(TaskApi.java:499)
	at io.camunda.tasklist.CamundaTaskListClient.getTasks(CamundaTaskListClient.java:479)
	... 41 common frames omitted

I think the main problem is the removal of the TaskApi's re-initialization with the changed ApiClient in this commit (though I have not tested it).
It seems the TaskApi doesn't hold a reference to the ApiClient directly but rather reads ApiClient's request interceptor value just once in the cunstructor. This seems to be important for both building the client initially and when refreshing the token in reconnectEventually.
using Camunda 8.5.0 self managed; using the previous version of camunda-tasklist-client-java (8.4.0.7) works as a workaround.

@toniwe I can confirm that cause introduced the bug.
Since we're using zeebe and operate, using 8.4.0.7 was not an option for us so I did a test:

->

Now it works as expected and I am able to perform operations on the client
I've opened a pull request here

Hi @toniwe, @jancalvef,
Many thanks for your issue and contribution. I'm currently reviewing it. I'll keep you posted today.

Hi @toniwe, @jancalvef,
I've merged Jan Christian PR and released it in 8.5.3. I'll let you close the issue or update it if the problem is not yet solved.
Thanks again :)

I've just spotted an issue with date filters and have released a 8.5.3.1 patched version.

In the tasklist client 8.5.0 I currently can not get authentication using bearer tokens to work properly. Although the client is configured and built correctly, I always get responses with 401 status code, because not authentication header is ever sent.
Caused by: io.camunda.tasklist.generated.invoker.ApiException: searchTasks call failed with: 401 - {"message":"Full authentication is required to access this resource"}
	at io.camunda.tasklist.generated.api.TaskApi.getApiException(TaskApi.java:82)
	at io.camunda.tasklist.generated.api.TaskApi.searchTasksWithHttpInfo(TaskApi.java:521)
	at io.camunda.tasklist.generated.api.TaskApi.searchTasks(TaskApi.java:499)
	at io.camunda.tasklist.CamundaTaskListClient.getTasks(CamundaTaskListClient.java:479)
	... 41 common frames omitted

I think the main problem is the removal of the TaskApi's re-initialization with the changed ApiClient in this commit (though I have not tested it).
It seems the TaskApi doesn't hold a reference to the ApiClient directly but rather reads ApiClient's request interceptor value just once in the cunstructor. This seems to be important for both building the client initially and when refreshing the token in reconnectEventually.
using Camunda 8.5.0 self managed; using the previous version of camunda-tasklist-client-java (8.4.0.7) works as a workaround.

Could you please share the piece of code for Self Managed Authentication? I'm getting the following error:
java.lang.NullPointerException: null
	at java.base/java.util.Objects.requireNonNull(Objects.java:220) ~[na:na]
	at org.ehcache.core.EhcacheBase.checkNonNull(EhcacheBase.java:611) ~[ehcache-3.10.8.jar:3.10.8]
	at org.ehcache.core.EhcacheBase.containsKey(EhcacheBase.java:216) ~[ehcache-3.10.8.jar:3.10.8]
	at io.camunda.identity.sdk.authentication.AbstractAuthentication.requestToken(AbstractAuthentication.java:90) ~[identity-sdk-8.5.0.jar:8.5.0]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
	at io.camunda.identity.sdk.annotation.AnnotationProcessor.lambda$apply$0(AnnotationProcessor.java:33) ~[identity-sdk-8.5.0.jar:8.5.0]
	at jdk.proxy2/jdk.proxy2.$Proxy70.requestToken(Unknown Source) ~[na:na]
	at io.camunda.common.auth.SelfManagedAuthentication.getIdentityToken(SelfManagedAuthentication.java:31) ~[java-common-8.5.3.jar:8.5.3]
	at io.camunda.common.auth.SelfManagedAuthentication.generateToken(SelfManagedAuthentication.java:23) ~[java-common-8.5.3.jar:8.5.3]
	at io.camunda.common.auth.JwtAuthentication.getTokenHeader(JwtAuthentication.java:30) ~[java-common-8.5.3.jar:8.5.3]
	at io.camunda.tasklist.CamundaTaskListClient.authenticate(CamundaTaskListClient.java:534) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]
	at io.camunda.tasklist.CamundaTaskListClient.<init>(CamundaTaskListClient.java:65) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]
	at io.camunda.tasklist.CamundaTaskListClientBuilder.build(CamundaTaskListClientBuilder.java:76) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]

The piece of code that I'm using to create a client:
CamundaTaskListClient client = CamundaTaskListClient.builder()
            .taskListUrl("http://localhost:8082")
            .selfManagedAuthentication(
                    "client-id-here",
                    "client-secret-here",
                    "http://localhost:8084"
            )
            .build();

Hi @hedza06,
That's not related to the issue. But you should point to keycloak and not identity in the 3rd parameter of the SM auth

I'm also facing the same issue while authenticating TaskList client for selfManaged authentication
clientId and clientSecret I'm using of tasklist

The code used for creating client :
CamundaTaskListClient  clientT = CamundaTaskListClient.builder()
.taskListUrl("http://localhost:8082")
.selfManagedAuthentication("tasklist", "tasklist-client-secret","http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token" )
.build();
logger.info("Tasklist client created: {}", clientT);
I'm getting the same error
java.lang.NullPointerException: null
at java.base/java.util.Objects.requireNonNull(Objects.java:233) ~[na:na]
at org.ehcache.core.EhcacheBase.checkNonNull(EhcacheBase.java:611) ~[ehcache-3.10.8.jar:3.10.8]
at org.ehcache.core.EhcacheBase.containsKey(EhcacheBase.java:216) ~[ehcache-3.10.8.jar:3.10.8]
at io.camunda.identity.sdk.authentication.AbstractAuthentication.requestToken(AbstractAuthentication.java:90) ~[identity-sdk-8.5.1.jar:8.5.1]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at io.camunda.identity.sdk.annotation.AnnotationProcessor.lambda$apply$0(AnnotationProcessor.java:33) ~[identity-sdk-8.5.1.jar:8.5.1]
at jdk.proxy2/jdk.proxy2.$Proxy75.requestToken(Unknown Source) ~[na:na]
at io.camunda.common.auth.SelfManagedAuthentication.getIdentityToken(SelfManagedAuthentication.java:31) ~[java-common-8.5.3.jar:8.5.3]
at io.camunda.common.auth.SelfManagedAuthentication.generateToken(SelfManagedAuthentication.java:23) ~[java-common-8.5.3.jar:8.5.3]
at io.camunda.common.auth.JwtAuthentication.getTokenHeader(JwtAuthentication.java:30) ~[java-common-8.5.3.jar:8.5.3]
at io.camunda.tasklist.CamundaTaskListClient.authenticate(CamundaTaskListClient.java:534) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]
at io.camunda.tasklist.CamundaTaskListClient.(CamundaTaskListClient.java:65) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]
at io.camunda.tasklist.CamundaTaskListClientBuilder.build(CamundaTaskListClientBuilder.java:76) ~[camunda-tasklist-client-java-8.5.3.1.jar:na]
at com.rrssi.ient.camunda.service.CamundaServiceImpl.tasklistClient(CamundaServiceImpl.java:245) ~[main/:na]
at com.rrssi.ient.camunda.service.CamundaServiceImpl.completeTask(CamundaServiceImpl.java:355) ~[main/:na]
at com.rrssi.ient.camunda.api.CamundaApi.completeTask(CamundaApi.java:126) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.8.jar:6.1.8]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.8.jar:6.1.8]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.24.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.8.jar:6.1.8]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.24.jar:6.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.8.jar:6.1.8]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.8.jar:6.1.8]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.8.jar:6.1.8]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]

Hi @mukeshBethi,
Would you mind trying with http://localhost:18080/auth/realms/camunda-platform ?

Hey @chDame  I have tried the above URL's and still it's showing the same issue just let me know if you find any lead Thank you.

Hi @mukeshBethi, @hedza06,
It seems there is a bigger issue there. Adding an audience in the selfManagedAuthentication solves the NullPointer but requests are failing right after. I'm digging into it.

8.5.3.2 is on its way and should solve the issue. Audience is now used for identity sdk for some caching operations. Audience was not provided as part of SM until now

Hi @toniwe, @jancalvef,
I've merged Jan Christian PR and released it in 8.5.3.1. I'll let you close the issue or update it if the problem is not yet solved.
Thanks again :)

hi @chDame,
I don't think only creating the apis initially is enough, I am still getting the same errors after the first token is expired.
As I wrote initially, the generated Apis don't keep the reference to the apiClient object so they are basically always just re-using the request-interceptor that was set first.
I created a quick PR for this, could you have a look? #93 - this also recreates the apis on reconnectEventually

Hi @toniwe,
Seems good to me. I'll merge it and release a 8.5.3.3 today. I'll keep you posted.

Hi @toniwe,
8.5.3.3 has been released. Would you mind testing and telling me if that solves the issue?

thanks @chDame, I tested it and it looks fine now!

authors: chDame hedza06 jancalvef mukeshBethi toniwe


text:
Implement dsl_source_name_get() service

New service to return a source name from unique source Id
C prototype
DslReturnType dsl_source_name_get(uint source_id, const wchar_t** name);

Python example
retval, name = dsl_source_name_get(1)

None returned on not found.

Done, needs documentation


text:
TOP需求

能否支持TopCpu，Top内存，Top流量等相关功能

top系列实现比较麻烦，首先要根据设备类型区分，比如交换机，linux，windows等，再按照类型取值后进行计算，grafana可以完美实现，后期考虑实现，目前主要考虑实现微信，邮件等发送功能。多谢建议。


text:
test_bundle_deployment fails for latest/edge waiting oidc to be blocked

Bug Description
After latest changes in dex and oidc, OIDC doesn't go to blocked if there is no public_url. We need to update tests https://github.com/canonical/bundle-kubeflow/blob/main/tests/integration/test_bundle_deployment.py to account for that, otherwise they fail.
Changes will be in this part of the code https://github.com/canonical/bundle-kubeflow/blob/main/tests/integration/test_bundle_deployment.py#L28-L46.
To Reproduce
Rerun AKS/EKS CI for latest/edge
Environment
N/A
Relevant Log Output
N/A

Additional Context
No response

re-opening to test jira automation

repo: canonical/bundle-kubeflow


text:
Charms are failing basic hooks with ImportError after X-B Upgrade - Forgot to 'juju upgrade-series  prepare'

After performing a Xenial to Bionic upgrad, a handful of charms have entered 'Error' state while running basic hooks:
nova-compute-kvm/30               active    idle   32        10.55.65.18                                              Unit is ready
ceilometer-agent/23             active    idle             10.55.65.18                                              Unit is ready
filebeat/30                     error     idle             10.55.65.18                                              hook failed: "update-status"
landscape-client/14             active    idle             10.55.65.18                                              System successfully registered
lldpd/6                         active    idle             10.55.65.18                                              LLDP daemon running
neutron-openvswitch/23          active    idle             10.55.65.18                                              Unit is ready
nrpe-host/21                    active    idle             10.55.65.18     icmp,5666/tcp                            ready
ntp/25                          error     idle             10.55.65.18     123/udp                                  hook failed: "update-status"
rsyslog-forwarder-ha/31         unknown   idle             10.55.65.18
sysconfig-compute/3             error     idle             10.55.65.18                                              hook failed: "update-status"
telegraf/28                     error     idle             10.55.65.18     9103/tcp                                 hook failed: "update-status"
trilio-data-mover/109           error     idle             10.55.65.18                                              hook failed: "update-status"
Upon reviewing the juju unit logs all charms are encountering an ImportError:
2020-03-18 13:32:04 DEBUG juju.worker.uniter.operation executor.go:59 running operation run update-status hook
2020-03-18 13:32:04 DEBUG juju.machinelock machinelock.go:156 acquire machine lock for uniter (run update-status hook)
2020-03-18 13:32:04 DEBUG juju.machinelock machinelock.go:166 machine lock acquired for uniter (run update-status hook)
2020-03-18 13:32:04 DEBUG juju.worker.uniter.operation executor.go:90 preparing operation "run update-status hook"
2020-03-18 13:32:04 DEBUG juju.worker.uniter.operation executor.go:90 executing operation "run update-status hook"
2020-03-18 13:32:04 DEBUG update-status Could not find platform independent libraries
2020-03-18 13:32:04 DEBUG update-status Could not find platform dependent libraries <exec_prefix>
2020-03-18 13:32:04 DEBUG update-status Consider setting $PYTHONHOME to [:<exec_prefix>]
2020-03-18 13:32:04 DEBUG update-status Fatal Python error: Py_Initialize: Unable to get the locale encoding
2020-03-18 13:32:04 DEBUG update-status ImportError: No module named 'encodings'
2020-03-18 13:32:04 DEBUG update-status
2020-03-18 13:32:04 DEBUG update-status Current thread 0x00007fb437a56740 (most recent call first):
2020-03-18 13:32:05 ERROR juju.worker.uniter.operation runhook.go:132 hook "update-status" failed: signal: aborted (core dumped)

(by whereisrysmind)
Note: these are all reactive charms and are having problems with their virtual environments
ubuntu@CMOOSCHSTUP7132:/var/lib/juju/agents$ source unit-ntp-25/.venv/
bin/     include/ lib/     share/
ubuntu@CMOOSCHSTUP7132:/var/lib/juju/agents$ source unit-ntp-25/.venv/bin/activate
(.venv) ubuntu@CMOOSCHSTUP7132:/var/lib/juju/agents$ python
Could not find platform independent libraries
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to [:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Current thread 0x00007f68373e0740 (most recent call first):
Aborted (core dumped)

(by peter-sabaini)
As the venv setup is handled by layer-basic, I wonder if the defect is really there. It looks like there is an invalid (old or incomplete) venv around.
I have tried to repro this but was unable to do so I'm afraid.
Ryan: would you be able to provide more context on the issue?

Steps to repro
Logs or maybe even sosreports

Cheers!

(by whereisrysmind)
This occurred when I ran a series upgrade, but forgot to prepare juju beforehand.
The solution involved the following workaround:
for CHARM_DIR in /var/lib/juju/agents/unit-ntp-25/charm
/var/lib/juju/agents/unit-sysconfig-compute-3/charm
/var/lib/juju/agents/unit-bcache-tuning-32/charm
/var/lib/juju/agents/unit-hw-health-18/charm
/var/lib/juju/agents/unit-trilio-data-mover-109/charm
/var/lib/juju/agents/unit-telegraf-28/charm
/var/lib/juju/agents/unit-filebeat-30/charm; do
echo $CHARM_DIR;
rm -rf $CHARM_DIR/wheelhouse/.bootstrapped $CHARM_DIR/../.venv;
cd $CHARMDIR;
JUJU_CHARM_DIR=$CHARM_DIR PYTHONPATH=$CHARM_DIR/lib python3 -c 'import charms.layer.basic; charms.layer.basic.bootstrap_charm_deps()';
done

(by janitor)
[Expired for Telegraf Charm because there has been no activity for 60 days.]

(by janitor)
[Expired for NTP Charm because there has been no activity for 60 days.]

repo: canonical/charm-sysconfig