The task file format

It would be an interesting insight to find the file structure the app uses. If its file based then I may think of a way to sync it with Obsidian or any other markdown app.
Maybe just adding an example file with a few tasks would help to see the basic structure?

The file structure is quite simple, basically every lane you add is a folder and every task is file.
So if you want to see the tasks in Obsidian, first you need to create a folder in your filesystem that will contain your files, then create a Tasks.md docker container with the volume /api/files mounted to that folder you just created, then sync your server with the device you're using Obsidian (I run Obsidian on my phone, so for that purpose I use syncting, but if you use the desktop app you could access this folder through Samba), then open the folder in Obsidian as a vault. The tasks will show up in Obsidian just like any other file, and creating files through there will also show up in Tasks.md just fine.
To show it as example, I just created a new docker container with the volume /mnt/my-files/Tasks2:/api/files and created a few lanes and one task.
So if your tasks look like this:

Your files will look like this:

And in Obsidian you would see this:

This is perfect, you could copy-paste it in your project's documentation as is ! Now I know this format is not made for me ^^ I need to fork the project if I insist on using it.
Btw, it's totally working as is. I often have problems when I try to set up a project but this time it worked like a charm :heart:. I was able to use Tasks.md without tweaks or any hustle

Great! I'm glad I could help. I'll update the documentation with that info as soon as possible


TorchDynamo demo

Demo for how dynamo with mlir backend can exist out of (dynamo) tree. WIP depending on what we want to show off here.
cc @powderluv

Nice. Can we add a notebook version of this too ?
Do we need to pip install torchdynamo ? or is already part of the nightly ?

Nice. Can we add a notebook version of this too ?

sure coming right up

Do we need to pip install torchdynamo ? or is already part of the nightly ?

not part of nightly yet so we'll have to add as a dep


Model api v2

Add softmax function to normalize the LM score.
Change 'width' to 'weight' of node info.

This PR is needed to show more useful relevance scores to the nodes of the graph. Please ping me when deployed since I will have to make a small change in the viz


ARROW-16828: [R][CI] Enable Brotli on MacOS

MacOS was missing Brotli and BZ2. Windows was missing BZ2. After this, MacOS and Windows will have all compressions shipped in binaries.

@github-actions crossbow submit homebrew-r-autobrew

@github-actions crossbow submit homebrew-r-autobrew

Probably should be PRs to rtools-packages and rtools-backports as well


Features/99 posts privacy backend

PR for #99, this should cover all Post Privacy issues. We updated our GetPostById and GetAllPosts to take into consideration group posts. Tests are also added to maintain high test coverage.
post_audience is added as an array. The request body looks like this:
	requestBody := struct {
		Title         string   `json:"title"`
		Content       string   `json:"content"`
		Description   string   `json:"description"`
		Categories    []string `json:"categories"`
		Privacy       int      `json:"privacy"`
		PostFollowers []int    `json:"post_followers"`
		GroupId       *int64   `json:"group_id"`
	}{}

Hopefully it will work better than what #108 did!

Looks like it is not only liked post in "Liked posts" but also all posts of followed users.

Looks like it is not only liked posts in "Liked posts" but also all posts of followed users.

Working on it. The new query for GetPostPermission was also bad.

LGTM 🥳


Iox 12409/df upgrade sep 21

Part of https://github.com/influxdata/influxdb_iox/issues/12409
Not intended to merge, this PR documents the contents of the https://github.com/influxdata/arrow-datafusion/commits/iox-12409/df-upgrade-sept-21/ branch
Based on DataFusion at the end of day Sep 21 2024: 244ce5a2a47bca27b086f184f6aab0b63394c2a1
Here are all the changes that went in upstream since https://github.com/influxdata/arrow-datafusion/pull/40

https://github.com/influxdata/arrow-datafusion/compare/f7efd2d31adb51a67dc6bfb6d6eae6a525d60482...influxdata:arrow-datafusion:244ce5a2a47bca27b086f184f6aab0b63394c2a1

Patch list:

Same patches as applied to https://github.com/influxdata/arrow-datafusion/pull/40 (I just rebased that branch against 244ce5a2a47bca27b086f184f6aab0b63394c2a1)

Gah, wrong repo again


Would it be possible to include dice values to ignore?

I've been playing this game called Kuro, and one of the mechanics is that the number 4 is considered a 0. Would it be possible to include a way to exclude dice or count them as a different value?

I've been thinking about including a scripting engine.
Something along the lines of
/r $KURO = function kuro (pool) {var sum = 0; for (var ix = 0; ix < pool.length; ++ix) if (pool[ix].face != 4) sum += pool[ix].face; return sum}; kuro
/r $KURO (4d6)

Thoughts?

Implementing a function in the bot is an option too. Something like /r kuro (...).
Can you point me at the relevant books/manuals/sites?

http://cubicle7.co.uk/kuro-cover-preview/
Can I PM you the link to the RPG?
Meanwhile, here's what page 67 says:
Kuro only uses traditional six-sided dice (referred to as
‘D6’) to resolve actions. Players will roll dice often during play
(equal to the appropriate Characteristic); and the dice results are
usually just added up to see if you have beaten a target number
determined by the Gamemaster.
Shi: Sometimes the gods of chance can turn against you.
Rolling a ‘4’ (‘Shi,’ or ‘death’) on any die is a special result. Rolls
of 4 do not count at all towards the final total.
Exploding Dice: Luckily, the gods of chance can sometimes
be your friend. If you roll a ‘6,’ then you immediately roll again.
You can keep the original score of 6, and roll that die again,
adding the new result to the total. If the second roll is also a 6,
keep that and roll again. Keep on rolling until you get a result
other than a 6. If you roll a 4 at any point, it counts as a zero. You
should keep a running total until you stop rolling.
Example: If you rolled 3 dice (abbreviated as 3D6) and get a 2, 5,
and 5, the total would be 12. If you roll 4D6, and get a 1, 1, 4, and
5, the final result is 7as the 4 is ignored. If instead, a roll of 4D6
resulted with a 2, 4, 6, and 6, the 4 does not count, but you can roll
the two sixes again. If they result in 4 and 5 respectively, the second
4 is ignored again, making a final total of (2 + 6 + 6 + 5) or 19.
Optional Rule - Botches
If you roll a majority of 4s in a single roll, the roll is considered
to be a Critical Failure.  The nature of this disaster
is in the hands of the Gamemaster to decide.


Improvement support read tencent dlc on lakefs

lakefs is a inner filesystem in tencent dlc, it's a simple wrap of tencent cosn.

run buildall

run buildall


[BUG FIX] iFramed children elements / persistent rows in editor

1.3.2 Patches
Changes

Rows are now persistent across edit reloads (last row edited/opened will remain open when page reloads)
Can now add iFrame children elements into accordion content areas

:+1:


scroll to top button error in all of the pages almost

Description of the enhancement
issue #438 still persist in many templates, which is that scroll to top btn is visible even if we haven't scrolled much. It should be visible only when wehave scrolled enough.
Screenshots

Even the logo is different in this template.

@smaranjitghose i am working on it.


Extract and refresh remote debugging guide

@st0012 I think you need to rebase, I'm getting unrelated files in the diff.


Update PackageManager interface for GetList

Update IPackageManager GetList to include version

Make it always adhere to compliant mode for single parameter methods

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.


API Change Management Pack is not working in SCOM 1807

The note/reference for the management pack update related to the OMS API change does not seem to work in SCOM 1807. Is there an updated management pack for 1807?
The console crashes with error:
************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
at System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()
at System.Reflection.RuntimeMethodInfo.GetParametersNoCopy()
at System.Reflection.RuntimePropertyInfo.GetIndexParametersNoCopy()
at System.Reflection.RuntimePropertyInfo.GetIndexParameters()
at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetProperties(Type type)
at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetProperties()
at System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetProperties(Attribute[] attributes)
at System.ComponentModel.TypeDescriptor.GetPropertiesImpl(Object component, Attribute[] attributes, Boolean noCustomTypeDesc, Boolean noAttributes)
at Microsoft.EnterpriseManagement.ConsoleFramework.RegistrySettingsStore.GetComponentKey(Object component)
at Microsoft.EnterpriseManagement.ConsoleFramework.RegistrySettingsStore.ReadValues(RegistryKey parentKey, Object component)
at Microsoft.EnterpriseManagement.ConsoleFramework.RegistrySettingsStore.Read(Object component)
at Microsoft.SystemCenter.Advisor.UI.AdministrationConsole.RegistrationWizard.RegistrationWizardContainer.Initialize(ISite site, RegistrationData data)
at Microsoft.SystemCenter.Advisor.UI.AdministrationConsole.RegistrationWizard.RegistrationWizardContainer..ctor(ISite site)
at Microsoft.SystemCenter.Advisor.UI.AdministrationConsole.LandingPageView.linkLabelRegister_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e)
at System.Windows.Forms.LinkLabel.OnLinkClicked(LinkLabelLinkClickedEventArgs e)
at System.Windows.Forms.LinkLabel.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Label.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

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

ID: 4096fac2-6f38-0e29-45a7-5eedc9abbd30
Version Independent ID: 49e53671-fc49-3614-f7d7-0071ebbdc73d
Content: Connect Operations Manager to Log Analytics
Content Source: articles/log-analytics/log-analytics-om-agents.md
Service: log-analytics
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@jstaley22
Thanks for the feedback! We are currently investigating and will update you shortly.

