Add support for suppressing notifications using closure-based write/transaction methods

Motivation
We currently use the closure-based Realm.write(_:) method in our current projects and have recently started needing to utilise the notification suppression functionality that exists on Realm.commitWrite(withoutNotifying:).
Since the closure-based APIs don't currently support this, we've added an extension internally to work around this however after digging through the original implementation PR, I noticed that it was mentioned that the exact same extension I was introducing had already been considered but not yet implemented - https://github.com/realm/realm-cocoa/pull/4253#issuecomment-263374494
I thought it might be worth giving it a go here since it would mean one less extension for us and also provide some use for other people as well in the longer run 🙂
Changes
I've done a few things in this PR, hopefully none of them are too significant. This change aims to bring the same functionality to RLMRealm as well as Realm.
The first commit in this PR slightly cleans up the previous implementation of -[RLMRealm commitWriteTransaction:] by calling through to -[RLMRealm commitWriteTransactionWithoutNotifying:error:] directly instead of just duplicating part of the implementation. Since this method is so similar to the one I'm about to introduce, I thought it would be worthwhile making the two methods behave in a consistent way.
The second commit then introduces the Objective C support by adding a new method:
- (BOOL)transactionWithBlock:(__attribute__((noescape)) void(^)(void))block withoutNotifying:(NSArray<RLMNotificationToken *> *)tokens error:(NSError **)error;

The signature here is a tad lengthy so please let me know if there is a way that I can improve it. It's been a while since I've touched Objective C so I'm not really up to date with recommended API design guidelines.
Anyway, this method does exactly what the existing -[RLMRealm transactionWithBlock:error:] was doing but instead it calls through to -[RLMRealm commitWriteTransactionWithoutNotifying:error:] when committing the write and the previous method will pass an empty array (@[]) for convenience.
I've also added a simple test to validate the behaviour.
The last commit then does similar to Swift's Realm object by updating the existing method to introduce a new argument at the beginning. I've also added another unit test here as well to verify the functionality.
API Compatibility
All changes here are additive and shouldn't break when users update to the latest version however there is a slight downside to this since to achieve this, I'd have to leave the block argument without a label which isn't that much of a deal, but it doesn't really follow API design guidelines in Swift as it's now the secondary argument.
I could change it from write(withoutNotifying:_:) to write(withoutNotifying:block:) however it would cause a compile error in the event that the block was declared within the braces such as the following:
try realm.write { ... } // Compiles
try realm.write({ ... }) // Error: Missing argument for parameter 'block' in call

I'd prefer to re-introduce the block label as I think its better matches api design guidelines but I might be wrong.. It seems like it did exist at one time and then was removed in #4078 ... I've left it unlabelled for now but something to think about, I'm not sure what the thoughts are on introducing breaking changes.
I guess sone other option could be to deprecate the old method signature like so:
@available(*, deprecated, message: "Renamed, use write(withoutNotifying:block:) instead")
public func write(_ block: (() throws -> Void)) throws {
    try write(block: block)
}

Documentation
The header documentation added in this PR is mostly explanations that existed on other methods but I think it covered everything... I also think it might be good to update the code snippet on https://realm.io/docs/swift/latest#interface-driven-writes however I can't see that in the repo so I'm guessing it's managed elsewhere

@liamnichols Thanks a lot for the PR! Could I ask you t sign the CLA in case you haven't done that already?
Thanks!!

No worries @bmunkholm! I think I already signed the CLA but have done it again just in case 👍
Btw I'm not sure how to do anything about those 17 issues with the CI checks but let me know if I can do anything to help

Awesome, I'll let @tgoyne review this.

The Cocoapods CI jobs don't work for PRs from a fork, so those are just spurious failures.
This mostly looks good. Leaving the block argument to realm.write() unnamed so that it isn't a breaking change is the right choice, and then we'll want to add the label as part of the next major version bump.
In obj-c we want to avoid having anything but an error out-parameter come after a block parameter, so the array of tokens needs to be the first parameter. transactionWithoutNotifying:block:error sounds funny to me, but I don't have better ideas.

In obj-c we want to avoid having anything but an error out-parameter come after a block parameter, so the array of tokens needs to be the first parameter. transactionWithoutNotifying:block:error sounds funny to me, but I don't have better ideas.

Yeah I thought the same so I added it after, but can change it around then 👍🏼
Thanks for the clarification on everything else

@tgoyne:
Updated the argument order in ef0865ac5c38463ad4e185ac25e7292185f5e5ab 👍
I've also added -[RLMRealm transactionWithoutNotifying:block:] offers a default value for the NSError argument (of nil) and doesn't expose the return value similar to the way that -[RLMRealm transactionWithBlock:] does in def8e68012b615d38ec407178079d9bbcdf12ba9... Let me know what you think of this... I think it might provide some convenience but at the same time it might be a bit over the top...

Thanks all for merging these changes and thanks for all the other hard work going into Realm 👏🏼🙇♂

@tgoyne This also requires an update to the changelog.md with due credits. And an update to docs?

Not sure how the docs are handled but the Notifications > Interface Driven Writes section could also benefit by updating the insertItem() method body to the following:
func insertItem() throws {
    // Perform an interface-driven write on the main thread, making sure the change notification doesn't apply the change a second time
    try collection.realm!.write(withoutNotifying: [token]) {
        collection.insert(Item(), at: 0)
    }
    // And mirror it instantly in the UI instead
    tableView.insertRows(at: [IndexPath(row: 0, section: 0)], with: .automatic)
}

cc @bmunkholm, @cbush

Thanks @liamnichols. Docs updated.


Link error 1104: can not open file glfw3dll.lib

Platform: Windows 10, Visual Studio 2017, CMake GUI 3.8.2
The vcpkg cmake toolchain has been selected when config my project
glfw3 has been installed:
D:\download>vcpkg list
ffmpeg:x64-windows          3.2.4-3          a library to decode, encode, transcode, mux, demu...
glfw3:x64-windows           3.2.1-1          GLFW is a free, Open Source, multi-platform libra...
libpng:x64-windows          1.6.29-2         libpng is a library implementing an interface for...
zlib:x64-windows            1.2.11           A compression library

my cmake script:
cmake_minimum_required( VERSION 3.6.0 )

project ( v2t )

add_subdirectory( ./glxw glxw )

add_executable ( v2t WIN32 main.cpp H264_Decoder.cpp YUV420P_Player.cpp )

target_compile_options( v2t PRIVATE -Wall )

#
# FFmpeg
#
find_path( AVCODEC_INCLUDE_DIR libavcodec/avcodec.h )
find_library( AVCODEC_LIBRARY avcodec )
target_include_directories( v2t PRIVATE ${AVCODEC_INCLUDE_DIR} )
target_link_libraries( v2t PRIVATE ${AVCODEC_LIBRARY})

#
# GLFW3
#
find_package( glfw3 REQUIRED )
target_link_libraries( v2t PRIVATE glfw3dll )

#
# glxw
#
target_link_libraries( v2t PRIVATE glxw )

#
# libpng
#
find_path( LIBPNG_INCLUDE_DIR libpng16/png.h )
find_library( LIBPNG_LIBRARY libpng16 )
target_include_directories( v2t PRIVATE ${LIBPNG_INCLUDE_DIR} )
target_link_libraries( v2t PRIVATE ${LIBPNG_LIBRARY} )

glfw3dll.lib -> glfw3.lib

target_link_libraries( v2t PRIVATE glfw3 ) should solve it

use glfw3 give the same error:
2>LINK : fatal error LNK1104: 无法打开文件“glfw3.lib”

actually, there is no glfw3.lib in vcpkg\installed\x64-windows\debug\lib but glfw3dll.lib

@linuxaged
E:\tools\vcpkg\packages\glfw_x86-windows>ls lib
cmake  glfw3.lib  pkgconfig
vcpkg install glfw3

Both 32bit and 64bit glfw3 are installed:
D:\workspace\vcpkg\packages\glfw3_x86-windows>vcpkg list
ffmpeg:x64-windows          3.2.4-3          a library to decode, encode, transcode, mux, demu...
glfw3:x64-windows           3.2.1-1          GLFW is a free, Open Source, multi-platform libra...
glfw3:x86-windows           3.2.1-1          GLFW is a free, Open Source, multi-platform libra...
libpng:x64-windows          1.6.29-2         libpng is a library implementing an interface for...
zlib:x64-windows            1.2.11           A compression library

How to deal with pkgconfig? Do not understand, @Voskrese

glfw3.pc
prefix=E:/tools/vcpkg/packages/glfw_x86-windows
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: GLFW
Description: A multi-platform library for OpenGL, window and input
Version: 3.3.0
URL: http://www.glfw.org/
Requires.private:
Libs: -L${libdir} -lglfw3
Libs.private:  -lgdi32
Cflags: -I${includedir}

set PKG_CONFIG_EXECUTABLE=E:\tools\Bin\pkg-config.exe
set PKG_CONFIG_PATH=E:\tools\vcpkg\installed\x86-windows\lib\pkgconfig;E:\tools\gstreamer\1.0\x86\lib\pkgconfig;E:\tools\vala-0.12.0\lib\pkgconfig

fix by using find_library
find_path( GLFW3_INCLUDE_DIR GLFW/glfw3.h )
find_library( GLFW3_LIBRARY glfw3dll )
target_include_directories( v2t PRIVATE ${GLFW3_INCLUDE_DIR} )
target_link_libraries( v2t PRIVATE ${GLFW3_LIBRARY} )

I tried and you are right there is a problem. find_package should've work. I can submit a pull request later tonight to fix this

Actually nothing needs to be fixed. You just need to do find_package(glfw3 REQUIRED) and target_link_libraries(${PROJECT_NAME} glfw) then it should work. Note: glfw not glfw3 in target_link_libraries.


docs: GitHub collab tutorial

Pull Request Template
Important Reminder: Sensitive Data Review
Please ensure that no sensitive data (such as passwords, API keys, private keys, personal information, etc.) is included in your pull request. This includes sensitive data in both text and images/screenshots.
Before submitting:

Double-check all text in the PR description and any code for sensitive information.
Review all images/screenshots to ensure no private or sensitive information is included.
If in doubt, ask someone else to review for sensitive data.
Remove any sensitive content before submitting the PR.

