checkpointing when writing in BigQuery?

I have a doubt in relation to writing on BigQuery.
Apparently there is checkpointing in place while writing data to bigquery.
However data is written twice when the spark context is stopped and resumed. It seems that the state is not saved.
The source code is essentially as follows:
val spark = SparkSession.builder
    .master("local[2]")
    .appName("ParquetToBQIngestion")
    .config("spark.streaming.stopGracefullyOnShutdown","true")
    .getOrCreate()

val df = spark
    .readStream
    .option("checkpointLocation", "./data/checkpoint")
    .schema(schema)
    .parquet("<DIRECTORY_WITH_A_STREAM_OF_PARQUET_FILES>")

  val stream = df.writeStream
    .option("checkpointLocation", "./data/checkpoint")
    .option("tableReferenceSink","<TABLE>")
    .format("com.samelamin.spark.bigquery")
    .outputMode("append")
    .start()
    .awaitTermination()

Hi @lnicalo sorry for the late reply I was away. I will have a look at this when I get a chance today. There shouldnt be duplicate writes but there might be a bug with the writeahead logs

@lnicalo I just released a fix for this, should be available on databricks soon. Version 0.1.5

Tested on my side. Thank you.


Error building on macOS

Steps to Reproduce and Observed Behavior
➜  simulations git:(main) git log -1 | tee
commit 4a0f3eb7ef0d72f536bc3a939efcd0ad0a29870f
Author: Connor Rowland<EMAIL_ADDRESS>Date:   Mon Aug 7 00:35:44 2023 -0700

    Write to mapped buffers immediately

➜  simulations git:(main) zig build
zig build-lib zgui Debug native: error: error(compilation): clang failed with stderr: /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/backends/imgui_impl_wgpu.cpp:27:10: fatal error: 'webgpu/webgpu.h' file not found

zig build-lib zgui Debug native: error: the following command failed with 1 compilation errors:
/Users/jonas/src/zig/zig/build/stage3/bin/zig build-lib -cflags -fno-sanitize=undefined -- /Users/jonas/src/zig/simulations/libs/zgui/src/zgui.cpp -cflags -fno-sanitize=undefined -- /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/imgui.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/imgui_widgets.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/imgui_tables.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/imgui_draw.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/imgui_demo.cpp -cflags -fno-sanitize=undefined -- /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/implot_demo.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/implot.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/implot_items.cpp -cflags -fno-sanitize=undefined -- /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/backends/imgui_impl_glfw.cpp /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/backends/imgui_impl_wgpu.cpp -lc++ -lc --cache-dir /Users/jonas/src/zig/simulations/zig-cache --global-cache-dir /Users/jonas/.cache/zig --name zgui -static -I /Users/jonas/src/zig/simulations/libs/zgui/libs -I /Users/jonas/src/zig/simulations/libs/zgui/libs/imgui -I /Users/jonas/src/zig/simulations/libs/zglfw/libs/glfw/include -I /Users/jonas/src/zig/simulations/libs/zgpu/libs/dawn/include --listen=-
Build Summary: 7/12 steps succeeded; 1 failed (disable with --summary none)
install transitive failure
└─ demos transitive failure
   └─ install exe transitive failure
      └─ zig build-exe exe Debug native transitive failure
         └─ zig build-lib zgui Debug native 1 errors
/Users/jonas/src/zig/simulations/libs/zgui/libs/imgui/backends/imgui_impl_wgpu.cpp:1:1: error: unable to build C object: clang exited with code 1

Zig version and build environment
➜  simulations git:(main) sw_vers; clang --version; zig version
ProductName:		macOS
ProductVersion:		13.5
BuildVersion:		22G74
Homebrew clang version 16.0.6
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
0.12.0-dev.47+0461a64a9

Expected result
No errors

Thanks for this! My local git repo was still viewing zgpu/libs/dawn as a submodule so it would ignore the updated zgpu dawn library. It should work now.

Thank you. Yes, it builds just fine now! And the demos look good.
Resource simulation is smooth and and fun to play around with. The resource editor is a cool idea and it feels very responsive on my machine. The signal explorer also gives nice and nearly instant feedback.


Added support for custom icons in android.

@darthdie I pulled your fork and reworked the commits to be a single commit. Can you verify that this branch still works?

Yup, working well on my end. Apologies for the commit trouble, thanks for the help

@BuddyLReno @darthdie can one of you please give some instructions on how to get this working on android? I have placed a notification.png in the platforms/android/res/drawables* folders and passed notificationIcon: 'notification' in the MusicControls.create() function.
I had previously used this same image when I manually changed the Java code before this notificationIcon was added. It was working then. However now it is for some reason not working. Anything else I need to do to register the drawable? thanks

nm looks like I got it working by adding resource tags to my config.xml in my Ionic app:
For example I did this for each drawable folder

...

So,...any instructions? Thanks!


Turn off formatting output

Is there a way to turn off logging output for the formatting when it runs?

Do you want to turn off the whole maven output or just the plugin output?
During the pre-commit hook and/or the manual formatting?
There is currently no way. But I am open to suggestions.

I’d like to turn off the plugin’s output. We have a lot of files in our
project and Travis fails builds when the logging output is too long. And
given the plugs outputs a line for each file processed it has started
failing for that reason.
Sent from Gmail Mobile

So is that a no on this being an enhancement?

The enhancement is implemented.
Take a look at the related commit

@reda-alaoui Ah, sorry, I didn't realize it was closed with a commit. Thank you!

No worry :)
It is available since my previous comment.


Don't mention pollution in item tooltips

Delete the pollution information in items and modules so it doesn't appear in their tooltips as, with Pacifist enabled, pollution doesn't do anything. Pollution is still mentioned in two other places: it has a tab on the production statistics dialog and there's a button on the map screen to show it.
https://forums.factorio.com/viewtopic.php?f=58&t=103550 suggested Factorio do this itself when you disable pollution, but there Rseding91 said they don't intend to do so.

Also, on the Discord, exfret mentioned the https://lua-api.factorio.com/latest/prototypes/BurnerGeneratorPrototype.html#burner property, which I had missed when I made this, so I need to check if I need to modify that, too.


Summary of implemented fs

Could you add a little summary of what the different implemented filesystems are? I can't really tell just by browsing what ufs is for example.

Ufs looks similar to u9fs in Plan 9.


Async errors passed as strings instead of Error objects

There are a few places, like here and here, where the async method gets passed a string instead of an Error object.  This breaks from Node.js conventions, and it also reduces the amount of information available to the receiver of the error (e.g., the stack trace).
If you're okay with it, I can submit a PR to change the errors to Error objects.  The fix is easy, but could potentially cause compatibility issues if people using this library already have code written to handle the string errors.  On the other hand, it's better to make this fix sooner rather than later.

I'm okay with this!


chore: add dependabot config

[x] add dependabot config

group dependency updates when minor/patch to reduce PRs
keep major dependency updates separate for visibility and testing

[x] change workflow actions to SHAs instead of tags to secure supply chain

tags are mutable and malicious code could be injected, SHAs are immutable
format workflows
used frizbee locally to do this

frizbee ghactions -d .github/workflows

Thanks for these improvements!


Fixed the docs URL in HTTP API responses

This pull request resolves #1173
I also fixed the associated unit tests.

Codecov Report

Merging #1178 into master will not change coverage.

@@           Coverage Diff           @@
##           master    #1178   +/-   ##
=======================================
  Coverage   96.92%   96.92%
=======================================
  Files          49       49
  Lines        2279     2279
=======================================
  Hits         2209     2209
  Misses         70       70

Continue to review full report at Codecov.

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


QA gifs in modeling section - web accessibility team

These are important for illustrating this process and making it accessible, but we are also aware of flash concerns. Can someone in accessibility review these in context and give feedback?

This would be great - they have relatively long alt text descriptions.


DCC: Infrastructure

Implement the DCC Flow (as a stub at this phase) within BgActor
Prepare the ground for logging, reporting etc.

Tested on Viper release candidate.
As of now, the data consistency crawler runs as 2 streams (regular and priority) in existing bgActor.
Reporting it's finding in crawler.log under bg logs folder.
Moving this issue to Done.


Feature: Guns

TY ohnoihaveforgotmyname for models
Adding:

Revolver > 6 shot cylnder
Repeater rifle > 12 shot internal magazine
Shotgun > Single shot break action

Will have programmed animations (so hot)
RAHHH 🦅🦅🦅🦅🦅

U got this?

fr
(i dont respect my time)


Implement recent and saved queries page

Description of changes:
Implement the page for recent queries

Add query to recent queries page when a query is run
Persist the recent queries in localStorage for availability across reopening the app (works offline)
Add ability to delete queries from history
Add ability to run queries from the recent queries page

This changes the page to Editor and creates a new tab with the content from the selected queries (1 or many)

Add saved queries page with similar functionalities of recent queries page
Also fix a bug where the results total was incorrect - caused by multi-statement feature
Add sorting to tables

https://user-images.githubusercontent.com/1015894/129230316-76867d05-f668-470b-88fb-15bd25b8a766.mov
https://user-images.githubusercontent.com/1015894/129257913-857178eb-c8f9-49e0-a721-e630730eb9ed.mov
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Do we have any thoughts on saving recent queries in local storage? Seems we still want to rely on dbqms on console while we also want to import workbench on console.

Do we have any thoughts on saving recent queries in local storage? Seems we still want to rely on dbqms on console while we also want to import workbench to console.

For Workbench I think it makes sense to use localStorage (or file, or anything local) so that it can be used offline, which is one of our future features.
I do aggree, though, that it would be ideal to have some integration with dbqms, so that queries can be sync'd between workbench & console. However, for this we need first to open dbqms, since it's internal-only now.
When we get to that stage, I think we could have an integration with both: localStorage for offline use and updating/reading from dbqms for synchronization with Console


SLING-5752 - SimpleHttpDistributionTransport does not leverage configured scheme from distribution endpoint

Pass scheme from distribution endpoint when building Executor's HttpHost

I've merged this in r1746247


Bloom Ai

Hello,
Good job and congrats for NEURIPS 2022 !
Do you plan to support Bloom AI from BigScience ? If not, could you give me some clues to do it ?
Thanks for your come back.

Hi @lecrycry -- Thank you for your interest in work!
I wonder does huggingface support Bloom AI models? Because contrastive search has been integrated to huggingface transformers and will be released in their new release of next month. Do you think it will be helpful?