@MGoedtel should there be any guidance added to the Note for the updated management packs:
https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-om-agents#prerequisites
The Note does not include 1807 so it is accurate, but we have some feedback here.

@jstaley22 @jason-j-MSFT - The MP does not apply to version 1807 and this is why it is not explicitly called out in the article note as applicable, nor in the download details for the MP on the Download Center.  I have bugged this and I will update the note to clarify it.  #please-close.


Bootstrapping Php client codegen

@shinfan

PTAL

LGTM

Filed: https://github.com/googleapis/toolkit/issues/62

Also filed: https://github.com/googleapis/toolkit/issues/63


flutter build apk --debug adds extra " . " at the end of the file path output

Steps to Reproduce

Execute flutter run apk --debug  on the code sample

Expected results:
Just the file path without the extra full stop / dot character.
Actual results:
The file path with the extra full stop / dot character.

Code sample
flutter build apk --debug

Hi @Achudh, Thanks for filing the issue. I am able to reproduce the issue on stable and the master channel. The build output adds an extra period at the end so IDE's fail to pick the path of file when clicked on the file path

logs
mahesh@Maheshs-MacBook-Air-M1 maps_sample % flutterm build apk --debug
Running "flutter pub get" in maps_sample...                         3.9s

💪 Building with sound null safety 💪

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Running Gradle task 'assembleDebug'...                             81.8s
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
mahesh@Maheshs-MacBook-Air-M1 maps_sample %

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.2, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.2 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (2 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.11.0-0.0.pre.731, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.731 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8f360c977a (10 hours ago), 2022-03-01 16:26:11 -0800
    • Engine revision a5718ab3c3
    • Dart version 2.17.0 (build 2.17.0-156.0.dev)
    • DevTools version 2.11.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on
        the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 13 Pro (mobile) • CBEF6BFA-D3DC-4680-8900-E01C62A4B04C • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Thank you so much for responding promptly @maheshmnj
Thank you so much for taking this up @TahaTesser

The build output adds an extra period at the end so IDE's fail to pick the path of file when clicked on the file path

I found that removing the period doesn't help IDE to open the location of the APK, nevertheless, if it is important to remove this period, I am happy to do so.

cc: @Achudh
Can you please provide any other reason to remove this period?

We frequently send debug builds internally. So there is no other reason other than convenience.

cc: @Achudh
Can you please provide any other reason to remove this period?

It's okay @TahaTesser will raise an issue with VSCode

Thanks for filing this!

It's okay @TahaTesser will raise an issue with VSCode

Given this I will close this issue.


[WIP] Stencil support

Adds stencil buffer support to spatial materials.
Linked Issues
Supersedes https://github.com/godotengine/godot/pull/78542
Implements the proposed design from https://github.com/godotengine/godot-proposals/issues/7174
Currently integrates https://github.com/godotengine/godot/pull/73527
Testing with the sample project https://github.com/apples/godot-stencil-demo
Differences from the design

Temporarily added rendering/driver/stencil/mask_uses_ref project setting to toggle whether stencil masks use 255 or the ref value (requires reload). Will be removed after testing.
Added compare operators ALWAYS and NEVER. The ALWAYS operator is needed for some effects. NEVER is not typically useful, so it could be removed.
Added outline and xray presets ahead of schedule because it was easy and made testing easier.

The way that next_pass materials are handled is a bit strange right now, but I tried to make it as non-destructive as possible.

Currently implemented

Added stencil_mode to shaders, which works very similarly to render_mode.

read - enables stencil comparisons.
write - enables stencil writes on depth pass.
write_depth_fail - enables stencil writes on depth fail.
compare_(never|less|equal|less_or_equal|greater|not_equal|greater_or_equal|always) - sets comparison operator.
(integer) - sets the reference value.

BaseMaterial3D stencil properties.

stencil_mode - choose between disabled, custom, or presets.
stencil_flags - set read/write/write_depth_fail flags.
stencil_compare - set stencil comparison operator.
stencil_reference - set stencil reference value.
stencil_effect_color - used by outline and xray presets.
stencil_outline_thickness - used by outline preset.

Supported Renderers

[x] Forward+
[x] Mobile
[ ] Compatibility

Depth Prepass
Stencil effects work well when rendered with a second opaque pass immediately following the current opaque pass. However, with depth prepass enabled, the depth information from any stencil materials is not available for screen-space effects. For instance, with SSAO enabled, opaque stencil materials have strong visual artifacts. Due to this, there might not be a good way to support opaque stencil effects when depth prepass is enabled.
GLES3
More work is needed for GLES3 support. The depth buffer attachment for the scene FBO must be changed to a depth-stencil attachment. Making this change without breaking existing projects will be difficult.
Sorting Problems
Currently the biggest annoyance with sorting, is that next_pass materials aren't necessarily rendered immediately after their parent. Users have to rely entirely on render_priority to get correct sorting.
Individual stencil effects which have material passes in both the opaque and the alpha passes will have more difficulty being correctly sorted. This might make effects such as portals and impossible geometry more challenging to implement.
Notes

Commits are not currently squashed

Woahh awesome @apples ! Thank you so much! I am busy busy until next week but I'll review it then!

Is it possible to create stencil shadows that don't appear through walls with this PR? Logically, it seems feasible, but I've tried to modify the Wind Waker light shader to no avail.

Is it possible to create stencil shadows that don't appear through walls with this PR?

@Calinou My intuition says that stencil shadows would require the write operations INCREMENT/DECREMENT to be exposed, but there might be some clever way to implement them without those operators.
Right now, since the write operator isn't exposed, it's just set to REPLACE internally.

the Wind Waker Light appears much darker when using the Mobile rendering method

I noticed this too and haven't had a chance to debug it. It's something to do with how the raw color values are being mixed (multiply), it seems to be clamping the values to 1.0 at some point. The xray/outline effects in my demo just use standard alpha blending with regular colors, so the problem doesn't affect them.

Tested with my project, I didn't attempt windwaker lights because I have completely forgot how the setup for that is supposed to work.
I tested my "particles passing through hole in the ground" scene and also the uotline and xray mode.
My own particles worked great! I am glad that this syntax seems indeed to be an update from the full stencil one:

Outlines&Xray: works great! The default configuration however seems to use stencil reference 0 and not work, it started working as  soon as i changed it to something that isn't 0 (maybe that has to do with the mask like you were saying @apples ?)

RE: stencil shadows
I have not seen a huge demand amongst users for this. Since it seems to add some complexity to the API, i'd leave it for a future PR in case there's need for it. I'd specifically wait to see if anyone needs those features also for other reasons.
The internet seems to think stencil shadows are a bit outdated ad not "worth it" with current programmable pipelines?
(based on this, https://www.reddit.com/r/opengl/comments/4mjkv1/comment/d3w8m28/?utm_source=share&utm_medium=web2x&context=3 )

The internet seems to think stencil shadows are a bit outdated ad not "worth it" with current programmable pipelines?

This is true, but sometimes art direction prevails above all else 🙂

RE: stencil shadows
I have not seen a huge demand amongst users for this. Since it seems to add some complexity to the API, i'd leave it for a future PR in case there's need for it. I'd specifically wait to see if anyone needs those features also for other reasons.

Wasn't the original proposal #3373 made explicitly because of stencil shadows? I can attest to that at the very least one of the 40 or so thumbs ups was for those. If they won't be supported the proposal should probably be reopened. 👀

The internet seems to think stencil shadows are a bit outdated ad not "worth it" with current programmable pipelines? (based on this, https://www.reddit.com/r/opengl/comments/4mjkv1/comment/d3w8m28/?utm_source=share&utm_medium=web2x&context=3 )

I wouldn't put much weight to a 7 year old comment with 5 likes. As Calinou alluded to, stencil shadows have a distinct look and properties that are better fit for stylized games. I've commonly encountered them in platforming games, where the environment uses shadow maps and characters have down pointing stencil shadows. I could've swore some of the mario games worked like this but I can't recall which.

@Lielay9 could you test this PR, and see if it supports them? I don't understand how they work, so I can't quite test them myself.

@QbieShay

The default configuration however seems to use stencil reference 0 and not work, it started working as soon as i changed it to something that isn't 0 (maybe that has to do with the mask like you were saying @apples ?)

Nothing to do with masks, it's just that the buffer is initialized to all zeros every frame, so choosing 0 as a default reference value is kind of useless. It could easily be changed to 1 as the default.

I've noticed this PR also adds depth test operations, which I'm assuming they're needed for the stencil write if depth fail.

Some stencil effects (Wind Waker lights in particular) will need the depth test operator exposed. Since https://github.com/godotengine/godot/pull/73527 seems like it's on track to be merged, I included it in this PR for testing purposes. I'm hoping that PR gets merged first so I can just rebase this one on top of it.

Regarding stencil shadows:

The internet seems to think stencil shadows are a bit outdated ad not "worth it" with current programmable pipelines?

Modern shadows are typically based on shadow maps, which can be a bit fuzzy/pixelated since they are stored as textures. Stencil shadows, in comparison, use geometry-based stencil volumes instead of textures, so they have infinitely crisp edges. Some users will desire this for artistic reasons, typically because they're trying to follow the style of retro games.

If they [stencil shadows] won't be supported the proposal should probably be reopened.

I don't think that'll be necessary. This PR is a good foundation, and will be very easy to expand upon in future PRs.
Additionally, stencil shadows might require some other changes not directly related to stencils, such as exposing depth clamping, which is needed for infinite shadow volumes. Also, finding ways to generate the infinite shadow volumes in the first place and avoid culling them is outside the scope of this PR.
Rest assured: I am one of those people who wants stencil shadows. It is not something forgotten with this PR. It just might take multiple PRs to fully support them.

Some stencil effects (Wind Waker lights in particular) will need the depth test operator exposed. Since https://github.com/godotengine/godot/pull/73527 seems like it's on track to be merged, I included it in this PR for testing purposes. I'm hoping that PR gets merged first so I can just rebase this one on top of it.

@clayjohn ?

https://github.com/godotengine/godot/assets/40064911/c0014bbe-77de-42f4-b042-b418c635b6f2
Well, I guess this is best you can do now. Works if volumes don't overlap; a simple torus will break it.

Calinou My intuition says that stencil shadows would require the write operations INCREMENT/DECREMENT to be exposed, but there might be some clever way to implement them without those operators.

These are indeed necessary for shadows.  Besides that, the only thing missing would be culling the shadows correctly which is outside the scope of this PR. Thereafter, stencil shadows are viable, if not exactly painless to use.
Extra note: Some primitive shapes seem to have small holes/gaps and therefore didn't play too nicely with the code generating the shadow meshes.

Extra note: Some primitive shapes seem to have small holes/gaps and therefore didn't play too nicely with the code generating the shadow meshes.

Could you post your code somewhere?

Could you post your code somewhere? I think the current primitive meshes are fine as they are, although some of them have hard seams as you'd typically expect (e.g. boxes aren't smooth-shaded).

Test code:
var source_mesh := CylinderMesh.new()
var source_array_mesh: ArrayMesh = ArrayMesh.new()
source_array_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, source_mesh.get_mesh_arrays())

var mesh_data_tool_source = MeshDataTool.new()
mesh_data_tool_source.create_from_surface(source_array_mesh, 0)

# Finding unic edges and the faces they connect to.
var edges: Dictionary = {}
for edge_index in mesh_data_tool_source.get_edge_count():
var edge_vertices: PackedVector3Array = [
	mesh_data_tool_source.get_vertex(mesh_data_tool_source.get_edge_vertex(edge_index, 0)),
	mesh_data_tool_source.get_vertex(mesh_data_tool_source.get_edge_vertex(edge_index, 1))
]
edge_vertices.sort()
if edges.has(edge_vertices):
	edges[edge_vertices].append_array(mesh_data_tool_source.get_edge_faces(edge_index))
else:
	edges[edge_vertices] = mesh_data_tool_source.get_edge_faces(edge_index)

# TEST 1;
for edge_faces in edges.values():
if edge_faces.size() != 2:
	print("Some edge doesn't have 2 connecting faces; Face count: ", edge_faces.size())

# TEST 2;
var is_same_edge: Callable = func(a: PackedVector3Array, b: PackedVector3Array) -> bool:
return a[0].is_equal_approx(b[0]) and a[1].is_equal_approx(b[1])

var edges_keys: Array = edges.keys()
for i in edges_keys.size():
for j in range(i+1, edges_keys.size()):
	if is_same_edge.call(edges_keys[i], edges_keys[j]):
		print("Duplicate found: ", edges_keys[i], " = ", edges_keys[j])
		return # Comment to find all duplicates

The vertices of from e.g cylinder don't seem to exactly match everywhere. This could happen if the vertices are created in a loop and the results for seams aren't recycled. There's also of course a chance I've goofed up somewhere, since I did this in a rush.

Full code, that hasn't yet seen any optimizing or cleanup:
var vertices: PackedVector3Array = PackedVector3Array()
var indices: PackedInt32Array = PackedInt32Array()
var custom0s: PackedByteArray = PackedByteArray()

var source_mesh := CylinderMesh.new()
var source_array_mesh: ArrayMesh = ArrayMesh.new()
source_array_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, source_mesh.get_mesh_arrays())