Warning: Once you have submitted a PR to GitHub with sensitive data, you should consider any sensitive data in the commit compromised.
If you’ve included sensitive data by mistake:
Alert the owner of the repo and submit a ticket via GitHub support requesting the PR to be deleted from the history of the repo.
Description
Please provide a summary of the changes and the related issue(s). Also include any relevant motivation or context for the changes.
I've included a tutorial on how to use GitHub collaboratively using two approaches: command line vs. GitHub desktop. This tutorial includes GIFs that show how to move through each step as well as supporting images.
Type of Change

[ ] Bug fix
[ ] New feature
[X] Documentation update
[ ] Other (please specify)

How to Test
Please describe the steps to test your changes. Include any relevant testing instructions or guidelines.
@DOH-FAA3303 Please review that the .qmd looks okay and syncs up with the website properly.
Checklist

[X] I have reviewed the pull request for any sensitive data, including text and images.
[X] I have read and followed the contributing guidelines.
[X] I have checked my code for any issues.
[X] I have updated the documentation (if applicable).
[ ] I have added tests to cover my changes (if applicable).
[ ] All tests are passing (if applicable).
[x] My changes do not introduce any new warnings.
[X] I have run the code locally and verified the changes work as expected.

Screenshots (if applicable)
If your pull request includes images or screenshots, please confirm that no sensitive information is present. If unsure, remove or blur any potentially sensitive content.

By submitting this pull request, you agree that you have thoroughly reviewed the content and are confident that no sensitive data is exposed.

@DOH-PNT0303 i pushed two commits with changes laid out in #19, take a look and lmk if you approve
closes #19


Enable more profiling-related metrics.

For now only at exporter level, full support coming soon.
What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

Superceded by https://github.com/DataDog/integrations-core/pull/15438


The react file has no smart code prompt

VSCode Version: 1.41.1
OS Version: win10 1903

Steps to Reproduce:

The react file has no smart code prompt
Normal js files have smart prompts

Does this issue occur when all extensions are disabled?: Yes/No
Not sure

@asas55858995 can you please provide more information? Best would be a small example with step by step instructions. Thank you!

/needsMoreInfo

@kieferrm

VSCode Version: 1.41.1
OS Version: win10 1903

In the react file, For example:

if I type in a field called func, the function panel should be prompted.
The same is true for other keywords! Such as input con field, The prompt panel should show the console!

Normal JS file normal.
No tips now, I don't know what happened.
Long time ago used to install all these vscode plugins, But that didn't happen problem.
It's a pain to write code these days. It's like writing code in a journal, I wish I could get help.
Thank you!
Here is a list of plug-ins installed by vscode:

auto-close-tag v0.5.6
auto-rename-tag v0.1.1
better-comments v2.0.5
bracket-pair-colorizer v1.0.61
change-case v1.0.0
code-beautifier v2.3.3
code-runner v0.9.15
code-settings-sync v3.4.3
code-spell-checker v1.7.20
color-highlight v2.3.0
color-info v0.5.1
debugger-for-chrome v4.12.3
docthis v0.7.1
EditorConfig v0.14.4
es7-react-js-snippets v2.5.0
guides v0.9.3
highlight-matching-tag v0.9.6
html-css-class-completion v1.19.0
html-snippets v0.2.1
htmltagwrap v0.0.7
indent-rainbow v7.4.0
JavaScriptSnippets v1.7.2
markdown-all-in-one v2.6.1
markdown-preview-enhanced v0.5.0
npm-intellisense v1.3.0
open-in-browser v2.0.0
output-colorizer v0.1.2
path-intellisense v1.4.2
polacode v0.3.4
prettier-vscode v3.18.0
project-manager v10.9.1
react-redux-react-router-snippets v0.4.29
regex v0.2.0
sass-indented v1.7.1
sass-lint v1.0.6
simple-react-snippets v1.2.2
sublime-babel-vscode v0.2.10
todo-tree v0.0.162
typescript-hero v3.0.0
vetur v0.22.6
vsc-material-theme v30.0.0
vscode-css-peek v3.0.2
vscode-eslint v2.0.11
vscode-fileheader v0.0.2
vscode-filesize v2.1.3
vscode-gutter-preview v0.24.2
vscode-html-css v0.2.3
vscode-icons v9.6.0
vscode-import-cost v2.12.0
vscode-language-pack-zh-hans v1.41.2
vscode-markdownlint v0.33.0
vscode-npm-script v0.3.10
vscode-todo-highlight v1.0.4
vscode-typescript-tslint-plugin v1.2.3
vscodeintellicode v1.2.2
vue-snippets v0.1.11

Do You have jsconfig.json or tsconfig.json in the root directory?

@jabczyk None! The project was generated by create-reaction-app scaffolding.

@jabczyk  None! The project was generated by create-react-app scaffolding.

@asas55858995 Looks like IntelliSense needs one. Create jsconfig.json (or tsconfig.json for TypeScript) and fill it with something like:
{
  "compilerOptions": {
    "target": "es6"
  }
}

@jabczyk A jsconfig.js file was added to the root directory in your way, But the react file still doesn't have a smart prompt.
In the react file, the language pattern is Javascript react (Babel).
Is there any missing configuration? Previously, react files had prompts.

I need help, Thank you!

There are multiple issues like this. Like this, and this.
I've downgraded my vscode to version 1.40 and intellisense is working again. You can try to do the same until this is fixed.
(I was also working with React, vscode version 1.41.1, Windows 10 64-bit)

@husseyexplores I don't know how to go back to the version, How do you do that? there was a problem with the synchronous extension before, it was reinstalled later! Hope the officially can fix it soon!
In addition, Can the authorities see my question?

Go to this link
And click here (For windows)

There are options for Mac and Linux too.

@husseyexplores Ok, Thank you very much!

@husseyexplores I went back to version 1.40 and intellisense is working again! Thank you for your help!
We hope to fix this problem in the latest update plan, Otherwise I dare not update the new version!

@asas55858995 Is your code stored on a different drive letter drive (not the c: drive?)
Also, using VS code 1.41 please try upgrading your workspace to use typescript@next by installing this extension. Does that fix the problem?

@mjbvz I have two disks, C and D. The code is in the D disk, while vscode is in the default installation path.
I am currently using react and only found this problem in writing react files. For others, like vue or angular, I don't know. Normally in js or ts files, there is no such problem.
Yesterday, I went back to version 1.40. Version 1.40 makes intellisense work without installing additional help plug-ins.
The latest version takes up most of my time and I don't want to do it anymore.
Wait until the official fix is complete, then update.
Thank you for your kind help!

@mjbvz I have two disks, C and D. The code is in the D disk, while vscode is in the default installation path.
At presen, I used version 1.40. Dare not update!

In the issues section, many people have encountered this problem

Duplicate of https://github.com/microsoft/TypeScript/issues/35512
As a workaround, upgrad your workspace to use typescript@next by installing this extension


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix join whenever contains is used

Changes
Fix join statement whenever a query for EHR attributes is based on a CONTAINS clause. CONTAINS implies a WHERE filter based on template IDs which was ignored when building the SQL JOIN.
Related issue
Fixes: https://github.com/ehrbase/ehrbase/issues/368, https://github.com/ehrbase/ehrbase/issues/367
Additional information and checks

[ ] Pull request linked in changelog

related tests are PASSING again 👍


Custom risks add-ons documentation, Go or Yaml?

I am wondering if there is a good example of implementing custom rules to enforce (local) organizational policies?  For example, technology X with tag Y should have whatever property or communication link and output custom risk, which could be applied to all models.
I've dug through the code and noticed that there are some Yaml artifacts suggesting that there is a move away from code to Yaml defined policies. I would absolutely love to hear more about this approach, since the documentation is a little scarce.
I think this may also relate to: https://github.com/Threagile/threagile/issues/52

I commented at #52 and I think your request would be possible to fulfil with something similar to https://github.com/Threagile/threagile/blob/master/pkg/risks/scripts/accidental-secret-leak.yaml


github oauth popup not centered

Gahh, looks like GitHub has updated the styling on their login page! Thanks for reporting this. Technically, this is a problem with the underlying Firebase SDK, not AngularFire, so I'm going to close the issue here and move it into our internal bug tracker. We are putting together a fix for the Firebase client and will plan to get it released ASAP. Keep an eye out for a 2.4.1 release of the Firebase SDK in the coming days. I'll try to remember to ping here when it gets released.

FYI that 2.4.1 was just release with a fix for this. Happy Friday!
https://www.firebase.com/docs/web/changelog.html

Thanks @jwngr

Hi Gavin!
It would be nice if you guys had a condensed responsive version of the sign
in and sign up pages for people who use Github for oauth in a popup on
their website. Thanks!
I appreciate you writing in about this! I can see how this would be really useful and how the GitHub OAuth popup can be improved. Though it's not currently possible to implement this right now, I've added it to our internal Feature Request List for our team to see.
All the best,
GitHub Staff

Thanks for reporting this to GitHub themselves. A responsive sign up page would be super useful and most other OAuth providers already have it. Hopefully they get it added sometime soon!


Type definitions cause compile errors in robot project that this is included with.

Gives compile errors on the robot project. int16_t is undefined.

Strange, this doesn't occur for me, but it probably is compiler-specific

Out of curiosity, what platform/compiler?

Out of curiosity, what platform/compiler?

This was compiling for desktop simulation in a 2023 beta 4 wpilib project. So Im pretty sure it used the Visual Studio compiler.

That's odd. What version of Visual Studio do you have installed?

That's odd. What version of Visual Studio do you have installed?

Visual Studio 2022

Huh. It obviously can't replicate in CI, but I'll merge the fix. Just FYI, I'm not sure if there will be another release for this repo since Studica has said they'll be releasing a beta soon. I'll probably do a release this weekend against wpilib beta-5 if they haven't.

Sounds good to me! Thanks for the investigation

closed in #11


WS2815B support

I'm new, but so far the hardward seems to be working. I have a WS2815b strip with 120 leds. I can start the example strandtest, but the color is completely off, compared to the code. First, only some LED turn on (7), then till LED 34 and never have I managed to get all light up. It is hard to describe, e.g.: colorWipe(strip, Color(255, 0, 0))  or (0,255,0) or (0,0,255)
first 19 led turn white, some flicker but led 20 or further never turns on.
I tried to pass PixelStrip some the arguments like rpi_ws281x.WS2812_STRIP, but this didn't help and there is no matching variable for a WS2815...
Does anybody have an idea?

