kirby builder support for extends

i must agree maybe stacking 4 levels of global field defs onto other is not a great idea but it's DRY, right? another problem might be fieldsets yaml section needed for kirby builder.
page.yml with kirby builder (via extend)
...
fields:
  builder: builder
...

fields/builder.yml defining kirby builder fieldsets (via extends again)
...
label: Builder
type: builder
fieldsets:
  # using 'extends' is required. will not work otherwise.
  # see https://github.com/TimOetting/kirby-builder/issues/8
  fancyblock:
    extends: fancyblock
...

fields/fancyblock.yml defining a single kirby builder fieldset fields (via extends again)
...
label: Fancyblock
snippet: blocks/fancyblock
fields:
  text:
    label: Text
    type: textarea
  colsize: colsize # finally the last extend
...

fields/colsize.yml final extend step
label: Spaltenbreite
type: select
default: 'w-full'
options:
  w-full: 100%
  w-3_4: 75%
  w-2_3: 66%
  w-1_2: 50%
  w-1_3: 33%
  w-1_4: 25%

in any template
print_r(b::blueprint('page', 'fields/builder/fieldsets/fancyblock'));
// Array ( [extends] => fancyblock ), but not extended!

echo b::blueprint('page', 'fields/builder/fieldsets/fancyblock/fields/colsize/options/'.$data->myfield());
// this is what i actually want but does not work

I'm not sure but I think my plugin only supports one level of global field definitions right now. But because it seems to be possible to have them nested, it should be implemented at some point in the future here as well.


Reuse Connection?

FTP Server OS: Windows
FTP Server Type:
Client Computer OS: Windows
FluentFTP Version: 49.0.*
Framework: .NET 4.7.2
Is it possible to reuse connections?
I have to upload 3 files to a server, with a 5 minute pause after the first file. It seems like it would be more efficient if I didn't have to connect to the server each time. If so, is there an example of this? Thanks
Logs :

<paste VERBOSE logs here>

	client.AutoConnect();

	client.CreateDirectory("/home/test1358");

	client.UploadFile("D:\\test1.txt", "/home/test1358/test1.txt", FtpRemoteExists.Resume, true, FtpVerify.None);
	client.UploadFile("D:\\test2.txt", "/home/test1358/test2.txt", FtpRemoteExists.Resume, true, FtpVerify.None);
	client.UploadFile("D:\\test3.txt", "/home/test1358/test3.txt", FtpRemoteExists.Resume, true, FtpVerify.None);

	client.Disconnect();

The 5 minute pause might cause the server to disconnect. Perhaps you should also activate the Noop-Daemon to prevent that.

Great, thanks!


fixed wrapper for xvfb-plugin

the dsl plugin is now generating proper xml for the xvfb-plugin
the xvfb-plugin seems to have compatibility code that still should allow to use XvfbBuildWrapper but when configuring the job the plugin is not enabled. when saving the job, all configurations are removed.

This breaks compatibility with older versions of the xvfb plugin and is unnecessary since the xvfb plugin handles backwards compatibility, see https://github.com/jenkinsci/xvfb-plugin/blob/xvfb-1.1.3/src/main/java/org/jenkinsci/plugins/xvfb/Xvfb.java#L122.


chore: update @svgr/webpack to version 6

svgr changelog https://github.com/gregberge/svgr/releases
SVGO 2 changelog https://github.com/svg/svgo/releases/tag/v2.0.0

Motivation