var mesh_data_tool_source = MeshDataTool.new()
mesh_data_tool_source.create_from_surface(source_array_mesh, 0)

# Finding unic edges and the faces they connect to.
var edges: Dictionary = {}
for edge_index in mesh_data_tool_source.get_edge_count():
var edge_vertices: PackedVector3Array = [
	mesh_data_tool_source.get_vertex(mesh_data_tool_source.get_edge_vertex(edge_index, 0)),
	mesh_data_tool_source.get_vertex(mesh_data_tool_source.get_edge_vertex(edge_index, 1))
]
edge_vertices.sort()
if edges.has(edge_vertices):
	edges[edge_vertices].append_array(mesh_data_tool_source.get_edge_faces(edge_index))
else:
	edges[edge_vertices] = mesh_data_tool_source.get_edge_faces(edge_index)

for edge in edges.keys():
var edge_faces: PackedInt32Array = edges[edge]
if edge_faces.size() > 2 or edge_faces.size() == 0:
	continue
var edge_normals: PackedVector3Array = PackedVector3Array()
for face_index in edge_faces:
	edge_normals.append(mesh_data_tool_source.get_face_normal(face_index))

# To proceed edge should have 2 normals that point in different directions.
if edge_faces.size() == 1:
	edge_normals.append(-edge_normals[0])
elif edge_normals[0].is_equal_approx(edge_normals[1]):
	continue

var packed_n1: PackedByteArray = PackedByteArray()
var packed_n2: PackedByteArray = PackedByteArray()
packed_n1.resize(4)
packed_n2.resize(4)
var n1: Vector2 = edge_normals[0].octahedron_encode()
var n2: Vector2 = edge_normals[1].octahedron_encode()
packed_n1.encode_half(0, n1.x)
packed_n1.encode_half(2, n1.y)
packed_n2.encode_half(0, n2.x)
packed_n2.encode_half(2, n2.y)
var v1: Vector3 = edge[0]
var v2: Vector3 = edge[1]
vertices.append(v1)
custom0s.append_array(packed_n1)
custom0s.append_array(packed_n2)
vertices.append(v1)
custom0s.append_array(packed_n2)
custom0s.append_array(packed_n1)
vertices.append(v2)
custom0s.append_array(packed_n1)
custom0s.append_array(packed_n2)
vertices.append(v2)
custom0s.append_array(packed_n2)
custom0s.append_array(packed_n1)

var add_indices: Callable = func(range0: int, range1: int, range_step: int, v_offset: int, face_i: int) -> void:
	for i in range(range0, range1, range_step):
		var v: Vector3 = mesh_data_tool_source.get_vertex(mesh_data_tool_source.get_face_vertex(edge_faces[face_i], i))
		if v == v1:
			indices.append(vertices.size()-4)
		elif v == v2:
			indices.append(vertices.size()-v_offset)
		else:
			indices.append(vertices.size()-1)
add_indices.call(0, 3, 1, 2, 0)
if edge_faces.size() == 1:
	add_indices.call(2,-1,-1, 3, 0)
else:
	add_indices.call(0, 3, 1, 3, 1)

# Initialize the ArrayMesh.
var array_mesh_shadow: ArrayMesh = ArrayMesh.new()
var arrays: Array = []
arrays.resize(Mesh.ARRAY_MAX)
arrays[Mesh.ARRAY_VERTEX] = vertices
arrays[Mesh.ARRAY_CUSTOM0] = custom0s
arrays[Mesh.ARRAY_INDEX] = indices

var surface_format: int = (Mesh.ARRAY_CUSTOM_RGBA_HALF << Mesh.ARRAY_FORMAT_CUSTOM0_SHIFT)
array_mesh_shadow.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays, [], {}, surface_format)

And simple shader:
shader_type spatial;
render_mode cull_back, world_vertex_coords, unshaded;

uniform vec3 light_direction = vec3(0.0, -1.0, 0.0);

vec3 octahedron_decode(vec2 f){
	f = f * 2.0 - 1.0;
	vec3 n = vec3(f.x, f.y, 1.0 - abs(f.x) - abs(f.y));
	float t = max(-n.z, 0.0);
	n.x += n.x >= 0.0 ? -t : t;
	n.y += n.y >= 0.0 ? -t : t;
	return normalize(n);
}

void vertex() {
	vec3 n1 = MODEL_NORMAL_MATRIX * octahedron_decode(CUSTOM0.xy);
	vec3 n2 = MODEL_NORMAL_MATRIX * octahedron_decode(CUSTOM0.zw);

	if (dot(n1, light_direction) <= 0.0 && dot(n2, light_direction) >= 0.0){
		VERTEX += light_direction * 10.0;
	}
}

@Calinou, did a bit more digging and, it would seem that a CylinderMesh has both e.g. (0, 1, 0.5) and (-0, 1, 0.5) vertices, which obviously refer to the same position (the x component of the latter is -0.000000000000000122464685259 instead of 0.0).
This isn't the best place to continue this discussion so I'll probably create an issue if I have the time. This isn't critical issue by any means as it doesn't affect rendering, but it'd remove the prerequisite of merging vertices each time primitive meshes are manipulated.

That said, while creating shadow volumes from user authored content, merging might still be useful to combat wonky meshes.

Godot's 3D scene importer performs shadow mesh generation, which welds vertices together regardless of normals or materials to improve performance.

Godot's 3D scene importer performs shadow mesh generation, which welds vertices together regardless of normals or materials to improve performance. This is exposed as the Generate > Shadow Meshes import option. This is not performed on OBJ mesh imports though.