I just bought a WS2815B and have no issue with rpi_ws281x. strand.py run flawlessly.
I use a logic level shifter from 3.3V to 5V between PWM and DATA signal of the strip powered by the +3.3V and +5V of the Raspberry Pi (I use the Raspberry Pi 1B).
Also, don't forget to share the GND between your external power supply and the Rasberry Pi, this caused random display on my end.

I'm not able to get this to work with the WS2815B. I just get random colors on the strip. Works flawlessly with the WS2812B, though - any ideas?


[ENHANCEMENT] (Screen reader accessibility.)

Please confirm these before moving forward

[X] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This improvement refers to an existing feature. If you want to suggest a new feature, please use this template
[X] This improvement is not a bug. If you want to report a bug, please use this template

Describe the improvement
I wanted to provide some feedback on the accessibility of WingetUI, particularly for users like myself who rely on screen readers such as NVDA.
When attempting to read a package name in WingetUI, NVDA announces something like "ModernWindow.PackageEngine.Classes.Package," but it doesn't vocalize the actual package name unless I use more advanced screen reader techniques. While most buttons are properly labeled, this issue makes it a bit challenging to navigate through packages smoothly.
To enhance accessibility, it would be incredibly beneficial to include a keyboard shortcut that can quickly jump to the search box or the list of packages. It would also be fantastic if there were a way to bring focus directly to the list of found packages after performing a search. These adjustments could greatly improve the usability of WingetUI for screen reader users like myself.
If you're interested in testing accessibility without installing additional software, you can enable or disable the Windows built-in screen reader using the keyboard shortcut CTRL + windows+ Enter. For more information on using Narrator, you can check out Microsoft's help page:
https://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1
For further guidance on Windows accessibility standards, I recommend exploring Microsoft's accessibility resources.
https://learn.microsoft.com/en-us/windows/apps/design/accessibility/accessibility
Additionally, if you're curious about NVDA and its capabilities, you can visit the NV Access website: .
https://www.nvaccess.org/
Thanks for considering this feedback! Feel free to reach out if you have any questions or need further clarification.
Describe how this improvement could help users.
Improving accessibility for screen reader users.

this is already an open issue


[Request for External] Codeunit 7312 Create Pick - CalcQtyToPickBase

Hi,
would like to know if it is possible to get function CalcQtyToPickBaseglobal.
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Requesting analyzer support for "trailing/closing tag" feature

We quickly explored the usefulness of "closing tags" for Flutter code, and our initial users seem to find it helpful. We'd like to explore how to do this "for real" which we believe requires help/support from the analyzer, in order to improve robustness of the feature and help make it available in IntelliJ.
I'll defer to @DanTup for further explanation and technical requests.

The current implementation linked above uses getHovers to retrieve offset/length information for the constructor calls. To know where constructors are it uses a combination of highlights and outlines. The whole thing is rather inefficient!
The idea is to implement a new notification in the analysis server that can provide all of the require info for rendering these decorations for an entire file in a single message - something like an array of int offset/int length/string label.
With assistance, I hope to contribute this feature :-)

This work is now pretty much complete (PRs #30332, #30372 and #30411). There may be some tweaks but I believe the API is stable (or at least, future changes will be non-breaking).
There are some cases where invalid code may result in misplaced labels (see #30370) though hopefully parser improvements will correct these in future.
@bwilkerson I think we're both happy any future changes will be non-breaking, so is it possible to bump the analyzer API version now? I think I'd like to ship an update to Dart Code to switch to this (though still behind a flag) to get some more feedback (eg. @devoncarew has concerns about this appearing in too many places).

Alex seems to think the API is good for IntelliJ as well, so yes, I think we should bump the API level and call this done. Thanks for adding this!

@bwilkerson Is it just a case of updating the spec and then re-running the generation script? I can send a PR, or if it's easier for you to do, feel free. Thanks!

There's one other place to update, so I did it myself (https://codereview.chromium.org/3002513002/).

Excellent; thanks!

while still marked experimental

I'm not sure if you saw my previous comment about this - experimental didn't seem to work on this (a notification) so it's not actually marked as such. I don't think it's a problem here (I don't expect any changes will be breaking), but want to make sure you realise!

Note: This does not include experimental="true" because it didn't seem to work on notifications:
Exception: analysis.closingLabels: Unexpected attribute in notification: experimental
#0      ApiReader.checkAttributes. (file:///Users/danny/Dev/Google/sdk/pkg/analysis_server/tool/spec/from_html.dart:127:9)

Probably something we should add support for, just so we can message the stability of the APIs properly -

Devon has updated the generator and marked the notification as experimental, so I think we can close this issue.

Great; thanks! 👍

Thank you all for the discussions, reviews, comments, and brainstorming!!

Btw, I'm expecting to ship an update to Dart Code tomorrow that uses this API. I can see Flutter seems to already have this (I'm not sure how though, the SDK version looks like it's about 5 days old, yet the analysis server is returning 1.18.4!) so if you have the original preview flag turned on, it'll just switch over :-)

I was mistaken; I was still pointing at the local analysis server =)
I'm going to hold off pushing the update until SDK 1.25.0-dev.10.0 is pushed so I can give it a final test before Dart Code switches over to it. I'll post back when I do, so people can try it out.

I've shipped Dart Code v2.4.0. This includes an implementation of "closing tags" that uses the analysis server (you must be using at least 1.25.0-dev.11.0 which was released yesterday; flutter is also using it if you update).
It's still behind a flag (though there's a new flag name dart.previewClosingLabels since it's flutter-specific - the old flag still works) to get some more feedback (it now appears for all Dart!).
Please try it out and send feedback here -> https://github.com/Dart-Code/Dart-Code/issues/383


write access i.e. start/stop charging

Is your feature request related to a problem? Please describe.
Apart from the information about current data (i.e. charge state) it would be great if charging could also be started/stopped via node-red.
Describe the solution you'd like
Make POST requests towards the API to also control the car rather than just monitoring it.
Describe alternatives you've considered
pyze already has write requests, but it doesn't integrate into node-red

@ctr49  this is already possible with the msg.topic => set-charge-mode
and the correct payload.
See: https://github.com/node-red-contrib/node-red-contrib-renault-ze/blob/b90f99742c9661ca9693f62a9c7b2eefc59933a0/src/renault-ze.ts#L52
I will close this ticket. I you still have an issue, just reopen.


[rom_ctrl] Make the mux select into a MuBi4

Nothing particularly clever going on here, but I'd appreciate a quick look over the logic that converts a (6 bit) sparse FSM state to a MuBi4 in rom_ctrl_fsm.sv. Have I done the right incantation with prim_buf?

Adding @cdgori also in case i missed something.


Fix a bug in nc_apps when conf is present but no source. This is not …

…needed any more, because in this case the install is from the official App-store. Additionally fix an slight issue with Debian Bookworm for some custom install-variants. This is related to https://github.com/nextcloud/ansible-collection-nextcloud-admin/issues/335

Thanks @marioqxx !


Extends GraphQL Spans

Fixes #
Changes
This pull requests extends the capabilities of graphql open telemetry.
It adds a span for the execution of a GraphQL operation and a span for the resolvers.
I left a few comments in the definition to open a dicussion about the changes.
Merge requirement checklist

[ ] CONTRIBUTING.md guidelines followed.
[ ] CHANGELOG.md updated for non-trivial changes.
[ ] schema-next.yaml updated with changes to existing conventions.

What do we do with validation errors? If someone sends a invalid GraphQL requests that e.g. could not be parsed. Which span should be emitted

@jsuereth  Can this Pull Request be reopened? How can i get feedback for this?

bump

Hi @PascalSenn,
Sorry for not reviewing the PR for a long time - unfortunately we don't have any GraphQL experts among semantic conventions approvers.
We have some folks who contributed https://github.com/open-telemetry/semantic-conventions/pull/1389 recently and I wonder if they could give this one a review as well.
@kaylareopelle @robertlaurin would you mind taking a look and sharing ant feedback?
Thanks!
PS: happy to review from general semconv perspective sometime next week.


Remove unit tests as being run as part of the pre-commit hook

Fixes #1986
This pull request:

[x] Has a title summarizes what is changing
[x] Includes a news entry file (remember to thank yourself!)

@DonJayamanne I will prioritize getting the quick npm run test:unittest done today. Will likely require a bit of a hack to make the output how we want, but I'll add issues to counter that in future.


Search Bar / Tags