Yes Huggingface supports Bloom AI so I think it will work correctly with the next release.
Last question, do you know if their new release will integrate Contrastive search training as well ? Or only for the inference ?
Thanks a lot.

Hi @lecrycry -- They will first integrate the contrastive search only. The contrastive training might be integrated in the future.


Investigate and consider increasing build server shutdown timeout in tests

https://travis-ci.org/aspnet/Razor/jobs/349921394#L2732
Now that we are spawning multiple build servers at the same time during tests, shutting them down is taking longer than 1 minute. Need to investigate exactly why and maybe increase this timeout to prevent this failure.
cc @pranavkm

e085441ad3e9233b096e0e485b33cf1a07a390ef


UI Changes and Bug fixes

Some of the UI changes and bug fixes.
New Configurations added in layouts and search

Old PR's


Add several classes to strings

Hi,
I would like to, for several words add one class and for some other words second class etc.
I manage to do this, but is there any way to write it cleaner? I did not find anything in your docs.
$(".context").mark("word1 word2", {
    "element": "span",
    "className": "red"
});
$(".context").mark("word3 word4", {
    "element": "span",
    "className": "green"
});

Here is my fiddle
I am using latest mark.js
Thanks!

Hi @gNesh01,
Thanks for submitting. Please participate yourself in #26, as this seems to be exactly what you want.


Llvm gipackages 12 compiler rt fix share install path

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Oops, didn't meant to open this PR...


Permission Overwrites for blocking @everyone from seeing channel

This is maybe not an issue with the library - but after 2 hours of research I can't work out why it's not working.
I am creating a new channel, and would like to block @everyone from seeing the channel, and only allow a few roles to see it. The few roles can see it (working), but the blocking @everyone is not working.
Any ideas?
// create a new channel and stuff
$options = [
    'name' => $channelName,
    'position' => 0,
    'permissionOverwrites' => [
        [
            'id' => config('one.role_ids.everyone'),
            'type' => 'role',
            'allow' => 0,
            'deny' => 1,
        ],
        [
            'id' => $message->author->id,
            'type' => 'member',
            'allow' => 1,
            'deny' => 0
        ],
        [
            'id' => config('one.role_ids.officer'),
            'type' => 'role',
            'allow' => 1,
            'deny' => 0
        ]
    ],
];

$message->guild->createChannel($options);

Sorry, got it working as soon as I posted this. Use bits not tiny ints. heh.


Update Composer dependencies (2023-04-04-00-10)

Visual regression test passed!
View the visual regression test report


Can not select code with mouse

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: Version: 1.77.1 (user setup)
Commit: b7886d7461186a5eac768481578c1d7ca80e2d21
Date: 2023-04-04T23:21:11.906Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: Yes
OS Version: Windows 11 and WSL2(both have problem)

Steps to Reproduce:

I have the same problem as #145613.
Although I have try what was mentioned, it did not working. Even I have uninstalled and reinstalled the software and plug-ins.
Nothing errors in the console (Help > Toggle Developer Tools)

What makes it odd is that the same problem occurs in the online vscode. But I can select text etc. in other pages in the browser.

@alexdima thanks. This is my result.

Yeah.

@hyperbolic-c Thank you for your prompt reply. Given what you have shared, it seems that everything should be working, as we're using the same browser events in VS Code. Could you please also try opening https://vscode.dev in Chrome? Does selecting with the mouse work there?

@alexdima I have try the web online. Same problem...

@alexdima It may be the problem of my computer hardware. Thanks for your patient answer.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


RangeError: IPC ID must be between 0-9

The script can't seem to detect Discord. I'm on the latest version of the stable branch.
This is what I get when I manually run the script:
Client {
  ipc: DiscordIPC {},
  user: undefined,
  config: undefined,
  token: undefined,
  tokenExpires: undefined,
  application: undefined,
  options: { id: "..." } <-removed
}

Display current activity is enabled in Discord
macOS 13.1, Discord Stable 168826 (3146690)

I used these commands, in these order, to install:
brew install deno
brew tap nextfire/tap
brew install apple-music-discord-rpc
brew services restart apple-music-discord-rpc

None of them gave any errors during the install. which deno also points me to the path.

Is there any other logging besides the Client one?