Shadow meshes makes for a slightly easier starting point for creating the shadow volume mesh, but naive approach will still mess up if there's extra geometry such as 0 length edges or 0 area triangles like in the CapsuleMesh. These don't make a difference for basic rendering and shadow maps, but since the volumes extend that extra geometry it might result in spotty stencils/shadows.

I've added experimental support for GLES3.
This change was a bit more complex than for the Vulkan renderers, since the GLES3 renderer did not already have a stencil buffer set up. There are also some scenarios in which the GLES3 renderer might not be able to have a stencil buffer.
Extensive testing will be needed to make sure there aren't any regressions with the GLES3 renderer. It might be worth splitting those changes into a separate PR. I made sure to keep all the GLES3 related changes in a single commit: https://github.com/godotengine/godot/pull/80710/commits/c6f581b5c00cb19481fa039e0dd4cc48a7d5170f

The GLES3 changes touch a few code paths that are critical for XR. When I have a chance, I'll try and test this PR together with OpenXR and WebXR. I don't think we need to worry about stencils actually working in XR (and I wouldn't personally really know how to test it anyway), but I'd like to just make sure that XR doesn't break. :-)

Since GLES3 is the "low end" renderer and it seems to require extra testing, I think it would be better to split in another PR.
Other than gles3, is this PR ready for review and possible merge? @apples

@QbieShay

Other than gles3, is this PR ready for review and possible merge?

I believe it is ready for review, but not quite ready to merge yet. I expect some changes to be requested after a review.
Here's the list of what needs to be done for this to be ready for merge:

Rebase on https://github.com/godotengine/godot/pull/73527 when it gets merged (assuming it does).
Revert GLES3 changes and move them to another PR later.
Remove the rendering/driver/stencil/mask_uses_ref setting, after making a decision on which value it should be.

For the sake of addon compatibility, I still recommend using the ref as mask.
But either way, this setting was only temporary for testing. It must be removed.

The original design and this PR still lack robustness with how the next_pass is handled for the xray/outline presets.

Perhaps these presets should also be moved to a second PR?
The relevant code is contained in the _prepare_stencil_effect and _get_stencil_next_pass functions in BaseMaterial3D.

Determine if the render sorting order is good enough.

Currently, opaque stencil materials are incompatible with screen-space effects using the depth prepass. I don't believe it is possible to make them compatible without moving all screen-space effects to a new type of render pass, which would be a massive change. It might be enough to simply document this incompatibility.

Determine if the render sorting order is good enough.
I'd say perhaps, outside of the scope of this PR?

Currently, opaque stencil materials are incompatible with screen-space effects using the depth prepass. I don't believe it is possible to make them compatible without moving all screen-space effects to a new type of render pass, which would be a massive change. It might be enough to simply document this incompatibility.

When is stencil done? at depth prepass or at normal pass? I think the idea was that the only one that happens at opaque pass is the write_depth_fail one, while the others should all execute at depth prepass stage. I think? @clayjohn ?

Remove the rendering/driver/stencil/mask_uses_ref setting, after making a decision on which value it should be.
For the sake of addon compatibility, I still recommend using the ref as mask.
But either way, this setting was only temporary for testing. It must be removed.

Addon compatibility aside (which I don't think it's something we should consider much since it's based on a feature not yet implemented), is there anything that ref as mask does that ref with 255 mask doesn't? Would using ref as mask make greater and lesser unusable? Wouldn't this make it harder to make antichamber-like impossible geometry? Because if ref-as-mask by default allows for more behaviour, sound good to me. But if it worsen lesser and greater operations (1 not lesser than 2) then we need to decide wether we want ref or mask behaviour. What I'd tend towards is to have ref used with 255 mask. I think i had managed to do the windwaker lights with it.

I think the idea was that the only one that happens at opaque pass is the write_depth_fail one, while the others should all execute at depth prepass stage.

The regular write has the same sorting issues, so the depth prepass can't really touch the stencil buffer.

is there anything that ref as mask does that ref with 255 mask doesn't

I feel this topic has been discussed before, and at this point I'm willing to concede 255 as mask just to move this PR along.
But, to answer: it allows users to have multiple different stencil effects overlapping on the screen at once, without the effects clobbering each other's stencil values and creating strange artifacts.

Would using ref as mask make greater and lesser unusable?

Yes. I would love to add some effects which make effective use of the greater/less operators to my test project, if anyone would like to send me some examples.

Wouldn't this make it harder to make antichamber-like impossible geometry?

Not more difficult, to my knowledge, although having 8 layers would limit the number of portals you could have on screen at a time.

@apples  sorry, I'm just really struggling to grasp exactly what's the issue with the overlapping effects, because I haven't gone as much in depth as you did. I think if you can leave the mask by default at 255, then we can discuss actually exposing a mask and how to make good ux around it, and we can have this conversation separately?
Plus, I imagine once this PR is in and 4.2 releases we'll have plenty of feedback from users and more data to work on.

Properly rebased onto https://github.com/godotengine/godot/pull/73527 and squashed all commits.

Tested the latest revision of this PR locally, it works as expected. Sorting issues on outlines are still present as they're forced to be transparent, given the current renderer limitations.

Hey @apples , sorry for the long wait for feedback on this PR.
Upon further conversation it turned out that the sorting issue is non negligible at the moment because we will need to make changes in the renderer that will most likely invalidate the usage of render priority for opaque materials that use stencil, which means that merging this now will mean necessarily breaking compatibility later.
That said, this PR is not wasted, we will integrate it later down the line once we figure out exactly how the opaque pass needs to work with https://github.com/godotengine/godot-proposals/issues/7870 and https://github.com/godotengine/godot-proposals/issues/7916
I owe you an apology on this because I misled you to think this work would be merged on 4.2. While it was unintentional and I was honestly convinced of the timeline, I made an evaluation mistake and told you things that turned out to not be feasible. My apologies for it. I'll be more mindful of this in the future both with you and other contributors.
What we need to make happen is the compositor work so that we can ensure consistent sorting of stencil operations. I will write under this PR once that happens, and if you won't be available at that point in time I'll do my best to ensure that this work is ported by me or someone else.
Thank you again for taking the time to implement this, we're one big step closer to stencil support in Godot and your work has been a crucial part of it.

Just to add to Qbie's comment. The issue is not with this PR. The issue is that users can't count on render_priority to ensure a specific order of drawing. If users can't exactly specify the order of drawing of two meshes it makes many stencil effects impossible to implement. When we discussed this originally, Qbie and I erroneously thought that render_priority would be enough.
What we need is fine-grained control over the order of rendering. We don't want to merge this until we have that, because we want to make sure that once this feature is in user's hands its fully functional and represents the best that we can do. Unfortunately that means delaying merging this work until we have the necessary other features to make this behave as expected.
As always, we would rather delay a feature than merge it in a state that we are not 100% happy with. And again, I want to stress that this delay is not your fault, and it is totally regrettable.

Question, would Stencil be usable to define a Volumes to have 2 different environments?
Example use case: Water Volumes, where you've got an aggressive fog and a color correction gradient in adjustments, that doesn't apply outside of water

This may not belong here, but wondering how the work here with stencils would change the doing an xray effect like I have in the shader below. Is the change performance related or is the output entirely different?
shader_type spatial;

uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;

void fragment() {
	float depth = textureLod(depth_texture, SCREEN_UV, 0.0).r;

	if (FRAGCOORD.z > depth) {
		ALBEDO = vec3(0.0);
	}

	ALBEDO = vec3(1.0);
}

@mrjustaguy Stencil effects can help when making underwater effects, but it's not always necessary. A simple underwater volume can be done by just using physics areas to detect when the camera goes underwater and adjusting the fog accordingly. More complicated underwater effects can be done using screen-reading shaders or other post-processing effects.
@jbromberg For a simple x-ray effect like that, the output would probably be the same. Stencil effects have some advantages, such as being able to work with transparent objects, but those advantages might not matter for your situation. And yes, stencil effects would be more efficient.

Really hoping this will be added in 4.3
Rebased this to master, dunno if I broke the FSR2 implementation in the process.
Nevertheless stencil support truly is an awesome and much needed feature

I share @Alia5 sentiment on this one, as-is it does allow for the most simple case to be delivered. It certainly lowers the bar for engagement people can stencil their third person character behind opaque and transparent geometry and draw them through it with various effects.
Here is a custom dither (with a bit of alpha blending when not discarded for a softer look):

I noticed that the values drawn in the editor can go stale as shown in my picture changing the stencil mode flushes things and gets them applied immediately this might be some Godot UI quirk instead of an issue with the feature but just in case it is not I thought I would flag it.

We usually don't ask contributors to rebase constantly unless we're close to merging their contribution, in en effort to respect people's time. However it's been a while so maybe there's merit in rebasing.

We usually don't ask contributors to rebase constantly unless we're close to merging their contribution, in en effort to respect people's time. However it's been a while so maybe there's merit in rebasing.

Apologies, I don't mean to be disrespectful and do not mean to apply pressure on the authors. I wasn't sure who or where to contact after I was having trouble getting any help with doing this rebase in the Discord or the Rocketchat and it had been a while since there was an update so I figured there was no harm in asking here.

No worries no harm done :) You can try joining the https://chat.godotengine.org/channel/rendering channel in the dev chat if you struggle with rebase, folks there can help

Any updates? This has been not updated for so long, this branch is literally nearly 8000 commits behind master.

I found some free time, so I decided to do the rebase since it seems like some people need it.
It was a pretty clean rebase. I just had to flip the depth functions due to the recent reverse Z changes.
I'm not sure how well this interacts with the new motion buffer, I haven't had a chance to test it yet.
I also updated the demo project (https://github.com/apples/godot-stencil-demo).

Is this gonna make it into 4.4?

Is this gonna make it into 4.4?

Not sure yet. The status right now is that this is blocked until we add the ability to control the order of rendering commands (i.e. add a Rendering Compositor). No one has volunteered to work on that yet, which leaves this PR blocked.
We are discussing if there is a way to merge this before adding a compositor, but that discussion is ongoing

Will it implement things such as custom writing to stencil buffers and reading from them for colors? Just a function to be usable if stencil mode is used would be enough.
This would allow things such as custom screen space refraction to potentially work better.

Hi @apples,
First off thank you for this tremendous feature. I had a play with it off main and I think one thing missing from it is a means to render to the stencil buffer only in the opaque pass, this much like a shadow mesh for transparent geometry would allow transparent geometry to be stenciled more easily for the most simple of use cases:

I am going to take a look at options for this off my branch, hope it is useful feedback.
I also noticed a bug the default for a new VisualShader is a Depth Mode of "Less Or Equal" not "Greater Or Equal" if you import this into an existing scene it trashes the rendering without a fix.
Thanks,
EO

@EnlightenedOne Thanks for testing! If I can find some spare time, I'll see if I can get those issues fixed.

If you have XRay mode on an object then hide it behind a StandardMaterial3D it will draw your XRay coloured object just fine. Add a Rim to the StandardMaterial3D that is in the way and it stops working. I suspect it is a bug rather than a draw order issue will dig on it soon.

I suspect this is an opaque vs transparency pass issue, but I'll need to look into exactly how rim is implemented.

@EnlightenedOne Thanks for testing! If I can find some spare time, I'll see if I can get those issues fixed.

If you have XRay mode on an object then hide it behind a StandardMaterial3D it will draw your XRay coloured object just fine. Add a Rim to the StandardMaterial3D that is in the way and it stops working. I suspect it is a bug rather than a draw order issue will dig on it soon.

I suspect this is an opaque vs transparency pass issue, but I'll need to look into exactly how rim is implemented.

I dug into the generated shader and it is not transparent and should follow the same opaque pass logic as it did prior to the rim. Will keep digging I need to to build a stencil only mode anyway.

As a pre-compositor way to stencil behind transparent objects I landed on adding an optional render pass/RenderListType for post alpha stencil materials (flag as optionally drawn late) so that depth/stencil changes from the alpha pass can influence the XRay's next pass material. You have to set a stencil write on all your transparent objects that you want to overwrite the opaque stencil. Motion blur wont interact with the stuff drawn based on stencils after the transparent pass. To use this mode you can set the alpha to 0 and just write to the stencil buffer in the transparent layer.

My naive approach was to implement depth/stencil only writes in the opaque pass and sort them to happen after all other opaque objects and before stencil overlay materials. I was confident the motion buffer could be massaged to work with this in theory but I hit trouble as blend_state_color_blend with the write modes all set to false caused black pixels to get drawn in the opaque pass. I adopted RenderDoc to help me diagnose issues after that bump.


Docker.java:35-37: Add the first implementation of...

The puzzle 1-36a37d16 from #1 has to be resolved:
https://github.com/amihaiemil/docker-java-api/blob/605ae372d92aab25fcc7c0253a99f73c45eaf87e/src/main/java/com/amihaiemil/docker/Docker.java#L35-L37
The puzzle was created by Mihai Andronache on 28-Jan-18.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd all puzzles are solved

@0pdd all puzzles are solved

@0pdd all puzzles are solved


Disable llvm 8 build

LLVM8 image build fails, we don't really need it anyway so lets just get rid of it.

I wonder why we need/want to support multiple LLVM versions for embedded builds anyways. If we always tell users to use the statically linked binary, then why confuse them with multiple options? Seems easier for users and for us to maintain 1 embedded build.

Yes this is just the docker build on quay.io. The main CI tests just install the LLVM packages and build on that, that won't be going anytime soon.
Help would be appreciated but if you have time left we have more important issues than this docker image. As long as nobody deletes the image from quay it will keep on working so very low priority.

so, does embedded here just mean static linking to libLLVM and libClang?  As far as I can tell, llvm packages in ubuntu provides both dynamic lib and static lib, so maybe we can just change this test to use static linking on ubuntu image instead of using alpine image?


fix: allow both email and phone number type

Description of changes

Adds email,  number type to CognitoCLIInputs type

Issue #, if available

Description of how you validated changes
Checklist

[x] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

closing in favour of https://github.com/aws-amplify/amplify-cli/pull/8850


Possible content duplication?

Just letting you know that your entire content seems to have been lifted and used verbatim here.

Hey, thanks for telling me about this! I learned a little bit about the MIT license today


MasterDetailController reference is null

Xpand.ExpressApp.Dashboard.Controllers.MasterDetailController.DetailViewdashboardViewItemControlCreated(Object sender, EventArgs e)
в DevExpress.ExpressApp.Editors.ViewItem.OnControlCreated()
в DevExpress.ExpressApp.Editors.ViewItem.CreateControl()
в DevExpress.ExpressApp.Win.Layout.WinLayoutManager.controlItem_QueryControl(Object sender, QueryControlEventArgs e)
в DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.RaiseQueryControl()
в DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.EnsureControl()
в DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.RaiseShowHide(Boolean visible)
I think frame.GetController<NewObjectViewController>() == null

Hi
Thanks for reporting, probably that is the problem although not clear why is null at this point. I am looking into to it...
p.s.: It should be super easy to break on the exact line if you use the symbols and VS Break On Error.

it is also impossible to add two identical views to dashboards

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


Add support for NS_AVAILABLE_IOS (and friends)

NS_AVAILABLE_IOS records ios version compatibility for APIs. We could record this in the Kythe graph. It looks like under the hood it desugars to something like __attribute__((availability(ios,introduced=_ios))) so we'd have to add code to handle a new attribute in https://github.com/kythe/kythe/blob/master/kythe/cxx/indexer/cxx/IndexerASTHooks.cc#L962.
We also have to decide how to represent this in the graph.

The clang documentation for availability is https://clang.llvm.org/docs/AttributeReference.html#availability

We would like to split apart the availability attribute and record each section as a tag (similar to how we handle deprecated).
attribute (availability(macos,introduced=10.4,deprecated=10.6,obsoleted=10.7))) would generate the following facts:
tag/introduced -> "macos10.4"
tag/deprecated -> "macos10.5"
tag/obsoleted -> "macos10.7"

We should also add the tag in java for @Since

We should also add the tag in java for @Since

All Java APIs implicitly have tag/deprecated. 😉


Iron-dropdown does not work with Polymer.Templatizer

Description
Iron dropdown cannot be clicked when used in an element stamped with Polymer.Templatizer.
Browsers Affected

[x] Chrome
[x] Firefox
[x] Edge
[x] Safari 9
[x] Safari 8
[x] IE 11

Versions

Polymer: v1.7.1
webcomponents: v0.7.24

Not valid.


HEAD support

Presently go-httpbin only serves GET requests.  It should also serve HEADs, but the obvious change of adding to the mux methods does not include the Content-Length header, which GET also lacks.

@andrewgaul In this scenario, we'd likely want to stick to what httpbin.org does. Last time I recall, they did not support HEAD only all endpoints. I am open to any patches with tests in this area.

Here are the output for httpbin.org and go-httpbin:
$ curl --head http://httpbin.org/html
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 24 Jan 2017 21:13:08 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 3741
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

$ curl --head http://<IP_ADDRESS>:8080/html
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff
Date: Tue, 24 Jan 2017 21:13:12 GMT
Content-Length: 19

Sounds good. Want to send a patch?

This is annoying to implement; we need to change each handler to precompute its payload so we can add the Content-Length header.  For example:
https://github.com/andrewgaul/go-httpbin/tree/head
Do you know a better way to do this?

I think we can wrap the handlers with a method before registering, in which we use TeeReader to count the bytes written simultaneously and also save them in memory. Later on do the actual write to the resp.Body at once after we set Content-Length. I can take a look at this later, feel free to experiment with this idea in the meanwhile.

Please reopen; HEAD methods do not emit the required Content-Length header.

Based on my observation it does
curl -I http://<IP_ADDRESS>:8080/get
HTTP/1.1 200 OK
Date: Mon, 13 Mar 2017 04:55:13 GMT
Content-Length: 128
Content-Type: text/plain; charset=utf-8

curl --head http://<IP_ADDRESS>:8080/xml
HTTP/1.1 200 OK
Content-Type: text/xml
Date: Mon, 13 Mar 2017 04:56:33 GMT
Content-Length: 502

However there's something with some endpoints like /html, /image/png it doesn't return the Content-Length header. I suspect it has something to do with how Go (or Mux library) treats HEAD requests.

Specifically I do not observe Content-Length for /image/gif:
$ curl --head http://<IP_ADDRESS>:8080/image/gif
HTTP/1.1 200 OK
Date: Mon, 13 Mar 2017 05:19:40 GMT
Content-Type: image/gif

Do you want to open a separate issue for this?

This is indeed a golang issue.
For 100 bytes it returns the header: https://play.golang.org/p/aOr_FrwZ8R
For 1000 bytes it does not: https://play.golang.org/p/EEe7DB1Jlt
You can open a separate issue, but I don't think I know how to solve this.

The limit is actually from 2048 to 2049:
https://play.golang.org/p/ADq3jFsQ2h


support godot virtual method

add regular gdclass constructors.
update to build against godot 4 beta 4.
Add support for creating Godot classes in Go.

closing this out in favor of a bigger commit: https://github.com/godot-go/godot-go/pull/61


Independent Categorical Sampling

Description
Hello guys, thank you so much for creating JAX it is really a marvelous tool.
Sorry if this is basic but I face the following confusing issue.
I have two Categorical random variables X, Y that are independent. What is the correct way to sample the two distributions?
I provide a short program that shows what I mean.
Say we do the following experiments E1 and E2:
import jax.numpy as jnp
import jax.random as jrandom
import matplotlib.pyplot as plt

n = 10
key_X = jrandom.PRNGKey(120)
key_Y = jrandom.PRNGKey(845)
logits_X = jrandom.uniform(key_X, shape=(n,))
logits_Y = jrandom.uniform(key_Y, shape=(n,))

joint_logits = jnp.array([logits_X, logits_Y])

E1 = []
E2 = []

key = jrandom.PRNGKey(0)
n_s = 50
for _ in range(n_s):
    e1 = [jrandom.categorical(key, logits) for logits in joint_logits]
    e2 = jrandom.categorical(key, joint_logits)

    E1.append(e1)
    E2.append(e2)
    key, subkey = jrandom.split(key)

E1 = jnp.array(E1)
E2 = jnp.array(E2)

plt.hist(E2[:,0], bins=10*n)
plt.hist(E1[:,0], bins=10*n)
plt.grid()
plt.title("Samples of X")
plt.xlabel("Sample value of X")
plt.ylabel("Frequency")
plt.legend(["Experiment 1 (loop)", "Experiment 2 (stacked)"])
plt.show()

plt.hist(E1[:,1], bins=10*n)
plt.hist(E2[:,1], bins=10*n)
plt.grid()
plt.title("Samples of Y")
plt.xlabel("Sample value of Y")
plt.ylabel("Frequency")
plt.legend(["Experiment 1 (loop)", "Experiment 2 (stacked)"])
plt.show()

I looked at the code and I believe that the whole thing boils down to sampling a uniform distribution in two different ways:

Two times with the same key resulting in Experiment E1
Two times with a different key but these two keys are somehow connected resulting in Experiment E2.

Based on what the docs say in Pseudo Random Numbers in JAX I understand that I need to manually split the key before sampling. Is the the process followed in Experiment 2 essentially doing the same thing under the hood and therefore is the right way to go?
I do realize that E1 is almost certainly wrong as the same key is used and therefore the two components in E1 are dependent.
I appreciate any help.
Thank you!
What jax/jaxlib version are you using?
jax 4.21, jaxlib 4.21, (0.4.21 0.4.21)
Which accelerator(s) are you using?
GPU
Additional system info?
Python : 3.10
NVIDIA GPU info
NVIDIA GeForce RTX 3070 Ti
Driver Version: 535.129.03
CUDA Version: 12.2

This is not an issue, it was intended behavior.
You can go ahead and delete it even if you think it will confuse people.

Hi - just a note on your code: your key splitting as written is not actually preventing reuse of keys: you're passing the same key to categorical multiple times within each iteration I would write the for loop something like this:
for _ in range(n_s):
    key, subkey, *subkeys = jrandom.split(key, 2 + len(joint_logits)]
    e1 = [jrandom.categorical(k, logits) for k, logits in zip(subkeys, joint_logits)]
    e2 = jrandom.categorical(subkey, joint_logits)

    E1.append(e1)
    E2.append(e2)

This way, each call to a jax.random API gets a fresh unused key, and you won't end up with unintended correlations between your different random draws.

Hey,
Thank you very much for the explanation.


Return tuple from get_access_token()

In this Pull Request I correct a type of return value from oauth.py, get_access_token().
In request_executor.py function create_request() expects a tuple from self._oauth.get_access_token()
access_token, error = await self._oauth.get_access_token()

However in one specific case get_access_token() returns a string:
# Return token if already generated
if self._access_token:
    return self._access_token

Which causes an exception:

File "site-packages/okta/request_executor.py", line 103, in create_request
access_token, error = await self._oauth.get_access_token()
ValueError: too many values to unpack (expected 2)

Hi @oleksandr-kaleniuk , thank you for your contribution. This PR created a bit earlier introduces the same change https://github.com/okta/okta-sdk-python/pull/180, but we would like to acknowledge any contribution. Let me manage this. I'll keep you posted.

@oleksandr-kaleniuk SDK v1.5.0 is ready.

@serhiibuniak-okta thank you very much!


ARkit plugin (image anchor )

Hello,
I am making an application using flutter and I am using AR.
I already managed to use the arkit, but with images for anchors, if the images are very similar the plugin will confuse the images and will not work well.
Does anyone know any solutions to detect similar images?

@rubenteste
this issue doesn't seem to describe a bug or a feature request
if you need assistance with your code please follow the link I want help writing my application in the new issue menu
or ask on discord, reddit and slack

@rubenteste
Assuming you are referring to and using arkit_flutter_plugin, I suggest you to ask this question in dedicated repo: https://github.com/olexale/arkit_flutter_plugin/issues
Closing from here, as it's not a bug or feature request as mentioned above.
Thanks.


GDScriptCache: Clear abandoned parser refs

regression from https://github.com/godotengine/godot/pull/90601
keeps track of GDScriptParserRefs that have been removed from the cache and clears them in all the same places as the true parser refs
avoids leaking these GDScriptParserRefs when they have cyclic refs to each other

Thanks!


merge from dev to master

Refactored our way of handling core assets files and datasets, this way it will be easier to add more datasets.


[Bug] Timestamp not recognized error when generating datespine

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the issue
In cases when there are no transactions yet in the General Ledger model the downstream datespine model will fail as there is not a minimum date to choose from. Thus results in the below provided error message.
To address this we will need to apply a coalesce to this model to ensure a date is specified even if there are no transactions in the General Ledger model. We have made similar updates to QuickBooks where we can apply a similar update to ensure users are able to see a successful run before transactions are seen in the General Ledger model.
Relevant error log or model output
database error in model int_sage_intacct__general_ledger_date_spine (models/intermediate/int_sage_intacct__general_ledger_date_spine.sql) 100035 (22007): timestamp 'none' is not recognized

Expected behavior
The models are able to succeed before transactions are available.
dbt Project configurations
Default
Package versions
v0.4.0
What database are you using dbt with?
snowflake
dbt Version
v1.8.1
Additional Context
No response
Are you willing to open a PR to help address this issue?

[X] Yes.
[ ] Yes, but I will need assistance and will schedule time during our office hours for guidance
[ ] No.

Issue resolved in the above PR.


explicit instantiation

[Enter feedback here]
this code is not allowed in vs2017,it gives the warning:Funtion definition for "f" not found.
and i dont know when i call f(1) in main function, which template statement works, template void f(T) { }        or       template void f(int);                 ?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 05d714c8-db59-d38c-88ea-6d22abed89ea
Version Independent ID: a249987d-7380-0403-fdc2-0019cf7dc998
Content: Function Template Instantiation
Content Source: docs/cpp/function-template-instantiation.md
Product: visual-cpp
Technology: cpp-language
GitHub Login: @corob-msft
Microsoft Alias: corob

@ChenMin07
The example looks like it was meant to be compiled with the /c option, because f doesn't have a definition, just a declaration. It's not a full, working program. Perhaps it should be.


Create New Cal Coord Crash

Life member 9917 crashed when trying to give Cal Coord for Chesapeake Calendar.

Code:  1054e80

Code:  1054e80


Upgrade cn 1118 cv to v3.1.0

Tested and compared with v2.x...

This change is

@mandolyte @jincypjose
This is a bigger change than I thought :)
Name changes, new props for the CV package / etc?
Thank you Cecil