Something that is 100% necessary ( I don't know if you were planning on adding this already) is a search bar on the tutorials page and a way to sort tutorials into categories, so the person making the tutorial could add some tags to their tutorials, and then you could filter tutorials by tags or search by keywords.

this maybe relevant


SimpleViewComponent Size Issue

Hi, it's me again😅
I used the SimpleViewComponent component in the example, I cannot get the correct size
What can I do to make the component width and height correct?
this my code
SimpleViewComponent<UIButton>().update {
    $0.setTitle("button", for: .normal)
    $0.setTitleColor(.systemBlue, for: .normal)
}.backgroundColor(.brown)

Size：zero
Thanks for your help

This is expected. In this framework, there are two phases when rendering. One is the layout, second is rendering the views that are on screen.
The component view will first layout the entire component tree, then only create the views that are on screen. This makes it fast just like a UICollectionView where even if you have 100000 cell, it will still only display the ones that user scrolls to.
SimpleViewComponent by default, doesn't initialize a view for it to get its size. If you imagine having 100,000 of these in your feed, if each SimpleViewComponent initialize a view to retrieve its size, it is going to take a lot of memory and be very slow to initialize. So normally you will have to supply a size via the .size() modifier, or do your own size calculation by writing your own component.
SimpleViewComponent<UIButton>().update {
    $0.setTitle("button", for: .normal)
    $0.setTitleColor(.systemBlue, for: .normal)
}.backgroundColor(.brown).size(CGSize(width:100, height:44))

However, if you don't update your feed frequently, or if you only have a few of these views. You can directly create a view and pass it into the SimpleViewComponent like so:
let button = UIButton()
button.setTitle("button", for: .normal)
button.setTitleColor(.systemBlue, for: .normal)
SimpleViewComponent(view: button)

This way, the SimpleViewComponent has a view to retrieve the size from, and you will get the correct layout.
And did you know? all UIView are compatible to be used as a ViewComponent.
So what I do normally if I have a few views that I would like to display in a componentView is the following:
class ViewController: UIViewController {
  let button = UIButton()
  // ...
  func viewDidLoad() {
    super.viewDidLoad()
    button.setTitle("button", for: .normal)
    button.setTitleColor(.systemBlue, for: .normal)
    componentView.component = VStack {
      // ...
      button // <- notice that I can directly put the button inside any layout component, this will turn it into a SimpleViewComponent automatically
    }
}

If you are going to build a scrolling feed of these cells, you should create your own component for your cells. You can check out the Card examples or the Text or Image component to see how the size is calculated during a layout cycle if you plan to implement your own Component.

This is awesome and very helpful to me


MINOR: (re)add equals/hashCode to *Windows

These were removed in b3771ba22acad7870e38ff7f58820c5b50946787 because they were incorrect and believed unused.
In retrospect, they are in the public interface, so it might be better to just provide correct implementations.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@guozhangwang @bbejeck @big-andy-coates ,
Would you mind reviewing this?
It's still not 100% clear that we need it, and as you can see in the javadoc, it's not without risk.


Feature Request: Built-in CSS Class Composition

This is something I talked to @fuzetsu about in the Mithril.js Gitter.
I'm coming from using exclusively plain .css files and atomic CSS frameworks like Basscss. Usually, when I'd build a component (in my case, a Mithril component), I just chain a bunch of Basscss classes to style it. bss is great because I'm able to define additional component-specific styles very easily, and not have to go to a separate .css file to define 5 different atomic classes I'd probably only use once.
Here is how I'm using bss at the moment in conjunction with Basscss:
const bssClass = b`
  transition all 0.2s ease
`.$hover`
  background-color red
`;

const StyledBtn = `button.btn.btn-primary.not-rounded.${bssClass}`;

const Btn = {
    view: ({ attrs, children }) => m(StyledBtn, attrs, children)
};

Flems link
While this works totally fine for my purposes, I think it would be nice to have a built-in way to specify classes to compose, perhaps something like this:
const StyledBtn = b`
    $compose btn btn-primary not-rounded
    transition all 0.2s ease
`.$hover`
    background green
`;

Which may produce a className string such as
.btn.btn-primary.not-rounded.bdp4f3o1

for me to use with my component of choice.
What do you think?

Another not to bad option without implementing anything is:
const SyledBtn =
  'button.btn.btn-primary.not-rounded' +
  b`
    transition all 0.2s ease
  `.$hover`
    background green
  `

Assuming the issue is having the separate variables.
That said I do like the concept of $compose and (mostly because it fit in with some other stuff I was doing) I implemented in my css-in-js library.

Hey :)
Yeah, @fuzetsu beat me to it 😋 I would advise good old string concatenation as well..
I'd love to hear what's to prefer wrt. having something like $compose instead though?
IF actually adding something like that wouldn't it be much neater just being able to chain classes inside like this:
b`
.some.other.classes
transition all 0.2s ease
`

That looks fine too, probably preferable. I admittedly lifted the $compose idea from our conversation in Gitter, but in hindsight, that probably makes more sense in zaftig than in bss.
Anyway, the benefits of this would be marginal in that I think it makes things a wee bit neater, and keeps all of my styling concerns 'within' bss.

@porsager wrt benefits of $compose
It's kinda of useful when not using hyperscript, in situations where it's not super easy to concat b cleanly.
<div class={'class1 class2 class3 ' + b`m 10`.class}>

vs

I'm considering removing it from zaftig though because I pretty much always use hyperscript, and don't often need to add other classes.

Thanks a lot for the experience feedback @fuzetsu !
With regards to needing .class I actually have a solution I just haven't gotten around to put it in yet (was waiting for bss 2.0) ;)
Behold the awesomeness

Ooh! I think I remember you sharing that somewhere. That's genius :laughing:  Can't believe I forgot about it.
Might have to steal it :eyes:

Closing this as I found @fuzetsu 's solution elegant enough.


translations not working in vercel

when i do next build && next start in my local it works but not in vercel

i18n.js
module.exports = {
  locales: ['en', 'tr'],
  defaultLocale: 'en',
  pages: {
    '*': ['common', 'fields', 'layout'],
  },
  loadLocaleFrom: (lang, ns) =>
    import(`./locales/${ns}/${lang}.json`).then(m => m.default),
};

@xerenahmed I need more details. Do you have a reproducible example? I personally have several Vercel projects using Next-translate and I have no problem.

worked now, I guess the reason is cache. Sorry, thanks for your help.


Docker is now a requirement

@jrbartola sorry to trudge this up, why did docker become a requirement? It was working so nicely as a CL utility ?

It was beginning to get difficult for us to support. We were getting weird questions about problems we were unable to replicate.
The UI had also added complexity in the build process that was easier to handle with docker.


sort directories above files

This PR makes directories always sorted before files in the file list.

Is sort a stable sort? If not, the files/folders may not remain lexicographically sorted after the second sort.

Yes, from the immutablejs docs:
sort()
Returns a new Iterable of the same type which includes the same entries, stably sorted by using a comparator.


Update from z-classic:develop

per GitHub:
Conflicting files

[ ] .travis.yml
[ ] README.rst
[ ] RELEASE-NOTES
[ ] contrib/build-osx/make_osx
[ ] contrib/build-osx/osx.spec
[ ] contrib/build-wine/prepare-wine.sh
[ ] electrum-zcl
[ ] gui/kivy/Readme.md
[ ] gui/kivy/main_window.py
[ ] gui/kivy/uix/dialogs/fee_dialog.py
[ ] gui/kivy/uix/dialogs/tx_dialog.py
[ ] gui/qt/address_list.py
[ ] gui/qt/exception_window.py
[ ] gui/qt/history_list.py
[ ] gui/qt/main_window.py
[ ] gui/qt/util.py
[ ] gui/qt/utxo_list.py
[ ] lib/bitcoin.py
[ ] lib/currencies.json
[ ] lib/exchange_rate.py
[ ] lib/interface.py
[ ] lib/network.py
[ ] lib/simple_config.py
[ ] lib/transaction.py
[ ] lib/util.py

need to manually verify later, but so far, this is nominally resolved below:
$ git pull https://github.com/z-classic/electrum-zcl.git develop
From https://github.com/z-classic/electrum-zcl
 * branch              develop    -> FETCH_HEAD
Already up to date.

$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

$ git merge --no-ff pr/4
Auto-merging setup.py
CONFLICT (content): Merge conflict in setup.py
Auto-merging lib/x509.py
Auto-merging lib/version.py
CONFLICT (content): Merge conflict in lib/version.py
Auto-merging lib/verifier.py
CONFLICT (content): Merge conflict in lib/verifier.py
Auto-merging lib/util.py
CONFLICT (content): Merge conflict in lib/util.py
Auto-merging lib/transaction.py
CONFLICT (content): Merge conflict in lib/transaction.py
Auto-merging lib/network.py
CONFLICT (content): Merge conflict in lib/network.py
Auto-merging lib/interface.py
CONFLICT (content): Merge conflict in lib/interface.py
Auto-merging lib/exchange_rate.py
CONFLICT (content): Merge conflict in lib/exchange_rate.py
Auto-merging lib/currencies.json
CONFLICT (content): Merge conflict in lib/currencies.json
Auto-merging lib/bitcoin.py
CONFLICT (content): Merge conflict in lib/bitcoin.py
Auto-merging gui/qt/main_window.py
CONFLICT (content): Merge conflict in gui/qt/main_window.py
Auto-merging contrib/build-osx/make_osx
CONFLICT (content): Merge conflict in contrib/build-osx/make_osx
Auto-merging README.rst
CONFLICT (content): Merge conflict in README.rst
Automatic merge failed; fix conflicts and then commit the result.

$ git mergetool
Merging:
README.rst
contrib/build-osx/make_osx
gui/qt/main_window.py
lib/bitcoin.py
lib/currencies.json
lib/exchange_rate.py
lib/interface.py
lib/network.py
lib/transaction.py
lib/util.py
lib/verifier.py
lib/version.py
setup.py

Normal merge conflict for 'README.rst':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'contrib/build-osx/make_osx':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'gui/qt/main_window.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/bitcoin.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/currencies.json':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/exchange_rate.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/interface.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/network.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/transaction.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/util.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/verifier.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'lib/version.py':
  {local}: modified file
  {remote}: modified file

Normal merge conflict for 'setup.py':
  {local}: modified file
  {remote}: modified file


Features improvements

WIP

Codecov Report

Merging #1021 (9b788e5) into master (9520cbc) will increase coverage by 0.16%.
The diff coverage is 64.28%.

:exclamation: Current head 9b788e5 differs from pull request most recent head 0866663.  Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update

Hello 3kh0,
I'm known as Vantablack or 3kh0 but suit on your discord server. I was wondering if I could help you with some projects this summer. I would also like to join your organizations: Repo Repairs, Blooketware, and Pylon Apps.
Thanks,
Vantablack

@sploosh-was-taken Please DM me on discord for these kinds of questions. Thank you.

@sploosh-was-taken Please DM me on discord for these kinds of questions. Thank you.

@3kh0 I can't access discord right now because it has been blocked on all my devices. Maybe you could text or email me instead? (Use my official email in my profile please)


Bug: Copy & paste out of ZIP/archive file does not work

Description
Copying and pasting one or multiple files out of a ZIP file updates the Status Center but the file does not appear.
Steps To Reproduce

Open a ZIP file with multiple files.
Select one or more of the files
Hit Ctrl-C or right-click Copy
Navigate to another folder in that tab or another tab
Hit Ctrl-V or right-click Paste

Requirements
Expected: file(s) appear in destination folder
Actual: Message in Status Center indicating the file(s) have been copied but they are not there.
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.2715
Log File
debug.log

Thanks for the report, I've added this to the project board.

Hey, the issue also exists on my side. When dragging a file out of a zip archive into another folder to copy process is just aborted with an error message.

providing video of the issue:
https://github.com/files-community/Files/assets/59731738/69a33995-e2ee-4871-b5e0-6aa6b1a67214

I saw this problem appear from the moment the transfer speed graph was implemented.

I have the same problem, and it is even more serious than this. After repeatedly experimenting with this feature, "Files" froze my clipboard, and I had to kill the Files process from TaskMgr to solve this problem (I have it set to run in the background)

I have same problem. On 3.1 version. Win11

This issue should be fixed in the next release.

Confirmed fix in v3.3. Thank you team!

Thanks for the confirmation


go dependencies: bump protobuf library

Please provide a description of this PR:

In response to a cherrypick label: #37784 failed to apply on top of branch "release-1.11":
Applying: go dependencies: bump protobuf library
Using index info to reconstruct a base tree...
M	go.mod
M	go.sum
Falling back to patching base and 3-way merge...
Auto-merging go.sum
CONFLICT (content): Merge conflict in go.sum
Auto-merging go.mod
CONFLICT (content): Merge conflict in go.mod
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 go dependencies: bump protobuf library
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #37788

In response to a cherrypick label: #37784 failed to apply on top of branch "release-1.12":
Applying: go dependencies: bump protobuf library
Using index info to reconstruct a base tree...
M	go.mod
M	go.sum
Falling back to patching base and 3-way merge...
Auto-merging go.sum
Auto-merging go.mod
CONFLICT (content): Merge conflict in go.mod
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 go dependencies: bump protobuf library
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #37789

In response to a cherrypick label: #37784 failed to apply on top of branch "release-1.13":
Applying: go dependencies: bump protobuf library
Using index info to reconstruct a base tree...
M	go.mod
M	go.sum
Falling back to patching base and 3-way merge...
Auto-merging go.sum
Auto-merging go.mod
CONFLICT (content): Merge conflict in go.mod
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 go dependencies: bump protobuf library
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #37790


Aircraft icon?

Hi! I would like to have a nice aircraft-icon within this collection, is this possible?
Thanks!

svg-file aircraft.svg is created but still needs to be added to the collection

now implemented

thanks! :-)


