App.create_window() to accept any Into<String> type (fix #2290)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #2290
[x] No

The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
See #2290.

I've updated the changefile to reflect both changed functions, like @chippers suggested in #2290.
I do want to note that this may be considered a breaking change (which is why I marked it as 'major' in the changefile). Especially because @chippers said this isn't a major change and I don't entirely agree.

One thing to be changed is the changefile level, this should be a patch not major change

Because while the type is technically backwards-compatible (since String is also Into<String>), in practice most developers who use this function will need to update their code.
The current create_window() function takes a String for the label. So when a developer uses that function to create a window, they'll do something like this:
app.create_window("my_label".into(), [...]);

Note the .into(). This is also how it's done in the example.
With this PR, create_window() accepts any Into<String> type for the label, so developers will be able to just do this:
app.create_window("my_label", [...]);

However, when trying to use the original code with .into() after applying this change, you get the following error:
error[E0283]: type annotations needed
  --> examples\api\src-tauri\src\main.rs:84:14
   |
84 |             .create_window(
   |              ^^^^^^^^^^^^^ cannot infer type for type parameter `impl Into<String>` declared on the associated function `create_window`
85 |               "new".into(),
   |               ------------ this method call resolves to `T`
   |
   = note: cannot satisfy `_: Into<std::string::String>`

So because the impl Into<String> type doesn't point to a concrete type, .into() can't determine what type to convert the value into. This means that most (if not all) developers who use this function will be presented with these errors when they upgrade their Tauri version and they'll have to fix them to get their app to compile. Theoretically the function still accepts the same type as before and this PR just expands the accepted types a bit, but I would in fact consider this a major change because it will break code.
If you don't consider this a breaking change, let me know and I'll bring the changefile down to a patch level.

I've updated the changefile to reflect both changed functions, like @chippers suggested in #2290.
I do want to note that this may be considered a breaking change (which is why I marked it as 'major' in the changefile). Especially because @chippers said this isn't a major change and I don't entirely agree. (I was going to comment in the issue but I feel it's more appropriate to continue this conversation here in the PR).

One thing to be changed is the changefile level, this should be a patch not major change

Because while the type is technically backwards-compatible (since String is also Into<String>), in practice most developers who use this function will need to update their code.
The current create_window() function takes a String for the label. So when a developer uses that function to create a window, they'll do something like this:
app.create_window("my_label".into(), [...]);

Note the .into(). This is also how it's done in the example.
With this PR, create_window() accepts any Into<String> type for the label, so developers will be able to just do this:
app.create_window("my_label", [...]);

However, when trying to use the original code with .into() after applying this change, you get the following error:
error[E0283]: type annotations needed
  --> examples\api\src-tauri\src\main.rs:84:14
   |
84 |             .create_window(
   |              ^^^^^^^^^^^^^ cannot infer type for type parameter `impl Into<String>` declared on the associated function `create_window`
85 |               "new".into(),
   |               ------------ this method call resolves to `T`
   |
   = note: cannot satisfy `_: Into<std::string::String>`

So because the impl Into<String> type doesn't point to a concrete type, .into() can't determine what type to convert the value into. This means that most (if not all) developers who use this function will be presented with these errors when they upgrade their Tauri version and they'll have to fix them to get their app to compile. Theoretically the function still accepts the same type as before and this PR just expands the accepted types a bit, but I would in fact consider this a major change because it will break code.
If you don't consider this a breaking change, let me know and I'll bring the changefile down to a patch level.

This is a fair point, but we are kind of abusing the patch level while we are in beta. A recent change that also did this is the Params removal which had a similar resolution of just removing unnecessary code.  We are still pre-audit for a short amount of time, so necessary breaking changes that align with a stable future API are still currently marked patch.
Good point about the breaking change however, and I'll update the PR original comment to specify it

I've updated the changefile to patch level.


input_format_defaults_for_omitted_fields is not working as expected with CSV

reading documention about "input_format_defaults_for_omitted_fields" you understand that when importing using CSV format, when a column is empty it's replaced by the column default (when flag is enabled) but I'm seeing this behavior:

eb9e0bb5b003 :) create table test (a Nullable(Int32), b Nullable(Int32) default 999, c Int32) Engine=Log;

CREATE TABLE test
(
    `a` Nullable(Int32),
    `b` Nullable(Int32) DEFAULT 999,
    `c` Int32
)
ENGINE = Log

Ok.

0 rows in set. Elapsed: 0.005 sec.

eb9e0bb5b003 :) insert into test format CSV \N,\N,1
eb9e0bb5b003 :) insert into test format CSV ,\N,2
eb9e0bb5b003 :) insert into test format CSV ,,3
eb9e0bb5b003 :) set input_format_defaults_for_omitted_fields = 1;

SET input_format_defaults_for_omitted_fields = 1

Ok.

0 rows in set. Elapsed: 0.002 sec.

eb9e0bb5b003 :) insert into test format CSV \N,\N,4
eb9e0bb5b003 :) insert into test format CSV ,\N,5
eb9e0bb5b003 :) insert into test format CSV \N,\N,6
eb9e0bb5b003 :) select * from test;

SELECT *
FROM test

eb9e0bb5b003 :) select * from test;

SELECT *
FROM test

┌────a─┬────b─┬─c─┐
│ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 1 │
│    0 │ ᴺᵁᴸᴸ │ 2 │
│    0 │    0 │ 3 │
│ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 4 │
│ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 5 │
│ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 6 │
└──────┴──────┴───┘

6 rows in set. Elapsed: 0.007 sec.

I'd expect last row to be  0, 999, 6
Not sure if this is a bug or I didn't fully understand documentation
version: <IP_ADDRESS>
notes:

I tested with MergeTree engine and the result is the same.
It works as expected with JSONEachRow format

oops, I realized that I inserted wrong data, this is working as expected. I'm leaving the right insert just in case someone asks the same question
eb9e0bb5b003 :) insert into test_mt format CSV ,,1234

INSERT INTO test_mt FORMAT CSV

Ok.

1 rows in set. Elapsed: 0.005 sec.

eb9e0bb5b003 :) select * from test_mt where  c = 1234

SELECT *
FROM test_mt
WHERE c = 1234

┌────a─┬───b─┬────c─┐
│ ᴺᵁᴸᴸ │ 999 │ 1234 │
└──────┴─────┴──────┘


31 change images

Update Image in About Us Page

why you are charging the readme file
can you add images which are more meaningful for the  page

ok will reset it or fix it @Horror26

looks great


Postgre functions auto-completion Dbeaver

Check this in 5.1

Thanks