Add color82 to generalized_schlick_bsdf

This changelist adds a color82 input to the generalized_schlick_bsdf node in MaterialX, with a full implementation in hardware shading languages (GLSL/MSL/ESSL) and simple fallback behavior in closure-based shading languages (OSL/MDL).
The real-time implementation is based on Naty Hoffman's generalization of Adobe Fresnel (https://renderwonk.com/publications/wp-generalization-adobe/gen-adobe.pdf), which is visually consistent with previous versions of generalized_schlick_bsdf when color82 is left at its default setting.

Generalized Schlick BSDF with white color82:

Generalized Schlick BSDF with gold color82:

Generalized Schlick BSDF with blue color82:

This looks good to me @jstone-lucasfilm, and I only had a nitpick comment above.


Removing bottom spacing from last li in a bulleted list

Part of the work to bring spacing into Design's spacing specs including fixes cases where the spacing at the bottom of a list adds to the spacing at the bottom of a group. I've fixed this by adding a cf-enhancements rule to remove the padding.
Before

After

Review

@jimmynotjim
@sebworks
@anselmbradford

Should we wait till this is released? https://github.com/cfpb/capital-framework/pull/259/files

I wasn't sure if that already made it into CF or not. This can wait for the CF changes to make it in.


case sensitivity causes false 'File not in cwd' in Windows