depend on maintained svgo version
although svgr 6 is in alpha, it fixes a few issues
with webpack 5 (https://github.com/gregberge/svgr/commit/1a8cc98)
and React (https://github.com/gregberge/svgr/commit/3700aba)

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Existing tests since behaviour should stay the same.
Related PRs
https://github.com/facebook/docusaurus/pull/5703

For some reason E2E tests are failing because it's still trying to pull the old SVGR v5 ㄟ(▔,▔)ㄏ

What are good reasons to ship an alpha?
What is the benefit for the Docusaurus users in particular?

For some reason E2E tests are failing because it's still trying to pull the old SVGR v5 ㄟ(▔,▔)ㄏ

From what I can see,  Yarn 1 on Node.js 17 fails,  Yarn 1 on Node.js 16 fails but Yarn berry on Node.js 14 succeeds and Yarn 1 on Node.js 14 succeeds. Why do you think the cause is that it is still trying to pull SVGR 5? I do notice that if you run yarn examples:generate', the generated examples use @svgr/webpack: '6.0.0-alpha.4 do end up with two different major versions<EMAIL_ADDRESS>They seem to use the template` from the repository  but depend on the published Docusaurus version. If something similar happens when the integration tests run, that could explain conflicting dependencies. But I doubt the integration tests run on the published Docusaurus version, it would not make much of a test.

But I doubt the integration tests run on the published Docusaurus version, it would not make much of a test.

We publish the docusaurs on a locally hosted Verdaccio npm repository, and then install the published version (not from global npm registry).
Not sure why it happens exactly but we must figure this out for sure.
We have a yarn test:build:website to test that locally (requires Docker to setup Verdaccio) if you want to take a look at it

What are good reasons to ship an alpha?
What is the benefit for the Docusaurus users in particular?

As a user myself, I prefer to depend (transitively) on an updated svgo version. As many packages that deal with parsing and XML tend to be fairly security-alert prone. Of course, most of these alerts do not apply to the usage in Docusaurus, but it is a burden to always have to explain this. From looking at the issues in the svg repository I have the impression that svgr has few breaking changes (or changes at all) planned. We can ask @gregberge if using the alpha is recommended.

Yeah it is safe enough, I think I will release the final this weekend. The core is done, I just need to update docs.

Yeah it is safe enough, I think I will release the final this weekend. The core is done, I just need to update docs.

Thanks for the heads up!

Not sure why it happens exactly but we must figure this out for sure.
I am not sure what you mean. From the log I think the CI is 's publishing the state of the checked-out repository to the Verdaccio instance as current-version.NEW. For example 2.0.0-beta.9.NEW. Then it installs the newly published version:
https://github.com/facebook/docusaurus/blob/ac1df888aef8e18795fbb90ca67dbf852c6b8b01/admin/scripts/test-release.sh#L51
We have a yarn test:build:website to test that locally (requires Docker to setup Verdaccio) if you want to take a look at it

When I have tried running yarn examples:generate the script tried to access my SSH private keys and assumed I was the user slorber ;-) I don't know if I will have the time to reproduce the build pipeline on my machine.

What are good reasons to ship an alpha?

There are multiple deprecation / security warnings for SVGR v5 -> SVGO v1. Also #5144. Also in the wake of #5872 we should think about using a more robust dep version.

I think I will release the final this weekend.

Cool, then let's wait till the weekend👍 Glad we don't have to ship alpha

When I have tried running yarn examples:generate the script tried to access my SSH private keys and assumed I was the user slorber ;-) I don't know if I will have the time to reproduce the build pipeline on my machine.

You don't need to run yarn examples:generate, just the e2e test workflow which runs admin/scripts/test-release.sh

fwiw, I hand-modified the bootstrapped test-website's package.json to use 2.0.0-beta.9.NEW instead of 2.0.0-beta.9 as passed from the init template, and svgr v6 is correctly installed. I guess it has something to do with setting the correct version...

Fixed. Also cleaned up the workflow a little bit

Thanks @Josh-Cena that makes sense
Thanks @gregberge , I think we can wait for the final release then ;)

Thanks @Josh-Cena that makes sense
Thanks @gregberge , I think we can wait for the final release then ;)

Yeah I am sorry it takes time but it will happen!

@gregberge Thanks! Good job with the release. I've been following https://github.com/gregberge/svgr/pull/629 as well. Happy to see v6 finally going stable

👍


Dungeons: Grid click not working

turns out that phaser actually modifies my text styles to be px strings....


Update create-locate-anchors-unity.md

https://github.com/MicrosoftDocs/azure-docs/issues/36987#issuecomment-521701261

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

#sign-off

@darax: I'm sorry - only the author of this article, @ramonarguelles, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Hi @darax - in the public repo, you can't sign off PRs you open. this will need to be reviewed by the listed author @RamonArguelles , who can sign off on it if there are no issues. thanks!


[FRONTEND WITH FRAMEWORK]: Angular(4.1) -> Injecting Services

Description

What is service? How it is different from component?
What is Dependency Injection(DI)?
How DI works?
How to inject a service?
How to use service into other services?
Explain with syntax/examples.
Reference :- https://angular.io/guide/architecture-services
https://angular.io/guide/dependency-injection
(Week 4 Issue)

Note:-

Don't copy paste, we would be merging after reviewing the PR.
Changes should be made inside "Frontend_Web_Development_React_Angular_Vue/Angular/Week4" directory
Tasks would be assigned on First Come First Serve Basis

Domain
Frontend Dev React/Angular/Vue
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Create ElectrodoDoc.md

Signed-off-by: Evheny Merzliakov<EMAIL_ADDRESS>Checklist for Hyperledger Lab Proposal PR

[ ] Read README.md carefully
[ ] Make sure your changes are committed with the proper sign-off
[ ] Use the labs name as the PR title
[ ] Copy the short description of the proposal as the description of the PR
[ ] Remove this checklist section
[ ] Submit your PR and the labs stewards will review your proposal
[ ] Ask your sponsor to confirm sponsorship by stating so in a comment to the PR

Hi @tkuhrt, thank you for review, I have fix issues could you check the updates, and move forward?

@tkuhrt looks like there is some need for second approve from someone with write or admin permissions

Approving this lab

Submit another PR with the needed changes.


Exception during auto retainer run

While the plugin runs flawlessly on my windows machine, it often freezes end errors out via an AccessViolationException (screenshot attached) when run on Mac Osx using XIV on mac. It happens when autoretainer is enabled and the individual retainers are reassigned to new missions.

I've added the most recent dalamud.log hoping something is hinting in the right direction.
dalamud.old.log
Any idea on what is causing this issue?

Hello! Is the issue still relevant today?


span composite count must be > 1

Describe the bug
From the APM Agents spec (https://github.com/elastic/apm/blob/main/specs/agents/handling-huge-traces/tracing-spans-compress.md?plain=1#L137-L138):

composite
- count: The number of compressed spans this composite span represents.
The minimum count is 2 as a composite span represents at least two spans.

It looks like the java agent is reporting composite spans with a lower count. The following error was observed in ecs logs:
validation error: span: composite: 'count': validation rule 'min(2)' violated
Steps to reproduce
I don't have those unfortunately :(
This is part of the ops KPI review
Expected behavior
Composite count must be > 1
Debug logs
validation error: span: composite: 'count': validation rule 'min(2)' violated

By looking through the code, this seems to only be possible by a very specific race-condition in the code.
Given the following trace scenario:

Transaction parent

Span DB1 (compression egligable)
Span DB2 (compression egligable)
Span Async1 (not compression egligable)

Now the following things need to happen:

DB1 is ended. It is not sent to the APM-server but buffered on parent for future arriving compressed spans
DB2 and Async1 are ended in parallel at the same time
a. DB2 initializes the compression-datastruction on DB1 this causes count=1
b. Async1 sees that it cannot compress with DB1 and causes DB1 to be reported immediately
c. DB2 increments the count on DB1 due to compression. This doesn't have any effect because DB1 is already sent.

I think what we could do is guard the compression process with a WriterReaderPhaser: During compression DB2 would register itself as Writer on DB1 before performing any mutations. The reporting-thread would swap the phase before reporting a span, waiting for pending compressions to end.
This however opens up additional things to consider: what do we do when a span attempts compression, but the phase of the WriterReaderPhaser indicates that the span he wants to compress with has already been sent? E.g. retry a fixed amount of times?
I'd love to have some input from @elastic/apm-agent-java (and maybe @felixbarny and @eyalkoren as original authors) here. Is it known (and accepted) that the span-compression is prone to lost-update race conditions?
As a bandaid fix to prevent spans from being rejected by the APM-server I'll add a guard to the serialization logic so that we don't report spans with count=1 as compressed.

Span compression is purely for improved UI and I don't think it's worth a lot of effort to handle edge cases in high contention cases other than to just drop the odd compression rather than add load. So I think the proposed band aid is sufficient


order panel is empty

Hi,
I continue to test, but the list of orders is empty. I have searched for a solution but no way to solve this.
The call to the api goes fine, but the result is an empty list. Weird :-P
I have created a post on the Binance forum: https://dev.binance.vision/t/api-v3-openorders-returns-empty-result/17777

Hello @vd3d,
I understand that you placed a market order, and upon receiving a response indicating the status as "FILLED", you expected to find it in the Open Orders list. If that's the case, it's important to note that your expectation may be inaccurate. When the status is marked as FILLED, it means that the order has been successfully completed and is no longer considered an open order. You can find completed orders in the Order History and Trade History sections.


Add support for NTAG203, etc. tags

The Arduino library supports these tags so we should add them to the Python library too.  This is a TODO to take a look at adding the support in the future.

Any progress on this issue?

nope..

On 10.03.2016., at 15:34, Coen Roest<EMAIL_ADDRESS>wrote:
Any progress on this issue?
—
Reply to this email directly or view it on GitHub https://github.com/adafruit/Adafruit_Python_PN532/issues/2#issuecomment-194873445.

Any timeline for this issue?
I would love to work with other NFC tags than Mifares.

Hello! There is something new about the possibility to Read/Write tags NTAG2xx using a Raspberry Pi?

Another year passed... Problably no updates on this I guess? :(

hiya we're deprecating this library and moving to a circuitpython one which supports i2c/spi/uart. its 99% same as this one but will work across more platforms!
https://github.com/adafruit/Adafruit_Circuitpython_PN532
if you can send a pull request for ntag support there, we'd love to add it!


warning: ambiguous first argument; put parentheses or a space even after `/' operator

There's an error with ruby -w:
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16]

$ ruby -w lib/geocoder/lookups/base.rb
lib/geocoder/lookups/base.rb:167: warning: ambiguous first argument; put parentheses or a space even after `/' operator

This error will pop up every time you run with warnings, such as the default rake test in Rails. Easy fix (add parens). I was going to submit a PR but I got a little bogged down installing the mysql dependency.
If you have the time and the desire, consider adopting Rubocop. That will catch and autocorrect this and many similar problems. Thanks for the great gem!

Thanks for pointing that out!


How to use windowDrop with Component?

I want to use multiple FileDrops, therefore disable windowDrop.
I expected
<FileDrop windowDrop="false" on:filedrop={(e) => { files = e.detail.files }}>
        Upload files
</FileDrop>

but I get a TypeScript error. How can I pass the additional option?

Sorry, I just noticed this issue. I'm not sure how I missed it.
Ah, it seems I didn't add window drop as a param on the component. If you need a solution, use the action until I update the package to include it.


Face restore gone?

Using runpod RNPD-A1111
txt2img and img2img no longer have face restore option.  Can we get this back please? Thank you

I don't control A1111, I maintain only the notebook, this is the A1111 repo : https://github.com/AUTOMATIC1111/stable-diffusion-webui


Updates for Javaagent 2.2.0

Spring starter

[x] document resource providers, including the spring resource providers for service.name and service.version: https://github.com/open-telemetry/opentelemetry.io/pull/3999
[x] all of SDK auto-config available: https://github.com/open-telemetry/opentelemetry.io/pull/4167
[x] How to add a AutoConfigurationCustomizerProvider: https://github.com/open-telemetry/opentelemetry.io/pull/4167
[x] include dependencies for propagators: https://github.com/open-telemetry/opentelemetry.io/pull/4167
[x] enable resource providers: https://github.com/open-telemetry/opentelemetry.io/pull/4138

Closing out, as all PRs are now merged. Thanks @zeitlinger!


Upload Artifact to Maven Central

It would be great to have this officially supported client in Maven Central rather than trying to work out which other forks of mohitsoni have the latest features.
Requested here: https://twitter.com/rogerignazio/status/710188771585695745

+1, maven dependency given in readme doesn't resolve (com.mesosphere.marathon-clien:0.1.0)

Hi all, I've updated the README - let me know if this helps!

@colin-msphere, @ssk2 – I believe the plan was to upload this to Maven Central, which is why I asked @lewisheadden to create this ticket here (so we didn't lose track of it). Do you guys know when we might get around to publishing this? It looks like this issue already has 7 upvotes, so people definitely want it 😄

Ah, it looks like @titosand and I posted around the same time here. @lewisheadden, @afraisse – will using our Maven repo (versus Maven Central) work for you?

This totally works for us ! Thanks.

Great! @lewisheadden - please re-open this issue if Maven central is a strict requirement. Otherwise, I think we're all set.

Getting the following error in marathon-maven-plugin
[ERROR] Failed to execute goal on project marathon-maven-plugin: Could not resolve dependencies for project com.holidaycheck:marathon-maven-plugin:maven-plugin:0.0.4-SNAPSHOT: Failed to collect dependencies at com.mesosphere:marathon-client:jar:0.2.0: Failed to read artifact descriptor for com.mesosphere:marathon-client:jar:0.2.0: Could not transfer artifact com.mesosphere:marathon-client:pom:0.2.0 from/to downloads.mesosphere.com (https://downloads.mesosphere.com/maven/): Received fatal alert: handshake_failure -> [Help 1]

Any help would be much appreciated.

@rji Might make sense to use Maven central repo especially when e.g. Maven plugins being already there https://github.com/holidaycheck/marathon-maven-plugin would also like to use it - see @gazal-k 's https://github.com/holidaycheck/marathon-maven-plugin/pull/8 . So if possible, please reopen the ticket and propagate the library into Maven central - if there are no obstacles of course - we would be grateful.

@krystiannowak - will do. We're planning to do this for other plugins too.
@gazal-k - did you get this resolved?

@ssk2 Great! And thanks!

@ssk2 nop, still getting the same SSL issue.

@gazal-k - I've tried to replicate locally both using the pom in your branch and using the Marathon plugin and both build find. Wondering if this has been fixed already. @colin-msphere - could you try and replicate this with an mvn package?

Not sure if that helps, but building the plugin directly from https://github.com/gazal-k/marathon-maven-plugin/tree/marathon-client-update works for me.

Not sure why, but had the problem on my work laptop. Worked just fine on my personal laptop. Sorry for the trouble.

Hi all, marathon-client:0.2.1 is now available in Maven Central, I've updated the README.md accordingly. Will close this issue unless there is anything else! :)

@titosand great news - now we can use this dependency without additional repository links :)


Update eow.py

Fixing my issue #8 with the calculations being off. I also hope to provide more help in the feature. Thank you for your work.

I think it's wrong.
Please take a look at my comment to the issue #8

my calculations were off


Fix duplicate test execution

This fixes https://github.com/gradle/gradle-private/issues/3222
The released versions are not deduplicated, which results in cross
version tests execution twice.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

Thanks @jjohannes !


Copyright reports with an ip only

Some copyright reports can't add an url, eg. in some torrent reports. Therefore the field 'InfringingUrl' should be removed from the requirements.

We should probably add a field that let's users distinguish between torrent/hosted/etc. content


Update cats-effect, cats-effect-laws to 2.3.3

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws

from 2.3.0 to 2.3.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.3.0).
You might want to review and update them manually.
project/Dependencies.scala

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, semver-patch, old-version-remains

It is already updated to a newer version.


fix: Added gray Composer icon to 'no triggers' dialog state

Description
Adds a gray Composer icon to the flow editor when a selected dialog has no triggers
Task Item
Fixes #6377
Screenshots
BEFORE:

AFTER:

Coverage remained the same at 52.98% when pulling 9e0adf32e1ffcd3c624e4a5208aaae9e9aa6e055 on toanzian/trigger-logo into e52a61e219345011ca892914595f369851ca9229 on main.


COMMAND_INT message failing to parse

First, this is a fantastic library and thank for all your hard work creating and maintaining it.
I am trying to command a px4 drone, and I am able to arm and takeoff using COMMAND_LONG, but for movement I would like to use COMMAND_INT. I have tried a bunch of different variations of this, but I cannot get the below to parse
{
    "header": {
        "system_id": 255,
        "component_id": 240,
        "sequence": 0
    },
    "message": {
        "type":"COMMAND_INT",
        "target_system": 1,
        "target_component": 1,
        "frame": 1,
        "current" : 0,
        "autocontinue": 0,
        "command": {
            "type": "MAV_CMD_DO_REPOSITION"
        },
        "param1": 0.0,
        "param2": 0.0,
        "param3": 0.0,
        "param4": 0.0,
        "x": 476132388,
        "y":<PHONE_NUMBER>,
        "z": 100.0
    }
}

The error mavlink to rest returns is
Failed to parse message, not a valid MAVLinkMessage.

you are creating the message in a wrong format, frame is an enum.
{
    "header": {
        "system_id": 255,
        "component_id": 240,
        "sequence": 0
    },
    "message": {
        "type":"COMMAND_INT",
        "target_system": 1,
        "target_component": 1,
        "frame": {
           "type": "MAV_FRAME_GLOBAL"
        },
        "current" : 0,
        "autocontinue": 0,
        "command": {
            "type": "MAV_CMD_DO_REPOSITION"
        },
        "param1": 0.0,
        "param2": 0.0,
        "param3": 0.0,
        "param4": 0.0,
        "x": 476132388,
        "y":<PHONE_NUMBER>,
        "z": 100.0
    }
}

To check the message format, use the helper endpoint:
http://<IP_ADDRESS>:8088/helper/mavlink?name=COMMAND_INT

Awesome! not sure why I didn't think to use the helper last night.
Got it working now. Thanks!


Fix possibly outdated adapter position

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html#onBindViewHolder(VH, int)
The setHasStableIds(true); is unrelated but nice to have.

Good find.

I'm pretty sure I was wrong here. The position, of course, shouldn't be cached, but the data is always bound to that ViewHolder. Sorry about this. :p
Probably just revert via the GitHub button.

I don't think it really matters either way, right? I prefer this as the adapter remains the source of truth for the data instead of caching potentially stale data.

Right, it doesn't matter either way; but, the data won't be stale, just the position of the data might have been changed.

It's on the main thread though, and you can only update an adapter on the main thread.

I meant the position of the data might have been changed, and that's why the position should not be cached into a callback like a click listener.
hmm, I'll try to clarify my original thought:
This PR was unnecessary because the data bound to the ViewHolder stays with the ViewHolder. It is my understanding that, if we do something like notifyItemMoved(fromPosition, toPosition) to reflect a change in the corresponding data's position, the ViewHolder's corresponding position may be changed without a full rebind. The data is still correct, of course.


Header travels down page

I don't imagine we want it to be fixed like that?
Removing fixed from https://github.com/saving-satoshi/saving-satoshi/blob/master/components/NavBar.tsx#L5 prevents it from being a stick nav.
@GBKS thoughts?

I put like like that thinking in some games that i have played that preserve their header along some of the menus, but e can change it by removing the fixed inside the NavBar

Solved in: https://github.com/saving-satoshi/saving-satoshi/commit/ad11a588af91875d466e12de25bf9e5f6030f32e components/NavBar.tsx


Support implicit usage in Dynosaur and Scanamo conversions

there was an issue with scalacOptions where -Ypartial-unification was missing for scala 2.12 which caused mapN to fail compilation. I have fixed it but don't have permission to push to your branch so I created a new branch, fix and merge it: https://github.com/d2a4u/meteor/pull/231

Thanks!


Create lib-frodo and separate from client-frodo-cli

Is your feature request related to a problem? Please describe.
frodo once had a frodolibs package and a cli that didn't do anything without. I believe that a central lib which I will call lib-frodo can be a provider for a plethora of applications which I will refer to as clients:

frodo GUI
a vscode extension
the existing cli tool
interactive cli tool (a wizard)
customer, and staff micro tooling and libraries including ForgeRocket-ignite
infrastructure-pipeline tooling

Describe the solution you'd like
lib-frodo should be part of a frodo monorepo where official clients are all kept in a client's folder.
Describe alternatives you've considered
I currently scrape the stdout of frodo cli which isn't elegant for my current library and my plan for an electron GUI would be harder to achieve, it works but it's not as easy to develop tools around Frodo

Slightly different approach (not a monorepo but separate repos for frodo-lib and frodo-cli). This was completed almost a year ago with constant improvements over the past year. Closing as complete.


EventMonitor request(_ request: Request, ...) functions are not called.

What did you do?

I've been trying to get EventMonitor's request(_ request: Request, ...) functions to be called by conforming my delegate object to the EventMonitor protocol.

What did you expect to happen?

I expected request(_ request: Request, ...) functions are called properly.

What happened instead?

When I make my delegate class conforms to the EventMonitor protocol, only urlSession() functions are called request(...) functions are not called.
When I make my delegate class conforms to the EventMonitor protocol using the swift extension, it also didn't work but there was a warning presented.

Alamofire Environment
**Alamofire version: 5.2.2
**Xcode version: 11.7
**Swift version:6
**Platform(s) running Alamofire: iOS 13.7
**macOS version running Xcode: 10.15.6

closed with
https://stackoverflow.com/a/59786424/6493224


[Meta] Encryption at rest, how?

How could we do this in the core app? What recommendations do we have for implementations?

Bumping this.

I would have liked to use a transparent full db encryption but that feature is not implemented yet, do work are being done. See. https://wiki.postgresql.org/wiki/Transparent_Data_Encryption
The standard method seems to be to use PgCrypto and encrypt specific fields. The key would be stored as an environment variable in Heroku.
The fields I believe OTF and Reset are mainly interested in are form_date field in tables like funds_applicationform and review_review. i.e. user submitted data.
@danblah Is that assumption correct, about the form_date field (user submitted data)? Anything else you really would like to have encrypted at rest.
@Parbhat Do you have experience using PgCrypto or another more suitable method? How hard/time consuming is it to implement?

https://github.com/dcwatson/django-pgcrypto

@frjo I have not used pgCrypto before. django-pgcrypto package seems good but does not support JsonField which is used for form_data. So, the actual blockers will have to see during implementation.

See #2192

There is at least 6 fields that needs to be encrypted, likely more. Most of them are json fields.
I think this application really needs full db transparent encryption but that seems to be some time until postgres implement that. See https://wiki.postgresql.org/wiki/Transparent_Data_Encryption.
Amazon has there own implementation running ut then we are tied to AWS. I would really like to avoid that.

On June 6 FJ + DL discussed this is a difficult issue to tackle at this juncture.


documentation for separate app and vendor entries

Closes https://github.com/webpack/webpack.js.org/issues/3244.

@jamesgeorge007 @montogeek @EugeneHlushko what else is required to merge the PR? Please suggest required changes


Clipboard API Research

Post here how native clipboard APIs are implemented on different OSes

Clipboard
Duplicate of #

``

In X11, a clipboard is not a global instance. All operations to the clipboard occur through a window. This approach does not give any usable advantages or extra features. Only one extra feature i can imagine is possibility to get known which application is currently owning the clipboard to display the message, i. e. "Pasted from Google Chrome" or "Pasted from Telegram". But I lean towards unifying the API because the user of JWM expects only two features - store a string to the clipboard, and get a string from the clipboard.
Implementation details
Storing to the clipboard (ctrl+c) should be implemented as follows:

Make application's window the owner of the clipboard.
In application's window, listen to the SelectionRequest. When received, according to the target field, you should either store the type of clipboard data (UTF8_STRING, text/plain, STRING, etc...) to the requestor's buffer or clipboard data itself.
Send SelectionNotify event to the requestor.
Go to step 2.

Pulling from the clipboard (ctrl+v) should be implemented respectively:

Look for clipboard owner. It will be some application's window.
Send SelectionRequest to the owner window to request data type.
Listen for SelectionNotify. When received, if data type is supported, send the SelectionRequest event to request the data itself.
Listen for SelectionNotify to get the data.

Please note that main loop should not be stopped between sending SelectionRequest and listening for SelectionNotify.

In WinAPI, the clipboard is global object, represented from programmer's point of a view as set of functions. Any window in the application can copy from/paste into clipboard something. In windows clipboard data can be in the any format. It is possible to create custom format, register it and get ID, which can be used accross application to identify its own data format. Windows also provides a number of predefined formats, such as bitmap data, sound (wave) data, text and unicode text, etc.
Implementation details
Store content into clipboard (ctrl + c) or (ctrl + x):

Open clipboard, and associate it with window owner (prevents other applications from clipboard modification).
Empty previouse clipboard data
Allocate handle for data, which will be placed into clipboard
Set clipboard data
Close clipboard

Get content from clipboard (ctrl + v):

Open clipboard, and associate it with window owner
Get clipboard data handle (we must provide the ID of expected data format)
Lock data
Parse data and copy into application internal storage
Unlock data
Close clipboard

Notes

It is possible to listen to clipboard event (when something pasted into it)
It is possible to process WM_DESTROYCLIPBOARD if we need to destroy custom format data in the clipboard

Useful links
Clipboard API
About the Clipboard
Using the Clipboard

Is it possible to store two or more formats simultateously? E.g. rich text + plain text?
Is there a predefined format for rich text? How does it look like?

As it says:

After emptying the clipboard, the window places data on the clipboard in as many clipboard formats as possible, ordered from the most descriptive clipboard format to the least descriptive. For each format, the window calls the SetClipboardData function, specifying the format identifier and a global memory handle.

A window can place more than one clipboard object on the clipboard, each representing the same information in a different clipboard format. When placing information on the clipboard, the window should provide data in as many formats as possible. To find out how many formats are currently used on the clipboard, call the CountClipboardFormats function.

It seems, that each format has its own slot, so it is possible to store multiple values with different formats.

Seems, that it is possible to use rich text format CF_RTF accordingly to this link.
But, CF_RTF is not a standart format, so it must be registered manualy by the application:

An application can register these formats by using the RegisterClipboardFormat function, specifying the CF_RTF, CF_RTFNOOBJS, and CF_RETEXTOBJ values.

about clipboard API, I really like druid approach https://github.com/linebender/druid/blob/master/druid-shell/src/clipboard.rs
please take a look. From my perspective it's not bloated and easy to understand.
AWT has simmilar capabilities, but relations between DataFlavor and Transferable are quite complicated

about clipboard API, I really like druid approach https://github.com/linebender/druid/blob/master/druid-shell/src/clipboard.rs
please take a look. From my perspective it's not bloated and easy to understand.
AWT has simmilar capabilities, but relations between DataFlavor and Transferable are quite complicated

Which approach exactly you are talking about?

I mean API design, bunch of clear to understand functions instead of complex class hierarchy

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/DataFormat.html
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/Clipboard.html
https://github.com/linebender/druid/blob/07cc61f930ef7aafbdc7ba30010d18b010acbb31/druid-shell/src/clipboard.rs

macOS Clipboard formats: https://developer.apple.com/documentation/appkit/nspasteboardtype?language=objc

https://docs.google.com/document/d/15g8yz3ChYdZRnCeC0NPGY6xpXrZdaOHQ3BxzMZpHtYU/edit


Docker provisioner not running before docker-compose provisioner

Hi,
When attempt to build my docker-compose boxes I get this error:
==> default: Running provisioner: docker_compose...
    default: Checking for Docker Compose installation...
    default: Symlinking Docker Compose 1.8.0
    default: Running docker-compose up...
==> default: mesg:
==> default: ttyname failed
==> default: :
==> default: Inappropriate ioctl for device
==> default: Couldn't connect to Docker daemon. You might need to install Docker:
==> default:
==> default: https://docs.docker.com/engine/installation/
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

 /usr/local/bin/docker-compose-1.8.0  -f "/srv/docker/docker-compose.yml" up -d

Stdout from the command:

Stderr from the command:

mesg: ttyname failed: Inappropriate ioctl for device
Couldn't connect to Docker daemon. You might need to install Docker:

https://docs.docker.com/engine/installation/

Here is my Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.hostname = "test.devel"

  config.vm.provision :docker
  config.vm.provision :docker_compose, yml: "/srv/docker/docker-compose.yml", run: "always"
end

If I comment out the docker_composes provisioner line and allow docker to install then uncomment it and reprovision it works fine.
My understanding from the doco is that these should run sequentially:
https://www.vagrantup.com/docs/provisioning/basic_usage.html
Is there anything you can think of as to why this might be taking place?
Thanks.

I also encountered this error, and I couldn't find any documentation to explain why Docker wasn't being installed.
After some experimentation, I was able to fix this by appending , run: "always" to the config.vm.provision :docker command thus:
config.vm.provision :docker, run: "always" as you have done with the docker-compose command. I can't work out why this would have the required effect, but it seems to work.
Marcus

Thanks @pacharanero. That's real odd, the :docker provisioner shouldn't require run always unless you uninstalled docker after the initial provision. Maybe something else in your instance is causing the instance to lose docker or maybe docker failed to install during the initial provision?

I had the same error and it was because on how my Vagrant file was written
 config.vm.define boxName do |node|

       # Docker
        node.vm.provision :docker do |d|
              .....
        end

        # Docker Compose.
        config.vm.provision :docker_compose do |compose|
           ..........
        end

end

i used config.XXX for the docker_compose and node.XXX for the docker provisioner
And because of that "docker_compose" was executed before "docker" and thus could not find docker
Silly mistakes :)

Ah, thanks for explaining @h3christophe.


Request:  Logo registration on management page

Informations

Able to register own logo on management page

Released in https://github.com/weseek/growi/releases/tag/v5.1.0


1st Monday in April every year for 2 years

20160404T090000Z
FREQ=YEARLY;BYDAY=MO;BYSETPOS=1;BYMONTH=4;COUNT=2
I get:
2016-04-04 09:00:00.000000
2016-04-11 09:00:00.000000

When I would expect
2016-04-04 09:00:00.000000
2017-04-03 09:00:00.000000

Any idea why?
Thank you!

Since you have bymonth the expression is expanded and it is giving you every Monday in April, here's the exact reason from the spec:

  Note 2:  Limit if BYYEARDAY or BYMONTHDAY is present; otherwise,
           special expand for WEEKLY if BYWEEKNO present; otherwise,
           special expand for MONTHLY if BYMONTH present; otherwise,
           special expand for YEARLY.

I think this is what you want:
$r = new \When\When();
$r->startDate(new \DateTime('20160404T090000Z'));
$r->rrule('FREQ=YEARLY;BYDAY=1MO;BYMONTH=4;COUNT=2');

$r->generateOccurrences();

print_r($r->occurrences);

// Produces:
// 2016-04-04 09:00:00.000000
// 2017-04-03 09:00:00.000000

This is saying "limit" to only the first Monday in April.

Thank you for the fast and detailed reply!
I'm not brushed up on my RRULE spec, but I wonder if the inclusion of BYSETPOS=1; should limit the results by year in
FREQ=YEARLY;BYDAY=MO;BYSETPOS=1;BYMONTH=4;COUNT=2

According to this would be a correct way of specifying "1st Monday in April every year for 2 years"
( https://www.textmagic.com/free-tools/rrule-generator ) and when interpreted here I get the expected result ( http://worthfreeman.com/projects/online-icalendar-recurrence-event-parser/ )
I do however get the same results as the When class if I ommit BYSETPOS=1; at the above link.
It could be that these other two site are not up to spec, but I'm wondering if this has something to do with BYSETPOS perhaps.
What do you think?
Thanks!

You're correct, we're not handling this correctly:

  If multiple BYxxx rule parts are specified, then after evaluating
  the specified FREQ and INTERVAL rule parts, the BYxxx rule parts
  are applied to the current set of evaluated occurrences in the
  following order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY,
  BYHOUR, BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are
  evaluated.

Therefore this should be limited not expanded.

I'm attempting to work on this, using BYSETPOS to limit the results, but am running into an error thrown when running phpunit.
The error occurs on the test testGenerateOccurrencesErrorIgnored()
It expects 1997-10-07T09:00:00+0000
but receives 1997-10-21T09:00:00+0000
I'm having difficulty wrapping my head around this, as the rrule:
FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3
seems to specify: Every 3rd Tue, Wed, & Thur of every Month
If so, then 10/21/1997 is in fact the third Tue in October 1997.
However http://worthfreeman.com/projects/online-icalendar-recurrence-event-parser/ seems to agree with your expectation that the date encountered should be 10/07/1997 & 11/6/1997.
I wonder if I'm not understanding BYSETPOS well enough. Any insight you can provide as I tackle the spec documentation would be greatly appreciated.

Ah - I think I understand.
Since more than once BYDAY is provided, we're iterating our count over each encountered Tues Wed & Thur.


Fix WorkflowGenerator.to_script

The to_script method is not completely finished. Also, it should return a string instead of printing it.
Also, it should deal with requirements and hints.

The printing issue (#16) is addressed in pull request #54.


Yaml configuration support

Add optional yaml support for config please

I prefer properties files as a primary and official configuration of tinylog. Multiply ways of configuration will make it much more difficult to keep the documentation of tinylog up-to-date and complete for all configuration options.
However, I would accept a third party project and I can imagine to make the configuration of tinylog pluggable to make it easy to develop such configuration extensions as your requested YAML support.

I agree with pmwmedia that there is little need for non property configuration. However, since pmwmedia suggested a pluggable service for configuration - and I ran out of own issues to implement ... :-) I had a quick look and hack at a service loader for the Configuration. It turns out that with 10-20 LOC of code you can load other file formats when the property loader is turned into a service. As test I could load a JSON property file with another 10 LOC in a different project. I don't know YAML so well but if there is a library which can read it it should be similarly easy.
See the next comment for my suggestion for an implementation. Please have a look at it and see whether this would be useful too have or what other approach would be preferable.

Introduce a new SERVICE:
org.tinylog.configuration.PropertyLoader
for the new interface
public interface PropertyLoader {
	public Properties load()  throws Exception;
}

Here then an implementation of the standard tiny log propertiy loader as it was before in Configuration:)
public class StandardPropertyLoader implements PropertyLoader {
	public Properties load() {
   ... (all exactly copied from Configuration)
  }
}

the main change then in the load method of Configuration so that it calls the new services instead of loading properties directly:
public final class Configuration {
	public static Properties load() {
		ServiceLoader<PropertyLoader>  serviceLoader = new ServiceLoader<PropertyLoader>(PropertyLoader.class);
		Properties result = new Properties();
		Collection<PropertyLoader> loaders = serviceLoader.createAll();
		for (PropertyLoader loader:loaders)	{
			try {
				Properties props = loader.load();
				if (props != null && props.size() != 0) {
					result.putAll(props);
				}
			}
			catch(Exception e) {
			}
		}
		return result;
	}
}

To make it easier for other loaders we should have a bit more public access to some former package elements:
EnvironmentVariableResolver -> goes public
SystemPropertyResolver -> goes public
Configuration:static String resolve(...) -> goes public
That was all needed to get another loader running.

There is one conceptual issue:
Since one can not really configure the configuration itself (except with system properties or so but you don't really want to enforce that) one cannot really determine which property loader to use.

So the easiest is to just load all and get the proprties from all and just merge them all together. In practise there should only be one file format present and all non used loaders will not find their files and return nothing anyway
Give some priority to the property loader services (e.g. public int priority();} and load the highest one which returns values.
Do introduce some some configuration of the configuration after all. By a system property or another static element somewhere

I think the first is sufficient though. all others are complicated with not so much gain.

@Git5000 I really like your concept!
Personally, I prefer a priority property for determining which PropertyLoader comes first.

Ok, sounds good. Just a few more questions:

With "priority property"  you mean an entry inside the read property map e.g. "configuration.priority"="1000"?
Lower or higher priorities shall be preferred?
Maybe also additionally and optional a system property "tinylog.configurationLoader"="StandardPropertyLoader" (which matched the loader's class name overriding any priorities)

With "priority property" you mean an entry inside the read property map e.g. "configuration.priority"="1000"?

Actually, I thought about a priority getter in the PropertyLoader interface. Firstly, the PropertyLoader implementation with the highest priority tries to load a configuration. If it couldn't find any, the next PropertyLoader can try to load a configuration and so on ...
If the system property tinylog.configuration=*.* is set, the PropertyLoader implementations have to check, if they can load the passed configuration file.

Lower or higher priorities shall be preferred?

Higher numbers first (same as thread priorities in Java)

Maybe also additionally and optional a system property "tinylog.configurationLoader"="StandardPropertyLoader"

Good idea :)
PS: Maybe ConfigurationLoader is a clearer interface name than PropertyLoader?

Actually, I thought about a priority getter in the PropertyLoader interface.

Yes I thought this first too (in my initial suggestion). I understood your reply then as a property inside the files. This I actually liked better than my first idea. The configuration is then on file level not code level. So you load all files and keep the one with the highest priority. A disadvantage is of course that you load all files (but in practise this is one or two only anyway). Advantage is that you can set this property independently of the code inside the actual files.
Of course, in practise I cannot really see that someone will really load properties from JSON and YAML and Java properties. So you should only have one loader doing any loading anyway.
configuration.priority=1000

writerA=console
writerA.tag=TAG1
writerA.format={date}: [{level}]: PROP {message}
writerA.level=INFO

If you have a priority getter in the code the use case if probably only to switch off the tinylog configuration itself and use your own (single) loader. Then maybe a boolean getter would suffice? But of course in case a we miss a use case this takes away flexibility.
So what should we do? :-)

Higher numbers first (same as thread priorities in Java)

ok

Maybe ConfigurationLoader is a clearer interface name than PropertyLoader?

Ok

@Git5000 Sorry for my delayed responses. Currently, I'm on vacations at the Baltic Sea.
Mainly, I'm working on Java EE and JSF projects in my job. In this context, I'm used to call getters (+ setters) as properties. Sorry for the confusion!
My main goal is to keep the tinylog code and configuration files as simple as possible. If the priority has to be configured directly in the configuration files, what will happen if there are multiple configuration files but the user hasn't set any priorities in these files? In the latest tinylog version, it is already possible to define priorities via the configuration file names (tinylog-dev.properies, tinylog-test.properties, and tinylog.properties).
Actually, I see loading of merged configuration as confusing and I can't imagine a real world use case for it. I prefer defining the priority via a getter or always prefer a custom ConfigurationLoader implementation to the in-built ConfigurationLoader implementation for Java properties files.

Don't worry about a delayed response. I am actually amazed about the speed of your responses. And you certainly should enjoy your holiday :-)

My main goal is to keep the tinylog code and configuration files as simple as possible.

I fullly agree. That the library is simple, fast, well designed but yet capable is the main reason I really like and use it.

Actually, I see loading of merged configuration as confusing and I can't imagine a real world use case for it. I prefer defining the priority via a getter or always prefer a custom ConfigurationLoader implementation to the in-built ConfigurationLoader implementation for Java properties files.

You right that it should not be confusing and kept simple.
Generally, the discussion here in the forum is very useful and I think we always iterate to a good solution.
I played around a bit with the lastest ideas and I think the best solution is indeed to always prefer a custom loader (i.e. no additional property or method in the interface). With having a system property to select the loader, there is still all flexibility to select any loaders you would want, internal or custom. The loader code becomes small and good too.
The code then would looks like:
                String loaderClassName = System.getProperty(CONFIGURATION_LOADER_CLASS_PROPERTY); //  == "tinylog.configurationLoader"

		// Select which configuration loader to use
		ConfigurationLoader activeLoader = new PropertyConfigurationLoader();
		boolean hasCustomLoader = false;
		for (ConfigurationLoader loader : loaders) {
                        // Check system property to override loader
			if (loaderClassName != null && !loader.getClass().getSimpleName().equals(loaderClassName)) {
				continue;
			}
			// Catch service misconfiguration
			if (loader.getClass().equals(activeLoader.getClass())) {
				continue;
			}

			if (hasCustomLoader) {
				InternalLogger.log(Level.ERROR, "More than one active configuration loaders found. Ignoring it.");
				continue;
			}
			activeLoader = loader;
			hasCustomLoader = true;
		}

		// Load the properties from the active configuration loader
		try {
			Properties activeProps = activeLoader.load();
			if (activeProps != null) {
					return activeProps;
			} else {
				return new Properties();
			}
		} catch (Exception ex) {
			InternalLogger.log(Level.ERROR, "Configuration loader error: '" + ex + "'");
			return new Properties();
		}

You think that is ok?
Is the property name "tinylog.configurationLoader" ok?

The concept works actually very nicely :-)

Choose a loader (use one of the following lines to get the loader you want, assuming they are all registered as service (otherwise you don't even not need the system property):

  	a) System.setProperty("tinylog.configurationLoader", PropertyConfigurationLoader.class.getSimpleName());
	b) System.setProperty("tinylog.configurationLoader", JsonPropertyLoader.class.getSimpleName());
	c) System.setProperty("tinylog.configurationLoader", YamlPropertyLoader.class.getSimpleName());

The loaders load e.g. one of the following files:

  a) tinylog.properties
  b) tinylog.json
  c) tinylog.yaml

Having a YAML input file looks actually pretty:

  writerA:
     type: "console"
     level: "INFO"
     tag: "TAG1"
     format: "{date}: [{level}]: YAML {message}"
     stream: "out"
  writerB:
     type: "console"
     level: "WARN"
     tag: "TAG1"
     format: "{date}: [{level}]: YAML {message}"
     stream: "out"
  extra: "test"

YamlPropertyLoader needs only 15 LLOC (real code lines) using the snake YAML reader library

PS: I can later on make a small repository on my Github page with the Tinylog extra stuff where I can upload these loaders as example.

Generally, the discussion here in the forum is very useful and I think we always iterate to a good solution.

I fully agree 👍 Discussing ideas together is a very efficient way to find the best solutions in an iterative way. I'm very glad about your great contribution to tinylog :)

Is the property name "tinylog.configurationLoader" ok?

Yes, I would choose the same property name. I just prefer to use a lower case l for consistency with other properties. Currently, all properties have only lower case letters, even combined words like "autoshutdown" or "writingthread".
Do you use tinylog's service loader implementation org.tinylog.configuration.ServiceLoader? If the class names are PropertiesConfigurationLoader, JsonConfigurationLoader, and YamlConfigurationLoader, even tinylog.configurationloader = properties, tinylog.configurationloader = json, and tinylog.configurationloader = yaml will work.
Your YAML example looks very straight forward and clearer than a properties file. I like it :)

I can later on make a small repository on my Github page with the Tinylog extra stuff where I can upload these loaders as example.

Sounds very great :) I would announce your repository on tinylog's news site and link it in the documentation.

Yes I use the service loader. Interesting option to load them also the short way. Currently, it does not work but I think I named the classes wrong. I will change that and since you seem ok with the overall changes I will slowly prepare a pull request for review. I suppose there will be a few iterations on the code too then.


Redraw of Figure 3 and 4

The names of the CIST's are incorrect.

Remade and sent to Carl for inclusion


user docs: Create a footer for our user docs

We should add some sort of footer to our use documentation.  I think reasonable things for it to include are:
(1) A link back to the index and
(2) Some sort of commentary on how the user documentation is open source with a link to a document on contributing to them (for now this can be docs/README.md on RTD).

Which documentation do I have to add the footer too @timabbott

We should probably add it to templates/zerver/help/main.html so that it appears on all user docs pages.

I'll work on this @timabbott

I've created a pull request here to fix this issue.


How to add icon to secondary information field

Current Behavior
This is not really a bug but rather a question and I did not find a better place where to post it:
I use a template card on my dashboard.
I use the following code to display the number of open windows on that card as secondary information:
{%set state=states('sensor.office_open_windows')%}{% if state | int >= 1 %} W: {{ state }}{% else %}{% endif %}
So if e.g. one window is open it displays “W: 1”. So far so good. However it would look cooler if instead of the W I could display a mdi:window-open icon in front of the counter.
I tried adding mdi:window-open in various ways but I could not get it to work. Btw. I am happy with a static icon, does not have to be dynamic.
Expected Behavior
No response
Steps To Reproduce
No response
Environment
- OS:
- Node:
- Version:
- Hassio:

Anything else?
No response

Hi 🙂 It's not possible to add icon because field are text only but you can use emoji of course.

@piitaya great tip! I tried with Emojis and it looks pretty cool actually. Thanks

I used the window one and the plant. so if at least one window/door in that room is open and/or at least one plant low on water it will show the icon with the number of affected entities.

I used the window one and the plant. so if at least one window/door in that room is open and/or at least one plant low on water it will show the icon with the number of affected entities.

Really great Idea 👍🏼 I like it a lot.
How do you insert a new line behind the temperature?

I used the window one and the plant. so if at least one window/door in that room is open and/or at least one plant low on water it will show the icon with the number of affected entities.

Very nice idea 👍🏼 I like it a lot.
How do you insert a new line behind the temperature?

I simply did a linebreak in the secondar information field. Every new line in the code is also a new line in the UI. So if you have e.g an if else statement you need to write it all in one line. If you break it into multiple lines as I normally would it will create a bunch of blank lines.

Oh man. I missed this one „Mehrzeilig sekundär?“ … 🤦🏼♂
When I turn it on it works. 🤷🏼♂

Duplicate of #327?

It's not planned to add mdi icons for now as there is emoji for that.

Can we close this issue as 1. not planned 2. a duplicate?


Timezone support

Is it possible to have timeago detect the browsers timezone and adjust the display text accordingly?

Timeago works comparing the JS date object with a new date object (now), so that, timezone have no impact on the result. If i am not wrong, a date instance can be seen as a timestamp, no depending of the timezone. Timezones only affect a date when it is displayed, so tat it won't affect the difference of two date.
Can you provide us a detail use case with what are the inputs and what are the expectations ?

You are correct- the issue I had was related to the fact that I was trying I compare a date object with a time zone against a date without a time zone (and hence it was using the users' OS time zone).
TL;DR- this is not an issue with angular-timezone


Support for Tinymce

Hi, i would like to ask you if there is any support for directly converting the output generated by TinyMCE editor  into a python-docx Document object. Here is a bit of info on what the format looks like (it's html).

I've found that i can use Pandoc and PyPandoc to get html translated into any of this formats asciidoc, beamer, commonmark, context, docbook, docbook4, docbook5, docx, dokuwiki, dzslides, epub, epub2, epub3, fb2, gfm, haddock, html, html4, html5, icml, jats, json, latex, man, markdown, markdown_github, markdown_mmd, markdown_phpextra, markdown_strict, mediawiki, ms, muse, native, odt, opendocument, opml, org, plain, pptx, revealjs, rst, rtf, s5, slideous, slidy, tei, texinfo, textile, zimwiki, but i still can't figure out if there is a way to include any of these in a python-docx paragraph without having to parse myself through the text.


Adds forwarding sharing gateway support

Adds forwarding sharing gateway support

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Inconsistent Button Design Across Website

Is your feature request related to a problem? Please describe.
Issue: Inconsistent Button Design Across Website
Description:
The buttons used across the website currently lack uniformity in terms of design, leading to an inconsistent user experience. This issue needs to be addressed to ensure a cohesive and visually pleasing interface throughout the website.
Specifics:
The buttons on different pages of the website have varying styles, such as different colors, sizes, or shapes.
In some cases, buttons are missing hover or active states, resulting in a lack of visual feedback for users.
The typography used within buttons may also differ, including variations in font family, size, or weight.
Describe the solution you'd like
Expected Outcome:
We need to establish a consistent button design that aligns with the overall branding and enhances the website's user interface. By achieving a uniform button style, we can provide users with a visually coherent experience and improve usability.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Please assign this to me @amanjaiman1


Show status emoji in message feed and PMs

At present, status emoji are shown in the buddy list, but are not displayed elsewhere. To make them easier to notice (very useful if someone is on vacation, for example), we should display status emoji in a couple of other places where the user's name in shown:

In the message feed for messages sent by the user.
In the list of PM conversations in the left sidebar.

The status emoji should be reset everywhere when the user changes their status.

@zulipbot claim

@alya I have started working on this issue and I have shown the status emoji in the list of PM conversations in the left sidebar.  Just wanted to confirm whether this is the intended location of where the emoji is to be displayed? (attached screenshot below)

@alya I have shown the status emoji in the list of PM conversations in the left sidebar as well as on the message feed. I have a few queries:

Location of the status emoji:

Just wanted to confirm if the intended location in the message feed is right or not. (attached screenshot below)

The styling of the emojis:

Currently, they seem too big when I implemented them using the same styling as the right-sidebar. Could you guide me to any CSS classes that might be useful or should I create a new CSS class to manage this?

@AnushaNathRoy You can use the browser developer tools to see the classes and styles inherited by the element.

@zulipbot claim

Still working on the issue

@alya My PR is ready for review.

@zulipbot claim

Is this issue open? @alya @AnushaNathRoy

Since this issue is a release goal, assigning to @YashRE42 to work with @AnushaNathRoy to get this work across the finish line.


Somewhere we need to at least mention that locally everything is saved in .git

It should go into the episode where we clone and work locally.


[feat][notification] make struct Notification public

It seems that struct Notification is currently sealed. Is this intentional? If not, could it be public?
I need to wrap struct Notification to implement pyo3 bindings. Here is an example of wrapping NotificationBuilder.

No it's not intentional. Same thing with the Dialog plugin a few days ago.


feat(@schematics/angular): production builds by default

With this change we do several changes to the angular.json configuration for build , server and app-shell targets.

We no longer generate a production configuration for build, server and app-shell. The default options are production by default.
We add a new configuration named development to run the mentioned builder targets in development. Ex: ng build --configuration development.
When adding universal or app-shell, we generate the full set of configurations as per the buiid target. Previously, we only generated the production configuration.
We added a helper script in package.json to run build in watch mode. npm run watch which is a shortcut for npm run build --watch --configuration development
We deprecated the --prod command line argument. This argument is confusing especially to new users, since users expect that this builds an application in production mode. This however, is only an alias for --configuration="production"

Closes #14471

@alan-agius4
Shouldn't be added a separator -- after npm run build in order to pass additional options? I guess
npm run buid -- --watch --configuration development

@destus90, yeah indeed, thanks for pointing that out.


[8.x] SerializesModels removes pivot from model used in Mailable

Laravel Version: 8.35.1
PHP Version: 8.0.2
Database Driver & Version: MySQL 8
Queue Driver: Sync

Description:
The pivot value is no longer available in my Mailable object.
I've added a example repository below with all the code for easy verification.
class QuoteReceived extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    public $fields;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct(public Quote $quote)
    {
        $this->fields = $this->quote->fields()->get();

        // This returns 'foobar' which is correct
        // dd($this->fields[0]->pivot->value);
    }

So the dd returns the correct pivot value. Now the strange thing is, the pivot is lost when trying to access it in the blade file:
{{-- PHP Warning:  Attempt to read property "value" on null --}}
@foreach($fields as $field)

{{ $field->id }}: {{ $field->pivot->value }}

@endforeach

{{-- For some reason this does work: --}}
@foreach($quote->fields as $field)

{{ $field->id }}: {{ $field->pivot->value }}

@endforeach

Removing the SerializesModels trait resolves the problem. So I'm not sure if this intended behavior or a bug.
Steps To Reproduce:
Example code to reproduce: https://github.com/PhiloNL/laravel-issue
Run the migrations and dispatch the mailble via artisan tinker:
Mail::to('hello@world.com')->send(new App\Mail\QuoteReceived(Quote::first()));
The email output should be:
1:
1: foobar

Don't perform database queries in your job constructs.


removes set Ethereum/Orch address + fixes tests + general cleanup

Removes set Ethereum/Orch address
fixes tests
bunch of other stuff

Converting to draft so as not to merge accidentally, since still being worked on.

Codecov Report

:exclamation: No coverage uploaded for pull request base (evan/testable-orchestrator@3b8c611). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 42d4f03 differs from pull request most recent head 385809c. Consider uploading reports for the commit 385809c to get more accurate results

@@                      Coverage Diff                      @@
##             evan/testable-orchestrator     #296   +/-   ##
=============================================================
  Coverage                              ?   14.21%
=============================================================
  Files                                 ?       50
  Lines                                 ?     9072
  Branches                              ?        0
=============================================================
  Hits                                  ?     1290
  Misses                                ?     7692
  Partials                              ?       90

Continue to review full report at Codecov.

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


Line height on buttons

In 2.3.1, maybe before too, line height is not translated from MJML to the generated HTML for buttons.
It's preventing button text from showing on Outlook 2003 and older.
After a little digging, it looks like amending line 97 of the button JS does the trick.
Original
lineHeight: mjAttribute('height'),
Amended
lineHeight: mjAttribute('line-height'),

Hey @dalefish, thanks for reporting this issue. It's actually a duplicate of #319 so if you don't mind I'll close this one to keep the discussion there.


Hello help(question related to microsoft smartscreen)

Hello, this is microsoft security community i would likd to report few crypto phishing domains, as that said would be possiboe to flag them for smartscreen?Or maybe you can tell where to report which link as reporting via browser etc doesen't help either for review of site for false positive or marking them as suspicious
http://pehdle-info.com/
https://v2-dexscreener.com/
https://v2-swell-network.com/

Hi @PanamaPanamera , Thanks for flagging this issue, we will investigate this issue and get back to you with some updates. Thanks!

Hey @PanamaPanamera,
Thank you for reaching out to the Microsoft Security Community. To report phishing domains and flag them for SmartScreen, you can use the following link:
Microsoft Report a Phishing Site - https://www.microsoft.com/en-us/wdsi/support/report-unsafe-site
Please provide the necessary details about the suspicious domains, such as http://pehdle-info.com/, on the reporting page. This will help Microsoft review and take appropriate action.
Many Thanks!


Define protocols for connection type overrides

Resolves #32

@Cito, I've implemented the requested changes.  Let me know if you would like to see any other improvements.

Thank you.


transient simulation example 8 missing in Julia package

translate matlab code in https://github.com/ggebbie/TMI/blob/main/scripts/transient_driver.m .
Find a stiff ODE solver in julia like  https://diffeq.sciml.ai/stable/tutorials/advanced_ode_example/

solved by b-r-hamilton before commit 8ff20ae78c1f76f2b8f1aca5a38777e0b447bedd


resolve race condition in maxGauge

Signed-off-by: Dmitry Shmulevich<EMAIL_ADDRESS>

Thanks for the cc. Reminder to myself to remove this from https://github.com/prometheus/prometheus/pull/5614 if this PR is merged first.

Could this one be merged? cc @brian-brazil

@brian-brazil addressed

Thanks!


chore(deps): upgrade parquet to 51.0 to same as arrow

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.75%. Comparing base (9c5958e) to head (60fb08f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2439      +/-   ##
==========================================
+ Coverage   79.74%   79.75%   +0.01%
==========================================
  Files         205      205
  Lines       56601    56601
  Branches    56601    56601
==========================================
+ Hits        45136    45142       +6
  Misses       8777     8777
+ Partials     2688     2682       -6

Flag
Coverage Δ

unittests
79.75% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Fix npm install

Thanks for your work @panpansh :)

Thanks for your work too dear @adonespitogo  :)

Why don't try to clone it out ????
Vào 10:02 PM, T.7, 16 Th2, 2019 panpansh<EMAIL_ADDRESS>đã viết:

Thanks for your work too dear @adonespitogo
https://github.com/adonespitogo :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/adonespitogo/AdoBot-IO/pull/13#issuecomment-464353756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUCYxeL4KNgxPWtDMZXUD-9lDwgCtKDOks5vOB16gaJpZM4a9MOS
.

Iam currently working on other project

I have an error, did like u wrote


Incorrect Registration controller referred on code in customer_group table

Hello,
in RegistrationController at line 78 you try to retrive the default customer group id, the query is wrong because the name of the field is 'name' and not 'code'
$data['customer_group_id'] = $this->customerGroup->findOneWhere(['code' => 'general'])->id;
The migration file
Schema::create('customer_groups', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->boolean('is_user_defined')->default(1);
$table->timestamps();
});

I saw the new migration that add the 'code' field, i have download the new bagisto package and followed the upgrade procedure but with the migration command i receive "nothing to migrate", can somebody explain why?

Sorry, after vendor publish the new migration are running.


Default Zoom Level

Operating system: openSUSE
Messenger for Desktop version: v2.0.4-beta

Please add Default Zoom Level to Menu.
Example: 50, 55,60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115 and so on to 250

These can be changed with zoom in/out menus + kb shortcuts.


addons: Use quota_cost to determine compatibility

Since addons can require different quota for different products, we
should rely on the organization's quota_cost list, rather than the addon
metadata, to determine whether the current org has access to install the
addon on the current cluster.

/lgtm

/retest


Documentation about using the SeekToCurrentErrorHandler in Spring Kafka 2.2 is wrong

I did not found the github project for the docs to make a pull request. Sorry!

https://docs.spring.io/spring-kafka/docs/2.2.0.RELEASE/reference/html/_reference.html#seek-to-current
According to the docs, I should write
@Bean
public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() {
    ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory();
    factory.setConsumerFactory(consumerFactory());
    factory.getContainerProperties().setAckOnError(false);
    factory.getContainerProperties().setErrorHandler(new SeekToCurrentErrorHandler());
    factory.getContainerProperties().setAckMode(AckMode.RECORD);
    return factory;
}

but only
    factory.setErrorHandler(new SeekToCurrentErrorHandler());

is usable.
The usage of
    factory.getContainerProperties().setErrorHandler(new SeekToCurrentErrorHandler());

creates a "Cannot resolve method" exception.

Thanks; yes; the property was moved to the container some releases ago and we failed to reflect it in the docs.

BTW, to fix the docs you just need to fork this project and modify this file there: https://github.com/spring-projects/spring-kafka/blob/master/src/reference/asciidoc/kafka.adoc
I mean docs for this project is present exactly in this project.
Thanks for catching this though!


Hi

import random
def encounter_monster():
monsters = ["Goblin", "Orc", "Troll", "Werewolf"]
monster = random.choice(monsters)
print(f"A wild {monster} appears!")
action = input("Do you want to [F]ight or [R]un? ").lower()

if action == "f":
    if random.random() < 0.5:  # 50% chance of winning
        print(f"You defeated the {monster}!")
    else:
        print(f"The {monster} defeated you. Game over!")
elif action == "r":
    print("You managed to escape.")
else:
    print("Invalid choice. Please select 'F' to fight or 'R' to run.")

def main():
print("Welcome to the Local Monster Game!")
print("You're exploring your town and encounter various monsters.")
while True:
    encounter_monster()
    play_again = input("Do you want to play again? (yes/no) ").lower()
    if play_again != "yes":
        print("Thanks for playing!")
        break

if name == "main":
main()

Local "Monster"

import random
def encounter_monster():
monsters = ["Goblin", "Orc", "Troll", "Werewolf"]
monster = random.choice(monsters)
print(f"A wild {monster} appears!")
action = input("Do you want to [F]ight or [R]un? ").lower()

if action == "f":
    if random.random() < 0.5:  # 50% chance of winning
        print(f"You defeated the {monster}!")
    else:
        print(f"The {monster} defeated you. Game over!")
elif action == "r":
    print("You managed to escape.")
else:
    print("Invalid choice. Please select 'F' to fight or 'R' to run.")

def main():
print("Welcome to the Local Monster Game!")
print("You're exploring your town and encounter various monsters.")
while True:
    encounter_monster()
    play_again = input("Do you want to play again? (yes/no) ").lower()
    if play_again != "yes":
        print("Thanks for playing!")
        break

if name == "main":
main()

class Kingdom:
def init(self, name, ruler, main_city, resources):
self.name = name
self.ruler = ruler
self.main_city = main_city
self.resources = resources
def describe(self):
    print(f"Welcome to the Kingdom of {self.name}!")
    print(f"Ruled by {self.ruler}, this kingdom is centered around the city of {self.main_city}.")
    print(f"The kingdom is known for its abundant {', '.join(self.resources)}.")

Create an instance of the Kingdom class
kingdom = Kingdom(
name="Eldoria",
ruler="Queen Isabella",
main_city="Eldorium",
resources=["rich farmlands", "sparkling rivers", "dense forests"]
)
Describe the kingdom
kingdom.describe()
Run code ()
Run ()
Run code ()
Run fly ()

.gradle
/build/
!src//build/
Ignore Gradle GUI config
gradle-app.setting
Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties
Cache of project
.gradletasknamecache
Eclipse Gradle plugin generated files
Eclipse Core
.project
JDT-specific (Eclipse Java Development Tools)
.classpath

/build/

.gradle
/Build/


How to do prediction?

Can you guide me on how to do prediction on text data instead reading files? Actually I want to use it in an API and was looking into the code to get a better look on how can I load and generate results.

I found the solution. Closing.


Example Documentation Loads Map but no Points

Hi!
I'm trying to make the example plots render, spefically, the CADC Points example. However, I get the followed evented error in chrome and the plot only renders a map/legend, no points.

Using chrome, python3, mac os x.

Hi @ryanbaumann. I have run the examples in the example directory from master on the point-viz-categorical notebook. See screenshot of error.

Great, thanks for the screenshot.  Looks like you're using Jupyter Lab - Jupyter Lab does not support the same method for loading local resources (a local geojson file).  Can you try the examples using juypter notebook?
Jupyter lab is supported using in-line geojson sources.  Details here - https://github.com/mapbox/mapboxgl-jupyter/issues/50

Works, thanks @ryanbaumann.
I'm going to close this issue, but I think it would be helpful to have some sort of warning message for MapboxGL in the lab environment. How much of a lift would a PR be on that?

Thanks @hunterowens.  The ideal PR would be to figure out what the URL prefix should be in Jupyter Lab to access local resources https://github.com/mapbox/mapboxgl-jupyter/issues/50#issuecomment-385781213, or to just use a local geojson format object instead of loading the geojson via an HTTP get request for the examples.


Code is using deprecated Distributions

Distributions were moved out of the qiskit circuit library to the circuit library here in finance. I noticed at first the deprecation warning in the tutorial in the docs here https://qiskit.org/documentation/finance/tutorials/09_credit_risk_analysis.html I think this one is because one of the modules here - actually in the same folder as the code it should be using, is still importing it from the main qiskit circuit library https://github.com/Qiskit/qiskit-finance/blob/7300dc672db9e2ec7647548865eaadcc7c857849/qiskit_finance/circuit/library/probability_distributions/gaussian_conditional_independence_model.py#L20
In looking further I see various places in the code, the readme sample and of course its unit test, as well as other unit tests
I copied the deprecation warnings that come out from a recent build. We should be using the Distributions from the circuit library here now.
/home/runner/work/qiskit-finance/qiskit-finance/test/circuit/test_european_call_delta_objective.py:81: DeprecationWarning: `LogNormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.LogNormalDistribution.
/home/runner/work/qiskit-finance/qiskit-finance/test/circuit/test_european_call_delta_objective.py:82: DeprecationWarning: `LogNormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.LogNormalDistribution.
/home/runner/work/qiskit-finance/qiskit-finance/test/circuit/test_european_call_pricing_objective.py:78: DeprecationWarning: `NormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.NormalDistribution.
/home/runner/work/qiskit-finance/qiskit-finance/test/circuit/test_fixed_income_pricing_objective.py:74: DeprecationWarning: `NormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.NormalDistribution.
/home/runner/work/qiskit-finance/qiskit-finance/test/test_readme_sample.py:47: DeprecationWarning: `NormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.NormalDistribution.
/home/runner/work/qiskit-finance/qiskit-finance/test/test_readme_sample.py:48: DeprecationWarning: `NormalDistribution` is deprecated as of version 0.17.0 and will be removed no earlier than 3 months after the release date. It moved to qiskit_finance.circuit.library.NormalDistribution.

Hi, may I fix this issue?

I have looked into this issue and updated some deprecated imports. Cloud you review #70 ? Thank you!


Add hears_regexp to TypeScript definition.

Add hears_regexp function, and fix wrong type definition on changeEars.
I want to create a bot which doesn't react on the #general channel:
const controller: botkit.SlackController = botkit.slackbot(<botkit.Configuration>{});

function messageFilter(patterns: string | string[] | RegExp | RegExp[], message: botkit.Message): boolean {
    // hears default function + Check whether the channel of message is #general.
    return message.channel != "#general" && controller.hears_regexp(patterns, message);
};

controller.hears(["hello", "hi"], "direct_message", messageFilter, function(bot: botkit.SlackBot, message: botkit.Message) {
    bot.reply(message, "hello");
});

@mtgto  you might consider using a receive middleware instead, which would be applied before the hearing kicks in...

@benbrown Thanks for merging and your advice.
I wrote like below, and works fine!
const controller: botkit.SlackController = botkit.slackbot(<botkit.SlackConfiguration>{});

controller.middleware.receive.use((bot: botkit.SlackBot, message: botkit.SlackMessage, next: () => void) => {
    if (message.channel != "#general") {
        next();
    }
});

Exactly!

On Nov 7, 2017, at 5:00 AM, mtgto<EMAIL_ADDRESS>wrote:
@benbrown Thanks for merging and your advice.
I wrote like below, and works fine!
const controller: botkit.SlackController = botkit.slackbot(<botkit.SlackConfiguration>{});
controller.middleware.receive.use((bot: botkit.SlackBot, message: botkit.SlackMessage, next: () => void) => {
if (message.channel != "#general") {
next();
}
});
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Problem preview css not properly loaded in WSL

🐛 Bug Report
When using via WSL, problem preivew page did not load markdown.css properly, which leads to incorrect font settings.

Left side is the problem preview of this extension.
Right side is a markdown preview, which is rendered as expected.
To Reproduce

Connect VSCode to WSL.
Install extension for WSL.
Login and open arbitrary problem preivew.

Expected behavior
Problem preview page renders with same CSS of markdown.
Your Environment

os: Win11 + WSL2
extension settings: Mostly defaults
nodejs version: v20.2.0
vscode version: 1.78.2
extension version: v0.18.1

FYI:
It seems that the extension load the css from a wrong domain:

It seems that the extension tries to load a file in WSL by a host domain (file%2B.vscode-resource.vscode-cdn.net).
The correct domain in my case is vscode-remote%2Bwsl-002bopensuse-002dtumbleweed.vscode-resource.vscode-cdn.net, which is obviously related to the WSL configuration.


no schema generated for new custom support module

Hello, I'm trying to add a simple ibek support for an 'external' non epics repo. In particular caenels easy driver support.
To reproduce:
git clone https://github.com/amichelotti/ibek-support.git  --recurse-submodules

Then inside the container:
ibek ioc generate-schema

I dont see nothing related the caenels.. added, even if the module is correctly compiled. I thing there could be something related with the name that contains '-'.
In addition it could be useful (if it's not implemented yet) to rename a support module.
I'm not sure that:
ibek support git-clone --org https://github.com/CAENels/ ${NAME} ${VERSION}

supports renaming  of ${NAME} in something different.
Thanks,
Andrea

Hi @amichelotti this is probably because of that recent breaking change in ibek.
It now needs the folder name for generate-links.
See example here https://github.com/epics-containers/ibek-support/blob/main/modbus/install.sh

We could support renaming the module - why so you want to change it? It seems clearer to keep the repo name the same as the module name if possible.

Ok I realigned, thanks! However to make it working I renamed the directory in the ibek support  equal the name of the git project from I get the module. Otherwise It seems I get a compilation error. Sincerly, If I understood correctly, I think this is a limitation, because if the original developer of an epics module chooses a bizarre or inappropriate git project name you inherit this name in the ibek support then in the ioc instantiation. For instance the git project name for this caen support is 'easy-driver-epics' if I have to call my ibek module in the same manner  'easy-driver-epics' my ioc instance that drives power supplies caen will be: easy-driver-epics.  that I find misleading and wird.

@amichelotti I just tried this and it worked for me.
However, if you already made the support module there will be a link to the old folder/name of your support yaml in /epics/ibek-defs  - this is where ibek looks for yaml to make the schema from and you will get a failure until you delete the broken link.
It would be nice if the devcontainer was robust to such changes. But it is true to say that this would not have been an issue if you had rebuilt the container.
Give this a go and if it does not work please push the broken version to a branch and send it to me so I can work out a fix.

I think we can close this one. Please respond if there is still an issue here. Thanks.


[BUG] UnsavedChangesNotifier not triggered on back/forward navigation

Describe the bug
UnsavedChangesNotifier doesn't trigger warning message if user came from list view and clicks browser back button after making changes to any field. You can see on the screenshot below which actions trigger warning message (green) and which ones don't work as expected (red):

Steps To Reproduce

Create refine project with Vite and warnWhenUnsavedChanges set to true, e. g. npm create refine-app@latest -- --example data-provider-strapi-v4.
Navigate to list view for posts http://localhost:5173/posts.
Open any content from this list in edit mode.
Change any field content.
Navigate to list view using browser back button - you don't get warning about unsaved changes.

Expected behavior
Warning about unsaved changes should be triggered before navigating back to list view using browser back button.
Packages
"@refinedev/antd": "^5.40.0",
"@refinedev/cli": "^2.16.33",
"@refinedev/core": "^4.51.0",
"@refinedev/react-router-v6": "^4.5.11",
"@refinedev/strapi-v4": "^6.0.8",
Additional Context
I took a brief glance at source code and it looks like such behavior is mostly related to routing. All other cases (clicking on  elements, home or refresh buttons) are covered. It also works as expected when you navigate directly to edit page (e.g. pasting a link to it), not from list view. That's because in the latter case beforeunload is triggered not just for home and refresh buttons, but for back/forward as well.

Hey @tlkv thank you for the detailed explanation! I think this can be handled by adding an event listener for popstate and also by using a hacky way to manipulate window.history. Doing this will break the forward states and disable the forward button if unsaved changes notifier is triggered due to the nature of window.history API 😅
Something like this:
  React.useEffect(() => {
    if (warnWhen) {
      // push the current state (this will break the forward actions)
      window.history.pushState(null, document.title, location.href);

      const popstateListener = (event: PopStateEvent) => {
        event.preventDefault();
        // prompt user for the navigation
        if (window.confirm(warnMessage)) {
          setWarnWhen?.(false);
          // go back if confirmed
          window.history.back();
        } else {
          // restore duplicate state
          window.history.pushState(null, document.title, location.href);
        }
      };

      addEventListener("popstate", popstateListener);

      return () => {
        removeEventListener("popstate", popstateListener);
      };
    }

    return () => 0;
  }, [pathname, warnMessage, warnWhen]);

While this may work, we probably need to remove the override of navigator.go from the usePrompt hook to make sure they're not conflicting with each other.
I'm not sure if this is worth breaking the forward buttons 🤔 Maybe there can be a prop in <UnsavedChangesNotifier /> to introduce this behavior. Adding this without keeping the current behavior is kinda a breaking change 🤖
Do you have any suggestions or alternative ideas for the implementation?

Hey @aliemir 👋🏻 Thank you for the solution! I've tried it as global one (by adding to UnsavedChangesNotifier) and also on component level. While I haven't encountered any conflicts with navigator.go from usePrompt, there seems to be a problem with back button on the page, not browser one. If you edit any field and then click on this button you get redirected to the same url since pushState made a temporary duplicate. So we fix one thing and break another 😅 Header props can be overridden e.g. headerProps={{ onBack: () => ... }}, but TBH it seems as too much hassle for such a feature.
I think this solution might be satisfactory to use only for certain components, but not as a global one. So I wouldn't introduce this behavior as breaking change, unless it depends on some prop, just as you mentioned.
Another suggestion would be to postpone this issue (maybe convert to discussion for now) until the new data router from React Router V6 is fully supported and then just rely on their features like https://reactrouter.com/en/main/hooks/use-prompt instead of current usePrompt workaround.


Ensure struct data members are given an initial value

Description
While I don't suspect there are any uninitialize variable bugs present, it's still good to err on the side of safety and provide an initial value nonetheless.
I did my best to search for data structures but might have missed something so please let me know if I did. The goal is that after constructing any SFML type, public or private, it's impossible to read uninitialized data.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

14 of 14 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 53.021%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
10346

Relevant Lines:
18510

💛  - Coveralls


Scan /sys/class rather than /sys/dev to populate all devices.

Fixes #26 #63 #69

I just tried the patch. It doesn't fix Pipewire, Pipewire requires SOUND_INITIALIZED to be set to 1. I think this patch needs to be adapted to work with this one. https://github.com/illiliti/libudev-zero/pull/69

I just tried the patch. It doesn't fix Pipewire, Pipewire requires SOUND_INITIALIZED to be set to 1. I think this patch needs to be adapted to work with this one. #69

it's intended to be used with #70

I realized that when I checked the makefile. Anyways, for now I am using your patch + the pipewire one after tweaking it a bit. Its been great! I was able to play Counter Strike:Source and play music, no problems whatsoever.

I'm concerned about potential performance issues here as this seems to be quite slow compared to the previous method. I'm not sure why exactly but things using libudev-zero definitely take longer to start up than before.


Implement CellImpl#getCellsInTheSameFile and CellImpl#getCellsInTheSameRank.

Description of these methods is documented in the corresponding interface.
Test cases for these implementations have already been written. the implementer should be able to pass all test cases in CellImpl after implementing it correctly.

@deepakguptacse Let's close this and add another enhancement?


extra console.log in VisionUtils.js

Extra console.log(vDarkness) on line 582 of VisionUtils.js spamming console.

Thanks for the report, removed the console log with v4.2.1


What's the main use case?

Just a simple React / Flask stack?

Hey Chris!  👋
Yes, I was just talking with Jose, and we were trying to figure out what the simplest setup for flask/react with good dev experience (hot reloading) looked like.

Oh, cool!


Fixed typo in detect.py

Fixed a typo in detect.py.
Shouldn't affect code in any way.

Thanks! Please note for future commits that the commit log's title should be more descriptive, actually it should be what you used as the commit description ("Fixed a typo in detect.py"). GitHub's code editor encourages very bad practices with its "Update $filename" placeholder.


Allow request sensitive configuration

As a developer, I want to add additional configuration on a per request basis in the handler of the request. My idea is to reuse the existing configurarion class, store it in the nancy context with the help of an extension method, pull it out in the response processor and temporarily merge it with the global configuration.
I plan to have a PR for this by tomorrow morning! :)

Coo, look forward to it!

This is in v1.1.0 on NuGet


⚠ Secret Website 3 has degraded performance

In 7aea56c, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 20454 ms

Resolved: Secret Website 3 performance has improved in 86a9b8a.


chore: disable react refresh plugin in the arco-pro diff case

Summary

Test Plan

Require Documentation?

[ ] No
[ ] Yes, the corresponding rspack-website PR is __

!diff

!diff

!diff


undefined is not a function

$ sassdoc --version
2.1.15

$ sassdoc src/
[ERROR] TypeError: undefined is not a function
    at module.exports.exports (/path/to/node_modules/sassdoc/node_modules/sassdoc-theme-default/node_modules/sassdoc-extras/index.js:5:26)

Could you try to reinstall npm modules please?

Hey @HugoGiraudel, it's actually failing in our CI process so it always has a fresh npm install.
It may actually be a problem with sassdoc-theme-default, @2.3.6 (pass) vs @2.4.0 (failed). For your reference, in our package.json we use "sassdoc": "^2.1.7" which gives us<EMAIL_ADDRESS>Thanks in advance!

Ping @pascalduez, as he bumped the theme yesterday. :)