M04 - minBptFunction robustness

Things in this PR:

minBptExpected function ignores oracle prices and considers only rate of rateProviders. Meaning that strategy is assuming that assets are pegged
fork tests added to check that with pool manipulation checkBalance almost isn't affected
fork tests added to check that with pool manipulation depositing is safe when using VaultValueChecker
deposit functions (that would be used by Vault if this were ever an asset default strategy) disabled
maxWithdrawal/DepositSlippage renamed to maxWithdrawal/DepositDeviation

From audit report:
The getBPTExpected functions are used to calculate the minimum amount of BPTs to
receive when depositing liquidity, or the maximum amount of BPTs to provide when
withdrawing liquidity. They calculate the underlying ETH value of the assets to deposit/
withdraw, and divide it by the price of a BPT in terms of the pool's underlying base asset.
There are two issues with this:
Based on which oracles are being used, the strategy's asset price might be stale, which
will result in an over/underestimation of the correct number of BPTs.
The calculation assumes normal market conditions, namely that the pool's underlying
base asset is trading at 1-1 parity with ETH. stETH or frxETH depegging from ETH
would make this untrue, resulting in an overestimation of the amount of BPTs.
Overestimating the BPT amount can result in reverts during deposits while underestimating
them can result in reverts during withdrawals. Consider accurately calculating the exact
number of BPTs required for these operations using Balancer's StableMath.