This is similar neovim/nvim-lspconfig#1168. See also neovim/neovim#16331.
Windows paths are not case sensitive in most cases, but this is not a problem normally. But lsp servers report paths with the drive letter normalized to lower case, but windows paths usually have upper case drive letters. This means that when cwd is, for example, C:\my_project\, sometimes I have a file c:\my_project\a_file.rs, which trigger the 'File not in cwd' prompt when running :NeoTreeReveal.
I temporally solve this problem by replacing the condition in this line with not M.is_subpath(cwd, path), from code below. I can open a PR if you wish. I don't know if you may know a better solution or want to wait for neovim/neovim#16331.
M.normalize_path = function (path)
    local has_windows_drive_letter = path:match '^%a:'
    if has_windows_drive_letter then
        return path:sub(1,1):lower()..path:sub(2)
    end
    return path
end

M.is_subpath = function(cwd, path)
    cwd = M.normalize_path(cwd)
    path = M.normalize_path(path)
    return string.sub(path, 1, string.len(cwd)) == cwd
end

If you could open a PR that would be great. I don't use nvim natively on windows myself so I can't properly test it.
One question though: would it be better to just lowercase the whole path if it is on Windows since the whole path is actually case insensitive? The neo-tree.utils module does have a is_windows property to determine if it is running on windows.