Yep, I'm on it, will push a fix in minutes.

Should be fixed as of<EMAIL_ADDRESS>

Thanks, have missed ^ :+1:


Support dumping documents from 1 content node

Is your feature request related to a problem? Please describe.
I have a Vespa deployment with ~a billion of documents spread among ~20 content nodes and I need to evaluate can we (or what would it take to) support search by image feature (think CLIP embeddings) with the current set of hardware (on prem setup, 1 type of available servers).
My thinking is that search latencies of ANN with filters depend a lot on data distribution in an individual content node. I want to leverage the fact that in Vespa one content node gets as many requests as all the others content nodes in a group. So, if one content node can support X RPS, then a content group can support X RPS.
Describe the solution you'd like
My life would be easy (working with ~50M docs instead of 1B) if could just take a snapshot of all docs from one content node, attach image embeddings, store docs on some similarly sized 1 Vespa content node, and run some perf tests to get average latencies (I’m aware about running multiple threads per search and its impact for latency/resources) and other metrics. Having that I could extrapolate the results to the need for hardware.
Describe alternatives you've considered
One approach I also consider is to run visiting with 20 slices and take only slice 0. But that would produce not an exact data distribution. Another approach I've considered is to leverage the [model.searchPath](https://docs.vespa.ai/en/reference/query-api-reference.html#model.searchpath) and get docs from one content node but I have too many documents per content node.
Additional context
Slack discussion.