מאת: Serge Rider<EMAIL_ADDRESS>נשלח: יום ראשון 03 יוני 2018 19:57:25
אל: dbeaver/dbeaver
עותק: ArieStern; Author
נושא: Re: [dbeaver/dbeaver] Postgre functions auto-completion Dbeaver (#3473)
Closed #3473https://github.com/dbeaver/dbeaver/issues/3473.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/dbeaver/dbeaver/issues/3473#event-1660072955, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AlgR8lilyYAsCe9NErpNPH2ilAGScdhKks5t5BV1gaJpZM4UArkq.


fizz-buzz

Great job on finishing all problems! You are the first to do so :partying_face:

Great job on finishing all problems! You are the first to do so :partying_face:

Hi,
could you create a separate Branch/Pull Request for session_1 solution

Hi,
could you create a separate Branch/Pull Request for session_1 solution


Added configuration

This small modifications adds configurable options. Namely, it allows to change the default format (with the default being the current one), and an option to set the timezome to UTC (disabled by default).
Setting the timezone to UTC is IMHO pretty important and useful if the website is not build on a local PC but on a site such as GitHub Actions or any other pipeline where the timezone may change between runs.

I just realized I had missed the timezone option in the _config.yml. D'oh.
I should probably remove the whole UTC thing and keep only the option to have a custom default, right?

Oh, this is cool. Does Jekyll use date_format anywhere on its own? I'd hate for this plugin to add its own config if one already exists.

Jekyll does not seem to have it implemented at all - the documentation at least mentions no such feature existing.
This same key name is used by another plugin already, however.

Hmmm. I think I'd still rather not interfere since I don't know what Jekyll will do in the future.
How about we change it to:
jekyll-last-modified-at:
   date_format: <xxx>

in the config.yaml? That way we can add timezone or anything else in the future.

Done. First commit (582061e79094356ac95d633ae779de02be8c20c7) that Jekyll is in UTC but the Time.now call was not, and at this time of the night (0:32 CEST) it was failing.

Thanks, this is great. I'll release this as a new minor version now.


Updated CLI.rb to include 'new' and 'import' methods

Able to build and install gem locally
Able to run apiify new <csv.csv> from the command line to create a model
Able to run apiify import <csv.csv> from the command line to populate database with data from CSV file

LGTM, merge!


what about the other data when deallocate a vm?

In the Resize a VM section, it mentions that : If the size you want is not available on the current cluster, the VM needs to be deallocated before the resize operation can occur. Deallocating a VM will remove any data on the temp disk xxxx.
So what about the other data or applications? for example if I installed an application before, then resize the vm(and  the size I want is not available on the current cluster), will the application be deleted?
thanks.

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

ID: 55e23176-40c4-39bd-4f6f-cc48e518cf96
Version Independent ID: 370fcf36-dce0-6718-4566-34a71cd0314e
Content: Tutorial - Create and manage Windows VMs with Azure PowerShell
Content Source: articles/virtual-machines/windows/tutorial-manage-vm.md
Service: virtual-machines-windows
GitHub Login: @cynthn
Microsoft Alias: cynthn

@imeya only the temp disk (Drive D) will be removed when you dealloate or resize the VM. The OS disk and all data disks will stay in tack and all your applications will remain.

@imeya I will close this for now. If you have additional questions just let me know and we can always reopen and continue.


Updating to spring-data-hadoop 2.4.0.M1

Resolves #15

Cherry picked per https://github.com/spring-cloud/spring-cloud-stream-app-starters/commit/0111106336f5d01a8ff33acd56bb6d9e5a4f9ff6


Support TLS for the metrics server

For data plane deployments, we need to be able to secure prometheus
endpoints by using TLS certificates.
Now, the receiver and the dispatcher accept the following env
variables:

METRICS_PEM_CERT_PATH: TLS cert path
METRICS_PEM_KEY_PATH: TLS key path
METRICS_HOST: metrics server host

Signed-off-by: Pierangelo Di Pilato<EMAIL_ADDRESS>
Proposed Changes

Support TLS for the metrics server

Release Note

Support TLS for the metrics server.

Now, the receiver and the dispatcher accept the following env
variables:
- `METRICS_PEM_CERT_PATH`: TLS cert path
- `METRICS_PEM_KEY_PATH`: TLS key path
- `METRICS_HOST`: metrics server host

FYI @skonto


Excessive CPU/RAM usage

Hello, here is my problem.
I am new to using node-cron, I scheduled the task correctly and checked that it works correctly. The problem is in the excessive use of CPU/RAM that node-cron generates and it collapses the VPS server where it is stored.
Attached image

Although the CPU usage looks low, it increases over time.
All this when the script is started and kept active with pm2
If anyone knows anything about this or how to mediate excessive resource usage, I would be grateful.

I'm seeing similar behavior using node-cron 3.0.1.  The worker script runs out of memory, crashes, and restarts about twice an hour.
Here's the snippet of code I'm using to set up my cron jobs:
cron.schedule('0 9 * * 1', async () => {
    console.log('Running weekly report job');
    await weeklyReportJob.run();
}, {
    timezone: process.env.APP_TIMEZONE
});

// monthly on the first
cron.schedule('0 13 1 * *', async () => {
    console.log('Running billing report job');
    await billingReportJob.run();
}, {
    timezone: process.env.APP_TIMEZONE
});

Other info:
Node cron: 3.0.1
Node version: 16
Typescript version: 4.6.4
Note: production version is compiled with tsc to run in pure JS

I think maybe some memory leak in 3.0.1
down-grade to 3.0.0 (no change other code)  then ..solved....

We also faced problems in 3.0.1 regarding increased memory consumption. About 150MB more memory was used by our services. Downgrading to version 3.0.0 again solved the issue.

We had the same problem, ram usage increased by about 10mb per minute, crashing our express.js server after 6 hrs. This was replicated locally and occurred even with an empty service running. Downgrading to 3.0.0 solved it.

I faced a similar issue. And noticed that once I removed a timezone specification the RAM usage was stable.
Here's a screenshot of my metrics.

I did notice that the timematcher implementation was updated between the versions to get rid of the moment dependency.
I might need to spend some more time investigating the cause.
Other info:
Node cron: 3.0.1
Node version: 16
Typescript version: 4.7.4 (tranpiled to JS)

@gokulchandra  In my testing the memory leak only happens when a timezone is set.  Without a timezone, there is no memory leak (at least for as long I monitored it).

@gokulchandra Good observation about the time matcher.  I looked through the diffs myself a while back and noticed that too but I didn't think much of it.  After searching for "intl datetimeformat memory leak", I found this old Github issue in Node itself about that specific function causing a memory leak.  It seems relevant, but the issue is now closed and the fix was rolled out in v12.20.0 according to this comment.

Created a PR with a possible solution here: https://github.com/node-cron/node-cron/pull/366

#366 should handle this.

@merencia could you please have a look?

@merencia If you are really considering dropping moment.js as a dependency, as even lighter (2Kb) alternative with timezone support I would recommend DayJS.
Timezones DayJS
I suggest it in case at some point you plan to change it.

@supercoffee thanks for pointing that out, in my case removing the timezone solved my R14 heroku alerts

@merencia or @t-bonatti - could you please have a look or hand over the maintenance of the package?

removing the timezone option is fixing it, thanks

Any fix for this other than removing timezone?

Does anyone know which Timezone is used if no timezone option is provided?

Does anyone know which Timezone is used if no timezone option is provided?

I would assume it uses UTC by default

I ended up switching to croner.

It's a shame that a lib that is used by more than 60,000 other packages has such a critical problem and the author doesn't even bother to merge a ready fix...

Is there any possibility this was fixed? This caused a slow leak while I was out of town and I got a massive bill because of it.

@Tanner-Scadden use this patch for now
diff --git a/src/time-matcher.js b/src/time-matcher.js
index 52a0b8ea5db9914d7e7b7ef74f8da9c8fcdbc181..6f24160a528c799a43fea4f415237b6597918723 100644
--- a/src/time-matcher.js
+++ b/src/time-matcher.js
@@ -15,6 +15,18 @@ class TimeMatcher{
         this.pattern = convertExpression(pattern);
         this.timezone = timezone;
         this.expressions = this.pattern.split(' ');
+        this.dtf = this.timezone
+            ? new Intl.DateTimeFormat('en-US', {
+                year: 'numeric',
+                month: '2-digit',
+                day: '2-digit',
+                hour: '2-digit',
+                minute: '2-digit',
+                second: '2-digit',
+                hourCycle: 'h23',
+                fractionalSecondDigits: 3,
+                timeZone: this.timezone
+            }) : null;
     }

     match(date){
@@ -31,20 +43,8 @@ class TimeMatcher{
     }

     apply(date){
-        if(this.timezone){
-            const dtf = new Intl.DateTimeFormat('en-US', {
-                year: 'numeric',
-                month: '2-digit',
-                day: '2-digit',
-                hour: '2-digit',
-                minute: '2-digit',
-                second: '2-digit',
-                hourCycle: 'h23',
-                fractionalSecondDigits: 3,
-                timeZone: this.timezone
-            });
-
-            return new Date(dtf.format(date));
+        if(this.dtf){
+            return new Date(this.dtf.format(date));
         }

         return date;

same problem with node-corn 3.0.2

CONER https://www.npmjs.com/package/croner seems to be much better alternative


@apply rule with brackets

Could you add support for @apply rule with brackets?
    /* Shared Styles */
    --paper-font-common-base: {
      font-family: 'Roboto', 'Noto', sans-serif;
      -webkit-font-smoothing: antialiased;
    };
    --paper-font-common-nowrap: {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    };
    /* Material Font Styles */
    --paper-font-display4: {
      @apply(--paper-font-common-base);
      @apply(--paper-font-common-nowrap);
      font-size: 112px;
      font-weight: 300;
      letter-spacing: -.044em;
      line-height: 120px;
    };

I need this brackets for Polymer @apply rule, check out this links

https://github.com/PolymerElements/paper-styles/blob/master/typography.html
https://www.polymer-project.org/1.0/docs/devguide/styling.html#custom-css-mixins

@robdodson Why Polymer have @apply rule with brackets? Proposal of @apply rule have not brackets, check out this link http://tabatkins.github.io/specs/css-apply-rule/

Same reply as in #3, the plugin scope is to follow the spec closely.
But since the spec is somewhat rough and very young, that seems like a reasonable addition.

@JosefJezek hm good question (regarding the use of parens). @sorvell is there a reason why we need to use parens with @apply?

@robdodson @sorvell Please any solution...

@JosefJezek I will add parens support, while implementing #3.
Clearly missing time, but it's on reccords, no worry.

@pascalduez Thank you :+1:

@JosefJezek Available as of<EMAIL_ADDRESS>


TypeError: undefined is not a function (evaluating 'cd')

Very little idea what's happening here. Only seen it two times so far, so it could well be a side effect of corrupt ROMs or other issues.
Error is somewhere within the GameBoy-Online DMAWrite function.

We were incorrectly downloading, and attempting to play, zero-length ROMs.
Fixed in 4a4c74f124c57e98a3685717ab55dacce72761bb.


how to use ssh

need use ssh to connect to this vps

this is not a vps

this is a container

So how can I connect to this docker container?


Fix publishing Custom Analytics Events Data

Purpose
To fix missing properties map when publishing custom properties to on-prem analytics.
Related PR: https://github.com/wso2/apim-analytics-publisher/pull/94

Codecov Report

Merging #96 (563cba4) into main (1279c5f) will decrease coverage by 0.70%.
The diff coverage is 21.42%.

Additional details and impacted files

@@             Coverage Diff              @@
##               main      #96      +/-   ##
============================================
- Coverage     42.48%   41.78%   -0.70%
+ Complexity      164      160       -4
============================================
  Files            54       54
  Lines          1271     1285      +14
  Branches        116      117       +1
============================================
- Hits            540      537       -3
- Misses          673      690      +17
  Partials         58       58

Flag
Coverage Δ

unit_tests
41.78% <21.42%> (-0.70%)
:arrow_down:

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

Impacted Files
Coverage Δ

...orter/cloud/DefaultResponseMetricEventBuilder.java
78.00% <0.00%> (+3.00%)
:arrow_up:

...ytics/publisher/reporter/elk/ELKCounterMetric.java
0.00% <0.00%> (ø)

.../publisher/reporter/elk/ELKMetricEventBuilder.java
0.00% <0.00%> (ø)

...tics/publisher/reporter/elk/ELKMetricReporter.java
0.00% <0.00%> (ø)

...tics/publisher/reporter/GenericInputValidator.java
66.66% <66.66%> (ø)

.../am/analytics/publisher/reporter/MetricSchema.java
100.00% <100.00%> (ø)

... and 4 files with indirect coverage changes


[flutter_markdown]  H1 not display correctly

Steps to reproduce
Install flutter_markdown in your project
Use an # Heading level 1
the display is not the correctly
Expected results
The size will be more highest than heading level 2
Actual results
the size is more lowest than heading 6
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Hi @josermarinr
I checked this issue using this example on package examples but it rendered as expected, see demo on Web:

What is your package version? Please also try that example and confirm.

Thank you @huycozy you are right I have the version
flutter_markdown: ^0.6.18+3


undefined reference to `setup()'

Hi all!
I'm trying to setup toolchain. After a bunch of experiments I managed to compile the code, but linking phase is errored.
I'm developing a library and have an examples folder with some ino sketches.
But I have no luck of compiling them. I'm not even talking about developing a library (that's beyond fantasy).
Here is what I get:
[100%] Linking CXX executable Callee-ESP32.elf
lib_arduino_lib_core.a(main.cpp.o):(.literal._Z8loopTaskPv+0x8): undefined reference to `setup()'
lib_arduino_lib_core.a(main.cpp.o):(.literal._Z8loopTaskPv+0xc): undefined reference to `loop()'
lib_arduino_lib_core.a(main.cpp.o): In function `loopTask(void*)':
/Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/main.cpp:18: undefined reference to `setup()'
/Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/main.cpp:21: undefined reference to `loop()'
collect2: error: ld returned 1 exit status
gmake[3]: *** [CMakeFiles/Callee-ESP32.dir/build.make:87: Callee-ESP32.elf] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:593: CMakeFiles/Callee-ESP32.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:600: CMakeFiles/Callee-ESP32.dir/rule] Error 2
gmake: *** [Makefile:332: Callee-ESP32] Error 2

Here is related part of my CMakeLists.txt:
cmake_minimum_required(VERSION 3.8)
project(WampCaster CXX)
set(CMAKE_CXX_STANDARD 11)

# Adding all examples as executables for syntax highlighting and building
add_executable(Callee-ESP32 examples/Callee-ESP32/Callee-ESP32.ino)
set_target_properties(Callee-ESP32 PROPERTIES LINKER_LANGUAGE CXX)
target_link_arduino_libraries(Callee-ESP32 AUTO_PRIVATE)

In the board I enabled one of the ESP32 (I tried some other variants, same results):
set(ARDUINO_BOARD "DOIT ESP32 DEVKIT V1 [esp32.esp32doit-devkit-v1]") # DOIT ESP32 DEVKIT V1

Of course if I try to compile the same sketches with arduino-cli - everything works as expected:
> /usr/local/bin/arduino-cli compile -b esp32:esp32:esp32doit-devkit-v1 examples/Callee-ESP32/Callee-ESP32.ino
...
Used library       Version Path
WiFi               1.0     /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
WampCaster         0.1.0   /Users/kostik/Projects/WampCaster
ArduinoJson        6.20.1  /Users/kostik/Projects/Arduino/libraries/ArduinoJson
WebSockets_Generic 2.16.1  /Users/kostik/Projects/WebSockets_Generic
WiFiClientSecure   1.0     /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFiClientSecure
Crypto             0.4.0   /Users/kostik/Projects/Arduino/libraries/Crypto
base64             1.3.0   /Users/kostik/Projects/Arduino/libraries/base64

Used platform Version Path
esp32:esp32   1.0.6   /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6

If someone knows what it can be or where to look - would love to hear! Thnx!

Did you try the hello world example, that's a good start.
My guess is you need this:
target_link_arduino_libraries(WampCaster PRIVATE core)
If that doesn't work, can you attach everything in a zip file?

Hi @technyon! Thnx for a super quick answer! :)
Well, I tried hello_world example as it is - it works. That is great!
Okay, I figured out that specifying ino file in add_executable even with set_target_properties(hello_world PROPERTIES LINKER_LANGUAGE CXX) doesn't work:
add_executable(hello_world examples/01_hello_world/hello_world.ino)
set_target_properties(hello_world PROPERTIES LINKER_LANGUAGE CXX)
target_link_arduino_libraries(hello_world PRIVATE core)

Okay. That is not a big problem. I can link cpp → to ino so it will be possible to compile from CLion and typical Arduino user will be able to run the sketch ino.
But here is the next problem: I just added #include <WiFiMulti.h> to hello_world example - and it can't find the library.
But WiFiMulti is a core library and is it a part of esp32 core:
❯ find ~/Library/Arduino15/packages -name "WiFiMulti.h"
/Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFiMulti.h

What is interesting: when I ran first cmake initialization: it finds all libraries:
"/Users/kostik/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/223.8214.51/CLion.app/Contents/bin/cmake/mac/bin/cmake" -D CMAKE_TOOLCHAIN_FILE=./Arduino-CMake-Toolchain/Arduino-toolchain.cmake -S /Users/kostik/Projects/WampCaster -B /Users/kostik/Projects/WampCaster
/Applications/Arduino.app/Contents/Java
-- Found Arduino Platform: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/avr/1.8.6
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/samd/1.8.13
-- Selected Arduino Board: DOIT ESP32 DEVKIT V1 [esp32.esp32doit-devkit-v1]
-- Selected board option: "Flash Frequency" = "80MHz"
-- Selected board option: "Upload Speed" = "921600"
-- Selected board option: "Core Debug Level" = "None"
-- The CXX compiler identification is GNU 5.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/kostik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Arduino Library ArduinoJson: /Users/kostik/Projects/Arduino/libraries/ArduinoJson
-- The C compiler identification is GNU 5.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/kostik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Arduino Library base64: /Users/kostik/Projects/Arduino/libraries/base64
-- Found Arduino Library Crypto: /Users/kostik/Projects/Arduino/libraries/Crypto
-- Found Arduino Library WebSockets_Generic: /Users/kostik/Projects/Arduino/libraries/WebSockets_Generic
-- Found Arduino Library WiFi: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
-- Found Arduino Library WiFiClientSecure: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFiClientSecure
-- Found Arduino Library SPI: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI
-- Found Arduino Library Ethernet_Generic: /Users/kostik/Projects/Arduino/libraries/Ethernet_Generic
-- Found Arduino Library UIPEthernet: /Users/kostik/Projects/Arduino/libraries/UIPEthernet
-- Found Arduino Library WiFiNINA_Generic: /Users/kostik/Projects/Arduino/libraries/WiFiNINA_Generic
-- Found Arduino Library WiFi101: /Users/kostik/Projects/Arduino/libraries/WiFi101_Generic
-- Found Arduino Library EthernetENC: /Users/kostik/Projects/Arduino/libraries/EthernetENC
-- Found Arduino Library Ethernet: /Users/kostik/Projects/Arduino/libraries/Ethernet
-- Found Arduino Library WiFi101_Generic: /Users/kostik/Projects/Arduino/libraries/WiFi101_Generic
-- Found Arduino Library WampCaster: /Users/kostik/Projects/Arduino/libraries/WampCaster
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/kostik/Projects/WampCaster

[Finished]

But when then I try to compile executable - it can't :(
❯ cmake --build /Users/kostik/Projects/WampCaster --target hello_world -- -j 4
[ 94%] Built target _arduino_lib_core
[ 94%] Building CXX object CMakeFiles/hello_world.dir/examples/01_hello_world/hello_world.cpp.o
/Users/kostik/Projects/WampCaster/examples/01_hello_world/hello_world.cpp:3:23: fatal error: WiFiMulti.h: No such file or directory
compilation terminated.
gmake[3]: *** [CMakeFiles/hello_world.dir/build.make:76: CMakeFiles/hello_world.dir/examples/01_hello_world/hello_world.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:591: CMakeFiles/hello_world.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:598: CMakeFiles/hello_world.dir/rule] Error 2
gmake: *** [Makefile:332: hello_world] Error 2

Addition of target_link_arduino_libraries(hello_world AUTO_PUBLIC) doesn't help :(
btw, @technyon can you explain the difference between PRIVATE | PUBLIC | AUTO_PRIVATE | AUTO_PUBLIC keywords.
I found this description:
	set(keywords
		PRIVATE        # Private-linked Arduino Libraries
		PUBLIC         # Public-linked Arduino Libraries
		INTERFACE      # Interface-linked Arduino Libraries
		AUTO           # Default-linked auto detected Arduino libraries
		AUTO_PRIVATE   # Private-linked auto detected Arduino libraries
		AUTO_PUBLIC    # Public-linked auto detected Arduino libraries
		AUTO_INTERFACE # Interface-linked auto detected Arduino libraries
		IGNORE         # Auto detected library names to be ignored
		OVERRIDE       # Customized targets that overrides auto detection
	)

But it is still not clear for me what is the difference between private and public as they both resolve to the same libs.

UPDATE:

Okay. That is not a big problem. I can link cpp → to ino so it will be possible to compile from CLion and typical Arduino user will be able to run the sketch ino.

Seems that is not possible :( Making so breaks the build from Arduino IDE.

First of all, I'd suggest to upgrade your core to 2.0.6. The Wifi is quite broke in 1.0.6, and if you run over a long time you get random disconnects that aren't even reported as such. For that you need my fork.
I think it's not all that important to run it as .ino, most people actually use vscode with platformio, and .cpp is no problem there. If you really want an .ino file, maybe just include main.cpp from there?
I'm not really sure about the AUTO_ keywords either. Maybe they refer to things that are included in the core?
Also to save you some time, if you need to link both WiFi and DNSServer, you want to add this:
target_link_arduino_libraries(DNSServer PUBLIC WiFi)

O thnx! Seems that I was using rather old links for the esp32 board. I updated it to the latest!
Btw, I'm using your fork instead of this one! :)
Well.... After update to 2.0.7 ESP32 Core I got new error:
❯ cmake -D CMAKE_TOOLCHAIN_FILE=./Arduino-CMake-Toolchain/Arduino-toolchain.cmake ./
/Applications/Arduino.app/Contents/Java
-- Found Arduino Platform: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/avr/1.8.6
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/samd/1.8.13
-- Selected Arduino Board: DOIT ESP32 DEVKIT V1 [esp32.esp32doit-devkit-v1]
-- Selected board option: "Flash Frequency" = "80MHz"
-- Selected board option: "Upload Speed" = "921600"
-- Selected board option: "Core Debug Level" = "None"
-- Selected board option: "Erase All Flash Before Sketch Upload" = "Disabled"
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_CXX_COMPILER:

    {tools.{build.tarch}-esp32-elf-gcc.path}/bin/xtensa-esp32-elf-g++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

-- Configuring incomplete, errors occurred!
See also "/Users/kostik/Projects/WampCaster/CMakeFiles/CMakeOutput.log".
See also "/Users/kostik/Projects/WampCaster/CMakeFiles/CMakeError.log".
❯ cat CMakeFiles/CMakeOutput.log
The target system is: Arduino -  -
The host system is: Darwin - 21.6.0 - x86_64
❯ cat CMakeFiles/CMakeError.log
Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":

I tried 2.0.6 version - same error :(
I see mb related issue: https://github.com/espressif/esp-idf/issues/3937
I'm on Mac OS 12 Monterey. Brew installed of course.

Which arduino ide did you install? I tried upgrading to 2.x, but it doesn't work unfortunately. You have to install the 1.x version labelled as Legacy IDE instead. I should put these things into the readme :).

hah) Well, I have installed both :)

Latest Arduino IDE
Latest legacy Arduino
Latest CLion (but that doesn't make sense as it uses cmake under the hood)

Arduino-CMake-Toolchain finds and uses the legacy IDE. See here:
/Applications/Arduino.app/Contents/Java
❯ cmake -D CMAKE_TOOLCHAIN_FILE=./Arduino-CMake-Toolchain/Arduino-toolchain.cmake ./
/Applications/Arduino.app/Contents/Java
-- Found Arduino Platform: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/avr/1.8.6
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/samd/1.8.13
-- Selected Arduino Board: DOIT ESP32 DEVKIT V1 [esp32.esp32doit-devkit-v1]
-- Selected board option: "Flash Frequency" = "80MHz"
-- Selected board option: "Upload Speed" = "921600"
-- Selected board option: "Core Debug Level" = "None"
-- Selected board option: "Erase All Flash Before Sketch Upload" = "Disabled"
-- The CXX compiler identification is unknown

So to reproduce:

Install latest legacy Arduino
Install espressif ESP32 2.0.x boards
init Arduino-CMake-Toolchain within Examples/01_hello_world
uncomment any ESP32 board in BoardOptions.cmake
try cmake -D CMAKE_TOOLCHAIN_FILE=./Arduino-CMake-Toolchain/Arduino-toolchain.cmake ./

and hit:
❯ cmake -D CMAKE_TOOLCHAIN_FILE=./Arduino-CMake-Toolchain/Arduino-toolchain.cmake ./
/Applications/Arduino.app/Contents/Java
-- Found Arduino Platform: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/avr/1.8.6
-- Found Arduino Platform: /Users/kostik/Library/Arduino15/packages/arduino/hardware/samd/1.8.13
-- Selected Arduino Board: DOIT ESP32 DEVKIT V1 [esp32.esp32doit-devkit-v1]
-- Selected board option: "Flash Frequency" = "80MHz"
-- Selected board option: "Upload Speed" = "921600"
-- Selected board option: "Core Debug Level" = "None"
-- Selected board option: "Erase All Flash Before Sketch Upload" = "Disabled"
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_CXX_COMPILER:

    {tools.{build.tarch}-esp32-elf-gcc.path}/bin/xtensa-esp32-elf-g++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

There's no reason to edit the BoardOptions.cmake before running cmake, you can pick one later (I use ccmake). This is my command line:
cmake -DCMAKE_TOOLCHAIN_FILE=~/workspace/sdk/Arduino-CMake-Toolchain/Arduino-toolchain.cmake -GNinja -DCMAKE_BUILD_TYPE=Release  ..
Also, should cmake succeed, you have to copy one of the .csv partition table files into the cmake folder. This somehow doesn't happen anymore for 2.x.

Hm... Am I miss something?
I'm doing as it is written in the docs. And first run of cmake fails with the message Please select a valid arduino board and its menu options using one of the below methods.
That's why I have to edit BoardOptions.cmake and rerun cmake again.

ok I see. Yes, I use ccmake instead of editing boardoptions. Or to skip that step altogether, put this into your CMakeList.txt:
set(ARDUINO_BOARD "ESP32 Dev Module [esp32.esp32]")

P.S.: What about taking cmakes advice:
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Not sure why it can't detect the compiler automatically, maybe it's MacOS problem.

Well... I tried to setup different env vars. Actually nothing helps :( I think its because {tools.{build.tarch}-esp32-elf-gcc.path} internal variables are not resolved at all.
I hardcoded the compiler path right in the platform.txt something like that:
> vim /Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7/platform.txt

#compiler.path={tools.{build.tarch}-{build.target}-elf-gcc.path}/bin/
compiler.path=/Users/kostik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/

Well, that helps to make it one step further. Now cmake says that it can not compile a simple test program:
CMake Error at /usr/local/Cellar/cmake/3.25.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:63 (message):
  The C++ compiler

    "/Users/kostik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/xtensa-esp32-elf-g++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /Users/kostik/Projects/WampCaster/build/CMakeFiles/CMakeScratch/TryCompile-UNhQiP

    Run Build Command(s):/usr/local/bin/gmake -f Makefile cmTC_96f46/fast && /usr/local/bin/gmake  -f CMakeFiles/cmTC_96f46.dir/build.make CMakeFiles/cmTC_96f46.dir/build
    gmake[1]: Entering directory '/Users/kostik/Projects/WampCaster/build/CMakeFiles/CMakeScratch/TryCompile-UNhQiP'
    Building CXX object CMakeFiles/cmTC_96f46.dir/testCXXCompiler.cxx.o
    /Users/kostik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/xtensa-esp32-elf-g++  {compiler.cpreprocessor.flags.{build.mcu}} -I/Users/kostik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7/tools/sdk/esp32/dio_qspi/include {compiler.cpp.flags.{build.mcu}} -w -Os -DF_CPU=240000000L -DARDUINO=108016 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"doitESP32devkitV1\"" -DARDUINO_PARTITION_default  -DESP32 -DCORE_DEBUG_LEVEL=0    {build.extra_flags.{build.mcu}} @/Users/kostik/Projects/WampCaster/build/build_opt.h -DARDUINO_ESP32_ESP32DOIT_DEVKIT_V1_MENU_DEBUGLEVEL_NONE -DARDUINO_ESP32_ESP32DOIT_DEVKIT_V1_MENU_ERASEFLASH_NONE -DARDUINO_ESP32_ESP32DOIT_DEVKIT_V1_MENU_FLASHFREQ_80 -DARDUINO_ESP32_ESP32DOIT_DEVKIT_V1_MENU_UPLOADSPEED_921600   /Users/kostik/Projects/WampCaster/build/CMakeFiles/CMakeScratch/TryCompile-UNhQiP/testCXXCompiler.cxx -o CMakeFiles/cmTC_96f46.dir/testCXXCompiler.cxx.o
    xtensa-esp32-elf-g++: error: {compiler.cpreprocessor.flags.{build.mcu}}: No such file or directory
    xtensa-esp32-elf-g++: error: {compiler.cpp.flags.{build.mcu}}: No such file or directory
    xtensa-esp32-elf-g++: error: {build.extra_flags.{build.mcu}}: No such file or directory
    xtensa-esp32-elf-g++: error: /Users/kostik/Projects/WampCaster/build/build_opt.h: No such file or directory
    gmake[1]: *** [CMakeFiles/cmTC_96f46.dir/build.make:78: CMakeFiles/cmTC_96f46.dir/testCXXCompiler.cxx.o] Error 1
    gmake[1]: Leaving directory '/Users/kostik/Projects/WampCaster/build/CMakeFiles/CMakeScratch/TryCompile-UNhQiP'
    gmake: *** [Makefile:127: cmTC_96f46/fast] Error 2

  CMake will not be able to correctly generate this project.

For the sake of interest I tried to compile helo_world for esp8266 - hah. It doesn't work too!
CMake Error at /usr/local/Cellar/cmake/3.25.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:63 (message):
  The C++ compiler

    "/Users/kostik/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /Users/kostik/Projects/h1/build/CMakeFiles/CMakeScratch/TryCompile-gEoEMl

    Run Build Command(s):/usr/local/bin/gmake -f Makefile cmTC_4913c/fast && /usr/local/bin/gmake  -f CMakeFiles/cmTC_4913c.dir/build.make CMakeFiles/cmTC_4913c.dir/build
    gmake[1]: Entering directory '/Users/kostik/Projects/h1/build/CMakeFiles/CMakeScratch/TryCompile-gEoEMl'
    Building CXX object CMakeFiles/cmTC_4913c.dir/testCXXCompiler.cxx.o
    /Users/kostik/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++  -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/kostik/Projects/h1/build/core/build.opt -I/Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1/tools/sdk/include -I/Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1/tools/sdk/lwip2/include -I/Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/kostik/Projects/h1/build/core -c @/Users/kostik/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.1/tools/warnings/none-g++  -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000  -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0   -DARDUINO=108016 -DARDUINO_ESP8266_NODEMCU_ESP12E -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_NODEMCU_ESP12E\"" "-DARDUINO_BOARD_ID=\"{_id}\"" -DLED_BUILTIN=2 -DFLASHMODE_DIO   -DARDUINO_ESP8266_NODEMCUV2_MENU_BAUD_115200 -DARDUINO_ESP8266_NODEMCUV2_MENU_DBG_DISABLED -DARDUINO_ESP8266_NODEMCUV2_MENU_EESZ_4M2M -DARDUINO_ESP8266_NODEMCUV2_MENU_EXCEPTION_DISABLED -DARDUINO_ESP8266_NODEMCUV2_MENU_IP_LM2F -DARDUINO_ESP8266_NODEMCUV2_MENU_LED_2 -DARDUINO_ESP8266_NODEMCUV2_MENU_LVL_NONE____ -DARDUINO_ESP8266_NODEMCUV2_MENU_MMU_3232 -DARDUINO_ESP8266_NODEMCUV2_MENU_NON32XFER_FAST -DARDUINO_ESP8266_NODEMCUV2_MENU_SSL_ALL -DARDUINO_ESP8266_NODEMCUV2_MENU_STACKSMASH_DISABLED -DARDUINO_ESP8266_NODEMCUV2_MENU_VT_FLASH -DARDUINO_ESP8266_NODEMCUV2_MENU_WIPE_NONE -DARDUINO_ESP8266_NODEMCUV2_MENU_XTAL_80   /Users/kostik/Projects/h1/build/CMakeFiles/CMakeScratch/TryCompile-gEoEMl/testCXXCompiler.cxx -o CMakeFiles/cmTC_4913c.dir/testCXXCompiler.cxx.o
    xtensa-lx106-elf-g++: error: /Users/kostik/Projects/h1/build/core/build.opt: No such file or directory
    gmake[1]: *** [CMakeFiles/cmTC_4913c.dir/build.make:78: CMakeFiles/cmTC_4913c.dir/testCXXCompiler.cxx.o] Error 1
    gmake[1]: Leaving directory '/Users/kostik/Projects/h1/build/CMakeFiles/CMakeScratch/TryCompile-gEoEMl'
    gmake: *** [Makefile:127: cmTC_4913c/fast] Error 2

  CMake will not be able to correctly generate this project.

It seems that the problems lie somewhere in the depths of the toolchain. But unfortunately, I'm not cool enough to figure them out. So I spent several days trying to get it all up and running. Unfortunately without result :( It just doesn't work. And it's a pity.
Thnx @technyon for trying to help! If you or someone else have any ideas - please suggest them. But as I understand you're not on MacOS and do not face the same problems. So it is hard to research.
In the meantime, I'll try to setup platformio. mb that would work somehow.
I really do not understand how people are creating libraries and even big project sketches within Arduino IDE (event v2). It's so ugly. Well, after looking at sources of some 3rd party libraries - you're not surprised anymore %)

Unfortunately I'm not on MacOS. You could use a VM with Linux, that's what I'm doing actually on a Windows system. The Arduino IDE is as basic as it gets, no idea how anyone can work with it. If you suse platformio, you're unfortunately stuck with vscode which isn't much better. There's a plugin for clion for platformio, but it doesn't really work, you want cmake for clion.
If you want to try a VM, you could download the one I've setup to compile NUKI Hub:
https://github.com/technyon/nuki_hub
Scroll to the bottom of the readme there's a download link. Setting up a Ubuntu VM is quite easy though.

The Arduino IDE is as basic as it gets, no idea how anyone can work with it. If you use platformio, you're unfortunately stuck with vscode which isn't much better.

Yeah! I personally use vscode just like a kind of smart text editor for quick editing standalone files. But that's my imho.

There's a plugin for clion for platformio, but it doesn't really work

:((( That's sad. I was hoping that is works...

If you want to try a VM, you could download the one I've setup to compile NUKI Hub:

O great! Thank you! I'll have a look!

I can't calm down :)
@technyon btw, I tried the release-1.1-dev branch and it allows me to build for esp8266 boards without errors :)
So I will try to get it to work with esp32... Digging into cmake docs, Arduino build-process docs etc.....

Closing, as with release-1.1-dev and some patches from openned PRs made it works.

Is it committed somewhere?

Is it committed somewhere?

yeah. Here: https://github.com/KSDaemon/Arduino-CMake-Toolchain


chore: add bon::builder for ReadOptions

🙏 @Veetaha 💚

I'm glad to hear you liked bon🐱. Just a heads up, I'm planning to a new minor release of bon somewhere at the end of this week/start of the next one.
The new minor release will feature a derive(bon::Builder) syntax instead of the #[builder] attribute on structs for various unobvious reasons that I'll describe in a release blog post. Once you update to the upcoming bon 2.2 version the usages of #[builder] attribute on structs will still work without any breakage, but they will produce a deprecation warning suggesting to use the derive(bon::Builder) syntax.
Details: https://github.com/elastio/bon/issues/68#issuecomment-2330353117

Gotcha, that makes sense. And wow, thanks for taking the time to let me know


test: create event stream before interacting with network mngr

Codecov Report

Merging #532 (ed52044) into main (f65562e) will decrease coverage by 0.45%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##             main     #532      +/-   ##
==========================================
- Coverage   73.13%   72.68%   -0.46%
==========================================
  Files         243      243
  Lines       24646    24693      +47
==========================================
- Hits        18026    17947      -79
- Misses       6620     6746     +126

Impacted Files
Coverage Δ

crates/net/network/src/peers/manager.rs
70.90% <96.55%> (+0.50%)
:arrow_up:

crates/net/discv4/src/node.rs
92.07% <100.00%> (ø)

crates/net/network/src/manager.rs
45.61% <100.00%> (-1.81%)
:arrow_down:

crates/net/network/src/error.rs
0.00% <0.00%> (-57.15%)
:arrow_down:

crates/net/eth-wire/src/error.rs
46.15% <0.00%> (-15.39%)
:arrow_down:

crates/transaction-pool/src/test_util/mock.rs
53.70% <0.00%> (-6.67%)
:arrow_down:

crates/net/discv4/src/lib.rs
51.71% <0.00%> (-4.18%)
:arrow_down:

crates/net/network/src/discovery.rs
56.00% <0.00%> (-4.00%)
:arrow_down:

crates/net/network/src/session/mod.rs
62.23% <0.00%> (-2.57%)
:arrow_down:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


allow custom image and use join env var

Don't merge until 0.9, but otherwise ready.  Benchmark and stress test jobs have had the new vars added but are still pointing to vol-test:master.

I'm winging it with Terraform but it looks good to me.


Shape component should be on the parent entity, not the child entity

Currently, an entity's shape is stored on a child entity, when it could just as well be stored directly on the parent entity itself. While storing it directly on the parent loses the ability for an entity to have multiple collision shapes, having multiple collision shapes is fairly rare. Plus having it be on the parent makes more intuitive sense
// Before, shape on child
 commands
        .spawn(SpriteComponents {
            material: materials.add(icon.into()),
            ..Default::default()
        })
        .with(
            RigidBody::new(Mass::Real(1.0))
                .with_status(Status::Semikinematic)
                .with_position(Vec2::new(0.0, 0.0))
        )
        .with_children(|parent| {
            parent.spawn((Shape::from(Size2::new(30.0, 30.0)),));
        });

// After, shape on parent
 commands
        .spawn(SpriteComponents {
            material: materials.add(icon.into()),
            ..Default::default()
        })
        .with(
            RigidBody::new(Mass::Real(1.0))
                .with_status(Status::Semikinematic)
                .with_position(Vec2::new(0.0, 0.0))
        )
        .with(Shape::from(Size2::new(30.0, 30.0)));

I think having only shapes as entities or only shapes as components are both bad choices. I'll take a look if both options can be supported simultaneously (I think it's possible with no extra run-time cost).
In my opinion having the shape be a component on the parent greatly simplifies the API, so it's A Good Thing™.

Disclaimer, I am not that familiar with child entities. But if you are allowed to have multiple of the same I think it make perfect sense.
If you make a platformer where as the player can detect ground, wall jump, edge grab (like dead cells) etc, then you might need collision for ground, side collision and then perhaps a separate for edge detection. Also one might need a shape to detect damage 🤷♂
But if that can't be solved with child entities then I rest my case :)

@troligtvis Good point. When you have multiple child shapes, you sometimes want them to do different things (not always, sometimes). In the current architecture this would be only possible by having multiple bodies attached to the "main body" through fixed (or some other) joints. I'll also take a look if the API wouldn't be too complex if manifolds also included some data on which collision shape actually collided with the other thing, like the wall or edge, like you say.


Headers in mobile view for top counters need more margin

It is confusing at the moment as to what header matches what number.

Thanks, this should be fixed now.


simple build type doesn't work with insecure registries

all we need to do is to stuff this plugin to build json:
https://github.com/DBuildService/dock/blob/master/dock/plugins/pre_change_source_registry.py

omg, wrong repository -,-


Not responding as soon as added in Home app

Hi everyone,
As soon as I add my ESP32 to the Home app on iOS, it became unresponsive  "Not responding"

.
I tried with two different supported ESP32 devices and the issue is the same.
As anyone encountered the same issue ?
I tried on iOS 17.5 and iOS 18.0 beta devices.

Same problem for me

Okay, in case someone have the same issue : HomePod is causing the issue. Unplugged it, so the Apple TV is the hub, reflashed and everything works perfectly :).

I don't have a HomePod, but still have the same issue. I have to restart Apple TV for it to start working.
Clearly, it's not a HomePod or Apple TV is causing the issue, it's a problem somewhere in this software (most likely in Homespan).


Fragment from HTTPS server

I’ve successfully setup Taylor to output HTTPS.
But my fragments are also from HTTPS servers and I didn’t manage to make Taylor works with those.
What part of Taylor should I customize to handle those secured fragments ?

@sixdouglas https://github.com/zalando/tailor/blob/master/lib/request-fragment.js#L49 Tailor supports fragments' https endpoints out of the box. Are you experiencing some issues?

Thanks for this quick reply.
The problem is that I have a server error without any more information. The samples work fine though. Do you know if the redirections are followed natively? I had to add this mechanism in a Spring Boot project while dealing with SSL connection.
Thanks

Do you know if the redirections are followed natively?

No they are not, in case if you need this functionality you can provide a custom fetchFragment option to Tailor (be aware of infinite or too many redirects, though).

Redirects

Normally you'd want to actually redirect you users if primary fragments returns 301/302, so you'd have to understand where is a redirect http->https (misconfiguration?) and where it's a legitimate part of expected user experience.

This is the same case I've faced about redirection and already open the discussion at #268. But how I solved this is to create a new requestFragment function to specially handle following redirect and force that to attempt only one time avoiding "infinite or too many redirects". I hope this will help @sixdouglas 😬

@trickpeeraze many thanks for sharing! I’ll take a look at it.
Though, I’m wondering if my problem comes from my HTTP/2 SSL fragment supplier server.
It looks like tte support is still experimental in NodeJs...

Here is an update, I moved to the last Node Version 11.4 and now I have a real error message! It seems that my certificate has expired! So I've generated a new self-signed one and now I have an other error :
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'link' of undefined
Not liked with the subject of this error. I'm closing this issue.
Thanks for all your help guys.


Category?

Hei Flo,
it is great that we have the category now.
BUT I can not see the category the people chose. Neither can  I see it when I click 'edit' on the dream, nor does it correspond to any textbox in the dream description.
Can the category be displayed?
What it should say:
Category
//Whatever the person chose in the dropdown menu//
Ideal placement:
On the top of the main text (over 'Summary')
OR
To the right in the 'DETAIL' box on the very top (over the Website)

I've done all of the above, you can see the category in the edit form now (but cannot edit it) and it's visible on the dreams show page in both places as you described


Predictor encoding and sub image fixes

I tried to regroup the changes into sensible commits. If you wish me to split up the changes in a different way, just say so.
This PR does those things:

Adds a predictor encoder, which decreases file size but at the same time of course increases ZLib compression time, as ZLib has more stuff to save space but also has to do it.
Fix #9 by supporting 16 bit images correctly
Correctly handle sub-images
Support non sRGB color spaces by embedding ICC color profiles.
Small performance improvement when encoding the image without predictor (by streaming the image rows).

The objectplanet PNG encoder still compresses a little bit better, but this is now good enough for my use cases. You can always get smaller images by using pngcrush, ImageOptim and so on. But they also take a lot more time to process the images.
Please also make performance tests on your platforms, as I only tested the performance on M1 Max chips. The performance should be improved also a little bit on x64 - but I did not measure it.
After #14, #15, #16 and #17 are merged I can rebase this PR if you wish.

I've merged the others now! Please rebase!

I've rebased, please review.

FYI: Benchmarks can be found in https://github.com/pngencoder/pngencoder/pull/14.
I haven't had time to consider all of this yet. For Looklet, response time is much more important than size so we might need to opt out. I'd say this PR is a major even though it doesn't break the API, because it changes the default behavior (for higher compression levels).

I like sane defaults as a rule of thumb. We can add a new flag when we bump the dependency to this. I'm also very interested in the performance gains! The most time-critical parts we have are running in google compute on n1 type machines.
I'm going on vacation tomorrow so I will probably not have time to look into this until May.
@jkaving @oloflarsson

Some more benchmarks from my linux laptop with Intel i7-7820HQ:
pngencoder develop 642de83
Benchmark                                                           Mode  Cnt    Score   Error  Units
PngEncoderBenchmarkPngEncoderVsImageIO.logo2121x350PngEncoder      thrpt       162.227          ops/s
PngEncoderBenchmarkPngEncoderVsImageIO.looklet4900x6000PngEncoder  thrpt         0.167          ops/s
PngEncoderBenchmarkPngEncoderVsImageIO.random1024x1024PngEncoder   thrpt        36.457          ops/s

rototor/predictor_encoding_and_subimage_fixes e1bf2d9
Benchmark                                                           Mode  Cnt    Score   Error  Units
PngEncoderBenchmarkPngEncoderVsImageIO.logo2121x350PngEncoder      thrpt       178.681          ops/s
PngEncoderBenchmarkPngEncoderVsImageIO.looklet4900x6000PngEncoder  thrpt         0.166          ops/s
PngEncoderBenchmarkPngEncoderVsImageIO.random1024x1024PngEncoder   thrpt        39.021          ops/s

With those benchmarks, it seems 7-10% faster, except for the very large image which is marginally slower.

 I fix this branch...

Shit, this Github instant rename commits are silly... I fix this branch...

Oops :)

Let's do this!

0.13.0 is now published to maven central!


Request to host package - dartflash 0.6.1

This issue was originally filed by @bp74

https://github.com/bp74/dartflash
This minor update includes all the latest changes of the Dart libraries.

This issue has been moved to dart-lang/pub#258.


cargo-lambda: 0.18.1 -> 0.21.1

Description of changes
This updates cargo-lambda to the latest version. A changelog is available, here.
Things done

Built on platform(s)

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

[X] For nonLinux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested with package tests
packages
[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 259528 run on x86_64-linux 1

1 package built:

cargo-lambda

what can I do to help get this merged? thank you all for your work!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2745

@matthiasdebernardini We are waiting on someone with write access to approve and merge. I posted on the nixos discourse. That usually keeps it moving along.


Need help for update_index

Hi,
I'm having a bit of trouble with the updates on index. I have different cases for which I would like to get help.
First one: I have a Media model, indexed in my SearchIndex. I have added update_index search#media, :self in this model. When creating a new media, it is correctly indexed, but nothing happens when it is destroyed.
Second one, linked to globalization: I've looked at another issue you've answered to, and I chose to use this for the name translations:
 field :name_translations, type: 'object'
 template 'name_translations.*', type: 'string', index: 'analyzed'

How can I update my media when i change the name, as it is in fact not a media that is updated, but a media_translation ?
Finally, I have participants linked to medias through mediographies. A media can have several participants, and a participants several medias. How can I make the index update for a media when I edit a participant ? And how can I update the mediographies of a media ?
Here are the files (models are shortened) with what I've tried so far:
SearchIndex:
class SearchIndex < Chewy::Index

  define_type Media.includes(:mediographies, :containers) do
    field :name_translations, type: 'object'
    template 'name_translations.*', type: 'string', index: 'analyzed'
    field :description_translations, type: 'object'
    template 'description_translations.*', type: 'string', index: 'analyzed'
    field :media_type_id
    field :mediographies, value: ->(media) { media.mediographies.map(&:name) }
    field :containers do
      field :name, :description
    end
  end

  define_type Container.includes(:mediographies, :medias) do
    field :name, :description
    field :mediographies, value: ->(container) { container.mediographies.map(&:name) }
    field :medias do
      field :name_translations, type: 'object'
      template 'name_translations.*', type: 'string', index: 'analyzed'
      field :description_translations, type: 'object'
      template 'description_translations.*', type: 'string', index: 'analyzed'
      field :media_type_id
    end
  end

  define_type Participant.includes(:mediographies) do
    field :name
    field :mediographies do
      field :media do
        field :name_translations, type: 'object'
        template 'name_translations.*', type: 'string', index: 'analyzed'
        field :description_translations, type: 'object'
        template 'description_translations.*', type: 'string', index: 'analyzed'
        field :media_type_id
      end
      field :container do
        field :name, :description
      end
    end
  end

end

Media:
class Media < ActiveRecord::Base
  translates :name, :description
  Media::Translation.attr_accessible("name", "description", "locale", as: :renderer)
  update_index('search#media', :self)
  update_index('search#container', :medias)
  update_index('search#participants', :mediographies)
  has_many :mediographies, :dependent => :destroy
end

Container:
class Container < ActiveRecord::Base
  update_index('search#container', :self)
  update_index('search#media', :containers)
  update_index('search#participant', :mediographies)
  has_many :mediographies, :dependent => :destroy
end

Mediography:
class Mediography < ActiveRecord::Base
  update_index('search#media', :mediographies)
  update_index('search#container', :mediographies)
  update_index('search#participant', :mediographies
  belongs_to :participant
  belongs_to :media
  belongs_to :container
end

Participant:
class Participant < ActiveRecord::Base
 update_index('search#participant', :self)
 has_many :mediographies, :dependent => :destroy
end

Currently, the only solution I could see would be to use SearchIndex::Model.import id to reimport the models. But I fear it is to heavy.
If you could help me get the indexes updated for every actions on these models, it would be very kind.
Thanks

First one: don't see anything to catch on. It should work since it works in specs and you probably have to debug it.
Second: Media::Translation.update_index('search#media', :method_which_references_media)
Third:
class Participant < ActiveRecord::Base
  update_index('search#participant', :self)
  update_index('search#media') { Media.where(id: mediographies.pluck(:media_id)) } # or even more efficient way you can invent
  has_many :mediographies, :dependent => :destroy
end

Thanks for the quick answer. I try this and come back if I still have issues.

It looks like I have finally succeeded with your answer.
For the first one, it was indeed caused by another after_commit in Media. Rails 3 has this bug, that after_commits override the previous ones, so chewy couldn't trigger its after_commit and delete the index.
If you agree with it, I'd like to keep this ticket open for some days. If I have no other issues until tuesday (in 5 days), I will close it.
Thanks a lot for your help and for this gem.

Welcome!

I have created the rspec for my models. Your rspec helper is really useful for this :)
I can now say it works perfectly and is always updated as it needs.
Thanks again for your help. I can close this issue.


Add isPartialResult flag to broker response

A new flag to the broker response that explicitly denotes whether or not the result being returned is partial or not. This builds on top of PRs merged to resolve https://github.com/apache/pinot/issues/7264

I thought this was already being returned as part of execution stats. I remember there was a flag hasPartialResults. How is this different ?

@Jackie-Jiang @siddharthteotia @walterddr @eaugene
I've updated the PR as per the comments and some internal discussions
Partial response is defined as the case when pinot responds with a result, but is also aware that the result being returned has not considered all the data it should have. Cases that qualify as partial

Not all segments queried by the broker due to unavaliable segments / unavaliable servers
Not all servers responded (either no response or exceptions)
Other algorithm limitations like numGroupsLimitReached.

@Jackie-Jiang @siddharthteotia @walterddr @eaugene I've updated the PR as per the comments and some internal discussions Partial response is defined as the case when pinot responds with a result, but is also aware that the result being returned has not considered all the data it should have. Cases that qualify as partial

Not all segments queried by the broker due to unavaliable segments / unavaliable servers
Not all servers responded (either no response or exceptions)
Other algorithm limitations like numGroupsLimitReached.

@saurabhd336 We should count the result as partial if there are exceptions in the server response even if the server responded. One example would be when some segments dropped due to schema mismatch on the server side.

i think there's just one situation when server returns no exception but we still want to set the partial results flag --> that's numGroupsLimitReach flag, which is only a boolean flag in the data table but not part of exception. if we can rectify this we should be good to only look at exceptions?

i think there's just one situation when server returns no exception but we still want to set the partial results flag --> that's numGroupsLimitReach flag, which is only a boolean flag in the data table but not part of exception. if we can rectify this we should be good to only look at exceptions?

We don't want to model it as an exception because it can happen in happy path, and some client might simply count query with exception as failure

@Jackie-Jiang as per the discussion above, does the PR look ok to you?


GPT4ALL support or open source models

OpenAI's model 3.5 breaks frequently and is low quality in general.
Falcon, Vicuna, Hermes and more should be supported as they're open source, free, and moving away from paid closed source is good practice and opens applications to huge user base who wants free access to these tools.

Since gpt4all now has a local server mode that emulates OpenAI’s API calls shouldn’t we be able to just overwrite ai.py’s calls with python calls to the gpt4all local server instead of openai?  Or is it more complicated than that?

I think you are on the right track @teddybear082

See #63 for Abstraction of the ai.py file which allows for use of any model you desire. Just have to implement it.

gpt-llama claim to be a dropin replacement for chatGpt application. So is there a way to change the api url to local host?

Maybe this should be a discussion rather than an issue, feel free to start one if you are still interested.


Question about BEiT visual tokenizer's ground truth. Thank you very much.

I am new to visual pre-training.
https://github.com/microsoft/unilm/tree/master/beit
How do the visual tokenizer's ground truth tokens come from?

Hi @guotong1988 , please refer to Sec 2.1.2 of https://arxiv.org/pdf/2106.08254.pdf

released at https://github.com/microsoft/unilm/tree/master/beit

Thank you.


Feature: Visualize your picks place in the queue.

The jukebox page currently doesnt render the queue, so a person paying for including a track dont have an idea of when it is expected to play.

A possible implementation:
diff --git a/templates/jukebox/jukebox.html b/templates/jukebox/jukebox.html
index bcad502..c80e701 100644
--- a/templates/jukebox/jukebox.html
+++ b/templates/jukebox/jukebox.html
@@ -56,6 +56,31 @@
         </q-virtual-scroll>
       </q-card-section>
     </q-card>
+    <q-card class="q-mt-lg">
+      <q-card-section>
+
Upcoming

+      </q-card-section>
+      <q-card-section>
+        <q-virtual-scroll
+          style="max-height: 300px"
+          :items="upcomingTracks"
+          separator
+        >
+          <template v-slot="{ item, index }">
+            <q-item
+              :key="index"
+              dense
+            >
+              <q-item-section>
+                <q-item-label>
+                  {% raw %} {{ item.name }} - ({{ item.artist }}){% endraw %}
+                </q-item-label>
+              </q-item-section>
+            </q-item>
+          </template>
+        </q-virtual-scroll>
+      </q-card-section>
+    </q-card>

     <q-dialog v-model="receive.dialogues.first" position="top">
       <q-card class="q-pa-lg lnbits__dialog-card">
@@ -108,6 +133,7 @@
       return {
         currentPlaylist: [],
         currentlyPlaying: {},
+        upcomingTracks: [],
         playlists: {},
         playlist: '',
         heavyList: [],
@@ -229,8 +255,11 @@
         LNbits.api
           .request('GET', '/jukebox/api/v1/jukebox/jb/currently/{{juke_id}}')
           .then(function (res) {
-            if (res.data.id) {
-              self.currentlyPlaying = res.data
+            if (res.data.current_track.id) {
+              self.currentlyPlaying = res.data.current_track
+            }
+            if (res.data.upcoming_tracks) {
+              self.upcomingTracks = res.data.upcoming_tracks
             }
           })
           .catch(function (error) {
diff --git a/views_api.py b/views_api.py
index f0a2ca5..23c7590 100644
--- a/views_api.py
+++ b/views_api.py
@@ -410,7 +410,7 @@ async def api_get_jukebox_currently(
         try:
             assert jukebox.sp_access_token
             r = await client.get(
-                "https://api.spotify.com/v1/me/player/currently-playing?market=ES",
+                "https://api.spotify.com/v1/me/player/queue?market=ES",
                 timeout=40,
                 headers={"Authorization": "Bearer " + jukebox.sp_access_token},
             )
@@ -420,14 +420,30 @@ async def api_get_jukebox_currently(
                 try:
                     response = r.json()

-                    track = {
-                        "id": response["item"]["id"],
-                        "name": response["item"]["name"],
-                        "album": response["item"]["album"]["name"],
-                        "artist": response["item"]["artists"][0]["name"],
-                        "image": response["item"]["album"]["images"][0]["url"],
+                    current_track = {
+                        "id": response["currently_playing"]["id"],
+                        "name": response["currently_playing"]["name"],
+                        "album": response["currently_playing"]["album"]["name"],
+                        "artist": response["currently_playing"]["artists"][0]["name"],
+                        "image": response["currently_playing"]["album"]["images"][0]["url"],
+                    }
+
+                    upcoming_tracks = [
+                        {
+                            "id": track["id"],
+                            "name": track["name"],
+                            "album": track["album"]["name"],
+                            "artist": track["artists"][0]["name"],
+                            "image": track["album"]["images"][0]["url"],
+                        }
+                        for track in response["queue"]
+                    ]
+
+                    result = {
+                        "current_track": current_track,
+                        "upcoming_tracks": upcoming_tracks
                     }
-                    return track
+                    return result
                 except:
                     raise HTTPException(
                         status_code=HTTPStatus.NOT_FOUND, detail="Something went wrong"

that approach is correct, but you can't make the call from the frontend or you'll expose the access_token
It's fixed in #16


Refine PeriodType values and fix DateRange Bi-Week periodType support

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #167

PR #217   👈
PR #213
PR #192
PR #184
PR #146
PR #137

This stack of pull requests is managed by Graphite.

@jycouet This fixes DateRange's Bi-Week support.  I also refined the PeriodType values that made more sense, knowing it's a breaking change.  I also added fixed hasDayOfWeek(), getDayOfWeek(), and replaceDayOfWeek() and added some tests.
https://github.com/techniq/svelte-ux/assets/177476/88522804-c002-40c4-94e6-bd90f30f0663

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #167

PR #217   👈
PR #213
PR #192
PR #184
PR #146
PR #137

This stack of pull requests is managed by Graphite.


b2: Implement link sharing #2178

What is the purpose of this change?

Add link sharing to B2
Was the change discussed in an issue or in the forum before?

#2178
Checklist

[X] I have read the contribution guidelines.
[X] I have added tests for all changes in this PR if appropriate.
[X] I have added documentation for the changes if appropriate.

[X] I'm done, this Pull Request is ready for review :-)

@ncw
Build stalled due to #3154, Please rerun the CI
thanks

I tested Manually, however i was not able to run the integration tests, as they wont run with a applicationkey limited to a bucket.

That looks really good now - thank you.  Your solution to caching the bucketType looks very elegant - much better than my sketch!
I'll merge that now - thank you very much :-)

That looks really good now - thank you. Your solution to caching the bucketType looks very elegant - much better than my sketch!
I'll merge that now - thank you very much :-)

i just plagiarized getBucketID

also 2 related points that might need their own issue:

downloadurl is usually going to be used with a public bucket (technically one can pass the auth parameter through the cdn, but that is unlikely), now that BucketTypeis available does it make sense to put a debug warning wheredownloadurlis used with a private bucket (i wouldn't change the behavior as some might want to use the corner case, just issue a warning or notice so it can be noticed by the user)

If you wanted to add lots of links then using the API would be the way to do it, and if we don't cache the bucket type then we will be doing more calls to b2 than we need.

the downloadauthtoken can be for a fileprefix so a better way of many links (eg. a folder), would be to make one call to b2 authorizing the folder, then rclone can locally add the same token to every file link drastically reducing api calls, however this would need a separate PublicLinkFolder() function. said function can also be used from the commandline if passed a folder.
what do you think?

downloadurl is usually going to be used with a public bucket (technically one can pass the auth parameter through the cdn, but that is unlikely), now that BucketTypeis available does it make sense to put a debug warning wheredownloadurlis used with a private bucket (i wouldn't change the behavior as some might want to use the corner case, just issue a warning or notice so it can be noticed by the user)

Mmm, that would mean reading the BucketType unconditionally wouldn't it?  I think downloadurl is a niche enough feature that we should expect the users using it to know what they are doing.
Perhaps a note in the config docs for downloadurl about it only working on a public bucket?
https://github.com/ncw/rclone/blob/3f5767b94ed471cc8c521c7c4f06291c097c1573/backend/b2/b2.go#L133-L135

If you wanted to add lots of links then using the API would be the way to do it, and if we don't cache the bucket type then we will be doing more calls to b2 than we need.

the downloadauthtoken can be for a fileprefix so a better way of many links (eg. a folder), would be to make one call to b2 authorizing the folder, then rclone can locally add the same token to every file link drastically reducing api calls, however this would need a separate PublicLinkFolder() function. said function can also be used from the commandline if passed a folder.
what do you think?

The PublicLink is actually used elsewhere with a path to a file or a directory, eg
https://github.com/ncw/rclone/blob/3f5767b94ed471cc8c521c7c4f06291c097c1573/backend/drive/drive.go#L2100-L2105
The docs in fs/fs.go don't state this though which is an oversight.
So could we make it so if the user passed a path to a directory then it authorized everything in the directory?  How would that work?  What users are expecting to see is that if you share a directory you get an http link which shows a directory listing with files you can just download.

Perhaps a note in the config docs for downloadurl about it only working on a public bucket?

will do.

The PublicLink is actually used elsewhere with a path to a file or a directory, eg
https://github.com/ncw/rclone/blob/3f5767b94ed471cc8c521c7c4f06291c097c1573/backend/drive/drive.go#L2100-L2105
The docs in fs/fs.go don't state this though which is an oversight.
So could we make it so if the user passed a path to a directory then it authorized everything in the directory? How would that work? What users are expecting to see is that if you share a directory you get an http link which shows a directory listing with files you can just download.

since B2 is bucket based there are not really any directories.
right now if you pass it a folder it will authorize that folder, but the link wont do anything as it does not point to any file. (you can add the file path manually and it will work)
the only thing we can do for a folder is authorize once, then print out links for each file in the folder.
or i can filter the command that it only works on valid objects, and folders wont work as a limitaion of a bucket based remote
let me know what you think

Perhaps a note in the config docs for downloadurl about it only working on a public bucket?

will do.

Thank you

since B2 is bucket based there are not really any directories.
right now if you pass it a folder it will authorize that folder, but the link wont do anything as it does not point to any file. (you can add the file path manually and it will work)
the only thing we can do for a folder is authorize once, then print out links for each file in the folder.

I don't really like that idea it isn't what people expect for PublicLink.  People expect one link for a directory.

or i can filter the command that it only works on valid objects, and folders wont work as a limitaion of a bucket based remote

If you get a link for a directory then it is fairly easy to turn into a link for a file beneath that directory - maybe we should just document how to do that and leave the code how it is?

If you get a link for a directory then it is fairly easy to turn into a link for a file beneath that directory - maybe we should just document how to do that and leave the code how it is?

B2 gives a link like:
./rclone link remote:bucket/path/to/file.txt
https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx

if given the folder:
./rclone link remote:bucket/path

Currently rclone returns
https://f002.backblazeb2.com/file/bucket/path?Authorization=YYYYYY

which obviously does not work as it is not a valid file.
but said auth ?Authorization=YYYYYY will work on any file matching path so:
https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=YYYYYY
https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=YYYYYY
https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=YYYYYY

will all work.
while figuring this out i found a bug in the way i parsed paths for the auth.
submitting a PR with the fix and doc change

where is the best place to document this behavior? in the b2 doc or the link command doc?

I'd make a new subheading in the b2 docs, say ### B2 and rclone link  or something like that.

while figuring this out i found a bug in the way i parsed paths for the auth.
submitting a PR with the fix and doc change

Ah the old missing root problem!  (I've made that mistake many times!)
Will merge in a moment - thank you


ODHack: Documentation

Write a chapter of documentation as a markdown file in docs/ directory. One chapter = one component. First study the code, then document how to use it and how to customize it, if applicable. This documentation should be aimed at protocols looking to use Konoha and assume knowledge of Cairo Components.
Expected skill level: Junior Cairo developer
This issue can be assigned to multiple persons, multiple people can work on different parts of the docs in parallel.
Definition of Done
The documentation is clear, readable, not obviously written by AI, documents all available customizations when using the component and give simple usage instructions.
Assignment
This issue will be assigned to multiple contributors as each works on their own chapter.
Assigned so far:

airdrop @Joy-Adah
proposals @raizo07
token @AnoukRImola

hi

@tensojka I'll like to work on this, kindly assign

hi

I would like to contribute to this

Hi!  @tensojka please can I work on this?  :)

Could each of you select a specific chapter you would like to contribute first?
@AnoukRImola @raizo07 @Iwueseiter
@kateberryd @Gift-Naomi You can document the parts of the code you'll be working on and interacting with. If you wish to claim other parts, I will slightly prefer other contributors as you already have a task assigned.

Hy @tensojka can I get assigned  a part of this one please,I haven't been assigned any task yet

@gidson5 Please select a specific chapter you would like to contribute first.

Hi @tensojka I'll love to work on the airdrop chapter.

Okay @Joy-Adah , assigning you on the airdrop chapter. https://github.com/starknetfndn/defispring might come handy as that contract is similar and somehow documented.

Hi @tensojka, may I work on constants chapter?

@tensojka I'll like to work on the proposals chapter

@tensojka thanks!

@tensojka I would like to work on the token chapter :)

@Xaxxoo No as that is not really an appropriate chapter for user-facing documentation.

@Xaxxoo No as that is not really an appropriate chapter for user-facing documentation.

Can I take types chapter ?

can i be assigned this?

Hy @tensojka I'll love to work on the staking chapter

@gidson5 Please select a specific chapter you would like to contribute first

@tensojka Can I please work on the staking chapter?

@Xaxxoo
The types chapter is also not suited for user-facing documentation.
Given the recent misalignments with our documentation requirements, we will not assign you further tasks in Konoha.

@raizo07 Great, you have been assigned the proposals chapter

@AnoukRImola you have been assigned the token chapter. Document both the voting token (locked) and the floating token please.

@tensojka can i be assigned the Vesting chapter?

Note that I have now merged scaffolding for the mdbook in which you will work in #75 .
@AnoukRImola @raizo07 @Joy-Adah

@tensojka Can I work on the upgrades chapter?

@gidson5 Staking is not yet finished, I'm working on it, I will finish it in the next few days. Once the code is done, you can start working on the documentation.

@more-of-odeh Yes. Please coordinate with @Jemiiah who has #79 as streaming in vesting should be documented too.

@Ayoazeez26 Definitely yes, that's I would say the complex chapter. Make sure to document how custom proposals work. Refer to https://github.com/CarmineOptions/amm-governance for an example of a deployment of Konoha that uses custom proposals.

@gidson5 Staking is not yet finished, I'm working on it, I will finish it in the next few days. Once the code is done, you can start working on the documentation.

Alright cool.also it'll be nice if I'd be notified when it's ready so I can start.please

Will love to work on treasury.cairo

Hello, is there any chapter left I could work on?

Everyone, please note that the documentation should be user-level, not code-level. Imagine you are a protocol that is evaluating the use of a specific Konoha component for your usecase. Write what they might need to find in the docs – what can you and what can't you use the  for? Can you integrate it with Konoha only, do you need all of Konoha, does it depend on other Konoha functionality, or can it be used with other solutions too?
Again, this is not documentation for someone who will be adjusting the code!

@tensojka I'll send a PR for review today.

Done in https://github.com/CarmineOptions/konoha/pull/111


AzCopy stuck at Scanning when trying to download blobs from blob storage

Which version of the AzCopy was used?
Note: The version is visible when running AzCopy without any argument
AzCopy 10.3.4
Which platform are you using? (ex: Windows, Mac, Linux)
Windows 10
What command did you run?
azcopy cp https://spklcsidiag.blob.core.windows.net/csidiag/default/year=2020/month=3/day=26/hour=19/CSI_Attributes.json' 'C:\Users\Administrator\Desktop\data\attributes.json

Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
What problem was encountered?
Stuck at INFO:  Scanning... without any progress
How can we reproduce the problem in the simplest way?
Just try to download a blob from blob storage
Have you found a mitigation/solution?
No

Below is the exact command

PS C:\Users\Administrator\Desktop> azcopy login                                                                         INFO: If you set an environment variable by using the command line, that variable will be readable in your command line history. Consider clearing variables that contain credentials from your command line history.  To keep variables from appearing in your history, you can use a script to prompt the user for their credentials, and to set the environment variable.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code BTDE3KF6K to authenticate.

INFO: Logging in under the "Common" tenant. This will log the account in under its home tenant.
INFO: If you plan to use AzCopy with a B2B account (where the account's home tenant is separate from the tenant of the target storage account), please sign in under the target tenant with --tenant-id
INFO: Login succeeded.
PS C:\Users\Administrator\Desktop> azcopy cp 'https://spklcsidiag.blob.core.windows.net/csidiag/default/year=2020/month=3/day=26/hour=19/CSI_Attributes.json' 'C:\Users\Administrator\Desktop\data\attributes.json'                             INFO: Scanning...


Fix AudioStreamPlayer icons, improve audio resource picker styling

Fixed AudioStreamPlayer/2D/3D icons not having their colors replaced by the icon loader, (same issue as in #91821, I searched in the files and this seems to be the last files with this issue, could be worth checking this in-code or pre-commit?).
Fixed the EditorStreamResourcePicker styling in light mode being broken and made some tweaks to it:

Added a little more padding to the icon so it's not so close to the edge when the focus ring is around it
Removed the colored rect that it was drawing around the preview, it looks better without it IMO
Fixed it using the default font color when drawing the label

Before
After

Rebasing after the icons ended up getting fixed by #92766, so that leaves the background and margins.

Thanks!


KNodeCycles.k6_cycle correctness

Do you by any chance have a reference for the 6-cycle count formula in Appendix B2? I am having a hard time matching the formula (or the implementation in KNodeCycles.k6_cycle) to that of Chang and Fu 2003. Thank you!

I think that we took it from https://mathworld.wolfram.com/GraphCycle.html

On 26 Apr 2023, at 11:23, Haoming Li @.***> wrote:
Do you by any chance have a reference for the 6-cycle count formula in Appendix B2? I am having a hard time matching the formula (or the implementation in KNodeCycles.k6_cycle) to that of Chang and Fu 2003 https://www.math.nycu.edu.tw/research/DOWNLOAD_FILES/hlfu/85. The number of 6-cycles in a graph.pdf. Thank you!
—
Reply to this email directly, view it on GitHub https://github.com/cvignac/DiGress/issues/36, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJOOTVHCFOTGT7SXYDKRK3XDDSQBANCNFSM6AAAAAAXME3W3Y.
You are receiving this because you are subscribed to this thread.


Cost Not applied - Error message: Cannot read properties of undefined (reading 'cost')

Versions:
FVTT 0.8.8
DND5e 1.4.1
Enhanced Terrain Layer 1.0.32
Terrain Rules: 1.4.0
Drag Ruler: 1.8.1
Steps:
1 - Create terrain layer with cost of 2
2 - Drag token accross it
3 - Error message in console and no change in calculations

For some reason, the module didn't load correctly although it was marked as enabled. After a refresh, it's working


Python 2 in extras/courses

The following courses in extras are still being taught in Python 2.

Introduction to Computer Science (Udacity)
An Introduction to Interactive Programming in Python (part of the Fundamentals of Computing Specialization)

The second one can be replaced by the Introduction to Scripting in Python Specialization taught by the same people, but the first one has no replacement afaik. Is it time to remove these courses from extras/courses?

Python 2 end of life date is 2020. Numerous courses are still taught in Python 2. And a sizable minority of programmers still use Python 2 as their primary version.
What's more, we aim to evaluate courses on their academic qualifications rather than their tooling. If a course has a flawed approach to CS, we should look for an alternative. But an excellent course that uses a slightly older language is... an excellent course.


Add rtl languages support

Implement support of rtl languages.
What we need:

To know which languages are rtl
dir="rtl" for <html> and dir="auto" for user-generated content in case of rtl language
Special CSS in case of rtl language

Few useful resources:

Info about rtl/ltr languages: http://transifex.com/api/2/languages
Module to load this page dynamically into Grunt: https://github.com/request/request
Easy swapping of CSS rules for rtl languages: https://github.com/ded/R2

Some basic functionality:

page.rtl will return true for rtl languages.
<html> receives dir='rtl' based on page.rtl

Relevant: https://github.com/MohammadYounes/rtlcss

Okey, since it isn't relevant for us right now, I don't see the reason to keep it open.
If someone will need that functionality, just ping us, we will reopen issue and see what can be done.


Values for non-Rancher apps are not present in the API request when installing/upgrading

rancher/rancher:master-head 198ec5b

Deploy a cluster and navigate to dashboard apps
Select a non-Rancher app to deploy (partner chart or add your own repo)
When installing the app, change some values

Select the haproxy partner chart, and in Settings change the deployment type to Daemonset and service type to Load Balancer

Install the app
The values are not set in the request, and the app deploys with default settings

{
  "charts": [
    {
      "chartName": "haproxy",
      "version": "1.4.300",
      "releaseName": "haproxy",
      "namespace": "haproxy",
      "values": {
        "global": {
          "cattle": {
            "clusterId": "c-p7dtq",
            "clusterName": "test-52296",
            "systemDefaultRegistry": ""
          }
        },
        "systemDefaultRegistry": ""
      }
    }
  ],
  "noHooks": false,
  "timeout": "600s",
  "wait": true,
  "disableOpenAPIValidation": false,
  "skipCRDs": false
}

The same behavior occurs on upgrading, though in case of upgrades, the Version is set correctly

rancher/rancher:master-head 31d7ad3

Values are now being set in the API request and can be seen in helm values

{
  "charts": [
    {
      "chartName": "docker-registry",
      "version": "1.9.2",
      "releaseName": "dr6",
      "namespace": "default",
      "values": {
        "service": {
          "type": "NodePort",
          "nodePort": 30004
        },
        "global": {
          "cattle": {
            "clusterId": "local",
            "clusterName": "local",
            "systemDefaultRegistry": ""
          }
        },
        "systemDefaultRegistry": ""
      }
    }
  ],
  "noHooks": false,
  "timeout": "600s",
  "wait": true,
  "disableOpenAPIValidation": false,
  "skipCRDs": false
}


Compilation of the_Foundation fails on OpenBSD

Compilation of the_Foundation fails on OpenBSD with the following error:
/home/wl/build/lagrange/lib/the_Foundation/src/platform/posix/address.c:66:27: error:
      use of undeclared identifier 'AI_V4MAPPED_CFG'
    const int hintFlags = AI_V4MAPPED_CFG | AI_ADDRCONFIG | (isEmpty_String(...

I'm compiling with OpenBSD clang version 10.0.1 on OpenBSD-current, though the issue also exists on 6.8.
I tried messing around with the ifdef above
     60 #if defined (iPlatformLinux) || defined (iPlatformMsys) || defined (iPlatformCygwin)
     61 #   define AI_V4MAPPED_CFG  AI_V4MAPPED
     62 #endif

with no real success.

This is with the release branch? A couple of changes were required for OpenBSD, they are currently in the dev branch.
I'll probably put these in 0.7.1 with some other fixes.

Oh cool, thanks! That's great.
I'm actually pretty interested in what you needed to change from OpenSSL/LibreSSL, because there's a few other programs I tried to compile recently failing with similar errors. I'll be sure to check it out.

Actually, even with the most recent version a change is needed in lib/the_Foundation/CMakeFiles/the_Foundation.dir/src/tlsrequest.c getting a non-constant reference with X509_getm_notAfter(d->cert) instead of X509_get0_notAfter(d->cert) on line 270.

Which SSL library/version are you using? I haven't seen that error with OpenSSL 1.1.1h on OpenBSD 6.8, where I did my debugging.

I am using the default in OpenBSD 6.8, which is LibreSSL 3.2.2.

However, after that, it does compile
I'm not seeing a ASN1_TIME_to_tm() in LibreSSL 3.2.2, and that is called on tlsrequest.c:270. Did you change something with regard to that?

Sorry, previous message wasn't so clear. Had to switch to X509_getm_notAfter(d->cert) because I needed a mutable reference for ASN1_TIME_set_tm, which LibreSSL does have.
diff --git a/src/tlsrequest.c b/src/tlsrequest.c
index 919eb9f..de2a49d 100644
--- a/src/tlsrequest.c
+++ b/src/tlsrequest.c
@@ -267,7 +267,8 @@ void validUntil_TlsCertificate(const iTlsCertificate *d, iDate *untilDate_out) {
     iZap(*untilDate_out);
     if (d->cert) {
         struct tm time;
-        ASN1_TIME_to_tm(X509_get0_notAfter(d->cert), &time);
+       ASN1_TIME* temp = X509_getm_notAfter(d->cert);
+        ASN1_TIME_set_tm(temp, &time);
         initStdTime_Date(untilDate_out, &time);
     }
 }

Nice, I'll adapt this so it works with both libraries.

Thanks! Lagrange is great. I may look in to packaging it for OpenBSD's ports, if I'm still using it in a few weeks.

FYI, I ended up with this code because ASN1_TIME_set_tm() actually does the inverse of what is expected here.

That's what I get for just guessing, I guess... thanks!