Ok, so I will try to organize the code a little better, and open a PR.

would it be better to just lowercase the whole path if it is on Windows since the whole path is actually case insensitive?

There is a way to enable case sensitivity in windows, so I avoided lowercasing the entire path.


tensorflow:AutoGraph could not transform

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information
Downloading and preparing dataset imdb_reviews (80.23 MiB) to /root/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0...
Shuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0.incomplete7ZTMSY/imdb_reviews-train.tfrecord
Shuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0.incomplete7ZTMSY/imdb_reviews-test.tfrecord
Shuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0.incomplete7ZTMSY/imdb_reviews-unsupervised.tfrecord
Dataset imdb_reviews downloaded and prepared to /root/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0. Subsequent calls will reuse this data.
WARNING:tensorflow:AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING:tensorflow:AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING: AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING:tensorflow:AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4
WARNING:tensorflow:AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4
WARNING: AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4
WARNING:tensorflow:AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING:tensorflow:AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING: AutoGraph could not transform <function _get_dataset_from_filename at 0x7f9503308d08> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: module 'gast' has no attribute 'Num'
WARNING:tensorflow:AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4
WARNING:tensorflow:AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4
WARNING: AutoGraph could not transform <bound method TopLevelFeature.decode_example of FeaturesDict({
'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),
'text': Text(shape=(None,), dtype=tf.int64, encoder=),
})> and will run it as-is.
Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output.
Cause: Bad argument number for Name: 3, expecting 4

@dynamor2019,
In order to expedite the trouble-shooting process, could you please provide the complete code to reproduce the issue reported here and also the TensorFlow version you are using. Thanks!

I just followed the tutorials of tensorflow @ tensorflow.google.cn,
i try to learn
Text classification with preprocessed text: Movie reviews
with colab,
after
try:
  # %tensorflow_version only exists in Colab.
  !pip install -q tf-nightly
except Exception:
  pass
import tensorflow as tf
i can not get tf 2.2.0 but 2.1.0
except the bug i submit, there is another bug appeard,as following:
train_batches = (
    train_data
    .shuffle(BUFFER_SIZE)
    .padded_batch(32))