You should just get 1/20th of the corpus and worry about which node it came from. The distribution well defined, but unspecified.
However that is a tiny issue compared to your task at hand. ANN is hard to benchmark and reason over.
ANN cost can be considered as a fixed cost, close to independent of corpus size on the node. The ideal solution is to a single large node with all the 1B docs with only the ANN data. The query cost for the ANN part will be approximately the same on a 1B node as on a 50M node.
This holds as long as you are not applying any filters. If you apply filters there is a linear component.
But this is inherently hard to find an efficiently sized setup.
Good luck :)

Thanks!
Unfortunately, filters are unavoidable with most of my use cases. Also, 1B docs to embed for an experiment is a bit too much.
What about the visiting for a particular content node functionality support? Should we expect it arriving at some time in the future, or this is from the series of "very nice to have" that it would be a waste to work on?

Having that as a supported feature is not worth the effort. So highly unlikely that it will be implemented.

Vespa will by default distribute documents pseudo-randomly and—most importantly—uniformly across nodes using hashing. This means that statistically speaking the contents of 1 content node out of 20 represents a uniformly randomly sampled unspecified subset of an 1/20 of the document corpus. But this property should also hold if you just visit 1/20 of the corpus directly—it's just a different subset (with very high probability).
So if you're just looking for a representative sample of 1/20 of your corpus, sliced visiting should give you what you're looking for. Please let me know if you have any other specific use cases where the exact document set of a particular content node is useful.

I'm happy with the answers. Thanks a lot!

Thanks @dainiusjocas, resolving this - thanks for the discussion.