RangeError: IPC ID must be between 0-9
    at getIPCPath (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/util.ts:14:31)
    at findIPC (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/util.ts:30:16)
    at findIPC (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/util.ts:41:12)
    at async Function.connect (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/conn.ts:40:18)
    at async Client.connect (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/client.ts:85:16)
    at async main (file:///usr/local/Cellar/apple-music-discord-rpc/0.5.0/bin/music-rpc.ts:70:5)

   NotFound: No such file or directory (os error 2)
    at async Object.readTextFile (deno:runtime/js/40_read_file.js:56:20)
    at async Function.loadCache (file:///usr/local/opt/apple-music-discord-rpc/bin/music-rpc.ts:27:20)
    at async start (file:///usr/local/opt/apple-music-discord-rpc/bin/music-rpc.ts:63:3) No valid cache.json found, generating a new cache...
BrokenPipe: Broken pipe (os error 32)
    at async write (deno:ext/net/01_net.js:27:12)
    at async DiscordIPC.send (https://raw.githubusercontent.com/harmonyland/discord_rpc/ba127c20816af15e2c3cd2c17d81248b097e9bd2/src/conn.ts:81:5)

Can you try this https://github.com/NextFire/apple-music-discord-rpc/issues/43#issuecomment-1321221961 and report me what you see in the Discord console?

Sorry for the late response, it just started working again. I changed my status from online to invisible then online again, then restarted discord and it worked. Thanks again.


A11y_SQLAzureDataStudio_ConnectToASQLServer_ConnectionDetails_ScreenReader: Table mark-up announced unnecessarily below connection details tab.

“Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:#A11yMAS;#A11yTCS;#SQL Azure Data Studio;#DesktopApp;#Win32;#MAS1.3.1;#NVDA;#Benchmark;#A11y_SQLAzureDataStudioBenchmark;#A11ySev2; #JAWS;
Environment Details:
Version: 1.16.0-insider
Commit: 506c6a5e5f8423d3249670f55b1466b1980a5f03
Date: 2020-02-17T05:43:18.399Z
VS Code: 1.42.0
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
Additional Details:
Screen reader: NVDA(2019.3.1), JAWS(2020.2001.70)
MAS reference: MAS1.3.1
Repro Steps:

Launch Azure Data Studio.
Select the Connections icon (if not already selected) from left bar.
Hover over the 'Servers' header and select the 'New Connection' icon.
Navigate to connection details.
Launch NVDA and navigate inside connection details screen.
Check if all announcements are made properly by screen reader.

Actual:
After navigating to the connection details screen, unnecessary table markup is being announced/assigned to the label and input fields present on the page.
Same issue observed with JAWS also.
Expected:
While navigating under the connection details screen no table markup should be announced for labels and input fields unless they are visually identified as a table.
User Impact:
Users might get confused as there is no table present yet the table markup is assigned to all the labels and input fields.
Attachment link reference:
9185_A11y_SQLAzureDataStudio_Connect to a SQL Server_Connection Details_ScreenReader.zip

@v-atkulk please fix the attachment link, i am not able to access it and i am not able to figure out what is wrong by reading the description.

please reactivate the issue after fixing the attachment. i am closing the issue as it is not actionable for me.

Now issue is not reproducing.
GitHub Tags:#Closed;

GitHubTags:#SQLADS-Win32-Feb2020;


[Fix][UI Next][V1.0.0-Alpha] Fix the title and alarm group not hidden when the sql type is non query in SQL.

Purpose of the pull request
This pull request fixs the title and alarm group not hidden when the sql type is non query in SQL.
Releated issues
close #9154

Codecov Report

Merging #9157 (30bda2a) into dev (926fad8) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #9157      +/-   ##
============================================
+ Coverage     40.28%   40.29%   +0.01%
- Complexity     4366     4368       +2
============================================
  Files           808      808
  Lines         32569    32569
  Branches       3650     3650
============================================
+ Hits          13119    13123       +4
+ Misses        18220    18218       -2
+ Partials       1230     1228       -2

Impacted Files
Coverage Δ

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.52% <0.00%> (+2.81%)
:arrow_up:

Continue to review full report at Codecov.

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


Mcycle register doesn't get updated

@CharlyCst We don't emulate the mcycle register correctly

In general yes, we don't have emulation in place for performance counters.
Those would need some proper reflexion and clear design choices (e.g. do we want to allow counter the events in Miralis? How much overhead are we ready to introduce for performance counters emulation?), it is not a trivial feature.

@CharlyCst I think we need them to be able to benchmark the code.
I don't see why we would not want to allow the counter events in Miralis, can you expain me your argument?
Regarding performance, we don't need a second trap, we can simply allow ready mcycle in U-mode. It seems there is something like that in the documentation.

So this is a typical case where we would need to multiplex resources (e.g. the counters) across multiple contexts.
Miralis itself might want to use the performance counters (and we do when enabling benchmarking in the config), the firmware and the payload might want to use them too. So we have a finite set of registers that we need to share among Miralis and the firmware/payload. If we don't do this we might create conflicts and unpredictable results (e.g. the firmware resetting the counters used by Miralis).
We already multiplex some resources, such as the PMP for instance (some are reserved for Miralis, others are usable by the firmware). The hard part with multiplexing is taking into account all of the interactions that the multiplexed resources has with other resources/events. For instance there are counter inhibit registers, which would also need to be multiplexed to properly reproduce the semantic of the performance counters.

I didn't know we could reset the counter. In that case my implementation would not work. Let's see what we could do here. Maybe we can read from CLINT as alternative. What do you think about that? It seems CLINT has no reset


sql/upsert wrong

All ints will be like this

Hey @youngkai and thanks for reporting this.
What version do you use? Can you try to test it on the latest master version? Thanks 🙏
go get entgo.io/ent@master

not work

ent v0.10.0  is perfect  thx @a8m


Support other endianness and different integer sizes

Our tag-length-value use case is to unpack binary messages from IoT sensors, specifically data sent over LoRaWAN. Many sensors use a tag-value structure, where the length isn't encoded in the message. Eg the tag 0x01 is associated with a 4-byte unsigned integer and tags 0x02 and 0x03 are 1-byte unsigned integers, etc.
I'm considering using your library as a starting point, but extending it with support to change endianness and different sizes of integers (eg by using the struct module). Does that sound like a good plan, and if so, would you consider adding this support if we provide the patches?

That sounds nice. Feel free to update the code and the feature you find necessary. When you're done (or if you already are), just create a pull request and I'll gladly review and merge it.
Please, just don't forget to add documentation and some unit test for it.


Update docs for the ORAS workflow

Signed-off-by: Anlan Du<EMAIL_ADDRESS>Description
It looks like the AAD schema has the objectid under the field "id" rather than objectId (see screenshot) so I thought I'd see if this change seemed right to you all! Thank you!
(Sorry for bad branch name, did edit in ui)
Fixes N/A
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration
Checklist:

[ ] Does the affected code have corresponding tests?
[ ] Are the changes documented, not just with inline documentation, but also with conceptual documentation such as an overview of a new feature, or task-based documentation like a tutorial? Consider if this change should be announced on your project blog.
[ ] Does this introduce breaking changes that would require an announcement or bumping the major version?
[ ] Do all new files have appropriate license header?

Fixed by https://github.com/deislabs/ratify/pull/371!


Modal in a « tabs »

I have a problem. I am using angular and I have a directive with a template which use a modal. When I put the directive into a tabs element and I trigger the modal, my modal does not appear but the lean-overlay is here.
The solution would be to put the modal out of the tabs element but it's completely impossible for me, so if you have a solution to fix this, it would be awesome !
Thanks.

Sorry, it was a mistake from me...I close it.


Admins should be able to access the instructor dashboard(s)

@vpnagraj

@danfunk i can confirm that i was able to log in and view the instructor dashboards for christina's workshops ... thanks for including this feature, will be a big help

@danfunk I second what Pete notes -- I can access dashboards for workshops taught by other instructors.


Add logger.h as header for logger_lib

Signed-off-by: James Buckland<EMAIL_ADDRESS>title: Add logger.h as header for logger_lib
Description: This fixes an issue which was breaking bazel.coverage during local docker coverage runs, which runs (in docker) on bazel version 0.10.0. I think this issue arose in #3104, which differentiated between :minimal_logging and :logging. Running bazel coverage locally has been broken since then. Different versions of bazel will handle a transitive dependence issue differently, but I would prefer to be explicit about it.
Running bazel.coverage on (master)
jbuckland@ ~/gh/envoy
$ ./ci/run_envoy_docker.sh 'BAZEL_EXTRA_TEST_OPTIONS="--test_env=ENVOY_IP_TEST_VERSIONS=v4only" ./ci/do_ci.sh bazel.coverage'
...
INFO: Analysed target //test/coverage:coverage_tests (381 packages loaded).
INFO: Found 1 test target...
ERROR: /source/test/common/common/BUILD:35:1: undeclared inclusion(s) in rule '//test/common/common:fmt_test_lib':
this rule is missing dependency declarations for the following files included by 'test/common/common/fmt_test.cc':
  'bazel-out/k8-dbg/bin/source/common/common/_virtual_includes/logger_lib/common/common/logger.h'
Target //test/coverage:coverage_tests failed to build
INFO: Elapsed time: 21.565s, Critical Path: 7.06s
FAILED: Build did NOT complete successfully
Executed 0 out of 1 test: 1 fails to build.

Running bazel.coverage on (fix-logger-header-deps)
jbuckland@ ~/gh/envoy
$ ./ci/run_envoy_docker.sh 'BAZEL_EXTRA_TEST_OPTIONS="--test_env=ENVOY_IP_TEST_VERSIONS=v4only" ./ci/do_ci.sh bazel.coverage'
...
390,879 bytes  received 10,963 bytes  62,803,684.00 bytes/sec
total size is 31,306,616  speedup is 1.00
Code coverage 98.2 is good and higher than limit of 98.0
HTML coverage report is in /build/envoy/bazel-envoy/generated/coverage/coverage.html

Risk Level: Low
Testing: Ran bazel test //test/... locally, all passed.

I also ran into this. It only happened when I had already built in the same workspace with a commit prior to the assert/logging change, then built with the change. Wiping out all the bazel output "fixed" it. So I assumed it was a bazel bug where it cached something in the dependency tree and didn't properly update it when it changed.

@ggreenway Thanks, this worked for me. Weird, but glad there's no need to fix this upstream by messing with BUILD files.

The rule is that if you have a #include "common/logger/logger.h", you must depends directly on a cc_library that exports it via hdrs. For the full details, you can see https://docs.bazel.build/versions/master/be/c-cpp.html#hdrs. Bazel doesn't properly enforce this, OTOH, it might in the future and you can get undefined behavior if you don't do it.


Fix SelectionState’s hasEdgeWithin

Fixes #1700, which includes a detailed description and reproduction of the issue.
Hopefully it's ok that I refactored the true/false assertions not to use snapshots; I found them confusing and tedious and figured it was probably just an artifact of migrating to Jest a long time ago.

@andrewbranch - thanks for putting up this fix. I won't get a chance to review until next weekend, but if you could rebase on master in the meanwhile, that would be a big help!

@niveditc done 👍

Next steps are that:

I'll import this and run FB's test stack
Do a few sanity checks in the browser
Provided the steps above are successful, I'll merge it in tomorrow. In the slim chance that something breaks, it's better to do a risky merge on a weekday than a weekend.


CPI to create DRS rule to disable VM from DRS.

Feature Request
Detailed Description
BOSH CPI for vSphere has the ability to create DRS rules, but only for separation.  We'd like to be able to create a rule which tells DRS to disable itself for a specific type of VM.
Context
Currently the customer would like to use Fully Automated DRS as per our recommendation, but cannot tolerate the potential for clock skew if v-motion occurs for the Diego cells.  Therefore, it would be good to disable DRS for these VMs altogether.
Possible Implementation
Cluster-level manipulation, instead of VM-level
Complexity

[ ] Low - Simple enhancement or bug fix, no architectural changes or refactoring
[X ] Medium - Change requires some thought, but is relatively isolated
[ ] High - Significant architectural change or large refactor

If we can do this today with BOSH, I am willing to propose it as a potential solution to try.

@agregory999  - We can not do this today in BOSH. We will take this as a feature request. For now, I would suggest going with the approach I mentioned on slack.

@yeshwantbabar What about for environments that scale dynamically. Having someone trying to pin the VMs manually is not reliable enough. Do you have any other suggestions for a workaround to set the VM Override so the DRS Automation Level can be controlled by Bosh?
Is there a way to have a Bosh create trigger a script that would in turn set the VM Override for DRS Automation Level? If Bosh can pass the VM name to like the following script example https://github.com/vmware/rbvmomi/blob/master/examples/vm_drs_behavior.rb after the create this might work as a workaround. Could probably have the script run from the same box as Bosh.
Other idea is have a script that is injected to the VM that will set the DRS Automation Level for all VMs with a specific Custom Attribute Key:Value. Problem would be having the password in the script is concerning.

This is what I had mentioned in slack -

Right now, customer could select all the Diego cell VMs and disable DRS on them. Documented here :http://www.yellow-bricks.com/2018/03/28/disable-drs-for-a-vm/ This has the obvious drawback which is, if the VMs get recreated you will need to keep updating this.

Is this not an acceptable solution?

This is a workaround we can accomplish via script, correct.  However the enhancement request to have BOSH be able to affect this change automatically via the CPI is what we are after.  We'd like to be able to have this set directly upon VM creation.

@agregory999 @dbarkelew  - What I am suggesting above is just as a workaround in the meantime while we add this functionality. My understanding was that customer wants to solve this problem ASAP.  As I have mentioned on slack, we are open adding this new functionality. but It will take some time for us to implement this and have OM pick it up.  Rest assured, this will be available in the next CPI release.

Right now trying to figure out some ad hoc script to achieve the same because there is a huge push to have this everything ready in December since the go live is beginning of January. Any thoughts if the next release has a possibility of being released before the deployment official go live? (Is already live on a limited bases.)
Got something to handle when cells are created however there are a few issues with Bosh redeploying VMs as a corrective a measure. Finding an event to reliably trigger the script to set the VM override back is proving to be a problem. Any suggestions are welcome. Right now trying to find a way to use a script from inside the VM to get the VM name and use this to ensure the VM override is correct each time and the trigger would be to run each as part of the VM boot process.


Update UG Quick start section

Adds installation guide and quick start.

Codecov Report
Base: 59.91% // Head: 59.91% // No change to project coverage :thumbsup:

Coverage data is based on head (077a396) compared to base (d9aaace).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #206   +/-   ##
=========================================
  Coverage     59.91%   59.91%
  Complexity      614      614
=========================================
  Files           113      113
  Lines          2248     2248
  Branches        249      249
=========================================
  Hits           1347     1347
  Misses          818      818
  Partials         83       83

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[FEATURE]: Make the /team section better looking

Detailed description
Would enhance the look of the website if the cards in the /team section were smaller than current size. They are taking too much space of the screen and also thier UI doesnt match the website.
Context
.
Possible implementation
No response
Additional information

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I propose removing the card background, and using something like "Glass" looking like bg-white/20 backdrop-blur-md.
Or using a hover:shadow-md on the avatar with a custom shadow color?

yeah seems like a pretty cool idea

if its open  i would definitely like to enhance the look of card.

Arslan worked on this: https://github.com/WebXDAO/WebXDAO.github.io/pull/267
but if you have an idea to improve it more @Mudassirkhan2, feel free to create PR!

Ok will tell you if I got good idea.

Closing this now!


Twitch prerelease

Final features being added for Twitch integration including revamped signup page and bot controls.

Hooray for the Twitch bot!


fix(transformer): do not add __self when JSX is top-level

Fixes a couple of small problems with #3258.
Now does not add __self in a couple of places where there is no this.

Top level

const x = <Foo>blah</Foo>;

In TS Module Block

declare namespace Foo {
  let x = <Bar>monkey</Bar>;
}

#3281  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

 I'll look into it.

Well it seems I was wrong and adding __self in these cases is the correct behavior. I guess this at top level will refer to window in browser scripts, and undefined in ESM.
@Dunqing Well my review of #3258 wasn't my finest hour! I seem to have repeatedly got things wrong over and over again. Sorry for all the faffing around and time-wasting.


Update README.md

Be more clear with the service brand, the plugin version, and use pluginManagement.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@95ad18d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #166   +/-   ##
=========================================
  Coverage          ?   60.53%
=========================================
  Files             ?       50
  Lines             ?     1566
  Branches          ?      171
=========================================
  Hits              ?      948
  Misses            ?      558
  Partials          ?       60

Continue to review full report at Codecov.

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

@selvasingh FYI

@jdneo mind to check?

@brunoborges Thanks. I was OOF recently so sorry for the late reply.
The changes look good to me. I changes the base from master to develop.


[NEXT] Gatsby unable to serve static page with pretty url

This is an issue against the next branch.
We may have uncovered a bug in gatsby v2 where we cannot serve a static page on a pretty url, meaning give a directory in that shape of
/public
 | page-one.html
  /page-two
    | index.html

The URL for page one would be /page-one.html, and the URL for page two would be /page-two/index.html.
There is a previous issue in the gatsby repository referencing this issue and proposing a fix, but it has been closed as stale
Please see gatsbyjs/gatsby#2352 for more details

I've submitted a PR there, but I am not sure if it solves your troubles. What exactly are you calling a pretty url?
With my fix, for the directory shape you described, the available routes would be:

/page-one.html
/page-two
/page-two/
/page-two/index.html

It doesn't create /page-one, tho.
I don't know if the gatsby team would want this behaviour, but it is actually just a one line change to add it as well , since there's an option for express.static to append extensions when trying to find files.

@Yurickh what you have would be great and makes sense. Thanks 👍

Congrats @Yurickh, go grab that gatsby swag!


[MM-12396] Option to add user to a channel from the profile pop-over

Summary
This is an added option to the profile pop-over to add another user to a different channel.
The components/profile_popover component is affected, and a new modal components/add_user_to_channel_modal has been introduced.
GitHub Issue Link
https://github.com/mattermost/mattermost-server/issues/9501
Ticket Link
https://mattermost.atlassian.net/browse/MM-12396
Invision screens: https://invis.io/DYNZR9J64A9
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file (.../i18n/en.json) updates

Here are some questions I currently have for this PR, split up by topic:

Validating channel manage permissions
I am using haveICurrentTeamPermission to determine if the user has channel manage permissions.
/*
  components/profile_popover/index.js and
  components/suggestion/search_channel_with_permissions_provider.jsx
*/

const canManagePublicChannels = haveICurrentTeamPermission(state, {permission: Permissions.MANAGE_PUBLIC_CHANNEL_MEMBERS});
const canManagePrivateChannels = haveICurrentTeamPermission(state, {permission: Permissions.MANAGE_PRIVATE_CHANNEL_MEMBERS});

Please confirm if this is how these two permissions should be fetched in the context of this feature. The tests/components/suggestion/search_channel_with_permissions_provider.test.jsx test assumes that this is how we can access the appropriate permissions for this feature.

Styling
The styling differs from the invision designs in two ways:

the top of the modal is the blue background instead of just white
the user's name is not bolded at the top
there's a line at separating the footer and the body of the modal

I'm not sure if are issues. If they are, I would like some advice on reusing existing css that can style like the invision picture, so as to not introduce duplicated css.
Implementation:

Invision:

Testing the suggestion provider
Since the Provider class is not a react component being connected to redux, I wasn't sure how to inject a mock store into a suggestion provider, so I'm using an instance method to access the store's state, and mocked that function from the test. I'm also mocking the function the suggestion provider calls to dispatch its final results. If there is a preferred way to test the suggestion provider, whether it be an integration test with the component using it, or some other modular way to mock the store, I will fix it accordingly. I couldn't find any tests for suggestion providers, so I did this:
/* components/suggestion/search_channel_with_permissions_provider.jsx */

export default class SearchChannelWithPermissionsProvider extends Provider {

    ...

   // instance properties
    getState = store.getState;

    dispatch = store.dispatch;

    appDispatch = (results) => {
        AppDispatcher.handleServerAction(results);
    }
}

/* tests/components/suggestion/search_channel_with_permissions_provider.test.jsx */

const store = mockStore(state);
const searchProvider = new SearchChannelWithPermissionsProvider();

const dispatchResults = jest.fn();
searchProvider.appDispatch = dispatchResults.bind(searchProvider);

const getState = jest.fn().mockReturnValue(store.getState());
searchProvider.getState = getState.bind(searchProvider);

A problem with this approach is that any other object/file that may be using the store (though there are not others in this test) will be using a different store than the suggestion provider. So this is not a maintainable solution. I also cannot mock/test the actions used (autocompleteChannelsForSearch is subsequently not mocked in this test).

Import issues in tests
For some reason, importing the components in the two introduced component tests is giving me trouble. The test is attempting to import the container component, even though I am giving it the full path to the pure component. I am using this line, with the intention of importing the pure component, without the container.
/* tests/components/add_user_to_channel_modal.jsx */

import AddUserToChannelModal from 'components/add_user_to_channel_modal/add_user_to_channel_modal.jsx';

The test instead imports the container file, and spits out this error thrown in the container file:
Invariant Violation: You must pass a component to the function returned by connect. Instead received undefined

/* components/add_user_to_channel_modal/index.js */

      26 | }
      27 |    > 28 | export default connect(mapStateToProps, mapDispatchToProps)(AddUserToChannelModal);

Apparently the container file is failing to import the component. I'm not sure why the test is trying to import the container file in the first place. However, if I do purposely import the container file in the test, the container file successfully imports the component. I made a small workaround so I could get my tests running. This is obviously not an acceptable fix:
/* components/add_user_to_channel_modal/index.js */

import AddUserToChannelModal from './add_user_to_channel_modal.jsx';

export const Child = AddUserToChannelModal; // hack so I can export the pure component as a named export

/* tests/components/add_user_to_channel_modal.jsx */

// importing container file so I can grab the Child component from the named export
import {Child as AddUserToChannelModal} from 'components/add_user_to_channel_modal';

This issue is also happening with the ProfilePopover test. Here is a branch with the intended imports (tests do not run correctly):
https://github.com/mickmister/mattermost-webapp/tree/debug/MM-12396/import-issue
If someone would like to help with this import issue, you can reproduce the import errors by pulling down the branch and running make test.

Thanks @mickmister! I wasn't able to test the PR as it seems there is a build failure. Please help look into this when you have a chance and we can set up a test server. Regarding your questions:

Re Permissions: Adding @grundleborg who is familiar with that area to provide some guidance on permissions checks.

Re Styling: Looks fine to me, since it's consistent with other modals in the product. Once the test server is up I'll test the selector component.

Re Testing the suggestion provider and import issues in tests: Adding @saturninoabril who can provide some guidance in that area.

https://pre-release.mattermost.com/core/pl/ssdwfa5z53bdpjbqns3yyc4cty
There was a mention that a refactoring may be in the works for providers to be connected to the redux store. I'll fix my tests accordingly when it is resolved.

@mickmister Thanks for your contribution! I pulled out your branch and it's really weird that it's having that issue. I'll find time to see what's going on there.

@mickmister There's an initial change on SuggestionStore - https://github.com/mattermost/mattermost-webapp/pull/1932/files.  Once merged, could you please try again and see if you're still having issue in importing the test.  Thanks!

Awesome, will do!

On the permissions question: you can use haveITeamPermission or haveICurrentTeamPermission to manage team-scoped permissions. If it's managing the channel though, you should use haveIChannelPermission instead.
However, you can go one better even than this. Instead of passing in a prop for this, you can use the <ChannelPermissionGate> component in the render function around the JSX elements that you want to depend on that permission. This is the preferred way to do permissions wherever possible. If you grep the source code for the relevant permissions gate component, you'll find many examples of how to use it.

@grundleborg I've chosen to use the team permission check here because the dropdown is being used to pick a channel from many channels, so the permission is not scoped to one specific channel. I agree that if the scope is for a specific channel, then haveIChannelPermission should be used. I wanted to verify that the permissions I'm testing should fall into the category of team permissions.
Using ChannelPermissionGate is the better solution here. My intent was to keep the component as dumb as possible, but that doesn't imply that it shouldn't be doing the permission assertions. Passing a simple boolean to the component makes it easy to test (no permission setup required in the test), but the component isn't tested properly at that point. Using ChannelPermissionGate ends up with much cleaner code. Thank you for your feedback!

@saturninoabril

There's an initial change on SuggestionStore - https://github.com/mattermost/mattermost-webapp/pull/1932/files.

I have my branch updated with the changes from the above PR. The Suggestion components are still using the global getState, so I think this PR is still on hold.

Once merged, could you please try again and see if you're still having issue in importing the test.

The import issue isn't happening anymore :)

Thanks @mickmister! For me, that on going efforts on redux migration is non-blocking for this PR.  I'm good with how it's done right now.  Let us know if PR is complete so we can proceed with the PM review.  Thanks!

@saturninoabril recent pushes address all of your requested changes

@esethna PR is ready barring any further requested changes.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0de5ac445f6eaf03b.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0de5ac445f6eaf03b

@esethna the form is set up to submit on pressing enter now

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0ca26fd8d54d4342a.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0ca26fd8d54d4342a

I see that we have changed the project structure to have the tests be adjacent to the source code https://github.com/mattermost/mattermost-webapp/pull/2026
I assume this is something I should apply here as well. @saturninoabril, is this correct?

@mickmister That's correct.

requested changes have been, sorry if this ping is unnecessary

@saturninoabril updated for handleInviteError and using id's

@esethna please can you re-review this as it appears you are still requesting changes.

Code looks great to me now, thanks @mickmister .
@esethna please can you approve this so we can merge?

@mickmister If you don't mind, I'll rebase your PR to master and fix merge conflicts.  Probably, I'll squash your several commits into one so it's easier to rebase.

Awesome, thanks @saturninoabril!

@hanzei There was an issue with this PR so it got reverted. I am working on a new PR for the fix. Should this issue be reopened or should a new issue be created?

Would you just open a new PR for this and I will reopen https://github.com/mattermost/mattermost-server/issues/9501?

Yes, thank you @hanzei


Fix adding tuples

This will fix a apparent bug when printing tuples.
include pretty
# import macros

print (a: 1)

()

Hey, since the owner of this repository seems inactive feel free to PR my fork of this repository: https://github.com/Patitotective/pretty. I'm going to use my fork until the original owner accepts the PRs, so feel free to do the same.


Add installation and execution

Add a short description of the installation process and an exemplary
execution of the analysis.

Thanks for the addition!
Check out the latest commits, they fixes a number of bugs crashing the analyzer and introduces a bunch of improvements.


Fix control board pcb path in kitspace.yaml

Not quite sure how this mistake slipped through when I did the preview. Sorry about that.

@apollokit can we move this file to the electrical folder or does it need to live in the root?

Needs to be in the root at the moment unfortunately for Kitspace to find it.


Font directory mapping

After choosing a font I get this error: (macOS)

I'll try to make it more OS independent. Thanks for posting here the first issue :-)

@MiksLatvis I removed the hard dependance on Windows in the font selection. As I don't have a Mac available, I hope the search paths for fonts are correct:

/System/Library/Fonts
/Library/Fonts


Can't Install using Homebridge Config UI X

When trying to install the plugin i get an error.
npm ERR! Command failed: git clone --mirror -q https://github.com/nicoduj/sucks.js.git /root/.npm/_cacache/tmp/git-clone-0cf90daf/.git
npm ERR! /root/.npm/_cacache/tmp/git-clone-0cf90daf/.git: Permission denied

Updating npm will fix that issue.
sudo npm install -g npm

@nicoduj publishing your dependencies to npm would also prevent strange issues that occurs with npm and git.

Hi, thanks for answering while I was sleeping @oznu :) I will move the dep, it is only a temporary solution since I had to fork a dep that is not maintained anymore and needed some fixes to work . Found another one that is maintained and should work, will move to it ASAP :)

@oznu : I moved to a lib that works great, but unfortunately can't install on your marvelous docker image because of canvas not prebuild for musl and not able to build on the image (probably because missing dep (Cairo / pango) : https://github.com/Automattic/node-canvas#compiling
Any idea ?

That's fine. Just make it clear what's required in your README.

Something like:

For use in the oznu/homebridge Docker image (Alpine Linux) please add the following line to your startup.sh script and restart the container. You can edit this file in directly in the Homebride UI by selecting the drop down menu in the upper-right-corner and selecting Startup Script.
apk add build-base cairo-dev jpeg-dev pango-dev giflib-dev librsvg-dev

Thank you @nicoduj and @oznu. Using the env variable directly with docker solved the issue of being able to install this plugin. I was able to install and my vacuum is now appearing in the home app!

@mattson16 could I ask what model you are using ? Feedback is welcommed, also on feature list I am thinking of

Hey @nicoduj I am using the n79s. I tested it out very briefly, but it seems to be working right now. Pressing the switch had it start and turning the switch to off had the vacuum find its way back to the dock. If i run into any other problems i will continue to stay active on the issues page. Thanks for your work on this! My deebot was the last thing on my list i wanted to get working in Homekit!


Give 3D buildings that have 0m height data a random height between 2 values

Hey awesome team, I'm trying to attribute buildings that have 0m value for height, with a height value of a random number between two values. I appreciate your help!

hi @messiosmarios , thanks for the issue.
You can replace buildings with no height with a single value, but unfortunately not a random value (see<EMAIL_ADDRESS>for the list of available expressions, but we could definitely add this).
In your style file, you need to go to the extruded-polygon technique and change the height to something like: "height": ["case", ["<=", ["get", "height"], 0], 1000, ["get", "height”]] (I set it to 1000 just so you can see it works, but you can change to whatever value you want in meters).
I.e. here is the height value defined: https://github.com/heremaps/harp.gl/blob/c579784fb7f75fafaf1e46440b6ce5ff10c2ee8d/%40here/harp-map-theme/resources/berlin_tilezen_base.json#L2254 you would need to change this to what I mentioned above.
Does that help?

hi @messiosmarios , thanks for the issue.
You can replace buildings with no height with a single value, but unfortunately not a random value (see<EMAIL_ADDRESS>for the list of available expressions, but we could definitely add this).
In your style file, you need to go to the extruded-polygon technique and change the height to something like: "height": ["case", ["<=", ["get", "height"], 0], 1000, ["get", "height”]] (I set it to 1000 just so you can see it works, but you can change to whatever value you want in meters).
I.e. here is the height value defined:
https://github.com/heremaps/harp.gl/blob/c579784fb7f75fafaf1e46440b6ce5ff10c2ee8d/%40here/harp-map-theme/resources/berlin_tilezen_base.json#L2254
you would need to change this to what I mentioned above.
Does that help?

Hey @nzjony thank you for that! It works perfectly. Just a small note, the last height word in the command uses the wrong quotation mark ("height”) -> "height"


[ADD ME TO THE ORGANIZATION]

Name:
Location:
Interest:
Discord username(optional):-
Why do you want to join?

I want to join because

You can also join our Discord community here
Feel free to check out other cool repositories of the DevsInTech Community here.

@Kattlover99 Thanks for your interest. Invitations have been sent to you. Kindly accept it and make your membership public.


Set background color in several days

Hello, it is a pleasure to me to use this library. I am a rookie developer, and I was wondering if there is a way to modify it to set a background color to several days, if there are events in them. For example, there are three days where there is one event in each one, and each day has a colored background.
Thanks for you time.

Hi, I have been recently working on this feature and I if I understand your requirement correctly have a look at issue #80. It is also most done. Please have a look, I will close this issue for now then as a result.


Azure Identity April Release Doc Consistency Review

Azure Identity April Release Doc Consistency Review

@billwert can you add your notes / info here for @g2vinay and @scottaddie to leverage?

I had not started working on this yet so I have nothing to share. :(


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_b50ym9_af5/clone/recipe/meta.yaml:17: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_b50ym9_af5/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_b50ym9_af5/clone/recipe/meta.yaml:26: python_build_tool_in_run: The python build tool setuptools is in run depends
ERROR: /tmp/abs_b50ym9_af5/clone/recipe/meta.yaml:36: missing_pip_check: For pypi packages, pip check should be present in the test commands
Errors were found


Added production field to ITSystemHardware model, link to filtered list of systems on admin changelist

This change is

Coverage decreased (-0.009%) to 50.332% when pulling d2be62325caea2d48512c3f31e332946790f603e on ropable:master into b92fae0841d006698bd2cc2face68b0cd77297cc on parksandwildlife:master.


Allow package to be installed on project frameworktarget=v4.0

Change the target framework for the project and Serilog package to v4.0 to allow package to be installed on projects v4.0

Hi Ammar, sorry about the slow reply here, this repository slipped off my radar!
Unfortunately the .NET 4.0 and .NET 4.5 versions of Serilog are not binary compatible, so I think this would break .NET 4.5 users of the library.
If this is still something you need, I the Visual Studio 2015 build process (project.json) can finally produce packages targeting both of these versions. There's quite a bit of tinkering with the build process involved, so for the level of effort it may be better to just fork/copy the code into any .NET 4.0 projects you're working on. Let me know what works for you. Cheers!

Hi Ammar - guessing you're no longer in need of this, will close. Please let me know if you still need any help with it. Cheers!


Fix broken link

Need to add the missing .md to the link in the TIP section:
Change link from
[Check it out](remoteapp-image-on-azurevm)
to
[Check it out](remoteapp-image-on-azurevm.md)

Hi @tpconroy, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


style : back to top animated #1030

Related Issue
Closes #1030

Description

Screenshots
https://github.com/JasonDsouza212/free-hit/assets/119532943/c12565ac-7c09-4de2-869d-78df2dbc8b5b
Checklist

[x] My code adheres to the established style guidelines of the project.
[x] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.

@priyankarpal Done !!

The PR title format you are using is causing an error in the workflow. Please follow the instructions in the README.md and change it accordingly.

@priyankarpal Done !!

S will be small cases s

@harshita-2003 make the Style as style

@priyankarpal Done .

@harshita-2003 ,no space after style
It should be style:

@JasonDsouza212  OKAY DONE ..


Reuse of exported var name when using . import panics

In examples_test.go:
package torrent_test
import torrent "."

In the the rest of the go files in the directory:
package torrent

anacrolix@Matts-MBP:~/gopath/src/github.com/anacrolix/torrent$ go test .
2015/05/24 21:27:41 expvar.go:254: Reuse of exported var name: unusedDownloadedChunksCount
panic: Reuse of exported var name: unusedDownloadedChunksCount
goroutine 1 [running]:
log.Panicln(0xc20804bee8, 0x2, 0x2)
/Users/anacrolix/src/go/src/log/log.go:334 +0xc4
expvar.Publish(0x46139d0, 0x1b, 0x4979770, 0xc20800b4b0)
/Users/anacrolix/src/go/src/expvar/expvar.go:254 +0x236
expvar.NewInt(0x46139d0, 0x1b, 0x4831ec8)
/Users/anacrolix/src/go/src/expvar/expvar.go:272 +0x78
_/Users/anacrolix/gopath/src/github.com/anacrolix/torrent.init()
/Users/anacrolix/gopath/src/github.com/anacrolix/torrent/client.go:46 +0x112
github.com/anacrolix/torrent_test.init()
/Users/anacrolix/gopath/src/github.com/anacrolix/torrent/example_test.go:18 +0x47
main.init()
github.com/anacrolix/torrent/_test/_testmain.go:102 +0x56
The "." import seems to cause expvar to init those variables twice?

It's working as intended.
The generated main package will import "torrent",
but the test file imports the same package under
a different import path ("."), as Go uses import
paths to differentiate packages, one package imported
under two import paths will be treated as two different
packages and thus it's init will be called twice.
That's also the reason why symlinks are not allowed
in GOPATH.
Do not use "." to import a package in a test.
A simple example:
// t.go
package t
var A int
func init() {
println("init called")
}
// t_test.go
package t_test
import (
t "."
"testing"
)
var _ = t.A
func TestA(t *testing.T) {}
$ go test -v
init called
init called
=== RUN   TestA
--- PASS: TestA (0.00s)
PASS
ok   t 0.002s

https://github.com/golang/go/blob/master/src/strings/search_test.go#L9


Can this framework be used for full supervision

hello, I have found many framework is Semi-supervised or unsupervised？ For node classification, all my data has labels, so semi-supervised or unsupervised is not applicable. Do you know of a suitable framework for my data set?

Sorry for my late reply.
If you want to apply this framework to fully supervised tasks, you can simply add a cross-entropy loss at the following line:
https://github.com/gyshgx868/graph-ter/blob/3b9bda527a6a9559be835c5b84e6491ac8c5aa30/graph_ter_cls/runner/backbone_runner.py#L84
where you should also read the labels from the DataLoader.


Setup testing

Putting in master in order for CI to work and allow other branches to use the setup.


Add Source Attribution to hot-restarter.py

Super simple PR
Basically adds a single comment with the link back to the "original" hot restart script
This way, people can depend on it in external repositories and know the files origin
Commit Message: add source attribution to hot-restarter
Additional Description: Adds a source link to the hot-restart python script. This is useful in case people pull it into external repositories.
Risk Level: Low
Testing: N/A
Docs Changes: N/A
Release Notes: Adds source attribution to hot-restarter
Platform Specific Features: N/A

Are there other places to download this script?
BTW, please fix DCO.

/assign @daixiang0

/assign-from @envoyproxy/envoy-maintainers

Per @daixiang0's comment I'm curious what the actual use for this is? Seems safe enough just not sure what the value is
Also DCO needs resolving: https://github.com/envoyproxy/envoy/blob/main/CONTRIBUTING.md#dco-sign-your-work
/wait

Per @daixiang0's comment I'm curious what the actual use for this is? Seems safe enough just not sure what the value is

yep, this is what I am concerned.


3D Tiles Sandcastle example is broken

@lilleyse can you please look at this ASAP so we can merge #3131?
Functions such as hasProperty and getPropertyNames were moved in https://github.com/AnalyticalGraphicsInc/cesium/commit/bab0ba9874efd03aed641d874337d05d19a6dbf7#diff-406122f3413b001f1cbf74187c314641.  However, the Sandcastle example was not updated so per-building coloring (other than highlighting does not work).

Can this be closed?

Yes, thanks!


Nov demo

Added dragging signifier to the task list
Added Skip notification (message + warning sound)
Added textToSpeech option to AngelARUI
fixes with eye collisions with spatial mesh
fixes with task progress and 'all done' handling
fixed 'jitter' of orb in some situations by adding lazy orb reactions in the follow solver
Added halo, so user can find task list more easily
Disabled auto repositioning of task list (but allowing manual adjustments)

Thanks for the updates @ovenmitt!


Add partitioned(_:)

Description
Adds a partitioned(_:) algorithm. This is very similar to filter(_:), but instead of just getting an array of the elements that do match a given predicate, also get a second array for the elements that did not match the same predicate.
This is more performant than calling filter(_:) twice on the same input with mutually-exclusive predicates since:

It only requires a single pass of the elements
If the input has a known number of elements, the cumulative space for both returned arrays is known and can avoid array buffer resizing.

let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let (longNames , shortNames) = cast.partitioned({ $0.count < 5 })
print(longNames)
// Prints "["Vivien", "Marlon"]"
print(shortNames)
// Prints "["Kim", "Karl"]"

Detailed Design
extension Sequence {
  @inlinable
  public func partitioned(
    _ belongsInSecondCollection: (Element) throws -> Bool
  ) rethrows -> ([Element], [Element])
}

Naming
At a high-level, this acts similarly to the partition(_:) family of functions in that it separates all the elements in a given collection in two parts, those that do and do not match a given predicate. Thanks, @timvermeulen for help with naming!
Documentation Plan

Inline documentation for each new function
Comments in the implementation
Updated README.md
Added to Guides/Partitioned.md

Test Plan

Adds unit tests for example given in documentation
Adds unit tests for various inputs
Adds unit tests for empty input

Source Impact
This is purely additive
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

I made the closure belongsInSecondCollection, which is consistent with the other partitioned functions, but in terms of the return values, feels backwards ((second, first)).

I ran some benchmarks using the awesome swift-collections-benchmark package, as suggested by @timvermeulen:

The output does confirm that using partitioned(_:) is faster than calling filter(_:) twice.
Using the Collection-based implementation with the fixed buffer size is faster than the Sequence-base implementation. However, the function’s overhead makes it slightly slower for collections fewer than 8 elements. For that reason, we could check count < 8 in the start of the Collection implementation and conditionally run the Sequence-based approach, which is slightly faster.
I was initially surprised partitioned(_:) wasn’t significantly faster than calling filter(_:) twice, though. With more experimentation, I learned how much the overall cost depends on the cost of the closure’s evaluation. The more costly the closure, the more valuable it was to avoid calling the closure twice (obviously). In very simple cases, the cost of evaluating the closure is extremely insignificant compared to the cost of adding each element to the output collection. However, in all cases, it is still faster to use partitioned(_:) than calling filter(_:) twice.
Using a slighty more expensive closure yielded these results:

Benchmarking code/details
Simple closure test:
benchmark.addSimple(
  title: "Filter × 2",
  input: [Int].self
) { input in
  blackHole(input.filter({ $0.isMultiple(of: 3) }))
  blackHole(input.filter({ !$0.isMultiple(of: 3) }))
}

benchmark.addSimple(
  title: "Partitioned (Sequence)",
  input: [Int].self
) { input in
  blackHole(input._partitioned({ $0.isMultiple(of: 3) }))
}

benchmark.addSimple(
  title: "Partitioned (Collection)",
  input: [Int].self
) { input in
  blackHole(input.partitioned({ $0.isMultiple(of: 3) }))
}

More expensive closure test:
let multiples: [Int] = [1, 3, 5, 7]

benchmark.addSimple(
  title: "Filter × 2",
  input: [Int].self
) { input in
  blackHole(input.__filter({ int in multiples.allSatisfy({ int.isMultiple(of: $0) }) }))
  blackHole(input.__filter({ int in !multiples.allSatisfy({ int.isMultiple(of: $0) }) }))
}

benchmark.addSimple(
  title: "Partitioned (Sequence)",
  input: [Int].self
) { input in
  blackHole(input._partitioned({ int in multiples.allSatisfy({ int.isMultiple(of: $0) }) }))
}

benchmark.addSimple(
  title: "Partitioned (Collection)",
  input: [Int].self
) { input in
  blackHole(input.partitioned({ int in multiples.allSatisfy({ int.isMultiple(of: $0) }) }))
}

All tests run on iMac Pro 3.2 GHz 8-Core Intel Xeon W; 32 GB 2666 MHz DDR4; macOS 11.3 (20E232); Apple Swift version 5.4.2 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)

Those graphs look good! It's nice to see that the added complexity seems to be worth it for most sizes. I think it'd be useful to benchmark another version that returns a (ArraySlice, ArraySlice) pair (or even (ArraySlice, ReversedCollection<ArraySlice>)) just so we can see how much performance we're missing out on by allocating two new arrays.

Closeup of the two slice variants

Code
extension Collection {
  @inlinable
  public func partitionedA(
    _ belongsInSecondCollection: (Element) throws -> Bool
  ) rethrows -> ([Element], [Element]) {
    guard !self.isEmpty else {
      return ([], [])
    }

    // Since `RandomAccessCollection`s have known sizes (access to `count` is
    // constant time, O(1)), we can allocate one array of size `self.count`,
    // then insert items at the beginning or end of that contiguous block. This
    // way, we don’t have to do any dynamic array resizing. Since we insert the
    // right elements on the right side in reverse order, we need to reverse
    // them back to the original order at the end.

    let count = self.count

    // Inside of the `initializer` closure, we set what the actual mid-point is.
    // We will use this to partitioned the single array into two in constant time.
    var midPoint: Int = 0

    let elements = try [Element](
      unsafeUninitializedCapacity: count,
      initializingWith: { buffer, initializedCount in
        var lhs = buffer.baseAddress!
        var rhs = lhs + buffer.count
        do {
          for element in self {
            if try belongsInSecondCollection(element) {
              rhs -= 1
              rhs.initialize(to: element)
            } else {
              lhs.initialize(to: element)
              lhs += 1
            }
          }

          let rhsIndex = rhs - buffer.baseAddress!
          buffer[rhsIndex...].reverse()
          initializedCount = buffer.count

          midPoint = rhsIndex
        } catch {
          let lhsCount = lhs - buffer.baseAddress!
          let rhsCount = (buffer.baseAddress! + buffer.count) - rhs
          buffer.baseAddress!.deinitialize(count: lhsCount)
          rhs.deinitialize(count: rhsCount)
          throw error
        }
      })

    let lhs = elements[..<midPoint]
    let rhs = elements[midPoint...]
    return (
      Array(lhs),
      Array(rhs)
    )
  }
}

extension Collection {
  @inlinable
  public func partitionedB(
    _ belongsInSecondCollection: (Element) throws -> Bool
  ) rethrows -> (ArraySlice<Element>, ArraySlice<Element>) {
    guard !self.isEmpty else {
      return ([], [])
    }

    // Since `RandomAccessCollection`s have known sizes (access to `count` is
    // constant time, O(1)), we can allocate one array of size `self.count`,
    // then insert items at the beginning or end of that contiguous block. This
    // way, we don’t have to do any dynamic array resizing. Since we insert the
    // right elements on the right side in reverse order, we need to reverse
    // them back to the original order at the end.

    let count = self.count

    // Inside of the `initializer` closure, we set what the actual mid-point is.
    // We will use this to partitioned the single array into two in constant time.
    var midPoint: Int = 0

    let elements = try [Element](
      unsafeUninitializedCapacity: count,
      initializingWith: { buffer, initializedCount in
        var lhs = buffer.baseAddress!
        var rhs = lhs + buffer.count
        do {
          for element in self {
            if try belongsInSecondCollection(element) {
              rhs -= 1
              rhs.initialize(to: element)
            } else {
              lhs.initialize(to: element)
              lhs += 1
            }
          }

          let rhsIndex = rhs - buffer.baseAddress!
          buffer[rhsIndex...].reverse()
          initializedCount = buffer.count

          midPoint = rhsIndex
        } catch {
          let lhsCount = lhs - buffer.baseAddress!
          let rhsCount = (buffer.baseAddress! + buffer.count) - rhs
          buffer.baseAddress!.deinitialize(count: lhsCount)
          rhs.deinitialize(count: rhsCount)
          throw error
        }
      })

    let lhs = elements[..<midPoint]
    let rhs = elements[midPoint...]
    return (lhs, rhs)
  }
}

extension Collection {
  @inlinable
  public func partitionedC(
    _ belongsInSecondCollection: (Element) throws -> Bool
  ) rethrows -> (ArraySlice<Element>, ReversedCollection<ArraySlice<Element>>) {
    guard !self.isEmpty else {
      let emptyArraySlice = [Element]()[0...]
      return (
        emptyArraySlice,
        emptyArraySlice.reversed()
      )
    }

    // Since `RandomAccessCollection`s have known sizes (access to `count` is
    // constant time, O(1)), we can allocate one array of size `self.count`,
    // then insert items at the beginning or end of that contiguous block. This
    // way, we don’t have to do any dynamic array resizing. Since we insert the
    // right elements on the right side in reverse order, we need to reverse
    // them back to the original order at the end.

    let count = self.count

    // Inside of the `initializer` closure, we set what the actual mid-point is.
    // We will use this to partitioned the single array into two in constant time.
    var midPoint: Int = 0

    let elements = try [Element](
      unsafeUninitializedCapacity: count,
      initializingWith: { buffer, initializedCount in
        var lhs = buffer.baseAddress!
        var rhs = lhs + buffer.count
        do {
          for element in self {
            if try belongsInSecondCollection(element) {
              rhs -= 1
              rhs.initialize(to: element)
            } else {
              lhs.initialize(to: element)
              lhs += 1
            }
          }

          let rhsIndex = rhs - buffer.baseAddress!
          initializedCount = buffer.count

          midPoint = rhsIndex
        } catch {
          let lhsCount = lhs - buffer.baseAddress!
          let rhsCount = (buffer.baseAddress! + buffer.count) - rhs
          buffer.baseAddress!.deinitialize(count: lhsCount)
          rhs.deinitialize(count: rhsCount)
          throw error
        }
      })

    let lhs = elements[..<midPoint]
    let rhs = elements[midPoint...]
    return (lhs, rhs.reversed())
  }
}

benchmark.addSimple(
  title: "Array, Array",
  input: [Int].self
) { input in
  blackHole(input.partitionedA({
    $0.isMultiple(of: 2)
  }))
}

benchmark.addSimple(
  title: "ArraySlice, ArraySlice",
  input: [Int].self
) { input in
  blackHole(input.partitionedB({
    $0.isMultiple(of: 2)
  }))
}

benchmark.addSimple(
  title: "ArraySlice, ReversedCollection<ArraySlice>",
  input: [Int].self
) { input in
  blackHole(input.partitionedC({
    $0.isMultiple(of: 2)
  }))
}

I’m a bit surprised that the (Array, Array) implementation was actually faster in many cases (from a few hundred to a couple hundred thousand elements). Thinking it was a fluke, I’ve re-run this several times and continue to get similar results. I’m not sure yet why that could be.
I wish there were a clear best implementation from a performance point of view. However, since the performance for the non-Array return values weren’t better in all cases, I would say the tradeoff of having non-Array types as the return values aren’t worth it, as it does expose some implementation details and would make it difficult to change the implementation (and possibly the signature) later without it being a non-backwards-compatible breaking change.

I’m a bit surprised that the (Array, Array) implementation was actually faster in many cases (from a few hundred to a couple hundred thousand elements). Thinking it was a fluke, I’ve re-run this several times and continue to get similar results. I’m not sure yet why that could be.

That's interesting and indeed surprising.

I wish there were a clear best implementation from a performance point of view. However, since the performance for the non-Array return values weren’t better in all cases, I would say the tradeoff of having non-Array types as the return values aren’t worth it, as it does expose some implementation details and would make it difficult to change the implementation (and possibly the signature) later without it being a non-backwards-compatible breaking change.

I completely agree with your conclusions here. I'd still be interested to see how returning (Array(lhs), Array(rhs.reversed())) rather than reversing the right side in-place could improve the (Array, Array) version even more, but judging by the tiny difference between the two slice versions it probably won't make a huge difference.

I wish there were a clear best implementation from a performance point of view. However, since the performance for the non-Array return values weren’t better in all cases, I would say the tradeoff of having non-Array types as the return values aren’t worth it, as it does expose some implementation details and would make it difficult to change the implementation (and possibly the signature) later without it being a non-backwards-compatible breaking change.

I completely agree with your conclusions here. I'd still be interested to see how returning (Array(lhs), Array(rhs.reversed())) rather than reversing the right side in-place could improve the (Array, Array) version even more, but judging by the tiny difference between the two slice versions it probably won't make a huge difference.

I think if I’m following you correctly, that should be the same as the test I ran earlier:

When would the reversal happen? If removing line 315 here and instead reversing the ArraySlice right before its conversion to an Array, it makes it slower.

I think if I’m following you correctly, that should be the same as the test I ran earlier:

I missed that, my bad. Looks like ReversedCollection is just too slow to make this worthwhile.

@swift-ci Please test


How to check if a container or blob existing?

Which version of the SDK was used?
0.13
Which platform are you using? (ex: Windows, Linux, Debian)
Linux
What problem was encountered?
How to check if a container or blob existing?
How can we reproduce the problem in the simplest way?
Have you found a mitigation/solution?
use  c.GetProperties() , if it return error is ServiceCodeContainerNotFound, the container is not existing.

Hi @mikecheng11 ,
There are multiple ways to do that.
Method 1: List API Call

Create a ServiceURL and do a ListContainersSegment call with appropriate prefix to check if container exists or not.
Similarly,  you can create a ContainerURL  and perform a ListBlobsFlatSegment call with appropriate filters to check if blob exists

Method 2: GetProperties

Create ContainerURL/BlobURL whose existence you want to verify and perform GetProperties call. If error contains ContainerNotFound or BlobNotFound


ArborX/Kokkos initialize/finalize interaction

Kokkos has to be initialized prior to the first ArborX call.

DTK has its own DTK_init(), DTK_finalize() calls, that support arguments (argc, argv)
kokkos/fortran-interop has C interface kokkos_initialize (inside a C++ file, calls Kokkos::initialize()), and a Fortran interface that binds to that.

As C/Fortran interface are not part of the kokkos/kokkos, and we don't want to depend on any extra repos, we have two alternatives:

provide some init/finalize calls in ArborX
Check for Kokkos initialization in the routines that interface with a user, and do initialization on the fly (no finalization, though...)

Opinions?

Belongs to the examples/ directory.  That would actually be a great addition.

@dalg24 so you are for having users to write these calls on their own, and for ArborX not to provide them?

Correct.  We provide just provide an example and make sure it works.

I prefer this as well - ultimately having our own init functions proved to not work too well in other libraries like Cabana

Reached consensus on not providing these calls.

What about a fortran example?

I spent some effort then, but it was quite painful, and I made little progress. I won't spend any more time on this until it becomes high priority.


When adding "praktijkvoorbeelden" child page to home the storylines pages doesn't work anymore

https://github.com/ZEnMo/Holon-webapp/pull/184


Vtherm can no longer change underlying climate temperature

Version of the custom_component
6.2.9 and 6.2.8
Home Assistant 2024.8.1 on HAOS

Configuration

My VTherm attributes are the following:
hvac_modes:
  - "off"
  - heat_cool
  - cool
  - heat
  - fan_only
  - dry
min_temp: 15
max_temp: 26
target_temp_step: 0.1
fan_modes:
  - auto
  - low
  - medium
  - high
  - silent
  - turbo
preset_modes:
  - none
  - eco
  - comfort
  - boost
swing_modes:
  - "off"
  - vertical
current_temperature: 26.6
temperature: 25
fan_mode: low
preset_mode: eco
swing_mode: "off"
is_on: true
hvac_action: null
hvac_mode: cool
type: null
is_controlled_by_central_mode: true
last_central_mode: Auto
frost_temp: 0
eco_temp: 15
boost_temp: 23
comfort_temp: 20
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
power_temp: 13
target_temperature_step: 0.1
ext_current_temperature: 25.9
ac_mode: true
current_power: null
current_power_max: null
saved_preset_mode: eco
saved_target_temp: 25
saved_hvac_mode: null
motion_sensor_entity_id: null
motion_state: null
power_sensor_entity_id: null
max_power_sensor_entity_id: null
overpowering_state: null
presence_sensor_entity_id: null
presence_state: null
window_state: "off"
window_auto_state: "off"
window_bypass_state: false
window_sensor_entity_id: null
window_delay_sec: 30
window_auto_enabled: false
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
window_action: window_turn_off
security_delay_min: 60
security_min_on_percent: 0.5
security_default_on_percent: 0.1
last_temperature_datetime: "2024-08-11T22:12:35.835184+02:00"
last_ext_temperature_datetime: "2024-08-11T22:09:04.144376+02:00"
security_state: false
minimal_activation_delay_sec: 10
device_power: 1
mean_cycle_power: null
total_energy: 0
last_update_datetime: "2024-08-11T22:14:14.305072+02:00"
timezone: Europe/Madrid
temperature_unit: °C
is_device_active: true
ema_temp: 27.6
is_used_by_central_boiler: false
is_over_climate: true
start_hvac_action_date: null
underlying_climate_0: climate.despatx
underlying_climate_1: null
underlying_climate_2: null
underlying_climate_3: null
is_regulated: true
regulated_target_temperature: 23
auto_regulation_mode: auto_regulation_strong
regulation_accumulated_error: -7.944375457500068
auto_fan_mode: auto_fan_low
current_auto_fan_mode: auto_fan_low
auto_activated_fan_mode: low
auto_deactivated_fan_mode: auto
auto_regulation_use_device_temp: false
friendly_name: AC Despatx vt
supported_features: 441

Second Vtherm:
hvac_modes:
  - "off"
  - heat_cool
  - cool
  - heat
  - fan_only
  - dry
min_temp: 15
max_temp: 26
target_temp_step: 0.1
fan_modes:
  - auto
  - low
  - medium
  - high
  - silent
  - turbo
preset_modes:
  - none
  - eco
  - comfort
  - boost
swing_modes:
  - "off"
  - vertical
current_temperature: 25.5
temperature: 25
fan_mode: low
preset_mode: eco
swing_mode: "off"
is_on: true
hvac_action: null
hvac_mode: cool
type: null
is_controlled_by_central_mode: true
last_central_mode: Auto
frost_temp: 0
eco_temp: 15
boost_temp: 23
comfort_temp: 20
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
power_temp: 13
target_temperature_step: 0.1
ext_current_temperature: 25.9
ac_mode: true
current_power: null
current_power_max: null
saved_preset_mode: eco
saved_target_temp: 16.900000000000002
saved_hvac_mode: null
motion_sensor_entity_id: null
motion_state: null
power_sensor_entity_id: null
max_power_sensor_entity_id: null
overpowering_state: null
presence_sensor_entity_id: null
presence_state: null
window_state: "off"
window_auto_state: "off"
window_bypass_state: false
window_sensor_entity_id: binary_sensor.finestra_habitacio_obrint
window_delay_sec: 30
window_auto_enabled: false
window_auto_open_threshold: 3
window_auto_close_threshold: 0
window_auto_max_duration: 30
window_action: window_turn_off
security_delay_min: 60
security_min_on_percent: 0.5
security_default_on_percent: 0.1
last_temperature_datetime: "2024-08-11T22:14:05.839298+02:00"
last_ext_temperature_datetime: "2024-08-11T22:14:05.839298+02:00"
security_state: false
minimal_activation_delay_sec: 10
device_power: 1
mean_cycle_power: null
total_energy: 0
last_update_datetime: "2024-08-11T22:14:14.303201+02:00"
timezone: Europe/Madrid
temperature_unit: °C
is_device_active: true
ema_temp: 25.09
is_used_by_central_boiler: false
is_over_climate: true
start_hvac_action_date: null
underlying_climate_0: climate.habitacio
underlying_climate_1: null
underlying_climate_2: null
underlying_climate_3: null
is_regulated: true
regulated_target_temperature: 24.5
auto_regulation_mode: auto_regulation_medium
regulation_accumulated_error: -10.495166666666599
auto_fan_mode: auto_fan_low
current_auto_fan_mode: auto_fan_low
auto_activated_fan_mode: low
auto_deactivated_fan_mode: auto
auto_regulation_use_device_temp: false
icon: mdi:air-conditioner
friendly_name: AC Habitació vt
supported_features: 441

Describe the bug
Underlying climate temperature does not change
I'm trying to:
Change the target temperature
And I expect:
The target temperature to be changed in the underlying climate entity (I know it will not be an exact match to what is shown on the Vtherm climate)
But I observe this ....
The underlying climate temperature does not change.
Before, when setting a manual temperature, or when changing between climate presets, i could see the temperature of the underlying climate entity changed. This was also reflected on the AC unit's display. The displayed temperature did not match exactly Vtherm's temperature, but that was expected. Now, however, the temperature doesn't change. I can manually change it from the Esphome integration, and whatever value I set there is left unchanged regardless of any change I do from Vtherm, and so is the actual functioning of the AC unit.
his is happening with 2 different AC units, both controlled through Esphome.
I read the documentation on the README.md file and I don't find any relevant information about this issue.
Debug log

2024-08-11 22:34:16.947 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-AC Despatx vt - The device offset temp for regulation is 0.00 - internal temp is 0.00. New target is 20.50
2024-08-11 22:34:16.948 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_temperature (c:01J51JC77K4GNQWDH94KHXXJ04): entity_id=['climate.despatx'], temperature=20.5, target_temp_high=26.0, target_temp_low=15.0>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 2783, in _run_service_call_catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 2806, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 939, in async_service_temperature_set
    raise ServiceValidationError(
homeassistant.exceptions.ServiceValidationError: Provided temperature 15.0 is not valid. Accepted range is 16.0 to 30.0

They had been working for months with the config above.
Now I tried removing the use of central configuration and setting minimum temperature to 16 and the temperature interval to 1 degree and now it works again.
So it looks like service validation got more strict in the latest core release and that's making those calls fall.
That's annoying because I alos have heating controlled by Vtherm and had everything in the centralized configuration, but the ACs don't accept temperatures below 16 while for the heating they are even part of some presets, so I cannot centrally put minimum temp to 16...

I have experienced the same problem. After updating to 2024.8(2024.8.1)

Hello, same experience with HA 2024.8. It was possible before but have been change somewhere in HA 2024.8

Why won't fix? Without this I can't use versatile thermostat

Does "Won't Fix" mean we're waiting for it to be fixed in Home Assistant? If so, has it been raised as an issue there yet? It seems like a fairly fundamental issue with HA, if it won't let thermostats control AC units!

Wont fix means I cannot fix this because it is related to HA 2024.8. I will try to know more about this.
But you just have to fix the min and max temperature accordingly to the error log you have: Accepted range is 16.0 to 30.0.
You cannot set the temperature to 15°.

Thanks for the clarification. I've changed my minimums, and that's got things running again for me. Strangely, so of the minimums needed to be 16 and some 17, despite all my underlyings being the same equipment!
Also, for anyone who finds this conversation in the future through Google - 15, 16, or even 17 degrees is ridiculously cold for AC! Please aim for somewhere in the 21-25 region - better for you, better for the enviroment!

Just to clarify the need for temperature range:
I use the VT to control many heat pumps that doubles as heating devices in the autumn/winter and AC in the summer. When used as heat pumps in my house & cottage - in the winter - the heat pumps is set to 10c to just keep it frost free when we are away (to save energy). The same goes for floor heating cables that I also control via VT.
Conclusion: The VT needs to be able to operate from minimum 10c. (I actually have a need for VT to control an outdoor heating cable that should only kick inn below 1c - so I would like it to function even lower than 10c.)
I really love the VT integration – and it functions really well om my heat pumps and heating cables.
All credit to jmcollin78 👍

Thanks for the clarification. I've changed my minimums, and that's got things running again for me. Strangely, some of my minimums needed to be 16 and some 17, despite all my underlyings being the same equipment!
Also, for anyone who finds this conversation in the future through Google - 15, 16, or even 17 degrees is ridiculously cold for AC! Please aim for somewhere in the 21-25 region - better for you, better for the enviroment!

15, 16 and 17 are not unreasonsable in the winter though. Even lower temperatures for stuff like a greenhouse in the winter.
Also, even if the underlying climate doesn't support, say, 15, I think it should be possible for Vtherm to support it by just turning on and off the underlying climate as needed, but i guess this would be a different issue.

Just to clarify the need for temperature range: I use the VT to control many heat pumps that doubles as heating devices in the autumn/winter and AC in the summer. When used as heat pumps in my house & cottage - in the winter - the heat pumps is set to 10c to just keep it frost free when we are away (to save energy). The same goes for floor heating cables that I also control via VT. Conclusion: The VT needs to be able to operate from minimum 10c. (I actually have a need for VT to control an outdoor heating cable that should only kick inn below 1c - so I would like it to function even lower than 10c.)

I agree with that and my anti-frost temperature that was programmed to 10 is no more possible yet. I will try to have a look and understand why this change (not documented !).

Hello
I have now studied these issues in more detail in my installations of HA.
It seems that the problem originates from the underlying climate entity that VT is controlling.
It seems that the 2024.8 update resulted in several updates of the min/max set-temp settings in many of my underlying climate entities. In many cases the underlying climate entity got a narrower min/max set-temp range. Resulting in errors/malfunction when VT tried to set regulated temperature outside of these narrower boundaries  that the underlying climate entities got after the 2024.8 update.
I have heat pumps that previously accepted a 10-35c set-temp range. But after 2024.8 they only accepted 16-31c. And that narrowing - for those exact heat pumps - was actually correct.
Other of my heat pumps kept the set-temp range from 10-35c. And that was also correct because those heat pumps actually are able to go as low as 10c.
I have also checked temp-range changes on heating cable thermostats. And there I also see some adjustment in the underlying climate entities temp-range.
I have updated the min-max set-temp range in my VT configs to be within the boundaries of the narrower min/max set-temp range of my underlying entities - and then everything works fine again.
So my conclusion is that the problem with malfunction when VT is trying to set underlying set-temp relates to an update in a narrower min/max set-temp range of some of the underlying climate entities. Thus the problem is not within the VT integration.
Regards
Gunnar

Stumbled across the same. Seems like HA is now strictly enforcing the min and max setting of a climate entity.
I would suggest that regardless of the configuration VT limits its output values to the min_temp and max_temp values of the underlying climate entities so at least it does not error out.

Hello, the change are documented here for your information: https://developers.home-assistant.io/blog/2024/07/24/climate-min-max-temperature-check/
There is also others changes that are coming with HA 2024.10. Then I have publish a new release with a complete fix of these behavior (I hope so...).
Can you please give a try to the new release 6.3.0 and let me know if it fixes your cases ?
https://github.com/jmcollin78/versatile_thermostat/releases/tag/6.3.0

Hello
I'm on a vacation this coming week. I'l test it when I'm back at home.

Hello
I have now installed 6.3.0 and HA 2024.10
It seems like it functions well
But I had previously adopted my min/max temp settings in VT to avoid the
errors. And I have not provoked the 6.3.0 with "wrong setting". So I really
don't know if it would handle "wrong setting"
But when I upgraded to HA 2024.10 - with the new Repair feature. I got
several issues. See attached image.
I chose the "Delete all old statistical data for the entity" to solve the
issues. That seems to work.
Regards
Gunnar
[image: 2490B2E6-A9C0-44A8-A3B9-432341466EE2_1_201_a.jpeg]
Med vennlig hilsen
Horisont Eiendom AS https://tingsakertorv.no/horisont-eiendom /
Lillesand Senter http://lillesandsenter.no / Agder Helsepark
https://tingsakertorv.no/forside-helse / Tingsaker Torv
https://tingsakertorv.no/om-tingsaker-torv / Horisont Utvikling
https://tingsakertorv.no/om-tingsaker-torv
Gunnar Malmgård
Tlf: 91686522,
@.***
Senterveien 30, 4790 Lillesand
søn. 29. sep. 2024 kl. 12:05 skrev Jean-Marc Collin <
@.***>:

Hello, the change are documented here for your information:
https://developers.home-assistant.io/blog/2024/07/24/climate-min-max-temperature-check/
There is also others changes that are coming with HA 2024.10. Then I have
publish a new release with a complete fix of these behavior (I hope so...).
Can you please give a try to the new release 6.3.0 and let me know if it
fixes your cases ?
https://github.com/jmcollin78/versatile_thermostat/releases/tag/6.3.0
—
Reply to this email directly, view it on GitHub
https://github.com/jmcollin78/versatile_thermostat/issues/489#issuecomment-2381293696,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ULHF2CAGZPAMKRM7UVBLDZY7GFHAVCNFSM6AAAAABMLBSZRSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBRGI4TGNRZGY
.
You are receiving this because you commented.Message ID:
@.***>

Hello @gunmalmg ,
Thank you for the report. I don't change anything on this, on this release. This is strange and when I install HA 2024.10.1 I got the same kinds of error but not on VTherm data.
By the way, you can safely remove the historical data


Package.json has incorrect licenses url.

Problem: The licenses url within package.json is no longer an active url.
Solution: The url 'http://links.sailsjs.org/license/mit' should either be reactivated, or it should be removed/changed from package.json.

Actually, this is not valid package.js metadata see npm docs.
So, fixing the url won't work. The following is valid:
{ "license" : "MIT" }