test_batches = (
    test_data
    .padded_batch(32))
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)"><ipython-input-41-9a5275a8cbf1> in <module>()      4     train_data      5     .shuffle(BUFFER_SIZE)----> 6     .padded_batch(32))      7       8 test_batches = (TypeError: padded_batch() missing 1 required positional argument: 'padded_shapes'
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2020年2月20日(星期四) 晚上6:08
收件人<EMAIL_ADDRESS>抄送: "李晓亮"<9370611<EMAIL_ADDRESS>主题: Re: [tensorflow/tensorflow] tensorflow:AutoGraph could not transform (#36921)
@dynamor2019,
In order to expedite the trouble-shooting process, could you please provide the complete code to reproduce the issue reported here and also the TensorFlow version you are using. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@dynamor2019,
I was able to run the code from the tutorial without any issues, please find the Gist of it here.
Regarding the TensorFlow version, looks like you have TF 2.1 installed. If you want to install TF 2.2, which is the nightly version, please use the command pip install tf-nightly.
Thanks!

Any updates regarding this issue? Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

I have tensorflow 2.4.1 ,I came with the same problem,but my problem hasn't been solved.


Improve GitPod image and setup

Upgrade to composer 2
Upgrade to PHP 8
Setup default extensions

Closed as of #e96a439


New version: DelayDiffEq v5.17.0

Registering package: DelayDiffEq
Repository: https://github.com/JuliaDiffEq/DelayDiffEq.jl
Created by: @ChrisRackauckas
Version: v5.17.0
Commit: 02d4247842323a14b0f378c8e75641d70b3c719e
Reviewed by: @ChrisRackauckas
Reference: https://github.com/JuliaDiffEq/DelayDiffEq.jl/issues/131#issuecomment-546056949

Your new version pull request met all of the guidelines for automatic merging.
I will automatically merge this pull request during the next cron job.
If you want to prevent this pull request from being auto-merged, simply leave a comment.
(If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.)

[noblock]


Mattermost-desktop makes the system freeze when Ubuntu Unity menu is opened

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary
Mattermost-desktop makes the system freeze when Ubuntu Unity menu is opened
Environment
OS version: Ubuntu 18.04.5,
also checked on Ubuntu 20.04.
Unity 7.5.0
Mattermost Desktop version: 4.7.1
Not sure about the mattermost server version.
Steps to reproduce

Open Mattermost Desktop window, position it near screen's top left corner.
Open Unity Dash menu

Expected behavior
The system operates normally, menu opens, Mattermost Desktop is responsive.
Observed behavior
The system freezes, Unity Dash menu is displayed semi-transparent, as if it started to appear and then got stuck. Mattermost Desktop becomes unresponsive along with Unity Dash. Htop shows high CPU usage by mattermost-desktop --type=renderer. The freeze can be released by clicking any window other than Mattermost Desktop and Unity bar.
Download screencast here: https://drive.google.com/file/d/1hmbgmxJpy7glvSqabufjIcwyD1qF6Dz4/view
Possible fixes
Renderer is suspect.

Hi there! Thanks for reporting!
Have you tried changing the setting for gpu acceleration and see if that helps?

Hi! I tried it (with reloading the app, and even rebooting), but it didn't help.

I can reproduce this, ticket created: https://mattermost.atlassian.net/browse/MM-38270

Any chance this can get some love?  This affects me pretty badly, to the point where I have to kill and restart the MM desktop all multiple times per day.  Same problem, if the MM window is in focus, and I open the Unity Dash either on purpose or accidentally by my hand brushing over the Super key that triggers the Dash to open, the MM Desktop app completely freezes and the only resolution is to kill it and relaunch it.
In my case I've observed this on:
Ubuntu 22.04
Mattermost Desktop snap 5.2.2 (and ever prior version I've tried)
Unity 7.6.0+22.04.20220601.1-0ubuntu1

@bladernr Unfortunately I'm still not sure what causing this, as it seems to hard hang the application, which is usually an indication of an issue with Electron/Chromium.
Have you tried v5.3.1 or the latest nightly build? https://community.mattermost.com/core/channels/desktop-builds

Since there isn't really any solution to this one, and is likely an issue caused by Electron/Chromium, coupled with the fact that Unity is no longer used by the main distribution of Ubuntu, I'm going to close this one as Won't Fix.
I'm happy to have someone work on it still if there's interest, but this won't be looked at by our development team at this time. I apologize for any inconvenience this causes.


conda-forge release

Hi all, would it be possible to also make a conda release as keras had before? TensorFlow-Probability depends on it and this would be needed.
It should be rather straight-forward, taking what keras had before?
(apologies if this is the wrong place to ask, but neither the mailing list nor the forum seemed more appropriate)

sorry, that's already available, my bad, closing


New custom deduplication method based on UMI-tools API

This is a WIP to replace the current deduplication method. It is still not included in the workflow, only the python code for new deduplication is included. Even if it's a WIP, it is already open for discussion and comments :)
Current deduplication

Use se_bam to make a pass at the original BAM file and keep only R1 reads.
Deduplicate this single-end BAM with je-markdupes.
Use the IDs marked as duplicates in (2) to mark duplicate "pairs" in (1).

Issues

Aligned reads where R1 is missing are not considered in the deduplication process.
Multimappers (low mapping quality reads) are deduplicated considering the mapping position accurate.
Library size estimation is lost, because JE does not estimate on single fragments.
Workflow is complicated.

Suggested deduplication
What is proposed here is to use umitools UMIClusterer in custom python code so we can deduplicate in a single step.
The workflow follows this idea:

Make a position-based index of the BAM file with only the information relevant for this for R1 reads and R2-only reads - i.e. reads that don't have a mapped R1 present in the alignment (NOTE: I have checked if pysam would give me an index exactly how I needed it and did not find a good answer. I prototyped a bit accessing the reads directly through the BAM iterator but that was way slower than this solution. But I am pretty sure this can be improved).
Gather all the multimapping reads (under a certain mapping quality threshold) to be deduplicated based only on sequence. The rationale for this is that multi mapping reads could have been assigned to other places, hence deduplicating by position can overlook duplicates. Deduplicating by sequence has other shortcomings (it is more costful and could be inaccurate based only on sequence). However we think sequence + UMI can be a good amount of information to get the real duplicates.
Deduplicate reads in (1) by position, using UMIClusterer to find the best candidate across similar UMIs from reads that map to the same position. The rest of the reads are considered duplicates. When there is more than one read with the same UMI, the best score is used, in the same way as je was doing: sum of base scores. This way we can better compare results, since the major selection criteria is matched.
Deduplicate multimappers using UMI and sequence: This is done hierarchically. First grouping by UMI, then by a sequence stub of a certain length that is kept for the reads identified as multimappers.
Write a BAM file excluding all reads mapped as duplicates (and all unmapped as well).

Step (4) so far seems to work very well, even though it's counter intuitive (one would want to cluster first by sequence, then by UMI). But UMIClusterer is very sensitive to sequence size (this problem has very high complexity on sequence length), and very efficient for sequences of 6nt (our UMI size), also doable I think for 8nt sequences, which we sometimes have. In the event that we want to keep same behavior as before, and treat multi mappers as anything else, we can set the mapping quality threshold to 0.
I have tested deduplicating BAM files based solely on this and comparing to deduplicating by Picard and results are similar enough to consider this a good option, considering that multimappers are not very well deduplicated anyway.
I added a little stub test file, but I am aware that it tests very little so far. I am not an expert on python testing, but I will improve this as soon as I can.

Note that this is quite a memory demanding method.
We have had memory issues in the past with the other mark_duplicates tools (je and/or picard), but in this case the pass/indexing at the BAM file is less optimized. The question is whether we always have alignments that are not too large. When I tested for alignments in our datasets, I got BAM files around 1GB and it worked nicely even on my local computer. Right now I found a case where we have larger alignments so I am doing a stress test to see how much we can get out of this approach.
The memory stress can be relieved by deduplicating in chunks. Processing time can be also improved by parallelizing this step.
In the case of the multimappers we would still need to do it all together, since we are not using position, but the second step clustering could also be parallelized.

I have found another problem with the UMI-tools deduplication using UMIclusterer. I cannot get the same number of duplicates twice, I am assuming there is some random seeding at some point that overwrites mine, because even if I fix a seed I still get the deduplication with a slightly different value each time.
I am going to close this PR as I do not have intention to merge as it is. I will look at a better solution to this and retry in the future.

Hi, I was working on some other things when you opened this PR. Now that you’ve closed, can I just ignore it for now?

Yes, feel free to ignore it :) I thought the idea was more mature than it was. I will come back with a cleaner take on it in the next weeks! Thanks!


How to close navigation focus when click background?

I have encountered a problem, I don't know what API can close it...

Click TextBlock2
Click TextBlock4
Click Background
auto navigation focus TextBlock1

But I want...

Click TextBlock2
Click Background
Lose Focus

use  IsTabStop="True"


Display error message when PerfView64 wrapper can't load PerfView.exe

If you're dumb like me and download the PerfView64.exe wrapper and run it without PerfView.exe being present, it will silently error (though it will leave an error in the Windows Event Viewer).
This change means an error message will be displayed when PerfView.exe is missing.

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

Codecov Report

Merging #921 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #921   +/-   ##
=======================================
  Coverage   17.66%   17.66%
=======================================
  Files         228      228
  Lines      139621   139621
  Branches    12379    12379
=======================================
  Hits        24667    24667
  Misses     114008   114008
  Partials      946      946

Flag
Coverage Δ

#2017
17.66% <ø> (ø)
:arrow_up:

#Debug
17.66% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@Quppa, thank you for the contribution.  I'm on-board with such a change, but would like to understand a bit more about the implementation.  Can you tell me what the app manifest is required for?

Sorry, should have called that out - the app manifest enables Common Controls v6, without which visual styles would be disabled for the error message box (i.e. it would use the pre-Windows XP style).
While I'm at it, the reason for moving the Main method call into its own method is that the try/catch won't catch the exception if the call is done directly.

@Quppa thanks for the explanation.  The fact that you had to make separate method in order to catch the exception feels like a bug to me, but if it is a bug, it feels like a runtime bug and not one in PerfView.  I'll follow up on this, but in the meantime, let me merge this.
Thanks again for contributing!

To close the loop on this, it is by design that you had to move the call of PerfView.App.Main into a helper function in order to get the catch handler to execute.  The reason for this is that the the call to PerfView.App.Main was causing the load of PerfView.exe to occur before PerfView64's Main method could be jitted completely, and so the catch handler didn't exist yet and we hadn't even entered the Main method yet.  Moving it to a helper method allowed for PerfView64's Main method to be jitted and execute before the load of PerfView.exe starts.


Bash: atom: command not found

Hello, i cloned a repository from GitHub and created a new file using git but when I try to open the file in atom I get an error message: "bash: atom: command not found"

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way :grinning:

Without the template information I don't know what operating system you're running but if you're on macOS, did you already run Atom > Install Shell Commands from the menu?

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way :grinning:

Without the template information I don't know what operating system you're running but if you're on macOS, did you already run Atom > Install Shell Commands from the menu?

Hello Robert, thanks for getting back to me... I'm using Windows 10 and I
solved the problem using alias atom=PATH but I ran into another problem...
I created an html file using atom and I'm having difficulties accessing it
on the web using open <filename.html>... I get an error message 'bash:
open: command not found'
On Mon, Apr 8, 2019, 20:15 Robert Sese<EMAIL_ADDRESS>wrote:

Closed #19117 https://github.com/atom/atom/issues/19117.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19117#event-2260570166, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AqzQc9QIiSPowrtrmLBuIhmfB7e4xNBMks5ve4dCgaJpZM4cieul
.

It sounds like you're using Git for Windows?  If so, can you share the output of ls ~/AppData/Local/atom/bin?

Hello Robert... The output of the code "ls ~/AppData/Local/atom/bin" is
"apm* apm.cmd atom* atom.cmd" . Both atom* and apm* are coloured green
On Tue, Apr 9, 2019, 06:53 Robert Sese<EMAIL_ADDRESS>wrote:

It sounds like you're using Git for Windows? If so, can you share the
output of ls ~/AppData/Local/atom/bin?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19117#issuecomment-481101283, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AqzQc2yaF2QEQIfYP5tlJhhGYkKZc_MNks5vfBzDgaJpZM4cieul
.

Thanks - is that directory listed in your PATH when you run echo $PATH in Git for Windows?

It's not exactly the same... here is the output :
c/Users/Ludrick/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/Ludrick/bin:/c/Program
Files (x86)/Intel/TXE
Components/TCS:/c/Users/Ludrick/AppData/Local/Programs/Python/Python37":/c/Program
Files/Intel/TXE
Components/TCS:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/Program
Files/Intel/TXE Components/DAL:/c/Program Files (x86)/Intel/TXE
Components/DAL:/c/Program Files/Intel/TXE Components/IPT:/c/Program Files
(x86)/Intel/TXE
Components/IPT:/c/Users/Ludrick/AppData/Local/Programs/Python/Python37:/c/Users/Ludrick/AppData/Local/Programs/Python/Python37/Scripts:/c/WINDOWS/System32/OpenSSH:/cmd:/c/Users/Ludrick/AppData/Local/Microsoft/WindowsApps:/usr/bin/vendor_perl:/usr/bin/core_perl
On Wed, Apr 10, 2019 at 8:38 PM Robert Sese<EMAIL_ADDRESS>wrote:

Thanks - is that directory listed in your PATH when you run echo $PATH in
Git for Windows?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19117#issuecomment-481811939, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AqzQc1nH4gziqtQDH-C9fTA4AAX_30Abks5vfi-mgaJpZM4cieul
.

Ok thanks - go ahead and remove the alias you created and then add that directory to your PATH environment variable:

Click Start Menu and search for Environment Variable
Select Edit the system environment variables
Click the Environment Variables button
Select Path under User variables for... and click Edit...
Click New and add C:\Users\Ludrick\AppData\Local\atom\bin
Click Ok to close out the open popups

Then open a new Git for Windows window and try to start Atom.

Hello Robert... I removed the alias and added a new path but when I try to
open atom from Git I get an error message bash: C:
UsersLudrickAppDataLocalatomatom.exe: command not found.
Thanks
On Thu, Apr 11, 2019, 00:23 Robert Sese<EMAIL_ADDRESS>wrote:

Ok thanks - go ahead and remove the alias you created and then add that
directory to your PATH environment variable:

Click Start Menu and search for Environment Variable
Select Edit the system environment variables
Click the Environment Variables button
Select Path under User variables for... and click Edit...
Click New and add C:\Users\Ludrick\AppData\Local\atom\bin
Click Ok to close out the open popups

Then open a new Git for Windows window and try to start Atom.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19117#issuecomment-481888427, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AqzQc21t-0CTecOSw6cWZrtern1mW2evks5vfmRkgaJpZM4cieul
.

What does your PATH look like now (echo $PATH)?  And also what's the output of which atom?

The output for echo $PATH hasn't changed
On Thu, Apr 11, 2019, 06:45 Robert Sese<EMAIL_ADDRESS>wrote:

What does your PATH look like now (echo $PATH)? And also what's the
output of which atom?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19117#issuecomment-481962867, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AqzQcysJNS98l8-C-aGv4YezAjRjm8UTks5vfr3OgaJpZM4cieul
.

Hmm, the path should be different after updating the environment variable - did you open a new Git for Windows window?