I think the oracle portion of this comment may be out of date:
  // STEP 5 - Re-deposit any left over BPT tokens back into Aura
  /* When concluding how much of BPT we need to withdraw from Aura we rely on Oracle prices
   * and those can be stale (most ETH based have 24 hour heartbeat & 2% price change trigger)
   * After exiting the pool strategy could have left over BPT tokens that are not earning

thanks @DanielVF nice catch regarding the oracle comment. Have corrected that one as well.


Texture with Tuist

My project is using Texture on production. I want to migrate my dependency manager from Cocoapods to Tuist. All dependency are good, but when I first run my project I got this error:
`Assertion failure in IMP ASReplaceMethodWithBlock(__unsafe_unretained Class _Nonnull, SEL _Nonnull, __strong id _Nonnull)(), ASInternalHelpers.mm:106`.

I look on the Texture source code and see that this block make the program crash:
#if ASDISPLAYNODE_ASSERTIONS_ENABLED
  if (self != [ASDisplayNode class]) {

    // Subclasses should never override these. Use unused to prevent warnings
    __unused NSString *classString = NSStringFromClass(self);

    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(calculatedSize)), @"Subclass %@ must not override calculatedSize method.", classString);
    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(calculatedLayout)), @"Subclass %@ must not override calculatedLayout method.", classString);
    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(layoutThatFits:)), @"Subclass %@ must not override layoutThatFits: method. Instead override calculateLayoutThatFits:.", classString);
    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(layoutThatFits:parentSize:)), @"Subclass %@ must not override layoutThatFits:parentSize method. Instead override calculateLayoutThatFits:.", classString);
    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(recursivelyClearContents)), @"Subclass %@ must not override recursivelyClearContents method.", classString);
    ASDisplayNodeAssert(!ASDisplayNodeSubclassOverridesSelector(self, @selector(recursivelyClearPreloadedData)), @"Subclass %@ must not override recursivelyClearFetchedData method.", classString);
  } else {
    // Check if subnodes where modified during the creation of the layout
	  __block IMP originalLayoutSpecThatFitsIMP = ASReplaceMethodWithBlock(self, @selector(_locked_layoutElementThatFits:), ^(ASDisplayNode *_self, ASSizeRange sizeRange) {
		  NSArray *oldSubnodes = _self.subnodes;
		  ASLayoutSpec *layoutElement = ((ASLayoutSpec *( *)(id, SEL, ASSizeRange))originalLayoutSpecThatFitsIMP)(_self, @selector(_locked_layoutElementThatFits:), sizeRange);
		  NSArray *subnodes = _self.subnodes;
		  ASDisplayNodeAssert(oldSubnodes.count == subnodes.count, @"Adding or removing nodes in layoutSpecBlock or layoutSpecThatFits: is not allowed and can cause unexpected behavior.");
		  for (NSInteger i = 0; i < oldSubnodes.count; i++) {
			  ASDisplayNodeAssert(oldSubnodes[i] == subnodes[i], @"Adding or removing nodes in layoutSpecBlock or layoutSpecThatFits: is not allowed and can cause unexpected behavior.");
		  }
		  return layoutElement;
	  });
  }
#endif

I realize that from my previous config, this block doesn't run. And ASDISPLAYNODE_ASSERTIONS_ENABLED is asserted from this:
#if !defined(NS_BLOCK_ASSERTIONS)
  #define ASDISPLAYNODE_ASSERTIONS_ENABLED 1
#else
  #define ASDISPLAYNODE_ASSERTIONS_ENABLED 0
#endif

So, I set ENABLE_NS_ASSERTIONS to NO for TextureSwiftSupport package config. And this error is gone.
But then I got new error whenever I init any node that inherit from ASDisplayNode.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TextureSwiftSupport.NamedDisplayNodeBase scheduleIvarsForMainThreadDeallocation]: unrecognized selector sent to instance 0x13c01c000'

I still don't have any clue about this exception. Here my sandbox to reproduce this crash:
https://github.com/98prabowo/TextureDebug
Xcode: 15.4
Texture: 3.0.2
TextureSwiftSupport: 3.20.1

interesting. I also use Tuist for this. but it works well.

I guess this target needs flags for objc
like -ObjC

Sorry I was forget to follow up this issue, I already try your solution in fresh project and it solve. Thanks a lot @muukii


Fix ExecutionMode potentially changing between equality and set calls

Hard one to write a test for, but should be obvious why this is needed. An alternative is to make ExecutionMode a field-backed computed property and lock on set. Either works for me if that is preferred.

This manifested only after there was code added in ensureCorrectExecutionMode that relied on there being a state change (ie. relying on the previous state always being different from the new one). With the existing implementation I don't think there are adverse consequences without this fix. Still best it's fixed, though.


Test CI

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/test pull-api-gateway-build


Expose Cachegrind start/stop instrumentation requests

@nnethercote is now in the process of adding client requests to Cachegrind. This PR exposes these requests from crabgrind.
Cachegrind normally uses the cg_ prefix, but I noticed that in crabgrind it's already "reserved" by Callgrind (which usually uses cl_. So I used cag_ in this PR to differentiate Callgrind and Cachegrind.

Thank you for pointing this out, i think it's better to stick to "conventional" two-letter tool prefixes to avoid confusion, so :

vg valgrind the app
cl callgrind
cg cachegrind
hg helgrind
mc memcheck
ms massif
there is now a develop branch with fixes. Could you change your PR accordingly?

Do you want me to change the base of this PR to develop or just rebase it on top of develop for now and then after it gets merged, rebased it again on top of main?

Change the prefix from cag_ to cg_ and the base to 'develop', i believe.

Ok, done :)

Thank you!
There is a missing link for Cachegrind requests doc, mind if i create an issue about this and assign it to you?

Sure, go ahead :)
https://valgrind.org/docs/manual/cg-manual.html it should appear here (probably once the next version of Valgrind is released).

available in crabgrind 0.1.10, requires Valgrind 3.22 to build.

Thanks for updating the docs!


API always return Authentication Failed

Everything wors perfect but using the API I always receive Authentication Failed, from the curl and from the browser in web.
I checked username, password (API Token) and API endpoint in the configuration of my miniflux installation. I can see the feeds from the inside but API always return this message. After some errors and check the config again and try with several procedures in the documentation.
Version: 1.1.9
OS: Debian (amd64)
PHP: 5.6.23

Could you post the curl command you use and the produced output? Use the -i parameter to also output the HTTP response header.

Closing because no answer.


Add default text in input field

Want to add default text in each input field.
And when we put the cursor on the input field to enter input, the default text will automatically will get cleared.
Below are the screenshots showing how it works,

now suppose we put cursor on name entry, the default text will get cleared,

Same way for other entry also,

@QAZIMAAZARSHAD , please assign this to me under LGM SOC, want to enter this default text in each text field


ktlint: 1.0.1 -> 1.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ktlint/versions.
meta.description for ktlint is: An anti-bikeshedding Kotlin linter with built-in formatter
meta.homepage for ktlint is: https://ktlint.github.io/
meta.changelog for ktlint is: https://github.com/pinterest/ktlint/blob/master/CHANGELOG.md
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.0 in filename of file in /nix/store/0ladyg0hhsims66vrdqwfpia9whn98wb-ktlint-1.1.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ktlint

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0ladyg0hhsims66vrdqwfpia9whn98wb-ktlint-1.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ktlint https://github.com/r-ryantm/nixpkgs/archive/ae7aab05057212a7cc0af3bb994ce0322f318bb7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ae7aab05057212a7cc0af3bb994ce0322f318bb7#ktlint

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0ladyg0hhsims66vrdqwfpia9whn98wb-ktlint-1.1.0
ls -la /nix/store/0ladyg0hhsims66vrdqwfpia9whn98wb-ktlint-1.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ktlint

Maintainer pings
cc @tadfisher @SubhrajyotiSen for testing.

Tested, ✅

Result of nixpkgs-review pr 275575 run on aarch64-darwin 1


[Tabs][TS] react warns about indicatorClassName, but it is on the TS definition

When using Tabs there's this warning:
Warning: React does not recognize the `indicatorClassName` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `indicatorclassname` instead. If you accidentally passed it from a parent component, remove it from the DOM element.

yet it is on the TS definitions, I think this was due to the recent changes to classes and that the TS definitions were not updated.

Oh, and TS complains about this:
<Tabs classes={{ indicator: 'whatever' }} />

This classes key needs to be added to the list:
https://github.com/mui-org/material-ui/blob/bfc82de543db7771eb3ad3c9fba1abac66e536b4/src/Tabs/Tabs.d.ts#L22-L31

Ok, it was fixed in #10618.


Fix for PEP8

We might add
- flake8 --version

in .travis.yml
before

flake8 --ignore E501 pandas_ml

to be able to test locally PEP8 with same tool version

Coverage remained the same at 94.781% when pulling 3c603a589826afe148bfdd600577aec016660f20 on sinhrks-patch-1 into 56c36199f37fa461def618d6050dde99bde63a46 on master.

Coverage remained the same at 94.781% when pulling 3c603a589826afe148bfdd600577aec016660f20 on sinhrks-patch-1 into 56c36199f37fa461def618d6050dde99bde63a46 on master.

Yeah, but I think it's ok to use latest as it easy to fix.

Merging, reconsider to fix pyflake8 version if its ver-up causes a problem again.

Idea here wasn't to change pyflake8 version... just to display in Travis build which version is being used.


Twig tags in my MJML file

I'm hoping to use MJML to create some email templates for my website powered by Craft. Craft uses Twig as its templating language. Instead of coding static content into my MJML templates I'm hoping to leave in my Twig tags.
My issue is this. When I use twig's output tags like {{ siteurl }} it works as aspected. But when I use logic tags like {% set posts = craft.entries.section('blog') %} it seems to strip those out completely. I need to escape these tags so that they stay in.
Is there anything I can configure to make these tags not get removed?

Hi @gregorydavidjenkins ,
As mentioned in #459, Twig should be applied prior to MJML, this is the best way to do it. I know that you can change Twig delimiters, it could be a workaround too : http://stackoverflow.com/questions/21794497/use-custom-delimiters-in-the-current-twig-template
Like you mention, some non html-friendly chars are behaving weirdly with our parser. We're working on a new parser for MJML4 but it takes some time to implement it (#394).

Twig before MJML isn't an option because I'm using grunt-mjml to create email templates that are dynamically sent out at an automatic interval. Twig has to persist because Twig injects the correct content into the template at send time.
I did find that wrapping my twig tags in  worked well.
 <mj-raw>     {% set time = now|date_modify("-14 days") %}     {% set posts = craft.entries.section('blog').after(time).limit(3) %} </mj-raw>

Well if you compile your Twig into MJML markup and then make php to compile MJML into HTML it will be the same and you don't have to compile your template through grunt-mjml so it's an easier process, and MJML template are always up-to-date.
I know this is doable in Rails env, dunno how to do it in PHP ( cf https://github.com/kolybasov/mjml-ruby gem )

Hi,
Compiling Twig to MJML and compile the MJML to HTML is ok for email such static email or newsletter, but for transactional email or email with dynamic content for each adresse, the twig render is ok, but the MJML render take few seconds to compile and slow down the email sending process 🐌

Hi,
@AlexandreGagner spawning the node process is really slow. We're looking to speed this process up, but I think the best way is to spawn a cluster of node that communicate through http or socket with your application. We’re also working on a MJML API which would enable you to hand out the MJML compilation, would you be interested in joining the beta?

You might be interested in https://github.com/inventid/maily which offers a react based mjml http service

@rogierslag Thanks
@iRyusa Why not, but I'm not sure I will make a lot of feedback (for now, but in a future side project why not)

@iRyusa I'm interested in the beta for sure.

@gregorydavidjenkins @AlexandreGagner please shoot me an email at<EMAIL_ADDRESS>I'll send you invites for the beta when it's ready :)

Hi there !
Issue looks fixed for now from @AlexandreGagner edit ! So I'm closing it 👍


Organize FromBytes and ToBytes

Closes #560 .
Pre-review checklist

[x] All code has been formatted using our config (make format)
[x] Any new API features or modification of existing behavior is covered as defined in our test plan
[ ] The changelog has been updated under the ## Unreleased header, using the appropriate sub-headings (### Added, ### Removed, ### Fixed), and the links to the appropriate issues/PRs have been included

Replaced by #1285


Add support for Node 16

Closes #535

Coverage remained the same at 70.441% when pulling 24b3b91f689833b7a71e52e6b7f5e7efb7eac87e on update-node-16 into f21256df0c9a2c91d6aad12cfb5239b5f10178c7 on main.


MSAL loginSuccess not triggering iphone device

I'm submitting a...

[ ] Safari
[ ] Chrome

Library version
Angular 8.2.0
@azure/msal-angular: ^0.1.4
Current behavior
when i try to login i entered account details, after loginPopup closed "msal:loginSuccess" event not triggering in the iphone safari/chrome browser.
some time triggering msal:loginSuccess event in the same browsers in iphone.
Expected behavior
Should login to all browsers on every time.

Going to close this as a duplicate of #843.


Remove compatibility with Java7 from SHOGun2?

Since Java7 is not maintained / updated any longer (since a couple of time), we should think about removing compatibility with Java7 from SHOGun2 in the future.
@terrestris/devs : What do you think?

Sounds good to me! Even Java8 will probably only be supported until ~ end of 2018, so it's definitely time.

:+1: we should soon make a last release that still supports Java 7


Sofas and Benches

About the PR
Adds two sofas,  four benches, and pews to the game. Revives #127 .
Why / Balance
More stuff for mappers to use to detail their rooms. Also good for player built structures during the round.
Media
Benches

Changelog
Sofas, Benches, and pews have been added, you'll slowly start seeing these in maps. You are able to construct these with steel, cloth, or wood.
TODO:
Fix the construction graphs
Improve meta copyright(?)

taken from park and put under the cd namespace :hurtrealbad:


MM-29317 Select default team when current team is archived

Summary
Switch teams when opening the app on a team that was archived.
does happened in iOS and Android.
Note: Archiving the team while the mobile app or webapp are opened, the client remains in the team. Another thing to note is that the server is not checking if the team has been archived so posting in a channel that belongs to the team is also possible while the client can still access the team. Not sure if the above reproduces while using mmctl instead of the binary cli.
Ticket Link
https://mattermost.atlassian.net/browse/MM-29317

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/14986
https://circleci.com/gh/mattermost/mattermost-mobile/14985

Artifact links:
https://14986-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk
https://14985-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa


Is @config really MachineConfig?

The README says:

@config
This argument allows you to pass a MachineConfig for actions, services, guards, etc...

When I look up MachineConfig in the xstate docs I will get to: https://xstate.js.org/docs/packages/xstate-fsm/#machine-config which is defined as:
- id (string) - an identifier for the type of machine this is. Useful for debugging.
- initial (string) - the key of the initial state.
- [states](https://xstate.js.org/docs/packages/xstate-fsm/#state-config) (object) - an object mapping state names (keys) to states
[#](https://xstate.js.org/docs/packages/xstate-fsm/#state-config)

Which does not have actions key as shown in the @config examples:
<Toggle
  @config={{hash
    actions=(hash
      toggleIsOn=@onRoomIlluminated
    )
  }}

So I think what @config is actually referring to is MachineOptions. Guessing based on createMachine syntax and knowledge how this fits together. So the docs wording should be changed:
#### `@config`
This argument allows you to pass a [MachineOptions](https://xstate.js.org/docs/packages/xstate-fsm/#machine-options) for ...

If I'm correct, then the name of the argument @config is not fortunate as it does not map 1to1 to xstate terminology. If I'm wrong, then the docs could use some better hints.

Kidna relates to #267

Also note that I created a bug ticket to enhance xstate docs to make it more explicit on their side: https://github.com/statelyai/xstate/issues/3165

I'd be happy to accept a PR changing the docs to say MachineOptions -- maybe also with the type<EMAIL_ADDRESS>since the main docs are presently incomplete?


[SPARK-5605][SQL][DF] Allow using String to specify colum name in DSL aggregate functions

Test build #26794 has started for   PR 4376 at commit f4b8dbb.

This patch merges cleanly.

Test build #26795 has started for   PR 4376 at commit c55f5fa.

This patch merges cleanly.

Test build #26795 has finished for   PR 4376 at commit c55f5fa.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26795/
Test FAILed.

Test build #26794 has finished for   PR 4376 at commit f4b8dbb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26794/
Test PASSed.


Why server aggregation are not supported for DAX?

So, if server aggregation is not suppported by DAX Queries and you have a complex DAX Query Script (wich turn it dificult to translate into MDX), the tool becomes useless entirely. Is there any workaround?

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

ID: 6272c2ce-1197-0987-c70b-e67b5954513e
Version Independent ID: af832a96-9038-cc39-62f9-36779c92659a
Content: Data retrieval guidance for paginated reports - Power BI
Content Source: powerbi-docs/guidance/report-paginated-data-retrieval.md
Service: powerbi
Sub-service: powerbi-resource
GitHub Login: @peter-myers
Microsoft Alias: kfollis

Thanks for your comment, @santoswill. This issue has been assigned to the doc author for review.

Hi @santoswill - sorry, that's how the product works for now. There's a workaround, but it could be complex for some report authors to do. It would involve writing a DAX query that returns all aggregates that your report requires. You'd then need to use conditional logic to retrieve field values you want to show in the report.


Added a proper folder structure

Hi.. please check and merge my pull request

Change this in manifest.json also

@ignatiusobiorah are you doing it.

I would love to but I don't know how to yet, I've been checking on google but didn't get a hang of it.. can you explain more specifically how I can do it, if you don't mind


Update ns-fwpmtypes-fwpm_connection_subscription0.md

Add type reference to field enumTemplate

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

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


allow starting shard numbering above 0

I am saving a persistent stream of data over long periods of time and saving them. Occasionally the script dies and I need to restart it. However, then it will overwrite the original files. It would be nice to be able to start from some number > 0 in these cases. The fix is relatively easy.
On this line in the ShardWriter class (the constructor for ShardWriter class) just add an optional parameter shard_num with default value 0 (i.e. shard_num=0, and then in the constructor (line 302) just set the shard to this number: self.shard = shard_num.

Will add this in the next release.

Should be working now (start_shard argument).


Bundle size preview

Hey, @GeekRishabh i assume you opened this PR by accident, so i will close it.


Change the script files into separate folders

Need to change the python script files into separate folders
And each folder should contain a README.md and the respective project files

I would like to work on this issue

Looks like this has been merged and can be closed?


fix(sstable): use accurate uncompressed size to avoid grow up vector

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
If we do not set a accurate size for uncompressed data, we may have a vector whose capacity is much bigger than size, and it was not in our statistic because we only use len() rather than capacity().

report accurate block size.
reduce allocate for vector

Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

Good job! I'm testing it in my environment.


fix test plan path and add cleanup to the test plan

@rgardler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


standard_init_linux.go:211: exec user process caused "exec format error"

Above error while running
bash openvpn-install.sh
On raspberry pi3 on Step 3 after entering a Client Name

Hi,
it is strange that you get this error on step 3, it seams like you have the issue with the creating of the OpenVPN Image for your ARM CPU.
Could you run this script to create a image again, with a other alpine version 3.8 https://github.com/mr-bolle/docker-openvpn-pihole/blob/dev/buildimage.sh

Hello @mr-bolle
Sorry for the delay!
So what I done was changed the openvpn-install.sh part of the script to look like this
# Upgrade Alpine Image for OpenVPN
  IMAGE_LINE=`cat -n $DOCKERFILE_CUSTOM | grep FROM |  awk '{print $1}'`       # search line with the old Image
  sed -i ${IMAGE_LINE}d $DOCKERFILE_CUSTOM                                                        # delete this old Image
  sed -i "${IMAGE_LINE}a\FROM alpine:3.8" $DOCKERFILE_CUSTOM            # append new Image

Where FROM alpine was originally alpine:3.8.4
Still no luck though, however I noticed that it was not step 3 that was the issue but step 4 - so the issue is with the following command
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full $CLIENTNAME nopass

Hi @Shaun-Harrison do you try to create the openvpn image, and can run this container?

Hello! Yes this now works on my RPI3 thank you!


Door and interlock page doesn't allow you to create/delete (only edit)

Currently you have to use the Django backend pages to create new doors or interlocks

I'm going to close this for now. I think it's actually a bad idea to let any admin (but non super user) create or remove doors from the UI. We kind of need a better/granular permission system in place before we allow this. Really, only a "sysadmin" should be creating or removing doors from the system and they can do so from the Django admin page.


Document theme developer development/mocking patterns

Theme developers need:

Versions, Translations, Search, etc.
Edge case test data

rtd_project = 'theme-test'
html_js_files = ['media.readthedocs.org/client/v1.js']

We talked about documenting:

how to include the .js client in an agnostic way (and in particular in Sphinx)
expose a hardcoded API response so developers can get the .js working properly (see what we are doing at public/_/readthedocs-config.json)

The context of this issue isn't clear, but probably some overlap with discussion at #51

@agjohnson the description is not clear, yeah. We wrote it quickly while talking at PyCon to not forget about it.
The main idea here is to allow theme authors to include our client in a simple way and return/mock/hardcode some dummy data to be received when readthedocsdataready is triggered (see #64) so they can work on developing the integration with Read the Docs without having to connect to the real API and setup multiple things.
We talked about this when we saw what @pradyunsg was doing on furo to be able to test the current integration with Read the Docs. The idea is to simplify this chunk of code https://github.com/pradyunsg/furo/blob/main/docs/conf.py#L114-L132
Does this clarify a little what is required on this issue?

Yeah I figured this was a note, thanks for clarifying.
Having a mocking pattern documented, or even available in our API, would be a great addition.

I wrote some steps in the PR description of https://github.com/readthedocs/sphinx_rtd_theme/pull/1526 that will be useful to document this issue. It requires the Read the Docs development instance up, which is not good, but I think we can slightly modify the code to don't require that.


[WIP] Initial attempt at autograd

What is done so far:

A proof of concept implementation for automatic differentiation using autograd::Variable, autograd::backward.
This currently implements only a few basic operations (only +, * for now).
Ability to perform first order derivatives. Higher order derivatives to come later.

Variable

This can be constructed in two ways

Using an af::array from the user
An operator returning a Variable. The operator constructs the Variable using a set of input Variables, the output array and a grad function.

When var.backward(grad_var) is invoked, it builds a DAG as vector starting with the current variable and propagates gradients down the graph to all the Variables in the graph using the grad function specified at each variable.
Calculating Gradients for a variable (and its subgraph) can be disabled by ivoking var.setCalcGrad(false)

Functions

Each function takes in Variable parameters and return Variable as a parameter.
Each function performs the operation immediately on the data.
Each function returns a Variable constructed using arguments as parameters:

af::array: The result calculated earlier
vector<Variable>: containing the inputs to the function
BackwardFunction_t: A function pointer to the backward pass. Usually implemented as a lambda function.

Example function:
       Variable operator +(const Variable lhs, const Variable rhs)
       {
           auto result = lhs.getData() + rhs.getData();
           auto backward = [](std::vector<Variable> inputs, Variable grad_output) {
               inputs[0].addGrad(grad_output);
               inputs[1].addGrad(grad_output);
           };
           return Variable(result, {lhs, rhs}, backward);
       }

Example:
A simple example showcasing how this can be done currently
void test()
{
    using af::autograd::Variable;
    auto x = Variable(af::randu(5), true);
    af_print(x.array());
    auto y = Variable(af::randu(5), true);
    af_print(y.array());
    auto z = x * x + x * y + y * y;
    auto dz = Variable(af::constant(1.0, 5), false);
    z.backward(dz);
    auto dx = x.grad();
    auto dy = y.grad();
    af_print(dx.array() - 2 * x.array() - y.array());
    af_print(dy.array() - 2 * y.array() - x.array());
}

TODO: for this PR

[ ] Add all math operations: +, -, *, /, pow, sin, cos, exp, tanh
[ ] Add array operations: tile, sum, transpose
[ ] Add operations required for Dense layers: matmul
[ ] Reimplement existing layers using autograd
[x] Option to enable or disable building sub graphs
[ ] Option to enable or disable retaining graphs for gradients

@botev @jramapuram @itsnarsi This has been a long time coming, but I'd appreciate if you guys had any feedback as well.

CC @arrayfire/core-devel

@Reithan too

Awesome work @pavanky . Will take a look in more detail when I get to a terminal. Quick question: can you take second derivatives with your implementation?

@jramapuram Not yet, I wanted to get the first order working first :)

@jramapuram went ahead and changed the gradients to be Variables too. This should make it easy to perform higher order derivatives.

@pavanky just tested it on my laptop and it looks pretty neat. Unlike python, I did not see any initial delay. This might be because of no JIT I guess.
When will this be merged to this repo?

@itsnarsi This is still very nascent. I want to incorporate some of the stuff mentioned here to make it more efficient:
http://pytorch.org/docs/master/notes/autograd.html#excluding-subgraphs

Decreased the scope of the PR to get a minimum viable thing going. The additional functions and operators can be added once this PR gets merged.

@jramapuram I think enabling the support for higher order derivatives by default will increase the memory being used. I am going to enable a flag to enable it during the backward pass. By default only the values will be stored.


Fix rent model to storage deposit

This PR addresses the docs part of this issue: https://github.com/near/docs/issues/345

@firatNEAR wdyt?
@gagdiez @bucanero you guys OK with this too?


Update to ESMA_env v4.20.2

This updates ESMA_env to v4.20.2 which has fixes for using parallel_build.csh with the Milans at NCCS. Namely, if you build on Milan, by default you will get build-SLES15 and install-SLES15 directories now, and -SLES12 appended on everything else.

@mathomp4 did not exactly work that way:

Namely, if you build on Milan, by default you will get build-SLES15 and install-SLES15

Please change (! $?BUILDDIR).
Note:
I built with ./parallel_build.csh -mil without ``./parallel_build.csh` first.

@mathomp4 did not exactly work that way:

Namely, if you build on Milan, by default you will get build-SLES15 and install-SLES15

Note: I built with ./parallel_build.csh -mil without ./parallel_build.csh first.

huh. I mean the code I added is boring.
Let me do some more tests and I'll convert this to draft. Grah.

I've updated to ESMA_env v4.20.3 and this should work now. I hope.


[adapter-static] router should work for .html files

Describe the problem
When deploying a static site and trying to visit the individual pages (not from the index page)
the router doesn't serve the HTML files.
/test1.svelte -> test1.html -> Not found: /test1.html
/test2.html.svelte -> test2.html -> Works
Repo: https://github.com/omar2205/sk-static-route-html
Describe the proposed solution
It should serve the HTML file
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

Okay, a few notes. A maintainer can come in behind me and correct anything that's wrong.
When naming your route files, you must add .html.svelte if you want the route to that file to be .html.svelte. This is intended behavior:
{fileName} => {resultingRoute}
test1.svelte => /test1
test2.html.svelte => /test2.html
test3.html.grandpa.svelte => /test2.html.grandpa
When running your repo using npm run preview, everything works as expected. Visiting /test1 renders the correct page; visiting /test2.html also does (try it!). I believe there's a configuration issue with your Python HTTP server. When serving the site from Python, visiting localhost:8000 allows Kit to initialize its router, meaning the client-side links you click all work. When trying to visit /test1, the Python server tries to look for the literal file /test1, which doesn't exist. When trying to visit /test1.html, the Python server tries to look for that file and finds it, which allows it to serve a webpage -- except, now, you're at /test1.html, which, to your Svelte app, is not a valid route.
TL;DR, you should not be trying to serve the actual files by name from your build folder -- that's not how it's supposed to work.
As for what the correct configuration for your server is, I'm not sure.

In the reproduction you posted the build is not creating any files because you are missing one of two options (which one depends on what you are trying to achieve) but in neither cases is there a need to name your files .html.svelte that that works is just a coincidence due to some internal workings.
Prerender all pages
This applies if you want all pages to be fully prerendered, meaning all visitors will see the same result:
const config = {
  kit: {
    adapter: adapter(),
    prerender: { default: true }
  }
};

Use a fallback page
This is useful if you want to create an SPA where prerendering wouldn't work because the content depends on the user (or is generally dynamic)
const config = {
   kit: {
     adapter: adapter({
	fallback: 'index.html'
    }),
};

You can also combine both systems to make a sort of 'hybrid', marking individual pages to not be prerendered.
<script context="module">
    export const prerender = false;
</script>

Currently the documentation for adapters and some of the usage is not 100%, but the current focus is more on getting SvelteKit to version 1.0 and a touch less on updating documentation for adapters that might still change slightly.

My intention was in cases where I can't have a fallback, for example, a simple server like Python's. My thinking was that if the pages are compiled to .html anyway, the router should just render them. It's a low priority issue behind all the 1.0 milestones.

It seems that there is a problem with the server you are deploying to. Accessing /test2.html (or any other html page generated by the static adapter) works without issue.
You can verify this by creating the demo app, installing + importing the static adapter, and then running:
npm run build
npx http-server build

Then visit http://localhost:8080/about.html


WIP: Use antd phone input

Hi @ir4y, using the latest version of the library must fix the issue. I have tested it locally, please enjoy.


MacOS Could not open library 'libglib-2.0.dylib': dlopen(libglib-2.0.dylib, 5): image not found

/opt/boxen/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi/library.rb:147:in `block in ffi_lib': Could not open library 'glib-2.0': dlopen(glib-2.0, 5): image not found. (LoadError)
Could not open library 'libglib-2.0.dylib': dlopen(libglib-2.0.dylib, 5): image not found
	from /opt/boxen/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi/library.rb:100:in `map'
	from /opt/boxen/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/ffi-1.9.18/lib/ffi/library.rb:100:in `ffi_lib'
	from /opt/boxen/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/ruby-vips-2.0.6/lib/vips.rb:28:in `<module:GLib>'
	from /opt/boxen/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/ruby-vips-2.0.6/lib/vips.rb:13:in `<top (required)>'
	from ruby_io_speed.rb:1:in `require'
	from ruby_io_speed.rb:1:in `<main>'
rake aborted!

Hello, how did you install libvips? If you use brew, libglib-2.0.dylib should be on your system as well.

brew install glib
Warning: glib 2.52.3 is already installed

Yes it is brew

I just tried on my mac and it all seems to work for me. Here's what I see. First, brew:
john@katamata ~ $ brew update
Already up-to-date.
john@katamata ~ $ brew install vips
==> Downloading https://homebrew.bintray.com/bottles/vips-8.5.8.sierra.bottle.ta
==> Downloading from https://akamai.bintray.com/6f/6f18a2e5a7cf90c137d809258e5ff
######################################################################## 100.0%
==> Pouring vips-8.5.8.sierra.bottle.tar.gz
🍺  /usr/local/Cellar/vips/8.5.8: 189 files, 12.8MB
john@katamata ~ $ ls /usr/local/lib/libglib*
/usr/local/lib/libglib-2.0.0.dylib /usr/local/lib/libglib-2.0.dylib
/usr/local/lib/libglib-2.0.a
john@katamata ~ $ vips --version
vips-8.5.8-Tue Aug 29 10:02:35 BST 2017

Then Ruby (I'm using the old Apple one):
john@katamata ~ $ which gem
/usr/bin/gem
john@katamata ~ $ which ruby
/usr/bin/ruby
john@katamata ~ $ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
john@katamata ~ $ gem install ruby-vips
Fetching: ffi-1.9.18.gem (100%)
Building native extensions.  This could take a while...
Successfully installed ffi-1.9.18
Fetching: ruby-vips-2.0.6.gem (100%)
Successfully installed ruby-vips-2.0.6
Parsing documentation for ffi-1.9.18
Installing ri documentation for ffi-1.9.18
Parsing documentation for ruby-vips-2.0.6
Installing ri documentation for ruby-vips-2.0.6
2 gems installed
john@katamata ~ $ irb
irb(main):001:0> require 'vips'
=> true
irb(main):002:0> x = Vips::Image.black 10, 10
=> #<Image 10x10 uchar, 1 bands, b-w>

So I'd check:

you have glib and libvips in /usr/local/lib
you can run command-line vips stuff correctly
your gem and Ruby know about /usr/local

I tried with the brew Ruby and that worked too.
$ ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]

ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
gem -v
2.5.1
gem install ruby-vips
Fetching: ruby-vips-2.0.6.gem (100%)
# it is not building it, why?
Successfully installed ruby-vips-2.0.6
1 gem installed

Hello again, it doesn't need to build it, it's all written in Ruby, it uses FFI to call into the dylib.
Were you able to confirm that you have the dylibs in /usr/local/lib and that the command-line vips works?
If they are fine, I think the issue must be with your Ruby install. For some reason it cannot see libraries in /usr/local/lib. You probably need to check your configuration.

/opt/boxen/homebrew/Cellar/glib/2.52.3/lib/libglib-2.0.0.dylib
vips --version
vips-8.5.8-Mon Sep  4 21:14:48 CEST 2017

your gem and Ruby know about /usr/local

What does this mean?

Do you have the libraries in /usr/local/lib? I see:
john@katamata ~ $ ls /usr/local/lib/libglib*
/usr/local/lib/libglib-2.0.0.dylib /usr/local/lib/libglib-2.0.dylib
/usr/local/lib/libglib-2.0.a

Nope, homebrew installed it in other place
brew --prefix glib
/opt/boxen/homebrew/opt/glib

I'm not sure why this isn't working with Macports but after I manually (yuck) copied the required library to /usr/local/lib, it worked. So, is there something special about /usr/local/lib but not /opt/local/lib?

Facing this error on M1, any quick fix?

Facing this error on M1, any quick fix?

Same for me

It's an ffi issue -- ruby-vips is asking for glib-2.0.0, and ffi is failing to locate the library.
Here's the ruby-vips code:
https://github.com/libvips/ruby-vips/blob/master/lib/vips.rb#L13-L45
This then runs here in ffi:
https://github.com/ffi/ffi/blob/master/lib/ffi/library.rb#L34-L112
As you can see, it'll first try dlopen("libglib-2.0.0.dylib"), which ought to be the name of the library on your platform. If you don't have your library path set up, dlopen() will fail and you'll drop into ffi's rather haphazard fallback system:
https://github.com/ffi/ffi/blob/master/lib/ffi/library.rb#L129
You can see it has various possible directories wired into the code. If you're lucky, one of these will happen to be correct and it'll work. Homebrew on apple silicon uses a directory that's NOT on that list, so it'll always fail.
I think the best solution is to get your system library lookup working. Try man dyld and have a look at the env vars you can set. I don't have an M1 mac, so I can't experiment myself, unfortunately.
If you look on ffi, you'll find several PRs which attempt to improve this unfortunate situation. ioquatix has tried, and there are others in the list as well:
https://github.com/ffi/ffi/pull/968
https://github.com/ffi/ffi/pull/963

Looking at @jcupitt 's comments, I went to ffi/ffi#968 and to the forked library. From there, I went to gems/ffi-1.15.5/lib/ffi which is the culprit for me.

mv library.rb library.rb.old
create new library.rb and copy contents from https://github.com/eregon/ffi/blob/refactor-library-lookup/lib/ffi/library.rb
create new dynamic_library.rb and copy contents from https://github.com/eregon/ffi/blob/refactor-library-lookup/lib/ffi/dynamic_library.rb

Yields a satisfying:
irb
3.1.2 :001 > require 'vips'
 => true

Yes, this is a hack. But, it looks like there is conversation around a long-term fix, and this gets me through the night.

Oh nice @Merovex. If you have time, I'd post a patch to that ffi issue as an example of what's fixed it for you. It might help the devs there.


[Feature request] Linked account constraint for discord_message

on "custom_events" with the event "discord_message" using any constant..
even a simple setup like..
{
  "discord_message": {
    "requires": [
      "linked_account"
    ],
    "actions": [
      {
        "id": "send_discord_message",
        "value": "this is a linked account"
      }
    ]
  }
}

gives the error (in console)
One of the EventListeners had an uncaught exception
( also theres a incorrect line in the customevents.md
theres two linked_account_nick_contains 2nd one needs to be linked_account_has_role
seems silly for me to to do a PR for that..)
also, it seems you cannot have more that one of the same events ?.. (so two  "minecraft_message": )
the second seems to get a Chain link failed, continuing to next one error (still testing to pinpoint if its specific to two minecraft_messages events))

linked_account means to check if the MC account has a linked Discord account, not the other way around, although I plan to add the other way around in the future
Thanks for the catch in the docs! Appreciate it!
You can have more than one function on the same event, like this:

"even_id": [
    {
        // func 1
    },
    {
        // func 2
    }
]```

arr ok that makes sense thankyou ..
would that also add the %linked_account** type placeholders: to the discord_message action to ?
also would it be alot of work to add a "embed" style action ( send_discord_embed ?)
(like the join/leave messages etc that are sent in discord)

Added to the checklist

can !negated_ be added to all the constraints ?
only recently noticed this as even a option in the readme !.. great feature !
but trying to use it gets a Chain link failed, continuing to next one

Adding ! to the start of any constraint negates it by default

arrr it ONLY needs the !, ok yep that works ! .. i was stupidly adding !negated_

another quirk i found, is that, using you example..
    {
      "requires": [
        "mc_message('!hello')"
      ],
      "actions": [
        {
          "id": "send_minecraft_message",
          "value": "Hey there!"
        }
      ]
    }

cannot test discord like your actual example you give, as it seems ALL discord_message events seem broken ?
with One of the EventListeners had an uncaught exception ...


add editorconfig for consistent code style between different editors

Coverage remained the same at 66.869% when pulling eeb2f5130bf3d35c148c1e39f836ec6e7d7ff327 on codestyle into 123fd5b04d8330e997836cf3f3524474ded1050b on master.

Seems valid for me so I merged this branch.