Features marked as Obsolete in .NET 5.0 with custom diagnostics

Features marked as Obsolete in .NET 5.0
For .NET 5.0, we've made it more viable to mark APIs as obsolete by extending ObsoleteAttribute to include optional DiagnosticId and UrlFormat properties. These properties are respected by the compiler to generate build warnings using a custom diagnostic and to include a URL link to a documentation page for learning more about the obsoletion. This behavior allows for obsoletion warning to be suppressed specifically and separately from one another using the custom diagnostic id values.
Using this improved obsoletion mechanism, .NET 5.0 marks several features as obsolete using custom diagnostics.
If build warnings or errors are encountered due to usage of these obsolete APIs, follow the specific guidance provided for the different diagnostics using the URL link provided on the warning. Warnings or errors for these obsoletions cannot be suppressed using the standard diagnostic id for obsolete types or members; the custom SYSLIB#### diagnostic id values must be used instead.
Version introduced
.NET 5.0
Old behavior
These APIs could be referenced without any build warnings.
New behavior
References to these APIs will produce build warnings with the corresponding diagnostics.
Reason for change
These APIs were marked as obsolete for a different reasons.

Diagnostic ID
Description

SYSLIB0001
The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead.

SYSLIB0002
PrincipalPermissionAttribute is not honored by the runtime and must not be used.

SYSLIB0003
Code Access Security is not supported or honored by the runtime.

SYSLIB0004
The Constrained Execution Region (CER) feature is not supported.

SYSLIB0005
The Global Assembly Cache is not supported.

SYSLIB0006
Thread.Abort is not supported and throws PlatformNotSupportedException.

SYSLIB0007
The default implementation of this cryptography algorithm is not supported.

SYSLIB0008
The CreatePdbGenerator API is not supported and throws PlatformNotSupportedException.

SYSLIB0009
The AuthenticationManager Authenticate and PreAuthenticate methods are not supported and throw PlatformNotSupportedException.

SYSLIB0010
This Remoting API is not supported and throws PlatformNotSupportedException.

SYSLIB0011
BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for recommended alternatives.

SYSLIB0012
Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location instead.

Recommended action

Category

[ ] ASP.NET Core
[ ] C#
[ ] Code analysis
[X] Core .NET libraries
[ ] Cryptography
[ ] Data
[ ] Debugger
[ ] Deployment
[ ] Globalization
[ ] Interop
[ ] JIT
[ ] LINQ
[ ] Managed Extensibility Framework (MEF)
[ ] MSBuild
[ ] Networking
[ ] Printing
[ ] Security
[ ] Serialization
[ ] Visual Basic
[ ] Windows Forms
[ ] Windows Presentation Foundation (WPF)
[ ] XML, XSLT

Affected APIs

SYSLIB0001 - The UTF-7 encoding is insecure and should not be used. Consider using UTF-8 instead.

System.Text.UTF7Encoding (constructors)
System.Text.Encoding.UTF7

SYSLIB0002 - PrincipalPermissionAttribute is not honored by the runtime and must not be used. This obsoletion produces a build error.

System.Security.Permissions.PrincipalPermissionAttribute (constructor)

SYSLIB0003 - Code Access Security is not supported or honored by the runtime.

Classes in the System.Security.Permissions namespace:

CodeAccessSecurityAttribute
DataProtectionPermission
DataProtectionPermissionAttribute
EnvironmentPermission
EnvironmentPermissionAttribute
FileDialogPermission
FileDialogPermissionAttribute
FileIOPermission
FileIOPermissionAttribute
GacIdentityPermission
GacIdentityPermissionAttribute
HostProtectionAttribute
IsolatedStorageFilePermission
IsolatedStorageFilePermissionAttribute
IsolatedStoragePermission
IsolatedStoragePermissionAttribute
KeyContainerPermission
KeyContainerPermissionAttribute
KeyContainerPermissionAccessEntry
KeyContainerPermissionAccessEntryCollection
KeyContainerPermissionAccessEntryEnumerator
MediaPermission
MediaPermissionAttribute
PermissionSetAttribute
PrincipalPermission
PrincipalPermissionAttribute
PublisherIdentityPermission
PublisherIdentityPermissionAttribute
ReflectionPermission
ReflectionPermissionAttribute
RegistryPermission
RegistryPermissionAttribute
ResourcePermissionBase
ResourcePermissionBaseEntry
SecurityAttribute
SecurityPermission
SecurityPermissionAttribute
SiteIdentityPermission
SiteIdentityPermissionAttribute
StorePermission
StorePermissionAttribute
StrongNameIdentityPermission
StrongNameIdentityPermissionAttribute
StrongNamePublicKeyBlob
TypeDescriptorPermission
TypeDescriptorPermissionAttribute
UIPermission
UIPermissionAttribute
UrlIdentityPermission
UrlIdentityPermissionAttribute
WebBrowserPermission
WebBrowserPermissionAttribute
ZoneIdentityPermission
ZoneIdentityPermissionAttribute

Classes that derive from CodeAccessSecurityAttribute

System.Configuration.ConfigurationPermissionAttribute
System.Data.Common.DBDataPermissionAttribute
System.Data.OracleClient.OraclePermissionAttribute
System.Diagnostics.EventLogPermissionAttribute
System.Diagnostics.PerformanceCounterPermissionAttribute
System.DirectoryServices.DirectoryServicesPermissionAttribute
System.Drawing.Printing.PrintingPermissionAttribute
System.Net.DnsPermissionAttribute
System.Net.SocketPermissionAttribute
System.Net.WebPermissionAttribute
System.Net.Mail.SmtpPermissionAttribute
System.Net.NetworkInformation.NetworkInformationPermissionAttribute
System.Net.PeerToPeer.PnrpPermissionAttribute
System.Net.PeerToPeer.Collaboration.PeerCollaborationPermissionAttribute
System.ServiceProcess.ServiceControllerPermissionAttribute
System.Transactions.DistributedTransactionPermissionAttribute
System.Web.AspNetHostingPermissionAttribute

Interfaces:

System.Security.Permissions.IUnrestrictedPermission
System.Security.IPermission
System.Security.IStackWalk
System.Security.Policy.IIdentityPermissionFactory

Classes that implement IStackWalk

System.Security.PermissionSet
System.Security.NamedPermissionSet

Classes that implement IPermission

System.Security.CodeAccessPermission

Classes that derive from CodeAccessPermission

System.Configuration.ConfigurationPermission
System.Data.Common.DBDataPermission
System.Data.Odbc.OdbcPermission
System.Data.OleDb.OleDbPermission
System.Data.SqlClient.SqlClientPermission
System.Data.OracleClient.OraclePermission
System.Drawing.Printing.PrintingPermission
System.Net.DnsPermission
System.Net.SocketPermission
System.Net.WebPermission
System.Net.Mail.SmtpPermission
System.Net.NetworkInformation.NetworkInformationPermission
System.Net.PeerToPeer.PnrpPermission
System.Net.PeerToPeer.Collaboration.PeerCollaborationPermission
System.Transactions.DistributedTransactionPermission
System.Web.AspNetHostingPermission
System.Xaml.Permissions.XamlLoadPermission

Classes that derive from ResourcePermissionBase

System.Diagnostics.EventLogPermission
System.Diagnostics.PerformanceCounterPermission
System.DirectoryServices.DirectoryServicesPermission
System.ServiceProcess.ServiceControllerPermission

Enums in the System.Security.Permissions namespace:

DataProtectionPermissionFlags
EnvironmentPermissionAccess
FileDialogPermissionAccess
FileIOPermissionAccess
HostProtectionResource
IsolatedStorageContainment
KeyContainerPermissionFlags
MediaPermissionAudio
MediaPermissionImage
MediaPermissionVideo
PermissionState
ReflectionPermissionFlag
RegistryPermissionAccess
SecurityAction
SecurityPermissionFlag
StorePermissionFlags
TypeDescriptorPermissionFlags
UIPermissionClipboard
UIPermissionWindow
WebBrowserPermissionLevel

Classes/Members that depend on Code Access Security types:

System.AppDomain.PermissionSet
System.Security.HostProtectionException
System.Security.Policy.FileCodeGroup
System.Security.Policy.StrongName
System.Security.Policy.StrongNameMembershipCondition
System.Security.Policy.ApplicationTrust(PermissionSet, IEnumerable<StrongName>)
System.Security.Policy.ApplicationTrust.FullTrustAssemblies
System.Security.Policy.GacInstalled
System.Security.SecurityManager
System.Security.Policy.PolicyStatement
System.Security.Policy.PolicyLevel.AddNamedPermissionSet(NamedPermissionSet)
System.Security.Policy.PolicyLevel.ChangeNamedPermissionSet(string, PermissionSet)
System.Security.Policy.PolicyLevel.GetNamedPermissionSet(string)
System.Security.Policy.PolicyLevel.RemoveNamedPermissionSet(NamedPermissionSet)
System.Security.Policy.PolicyLevel.RemoveNamedPermissionSet(string)
System.Security.Policy.Publisher
System.Security.Policy.Site
System.Security.Policy.Url
System.Security.Policy.Zone

SYSLIB0004 - The Constrained Execution Region (CER) feature is not supported.

System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute
System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
System.Runtime.ConstrainedExecution.Cer
System.Runtime.ConstrainedExecution.Consistency
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup
System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions
System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegionsNoOP
System.Runtime.CompilerServices.RuntimeHelpers.PrepareContractedDelegate
System.Runtime.CompilerServices.RuntimeHelpers.ProbeForSufficientStack

SYSLIB0005 - The Global Assembly Cache is not supported.

System.Reflection.Assembly.GlobalAssemblyCache

SYSLIB0006 - Thread.Abort is not supported and throws PlatformNotSupportedException.

System.Threading.Thread.Abort()
System.Threading.Thread.Abort(Object)

SYSLIB0007 - The default implementation of this cryptography algorithm is not supported.

System.Security.Cryptography.SymmetricAlgorithm.Create()
System.Security.Cryptography.AssymetricAlgorithm.Create()
System.Security.Cryptography.HMAC.Create()
System.Security.Cryptography.KeyedHashAlgorithm.Create()

SYSLIB0008 - The CreatePdbGenerator API is not supported and throws PlatformNotSupportedException.

System.Runtime.CompilerServices.DebugInfoGenerator.CreatePdbGenerator

SYSLIB0009 - The AuthenticationManager Authenticate and PreAuthenticate methods are not supported and throw PlatformNotSupportedException.

System.Net.AuthenticationManager.Authenticate
System.Net.AuthenticationManager.PreAuthenticate

SYSLIB0010 - This Remoting API is not supported and throws PlatformNotSupportedException.

System.MarshalByRefObject.GetLifetimeService
System.MarshalByRefObject.InitializeLifetimeService

SYSLIB0011 - BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for recommended alternatives.

System.Runtime.Serialization.IFormatter.Deserialize
System.Runtime.Serialization.IFormatter.Serialize
System.Runtime.Serialization.Formatters.Formatter.Deserialize
System.Runtime.Serialization.Formatters.Formatter.Serialize
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize

SYSLIB0012 - Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location instead.

System.Reflection.Assembly.CodeBase
System.Reflection.Assembly.EscapedCodeBase

Issue metadata

Issue type: breaking-change

This is the summary breaking change document for the obsoletions in .NET 5.0, but we still need to write documents for each of the SYSLIB obsoletions and get the aka.ms links wired up.
/cc @GrabYourPitchforks

@jeffhandley @GrabYourPitchforks instead of having separate breaking change entries like I've done for CAS, GAC and remoting, how about we have this single breaking change entry, and then a page for each SYSLIB warning (that's not part of the breaking changes docs - more just a reference)? It seems repetitive to have an overarching breaking change article for SYSLIB deletions, separate BC articles for each SYSLIB obsoletion, and separate reference articles for each SYSLIB warning.

Also, there's currently a bug in the .NET API ref docs where some of the obsolete types don't show as being obsolete (e.g. https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.globalassemblycache?view=net-5.0). Hopefully that will be fixed soon!


added if else statement to handle post_act_ln

Description: To address an issue where instantiating BitFeedForward() with post_act_ln=False will result in TypeError: 'NoneType' object is not callable, I've added an if-else statement to create different sequences depending on the value of post_act_ln. Please see the issue for more details.
Issue: https://github.com/kyegomez/BitNet/issues/43, https://github.com/kyegomez/BitNet/issues/53
Dependencies: None

I feel the solution presented in the original issue may be much cleaner. I will update the code if necessary.


Fix few case can't reuse connection

I observed that in a few cases, hyper client cannot reuse h1 connections. After some log analysis, I think this is because PoolInner::put may happen between Pool::take and Pool::waiter.
I believe merging these two operations will help.

Awesome find, thanks!


fix card line clamping

What are the relevant tickets?
Follow-up for https://github.com/mitodl/mit-learn/pull/1850
Description (What does it do?)
In the above PR, we adjusted the line clamping rules in the Card component. Unfortunately, it didn't work in every scenario and this adjustment is needed to ensure that all children of the Title within Card have the line clamp rule applied.
Screenshots (if appropriate):

How can this be tested?

If you have Posthog set up locally, enable the lr_drawer_v2 flag
If you don't have Posthog set up locally, you can force drawerV2 to be true in LearningResourceDrawer.tsx
Spin up this branch of mit-learn
Ensure you have sufficient data backpopulated into your local instance, including some OCW and Sloan courses
Visit the home page at http://localhost:8062/
Scroll down to the news section and verify that 3 lines of the title are revealed, with an ellipsis included if line clamping is happening
Visit the search page at http://localhost:8062/search
Click on some results until you get one with a recommended course card with a long title, and verify that it is being clamped at 3 lines as well

Currently on main the News section stories are clamped at 3 lines - the Title link has no children aside from its text, so the change doesn't seem to have any effect here:

Separately but related, there was a previous issue that needed the News section cards to be bottom aligned. It's a design question and I'd assume we favor readability, but do we need to make an adjustment somewhere else to put them back in alignment?...

The resource cards do have a nested element, the EllipsisTitle in LearningResourceCard.tsx, which uses TruncateText to apply the line clamp, which is being overridden by the change in Card.tsx. If all cards are clamped at 3 lines we can remove the EllipsisTitle; thinking though it would be good to build TruncateText into Card.Title in Card.tsx for reuse.


Feat/add creating steps and other modifications

Add step-by-step guidance for creating new tunnels.
Modify the style of Telepy.
Update the log page.

Log page

Let'ssssssssss GOOOOOOOOO!


chore: use esbuild instead of webpack

Problem

Webpack is slow and problematic in nix
Solution

Use esbuild instead
Related

#579

@d4hines It can't find dependencies installed with esy because it uses a non-standard way of providing paths to the node packages.
It would be good if @EduardoRFS or @callistonianembrace could implement NODE_PATH upstream in esy, that way things would work out of the box.

First off - apologies for the shabby JS code. Had to do this in a jiffy.

I added a esbuild plugin (light tweaks to the yarn pnp plugin)
Disabled sandbox on the CI because esbuild does sneaky file moving in the sources area (which violates immutability assumptions esy makes)

With this, constructing a NODE_PATH is unnecessary.
Happy to explain the plugin offline too. It isn't much - it captures the require statements (like the yarn pnp plugin did) and uses esy's pnp js to resolve them.

I can rework the plugin code sometime later this week if this indeed is the direction you all wish to take. These commits could be considered a PoC. Let know what you think.

Also, I'm not entirely sure why Nix is failing here. Seems like we need something around Dune rules and not much to do with module resolution per se.

@callistonianembrace making NODE_PATH available in esy would be more flexible. nix doesn't know about pnp so it will fail with this solution. But maybe we could create a custom resolver that will check if NODE_PATH is set and then use that, otherwise do the pnp stuff.

@ulrikstrid I'm missing something here - this is about esy + nix right? Why doesn't Nix see esy's pnp.js file?

@callistonianembrace nix is separate from esy so when using nix we don't even run esy

The main problem, getting m1 to work in nix, has been resolved in another PR so we can close this


Option to run tests sequentially (and as the default in CI)

I've observed MacOS CI failures in the past that were fixed by forcing tests to run sequentially. Fundamentally I believe the issue is that we're trying to run multiple Lean 4 servers for the same workspace at once. If we get to specifically wanting to test this (which seems like an unlikely scenario anyways), it  should be its own unit test.
Sequential tests may be a (little) bit slower, but I'd say it's worth it to make things more deterministic!
Pending nvim-lua/plenary.nvim#185.

Yeah... I've seen this too :/ Thanks for taking it upstream, I guess it's a reasonable option at least until we hit #93.

At this point I can't run tests locally without things timing out 😭
Probably because my computer's on the slower side. Shouldn't be an issue for me once this is resolved though. Anyways I prefer the test results being printed in a deterministic order...

They're not speedy on mine either...
If you increase the timeouts they pass?

For me, no. Even if I increase the limit on wait_for_ready_lsp(), wait_for_line_diagnostics(), etc. it hits plenary-busted's built-in 50 second limit when attempting infoview/lsp_spec.lua.


Failed to compile on Windows 10

Hi,
I'm trying to test the project on Windows 10 (20H2) with rustc 1.56.1 and it failed at:
error[E0308]: mismatched types
  --> src/bin/elfshaker\store.rs:83:8
   |
83 |     Ok(std::str::from_utf8(buf))
   |        ^^^^^^^^^^^^^^^^^^^^^^^^ expected `&OsStr`, found enum `Result`
   |
   = note: expected reference `&OsStr`
                   found enum `Result<&str, std::str::Utf8Error>`

For more information about this error, try `rustc --explain E0308`.
error: could not compile `elfshaker` due to previous error

I tried and fixed the issue by creating a new OsStr and it seems that it worked. Everything compiled and running.
#[cfg(not(unix))]
fn to_os_str(buf: &[u8]) -> Result<&OsStr, std::str::Utf8Error> {
    // On Windows (and everything else) we will expect well-formed UTF-8 and pray
    Ok(OsStr::new(std::str::from_utf8(buf)?))
}

However, I don't know whether that is a correct solution for this. The executable runs on my machine and two out of the 18 test failed. I saw in the README that it's only tested with Ubuntu so I guess the building_loose_object_paths_works test failed because of that. I don't know why test_atomic_update_api failed, however.
running 18 tests
test repo::algo::test::partition_by_u64_small_values_works ... ok
test repo::algo::test::partition_by_u64_few_works ... ok
test repo::algo::test::partition_by_u64_simple_works ... ok
test repo::pack::tests::assign_to_frames_multiple_works ... ok
test entrypool::tests::basic_pathpool_test ... ok
test entrypool::tests::serde ... ok
test repo::pack::tests::assign_to_frames_single_works ... ok
test repo::pack::tests::pack_id_validation_works ... ok
test repo::pack::tests::snapshot_tag_validation_works ... ok
test repo::repository::tests::building_loose_object_paths_works ... FAILED
test repo::repository::tests::compute_entry_diff_finds_update_of_duplicated ... ok
test repo::repository::tests::compute_entry_diff_finds_updates ... ok
test repo::repository::tests::compute_entry_diff_path_switch ... ok
test repo::repository::tests::data_dir_detected ... ok
test repo::repository::tests::data_dir_detected_as_parent ... ok
test repo::repository::tests::data_dir_not_detected_incorrectly ... ok
test repo::algo::test::run_in_parallel_works ... ok
test atomicfile::tests::test_atomic_update_api ... FAILED

failures:

---- repo::repository::tests::building_loose_object_paths_works stdout ----
thread 'repo::repository::tests::building_loose_object_paths_works' panicked at 'assertion failed: `(left == right)`
  left: `"/repo/elfshaker_data/loose/fa/f0/deadbeefbadc0de0faf0deadbeefbadc0de0"`,
 right: `"/repo\\elfshaker_data\\loose\\fa\\f0\\deadbeefbadc0de0faf0deadbeefbadc0de0"`', src\repo\repository.rs:841:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- atomicfile::tests::test_atomic_update_api stdout ----
thread 'atomicfile::tests::test_atomic_update_api' panicked at 'unexpected error: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }', src\atomicfile.rs:206:23

failures:
    atomicfile::tests::test_atomic_update_api
    repo::repository::tests::building_loose_object_paths_works

test result: FAILED. 16 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.93s

Thank you so much for your time. This is a really great project.

We've only tested on Ubuntu, but we accept patches that improve compatibility on Windows and other platforms.

I tried and fixed the issue by creating a new OsStr and it seems that it worked.

Seems perfectly reasonable to me. This is probably what I intended to write, but I never ended up testing on Windows.

building_loose_object_paths_works fails because we really should be using MAIN_SEPARATOR, or Components to build the paths in the unit test.

test_atomic_update_api fails because it uses create_temp_path("/dev/shm/elfshaker-test/test_atomic_update_api"), which is reasonable, because it is backed by RAM on most(all?) Linux-based OSes.
https://github.com/elfshaker/elfshaker/blob/ba24b83d8989b3b467cb725694abcfdebb54fb44/src/atomicfile.rs#L188
The simplest solution would be to extract the path to a function and use "/dev/shm" on #[cfg(unix)] and env::temp_dir() on #[cfg(not(unix))].

If you could and wanted to open a PR with fixes for (any of) these, it will be appreciated.

Thank you so much. I can create a pull request for the to_os_str shortly. However, I will need to read more on the two test cases to see if I can do it and might do it in another pull request later.


'Ionic serve' periodically serves old code and requires restart

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request

Current behavior:
Ionic serve reverts to a previous version of my app randomly, causing me to have to restart it.
Expected behavior:
Ionic serve should provide the latest version of my app for viewing in the browser.
Steps to reproduce:
Run ionic serve, update app a few times, observe behavior.  Try it for an hour or so at most.  Should manifest soon.
Related code:

insert short code snippets here

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

global packages:
cordova (Cordova CLI) : 8.0.0

local packages:
@ionic/app-scripts : 3.1.8
Cordova Platforms  : android 7.0.0 ios 4.5.4
Ionic Framework    : ionic-angular 3.9.2

System:
Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
Node              : v8.9.4
npm               : 5.6.0
OS                : macOS High Sierra
Xcode             : Xcode 9.2 Build version 9C40b

Environment Variables:
ANDROID_HOME : /Users/swarren/sdk/android-sdks

Misc:
backend : pro

Hi there! This appears to be an issue with ionic-app-scripts, not the framework. Please open your issue there.
http://github.com/ionic-team/ionic-app-scripts/
Thanks!


Port navigation/header to bootstrap4

The code copied from the bakery demo used bootstrap3. Navigation is not rendering correctly with the same markup in bootstrap4.
Refs
https://getbootstrap.com/docs/4.0/migration/#navbar

Converted templates to BS4


[IGNITE-2929] IgniteContext should not have type parameters

Currently implementation of SparkContext has type parameters [K, V] which means that all the RDDs that are created by a particular instance of context have to be of the same type.
Type parameters onIgniteContext is removed.fromCache method is parameterized instead.

@agoncharuk  Would you please help me to review this PR?


Collect New Data for Improved Sqiswap Basis

We want to show in paper over circuit benchmarks how we can use parallel-drive to shorten overall duration.

TODO

[ ] Sqiswap pass requires a final check if gate is neither CX or SWAP. Use coverage set


Server 400 with Azure Function - breaks on step 8

Server 400 when following these instructions  "Create an Azure Function and add an Event Grid subscription" on step 8 the provided Azure function code makes a call below
GET https://atlas.microsoft.com/spatial/geofence/json?subscription-key=<>&api-version=1.0&deviceId=InVehicleDevice&isAsync=True&udId=f595c106-e4f8-b1e3-bd88-a3b22e7f9375&lat=38.90135353865269&lon=-77.03197002410889&searchBuffer=2&mode=EnterAndExit
Response
{
"error": {
"code": "BadRequest",
"message": "Please subscribe to async events to use async class",
"innererror": {
"code": "EventList"
}
}
}
Changing isAsync to "False" seems to fix the error
(probably at cost of performance.)

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

ID: 1a5bd255-3da7-da79-f9fc-6b49164e410a
Version Independent ID: eaa13933-48b4-0df1-99eb-2259c52e2008
Content: Tutorial: Implement IoT spatial analytics
Content Source: articles/azure-maps/tutorial-iot-hub-maps.md
Service: azure-maps
GitHub Login: @philmea
Microsoft Alias: philmea

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

@ElliotWood Not seeing any errors when trying the same. Adding @rbrundritt for further help.
@rbrundritt Are there any known issues? please check this and provide your suggestions.

Not aware of any issues. Has an Azure maps key been added to the request? I don't see it in the URL above.

@ElliotWood Could you confirm and validate whether Azure maps key has been added to the request?

@ElliotWood you have mentioned, Changing isAsync to "False" fixed the issue. However, we do not see such type of issues. If there are no further questions on this, We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@ElliotWood you have mentioned, Changing isAsync to "False" fixed the issue. However, we do not see such type of issues. If there are no further questions on this, We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Yes, tested both requests with the valid Azure Maps account primary key in both requests. For both of my test services(original and recreated one ) had same issue. As originally stated following the instructions but changing async seemed to allow the request to work.

I am getting same issue..
{
"error": {
"code": "BadRequest",
"message": "Please subscribe to async events to use async class",
"innererror": {
"code": "EventList"
}
}
}
with isAsync=false it is working

@ElliotWood how did you solve this issue

I had the same issue and duly flipped the isAsync from true to false, but this prevents any events from being triggered.  I now have the code working with isAsync=true in the Azure Maps API call and the function app compiles. I'm not sure what's changed, but if I flip isAsync from true to false I now get some runtime errors, so I leave it as true.  I have Azure Maps Geofence entered/exited events triggering a logic app that sends an alert email.


Added runtime dependency on python. Closes #2.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Looks sensible. 👍
I have removed the badly pinned files that had previously been uploaded, so I'd suggest merging this and taking it for a spin 👍


🐞 Bug: User able to add assignment of empty description

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
when you are adding assignments ,you are able to add keeping description empty
Steps To Reproduce
1.click on dropdown near your profile name seen in the navbar
2.then click on my groups
3. then after making groups
4.when you are adding assignments you are able to add assignment without filling anything in description of assignment
Expected Behavior
the description should have  required property so that none can kept it empty and able to add assignment
Screenshots
https://github.com/CircuitVerse/CircuitVerse/assets/138685168/b7c17be4-9402-41f0-9f31-24fc208d1464
Device Information [optional]
- OS:
- Browser:
- version:

Additional context
No response
Are you working on this issue?
Yes

@aayushgupta05  @abstrekt @aman-singh7 @ankitkataria
@arkokoley @Arnabdaz @ayan-biswas0412 @devartstar @eKuG @gr455 @harsha-iiiv
@Kartikay304 @mahmodHammad @manjotsidhu @nitin10s @Nitish145
please review the issue , i want to work on it ,please assign me this issue.....................


Update Pages “home”

Automatically generated by Netlify CMS

👷 Deploy Preview for tech-works-for-us processing.

Name
Link

🔨 Latest commit
1e6a6bd81c1fff9fa51583037cf9e88ef41094fe

🔍 Latest deploy log
https://app.netlify.com/sites/tech-works-for-us/deploys/64a834b4f45f02000828e108


Split Defintion block into a inner and outer part

Also types now only propagate outwards from a lambda.
Depends on #260.

This change seems to have shifted the anchors a few hundred px:

Yes, internal anchors are now centered because it looks ugly and unexpected on the left side.

I'll assign this PR to @Flumble because it contains visual changes, as discussed.

Fantastic! Merged. :sparkles:


Running this package with node18 in aws lambda results in GCLIB errors

I'm getting the error below when attempting to run node18 with this package installed.
ERROR	0 Error: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /var/task/node_modules/email-forward-parser/node_modules/re2/build/Release/re2.node)
    at Module._extensions..node (node:internal/modules/cjs/loader:1243:18)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/var/task/node_modules/email-forward-parser/node_modules/re2/re2.js:3:13)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12) {
  code: 'ERR_DLOPEN_FAILED'
}

I think this could be remedied by updating the re2 library to the latest version, so that it supports new targets.
Specifically, the 1.16.0 version does not seem to have targets for node18, while the 1.18.0 latest build does.
Would it be possible to add this update? Would you prefer I make a PR for this?

Looks like it works now! Thank you so much :)


ddev list and ddev describe should output version number of current configuration

Describe the solution you'd like
I would like to see the version number of the current configuration of each project when I use ddev list.
This would help me a lot to see where I need to upgrade the configuration e.g. to make use of new features in DDEV.
A plus would be if also ddev describe would output the version number of the current configuration.

I definitely like this idea.
You know about ddev --version though right?

ddev --version is not what I mean. That shows only which version of DDEV is installed on my machine.
What I have in mind is the version of the configuration as printed in .ddev/config.yaml on a per project basis:
# This config.yaml was created with ddev version v1.17.7

I'd like to have a quick overview for which project I've already run ddev config after an update of DDEV, e.g. to make use of new features or setting options.

This could look like this:
NAME                VERSION          TYPE       LOCATION                                           URL                   STATUS
abe                 v1.17.7          typo3      ~/PhpstormProjects/privat/abe                                            stopped
amazing-demo        v1.16.2          typo3      ~/Development/ddev/amazing-demo                                          stopped
bookmark-test       v1.17.4          typo3      ~/Development/ddev/bookmark-test                                         stopped

It doesn't really matter any more what version the config was created with. The config hasn't changed in years (just new things added). I should probably remove that line. I removed the APIVersion: key from the config.yaml more than a year ago because it had never been used.
Bottom line: Don't worry about versioning of your config.yaml.

As far as adding something to every line of ddev list... you must have a much bigger screen and terminal window than I do.

Closing this for now, as configurations aren't versioned. But I think we should try to add ddev version info into #2195


Aggregate Type Support

Add support for injecting faults into registers declared using aggregate types such as bundles or vectors.

Just an FYI, I'm holding off on an actual review until I (hopefully today/tomorrow) finish out #15. This PR and #19 would both be strongly supported with real tests as opposed to my spot checks via LeChiffre on Rocket. I should be able to give this an actual review by then (and will likely ask you to write some tests to show the original error and to verify that this does fix it). Apologies for holding things up @aroelke... Does that seem workable?

That's fine with me.  It makes sense to want tests to go along with these changes, and I'd like to model mine off yours.

This patch causes one of the FaultInstrumentation tests to fail in a different way than expected.  The second test of FaultInstrumentationSpec expects a FaultInstrumentationException to be thrown when attempting to instrument a non-Ground type.  Obviously, this PR changes that so it can instrument those, but the test brings up an interesting question because it uses a 0-length array to perform the test.  Currently this does still fail because FIRRTL doesn't know how to concatenate a zero-length array.  This creates two questions that I think could both be handled by this PR:

What should be done if someone tries to do this (i.e. instrument a zero-length Vec of elements)?
What should be done if someone tries to instrument a zero-width signal?

It seems to me like the way the first case is handled is fine and we should just let the FIRRTL error propagate up the stack, as the only thing I could think of to do would be to re-word the error message to be more specific.  In the second case, I could see either an error being thrown or Chiffre just ignoring the 0-width signal and maybe producing a warning.

Thanks for the review.  I'll get to making these changes on Monday when I'm back in the office.

Add one test that checks that instrumentation of a ground type still works
This just occurred to me, but shouldn't there already be one or more tests to make sure ground types work, since that is supported without this PR?

Ground type instrumentation doesn't appear to be checked directly, only covered with some of the other tests. If you've got a good copy/paste test already for aggregates, it seems to make sense to use that to also test ground types, too.

After thinking about it a little more (and I know I already committed a patch for this), does it actually make sense to produce an error when attempting to instrument a 0-width register?  It seems to me that this could lead to frustration if someone tries to instrument a register whose width is inferred and later determined to be zero by some combination of parameters elsewhere in the design.  I think it might be better to produce a warning if a zero-width signal is encountered and then just skip it.

Yes and no.  I'm trying to write another transform that, like Chiffre, replaces registers with other hardware.  Unlike Chiffre, one of the things I'm trying to do with it is to apply it to all registers in a design, which may include zero-width ones.  I have been running into a problem where hiercat in toBits throws an exception (which is what was happening with Chiffre with the zero-element Vec in the test you write).
I've been digging a little deeper into this, though, and it looks like what I've encountered will apply to Chiffre as well, even with the current check for zero-width signals.  The test case you wrote creates a reg of type UInt<1>[0], whose width evaluates as zero and doesn't pass Chiffre's check.  But, this doesn't work if the type of the signal is a bundle that contains zero-width fields alongside nonzero-width ones.  For example, the width of {UInt<1>, UInt<1>[0]} is 1, not zero, and so Chiffre will happily try to process it.  When it gets to running toBits on it, toBits will throw a FIRRTLException because it doesn't like Vecs with zero elements.
I've been encountering this with my transform, but it applies to Chiffre as well.  So far all I've discovered is that the MIP CSR has one such field and that at some point in the compilation process this field gets removed.  Rather than writing my own toBits function (and likely fromBits as well), I'd prefer to just run whatever transform removes this field before flattening/unflattening the signal.  Do you have any idea as to what that might be?
The other option is to change Chiffre to operate on LoFIRRTL, but that will make operating on aggregate types much more painful.

I see your point. There are two approaches that I see for both Chiffre's transform and your transform:

Walk the aggregate recursively
Modify the transform to handle aggregates and non-aggregates

I think that the latter is the cleanest approach. That would redefine InjectorIo to operate on arbitrary T <: Data. This is totally reasonable, but it was just something that I never thought about. Working with the former approach would, for Chiffre, mean emitting one injector every ground type in the aggregate. this is doable, but it seems inelegant.
The fundamental difficulty is that this PR flattens an aggregate to a UInt and then instruments that. That seemed natural given what an abstract injector looks like. Nonetheless, it now seems better to operate on the underlying data and preserve it's semantic information if possible.
What do you think?

The latter is certainly the most preferable option, and is what I wanted to do with my transform originally.
In order to do that, you have to add a parameter to the injector of type T <: Data and then change the relevant I/O signals to be of that type so that Chisel can know what type it is, unless you can do Input(new T).  I don't think you can because of type erasure, though.  Essentially it would have to look like this:
sealed class InjectorIo[T <: Data](val t: T) extends Bundle {
  val scan = new ScanIo
  val in = Input(t)
  val out = Output(t)
}

And then you'd need to modify Injector, its subclasses, and possibly some other things to be able to operate on T <: Data rather than UInt.
This seems easy enough, except when you get to instantiating it in the FIRRTL transform, there's a problem of creating a Chisel Data type from a FIRRTL Type, which, as far as I can tell, doesn't have a built-in conversion.  Do you know if there's a way to do that?

I think that information is entirely lost. However, it can be communicated via the annotation. Perhaps passing adding a genData: Class[_ <: Data] to the FaultInstrumentationAnnotation?

Can you create a new instance of the class with just its 'Classvalue?  Alternately, the annotation could just contain an instance of the Chisel type of the signal.  SinceDataextendsInstanceId, we could just replace component: InstanceIdwithcomponent: Dataand then storecomponentinstead ofcomponent.toNamed`.  This may make testing a little more difficult, though.

It's janky, but via reflection (Java or Scala reflection). That's how the inline compilation is constructing the injector from an annotation. See: https://github.com/IBM/chiffre/blob/master/src/main/scala/chiffre/passes/FaultInstrumentation.scala#L137 and look at dutName and dut as the latter gets passed to the inlineCompile method.
Replacing component: InstanceId with component: Data would lose information about what component you want to instrument. An InstanceId gives you information about a specific component in a specific module in a specific circuit. Data has no such information. Naturally, you can store both, or a Class[_ <: Data] or maybe a raw type.

No, I don't mean the Class[_ <: Injector], I mean the Class[_ <: Data].  What do you do if it's a UInt, which has a width, or a Bundle, which has no parameters?
I've been playing around with this a little, and it looks like you can just take a T <: Data as a parameter into the annotation (along with the Named target required by SingleTargetAnnotation) and use that to instantiate the module.  The caveat is that you can't use "real hardware" (whatever that means), but you can get the type using chiselTypeOf.  I elected in my transform to do that in the annotation method rather than in the instantiated module's constructor.  This appears to work with my Scala testing, but I get problems with serialization when I try to build Rocket Chip.

Only trying to provide an analogy. Any class can be constructed via reflection. You just have to know which constructor to use or find the constructor you want.
Sounds like you're making progress. I'm onboard with the general idea.

At a high level, I think this is the best way to go, but the serialization thing is stumping me.  You probably already know this, but when you compile Rocket Chip, it creates a JSON file containing all the annotations for the circuit, which it deserializes when it runs FIRRTL.  The problem is that the serialization of the UInt type looks like this:
"tpe":{
  "width":{
    "value":3}
}

This doesn't match with the constructor json4s is trying to use, so it fails.  It looks like it's trying to construct a generic Data object with no constructor arguments, which makes me think that it might be possible to do this via type specialization, but I don't think that's possible with bundles.
I think the only way to do this will be to either rewrite toBits and fromBits or to recursively split out bundle types and instrument their grounded members individually.

It would need to use type hints for the json4s serialization to get that to work. That's a serialized sealed class UInt(width: Width, lit: Option[ULit] = None). It looks correct to me, but there's no information about what is is. Turning on json4s type hints will emit an additional field that helps it figure out what it is.
This is an ugly problem, though. Json4s doesn't support function serialization natively, and that's what you're trying to jam in here and it's a pain. You'd like to be able to pass () => Data into an annotation, but I wasn't able to figure out how to do that. Some preliminary discussion related to that here: https://github.com/freechipsproject/firrtl/issues/847

I'm not looking to serialize a function, just the Data type itself.  For example, the new FaultInjectionAnnotation header could look like this:
case class FaultInjectionAnnotation[T <: Data](target: ComponentName, tpe: T, id: String, injector: Class[_ <: Injector]) extends
    SingleTargetAnnotation[ComponentName] with FaultAnnos

This works fine until you serialize it.  If T is a UInt, as above, you get the serialization I showed you and json4s complains it can't find the right constructor.  Are you saying there is a way to tell it which contructor to use?

I think the confusion with the serialization is that you aren't serializing a type, you're serializing a UInt object. The T <: Data is making the FaultInjectionAnnotation polymorphic, but the tpe parameter is a concrete object. I don't know what it means to serialize a type other than to serialize a Class[_ <: Data]. You could serialize a type tag or a type symbol (or some other reflection construct), but that seems janky.
For your proposed InjectorIo, you want to, in my view, have a function that returns some Data and you give that to the InjectorIo constructor. If you're passing actual types around, however you would do that, you'll still need to have some way of converting that to an actual object.
If you use Java reflection, the getConstructors method will return an array of all the constructors. Scala reflection only appears to return one constructor, even if there are multiple (e.g., from default options). For most intents and purposes, you can just use the first constructor. You can see an example of using Scala reflection to construct a new instance here: https://docs.scala-lang.org/overviews/reflection/overview.html.

I see what you're saying.  I think the confusion is that, unlike a Scala type (which can be represented as an instance of Class[_]), Chisel types are concrete objects.  I'm trying to serialize the Chisel type of the signal, which contains information like width for a UInt or fields for a Bundle.  What you seem to be suggesting is that the annotation could store a Class[_ <: Data] and some other information about the Chisel type's parameters, and then use a generator to create a new instance of that type using Scala's reflection, which I guess will return the correct constructor for my arguments.  I can see how that might work for Bool, {U|S}Int, and even Vec, but I'm not sure how it could work for a Bundle.

Both can be represented as Class[_]. Chisel types are Scala types. No difference there. The problem is representing the parameters used to construct a new instance of some class. Hence, the underlying thing that you want to represent is a function for generating a new instance. It's a complete pain in the neck to do this generally as the parameters can be absolutely anything.
Maybe we can think about a simple solution. Special case Bool, U/SInt. For a Bundle, the constructor must take no parameters. Throw an error if the Bundle constructor doesn't match what's expected. We can think about a more general solution at some later point...

Thanks for the updates to this. LGTM.
A future PR that preserves the aggregate structure inside the injector and it's scan fields would be fantastic, but is clearly outside of the scope of this.
FYI, I'll usually squash and merge PRs unless there's a clear structure to the intermediary commits and they pass all tests. If you want me to deviate from that for future PRs, let me


Integrated Security with SQL Server from Unix Environment

We are using JDBC driver to configure River to fetch data from SQL Server. Can integrated security option be used from a non windows environment?

I don't know, I do not use SQL Server.
Maybe this can help:
https://blogs.msdn.microsoft.com/psssql/2015/01/09/jdbc-this-driver-is-not-configured-for-integrated-authentication/


be specific on the version of each installed tool during provisioning

This prevents for provisioning newest versions which eventually break the solution.

InfluxDB and Ansible do not keep older versions in their APT repositories yet. Both have already addressed the problem:
https://github.com/influxdata/influxdb/issues/5913
https://github.com/ansible/ansible/issues/23143
Once solved, this issue will be reopened.

Ansible can also be installed through PIP, the Python package manager. All the available versions in the PIP repository can be checked out in https://pypi.python.org/pypi/ansible.

Ansible is solved.
The issue will be reopened as soon as InfluxDB is able to be solved as well.


Fix: filename not visible on upload tab #518

Q
A

Bug fix?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
fixes #518

What's in this Pull Request?
Fixes #518, it will show the file name if the preview is not available for file formats which are not images.

Thank you @gautamdsheth for the fix!
I did some additional changes and merged the PR!
It will be available in the next release.


DOI Integration

Leaning towards having a DOI for a work not for each version of the work. If you would like to have a version to be attached, you can, but it is not the default (to have a version for each work).

We will initially code up the work that needs to be done to talk to the DOI service and mint the identifier. We will assign the DOI to the work and hold off on the versions.

We could improve existing synchronization between ScholarSphere and Datacite. If we update a title in ScholarSphere, then we should update the title in Datacite for example. We are going to want to integrate the workflow of ScholarSphere and drafting and publishing works and how that integrates with the Datacite work state. This part may be the second portion of ticket after getting scaffolding up and running to make sure the integration is there.

TODO

draft vs. published DOIs
migrating between the two

events: ['publish', 'register', 'hide']

    publish - Triggers a state move from draft or registered to findable
    register - Triggers a state move from draft to registered
    hide - Triggers a state move from findable to registered```

published are the only findable types i believe. which begs the question, what are the differences between `registered` and `draft`

Draft DOI can be deleted, doesn't need a valid URL or valid metadata. It's basically a reservation, that can be promoted to published. A draft DOI is not indexed and searchable. To promote from draft to registered it will require a certain amount of metadata. You can hide a DOI or a DOI that is registered only, can be deleted.
DOI State Documentation:  https://support.datacite.org/docs/doi-states
We are only going to add DOIs when a user is explicitly requesting for a DOI. The draft status use case is a researcher creates a DOI for a data set on a paper that is submitted for publication. If the paper is published then promote the DOI to a published DOI, if the paper is not published the user may come back and delete the DOI.


Bump Spotless to allow building in Java 21

see https://github.com/diffplug/spotless/issues/1819
Fixes #274
May also fix  #136

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


Support jsx automatic runtime

React 17 will be adding jsx automatic runtime. It's now available in the latest release candidate.
More info here.
Can vite support this? i.e. react/jsx-runtime and react/jsx-dev-runtime
Thanks!

not yet. jsx in react use esbuild default that React.createElement。maybe  add it to the configuration later。
const JsxPresets: Record<
  string,
  Pick<TransformOptions, 'jsxFactory' | 'jsxFragment'>
> = {
  vue: { jsxFactory: 'jsx', jsxFragment: 'Fragment' },
  preact: { jsxFactory: 'h', jsxFragment: 'Fragment' },
  react: {} // use esbuild default
}

This will have to depend on esbuild itself.

esbuild has stated they are not directly supporting it.

I think it'd be best to wait until this comment gets an answer.
If it's a no, then we could probably try appending the imports ourselves, not sure about identifier conflicts though.

https://vitejs.dev/guide/features.html#jsx

https://vitejs.dev/guide/features.html#jsx

@yyx990803 New update on this: https://github.com/evanw/esbuild/issues/334#issuecomment-760427837
esbuild won't support this OOTB, so Vite needs to maintain an esbuild plugin.

@yyx990803 New update on this: https://github.com/evanw/esbuild/issues/334#issuecomment-760427837
esbuild won't support this OOTB, so Vite needs to maintain an esbuild plugin.

That plugin is only for bundling with esbuild. Vite only uses esbuild to transpile J/TSX, not for bundling. So if esbuild is not going to natively support React 17 jsx transforms, people who want React 17 transform in Vite will need to disable esbuild in Vite and use a separate Vite plugin to transpile JSX files, similar to @vitejs/plugin-vue-jsx.
Alternatively, use esbuild.jsxInject option (https://vitejs.dev/config/#esbuild) for now, since React 17 still supports the old transform, most people are just looking to avoid having to manually import React for JSX.

That plugin is only for bundling with esbuild. Vite only uses esbuild to transpile J/TSX, not for bundling. So if esbuild is not going to natively support React 17 jsx transforms, people who want React 17 transform in Vite will need to disable esbuild in Vite and use a separate Vite plugin to transpile JSX files, similar to @vitejs/plugin-vue-jsx.
Alternatively, use esbuild.jsxInject option (https://vitejs.dev/config/#esbuild) for now, since React 17 still supports the old transform, most people are just looking to avoid having to manually import React for JSX.

I've published v1 of vite-react-jsx which solves this issue.
:star: https://github.com/alloc/vite-react-jsx


Using a custom text array type in postgres results in the migration generator to always include alter statements

Hey folks!
At first: Thanks for this awesome library! I really like the developer experience and the code base is one of the cleanest in TS I've seen so far. 🎉
Describe the bug
Adding a custom type, in my case a StringArrayType which is basically the solution provided here, results in the migration creation to generate the "dirty" migration file. My type looks like this:
import { Type } from 'mikro-orm';

/**
 * This type used until version 4 of mikro orm is released as it supports array types natively
 */
class StringArrayType extends Type {
  convertToDatabaseValue(javascriptValue?: string[]) {
    const stringValues = javascriptValue?.map(value => JSON.stringify(value)).join(',');
    return `{${stringValues}}`;
  }
  toJSON(javascriptValue: string[]) {
    return JSON.stringify(javascriptValue);
  }
  convertToJSValue(databaseValue: string) {
    return databaseValue;
  }
  getColumnType(){
    return 'text[]';
  }
}

export default StringArrayType;

I found out, that the database returns a udt_name of _text which does neither match the provided type from getColumnType nor the types provided in the PostgreSqlSchemaHelper.TYPES. Adding      textArray: ['_text', 'text[]'], to the TYPES object resolves the issue for me. If this solution is viable for mikro-orm I'm happy to provide a pull request - However, I think this is not the best solution.
To Reproduce
Steps to reproduce the behavior:

Add the custom type specified above as a type on an entity
Create an migration with yarn mikro-orm migration:create
Migrate the database with yarn mikro-orm migration:up
Create another migration with yarn mikro-orm migration:create

Observed behavior
The migration contains something like the following:
    this.addSql('alter table "events" drop constraint if exists "events_genres_check";');
    this.addSql('alter table "events" alter column "genres" type text[] using ("genres"::text[]);');

Even if you keep this, run the migration and create another one, a similar file is always created.
Expected behavior
The created migration should be empty as no changes have happend.
Versions

Dependency
Version

node
v14.4.0

typescript
3.9.6

mikro-orm
3.6.15

pg
8.3.0

I just had a look at you solution for version 4. The problem is solved as follows: https://github.com/mikro-orm/mikro-orm/pull/559/files#diff-71ca1e86f35878d6b6b39e1b45e91a84R77
So my issue will probably be resolved with version 4. How is the current estimation for the release? Is there anything I can do to help?

Ok, so closing this as resolved in v4 (I am not planning to ship more v3 releases).

How is the current estimation for the release?

Will be merging it during the weekend and releasing RC. Then probably week or two to adjust docs and write a release article, but in general its ready.

Is there anything I can do to help?

Migrate to v4 and test it :] I am using the latest alpha in my production app, working fine for me, so I'd say nothing to be afraid of, especially if you have your app covered with tests.


GH-37413:  [Java] ZSTD compression issue

Rationale for this change
This PR fixes https://github.com/apache/arrow/issues/37413
What changes are included in this PR?
A minor change for a function parameter which fixes the available space in the destination buffer.
Are these changes tested?
No
Are there any user-facing changes?
No

Closes: #37413

I assume you can come up with some data that is incompressible, which would overflow the buffer in the old code, and that should cause an exception when writerIndex is set, or else it would have caused a compress-decompress roundtrip to fail
@shujiewu did you observe an exception in your code? Or just silently corrupted data?

@lidavidm There was no error reported when writing compressed data, but an error occurred while decompressing the data. The error message is "ZSTD compression failed: Destination buffer is too small". This may not be easy to reproduce and only occurs on specific data.

@vibhatha it sounds like we can reproduce this via a roundtrip test then. Thanks @shujiewu!

@lidavidm I will evaluate this. Thank you.

The error message is "ZSTD compression failed: Destination buffer is too small".

I don't understand how this can occur, since we're passing a buffer size that's larger than the value returned by CompressBound.

For the record, the change in this PR is correct, but it's unclear to me why it would fix the mentioned compression error.

@lidavidm I did a few tests, by generating randomized data as follows;
private static void writeRandomIntData(IntVector vector, int valueCount) {
    Random random = new Random();
    for (int i = 0; i < valueCount; i++) {
      vector.setSafe(i, random.nextInt());
    }
    vector.setValueCount(valueCount);
  }

Used a function like this, assuming randomized data would be hard to compress. And I didn't get the expected exception. Also having a very smaller dataset could also make it hard to compress with (less history, specially with Zstd), and it didn't work as well.
I might be wrong with my conclusion or something could be erroneous in my test data, appreciate your feedback here.

Hmm, true. @shujiewu do you have a stack trace?

Sorry, it's a mistake, the error message is "ZSTD decompression failed: Destination buffer is too small". We used the Java library for data compression and then the C++ library for decompression.

Most cases work well, only special data throws exceptions when decompressed, the code location is
https://github.com/apache/arrow/blob/main/cpp/src/arrow/util/compression_zstd.cc#L194

Ah, thanks for the clarification!
@vibhatha you should print out the buffer lengths in the problematic function and confirm that the overflow is actually happening.

@lidavidm would it be worth while if we test with the mentioned specific data? Also we should do the test by compressing with Java and decompress with C++ and evaluate this?

I think decompressing in java might throw an exception as well. I have some data that may throw an exception, but sensitive

If you're not able to share the data with us, then I would suggest that you try diagnosing it yourself. Start with printing out the various sizes on the compression front (in Java), then print those values when decompressing (in C++). If you notice any discrepancy, then this might lead you to the underlying cause.

Closing this PR since required data is not available to replicate the error.


.acr command variables.

Hello guys, just wondered if there were any way to adjust the .acr command to respond to people who say something including a certain phrase - example below:
If someone were to use .acr as

.acr "hello" hello

it would produce the response from Nadeko if users were to type only 'hello' rather than 'hello world' as an example.  Is there a way to make it so that I wanted to raise a response from Nadeko if 'hello' was used within a phrase (such as 'hello world' AND 'hello %user%') or would I have to construct a .acr response for each possible phrase?
If not, are there any plans on adding the ability to add a wildcard variable that would allow the above examples to take place?
Hope this makes sense!

.crca makes the custom reaction called anywhere in a sentence. Use .lcr to get the I'd, then .crca id


March Update for GAAD Pledge initiative by Facebook

Description
This post is to boost the community's progress towards improved React Native Accessibility in the month of March.

I have synced your branch with master, so the updated checks will be used in CI. 🙂


add finch-todo-backend to related projects

Codecov Report

Merging #1110 into master will decrease coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1110     +/-   ##
=========================================
- Coverage   80.35%   80.25%   -0.1%
=========================================
  Files          54       54
  Lines        1028     1028
  Branches       47       47
=========================================
- Hits          826      825      -1
- Misses        202      203      +1

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/Endpoint.scala
72.57% <0%> (-0.58%)
:arrow_down:

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 eff9b3a...a07cf0b. Read the comment docs.

Thanks @ilya-murzinov! This looks good to me!


Unable to attach IDA Pro to Visual Studio

I put ptvsd_enable.py in the IDA plugins directory and, it opens without error. But when I want to attach IDA Pro to Visual Studio I get an error with this sentence "Unable to attach to the process. General Exception". Both process are running with administrator privilege.

How I should solve this problem?

Same problem here. Any solution?

Same problem here. Any solution?

Same. ptvsd version 4.3.2, IDA (64-bit) 7.6. Attaching to the IDA process hangs for about 10 seconds, and then produces the same message box from the screenshot above.

Sorry for the very delayed response everyone...
So it seems that https://github.com/Microsoft/ptvsd has been deprecated in favor of https://github.com/microsoft/debugpy/
Trying to call debugpy.listen(5678) from IDA shows an error message. I did not have the time to dig into that yet.

I wound up using IDACode through VSCode. It took me a few hours to get it working. After enabling logging, I found an issue with the code, which I solved with a one-line patch here.
Here are the steps I used:

Install Visual Studio Code, and the official Python language extension for it.
Install the IDACode VSCode extension.
pip install debugpy tornado
After editing settings.py, and also applying the two one-line patches from above, copy the IDACode Python files to your %IDA%\plugins directory.
In VSCode, open the directory with the file you want to debug, and open the file itself.
Run IDA, open a database, and invoke IDACode through the Edit->Plugins menu.
In VSCode, CTRL-SHIFT-P to bring up the command palette. Use IDACode: Connect and attach a debugger to IDA.
After it connects, VSCode will prompt you for the script working directory, which defaults to the directory you opened. You can just press ENTER.
To execute the script that you currently have open, use the IDACode: Execute script command.
You can set breakpoints through the VSCode window, and you can also programmatically insert them into your code via the breakpoint() function.

Sorry for the very delayed response everyone...
So it seems that Microsoft/ptvsd has been deprecated in favor of microsoft/debugpy
Trying to call debugpy.listen(5678) from IDA shows an error message. I did not have the time to dig into that yet.

Use the legacy debugger
Visual Studio 2017 versions 15.8 and later use a debugger based on ptvsd version 4.1+. Visual Studio 2019 versions 16.5 and later use a debugger based on debugpy.
refs : https://docs.microsoft.com/en-us/visualstudio/python/debugging-python-in-visual-studio?view=vs-2017
Use the legacy debugger not work for me. And no need to call debugpy.listen(5678) explicitly.
Otherwise ensure debugpy.listen(...) can only be called once in the initial process. It seems that ida call once more...
refs: https://github.com/microsoft/debugpy/issues/325#issuecomment-761109518


OB-34960 Decorate k8s Node facets with custom processors

Add "Status" and "Roles" facets
Rework the testing a bit to allow using jmespath to query specific fields of interest instead of manually creating json-like objects in go to exactly match the output.
Description
This PR adds the "Roles" and "Status" facets to Node.
Since "Roles" is an array, I had to change the interface of the existing ValueFn() to return any instead of string, so that we can return maps and arrays, too.
The current testing process is a bit cumbersome and doesn't scale well, since we are making a single pcommon.Logs containing all testing input logs, and then we have to maintain a parallel slice of "desired outputs", correlating inLogs[i] with outResults[i]. Since the correlation is always 1:1, I figured I could change this to:
each testcase contains a single pcommon.Logs, which contains only ONE Log. And each testcase also contains whatever verification(s) we want for the processed output of such log. Then we simply iterate over the testcases.
I also got rid of all manually-created map[string]interface{} json-like madness and used jmespath, which allows for simpler and more powerful queries, so that we can selectively test what we need from the processed Logs!
Given that we don't do correlation between logs, I figured that the assumption of always having a single log both as input and as output of the processor is enough for what we are doing here.
Checklist

[ ] Created tests which fail without the change (if possible) --> not possible, this is modular
[ ] Extended the README / documentation, if necessary

I pushed a 2nd commit because I didn't know it would fall into the same PR, I thought it was gonna work the same as gerrit. If that's ok for you, we can leave it as-is and merge both together (it kinda makes sense as the second commit depends on the refactorings I made in the first one).


pipenv run --no-interactive suppresses stdout

pipenv run --no-interactive -- python -c 'print("hi")' doesn't print to stdout. Is this expected?
I'm not familar with no interactive mode.

--no-interactive was removed at https://github.com/kennethreitz/pipenv/pull/320 .
What if updating pipenv ( pip install -U pipenv )?

@mrlamroger, @nonylene is correct. --no-interactive is no longer a supported option in the latest versions of pipenv. The point of --no-interactive was to suppress output to devices that didn't have or properly support a TTY. The behaviour you're experiencing is to be expected.
Please let us know if you have any further questions. Thanks!


Propose secure chaincode execution for Fabric

Signed-off-by: Marcus Brandenburger<EMAIL_ADDRESS>

LGTM
Could there be some overlap with project (proposals) like https://github.com/hyperledger-labs/hyperledger-labs.github.io/pull/13 ?

@trbs That's what I was wondering in my comment yesterday on #13. However, it is said to be a complete platform while this is specific to Fabric and only touches on the execution of the chaincode. So, while they fall in the same space I think they are significantly different and I'm not sure there is going to be much overlap.
It's worth having the two labs know about each other though.
LGTM

@trbs I agree with Arnaud, our project focuses on enabling secure chaincode execution for Fabric using Intel SGX. We presented our work at the last Hackfest in Amsterdam and got many positive response already from the community.

Added a single comment to the proposal to address before we move forward and create this lab.

@tkuhrt Typos fixed and list of Initial Committers completed. Thank you

New lab created: https://github.com/hyperledger-labs/fabric-secure-chaincode


Webpack compatibility

I'm migrating an app from bower to webpack, and I'm struggling on this lib.
I know it is no more maintained, and I have already checked the existing issue (especially the #104), but I'm trying the proposed solution, it doesn't work.
I'm opening this issue in order to build, with your help if you'd like, a working config that anyone coming with Webpack can use.
As of now, I have installed the imports-loader and added it to my webpack config
Disclaimer: I'm migrating a Rails application, so I'm using the Webpacker gem to do so, which explain the files architecture.
Here is my config/webpack/environment.js file :
const path = require('path')
const webpack = require('webpack')

const { environment } = require('@rails/webpacker')

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  moment: 'moment',
  ...
}))

environment.loaders.append('ng-img-crop-full-extended', {
  test: require.resolve('ng-img-crop-full-extended'),
  use: 'imports-loader?define=>false,exports=>false'
})

environment.loaders.append('js', { test: /\.js$/,
  exclude: /node_modules/,
  use: [
    {
      // Auto require AngularJS 1.x templates in Webpack style
      // (See https://github.com/YashdalfTheGray/auto-ngtemplate-loader)
      loader: 'auto-ngtemplate-loader'
    },
    {
      // Require a whole directory of trees in bulk (I.e: `//@require ...`)
      // (See https://github.com/shanhaichik/webpack-require-loader)
      loader: 'required-loader',
      options: {
        import: ['angular']
      }
    }
  ]
})

environment.loaders.append('html', { test: /\.html$/,
  exclude: /node_modules/,
  use: [
    {
      // Include AngularJS templates in the Webpack bundle and preload the template cache.
      // (See https://github.com/WearyMonkey/ngtemplate-loader)
      loader: 'ngtemplate-loader',
      options: {
        relativeTo: 'javascript/'
      }
    },
    {
      loader: 'html-loader'
    }
  ]
})

environment.loaders.append('img', {
  test: /\.(jpe?g|png|gif|svg|ico)$/i,
  use: ['file-loader']
})

module.exports = environment

The webpack compilation is working fine, but in my app when I'm using the crop (which looks like working on the page), I have the following error in my console :
ReferenceError: ColorThief is not defined
    at Object.getDominantColor (ng-img-crop.js:3058)
    at updateResultImage (ng-img-crop.js:3273)
    at ng-img-crop.js:3385
    at ng-img-crop.js:3318
    at Scope.$eval (angular.js:18134)
    at Scope.$apply (angular.js:18238)
    at ng-img-crop.js:3317
    at angular.js:20097
    at completeOutstandingRequest (angular.js:6066)
    at angular.js:6350

Looking a bit further in the source code of this library, I saw that to get the module exported with module.exports I need to have define to false and exports === 'object' so I'm then trying to change the params like the following :
environment.loaders.append('ng-img-crop-full-extended', {
  test: require.resolve('ng-img-crop-full-extended'),
  use: 'imports-loader?define=>false,exports=>"object"'
})

But still the same 😞 (and I'm restarting webpack each time).
Can you please guide me own order to get it working please ?
Thank you !

I don't have experience with webpack on the level to help you with this :(

Thank you @CrackerakiUA for your comment.
@ybian you seem to had a working webpack import. I tried your solution but didn't work for me. Do you have a working Webpack 4 way please?

@CrackerakiUA what are you using instead of Webpack?

In fact currently I am using Webpack with use of Angular 7, I am not longer working with Angular 1. When I was using Angular 1, I was simply working with it without Webpack

Well I'm using Webpack 4 as described in my issue so can you please help me ? :)

I have like 0 experience with it, Angular 7 all config for that

I see, thank you.


chore(protocol): solhint 3.4.0 releasdd which supports solidity 0.8.18 features

Maybe we also need to fix all those newly reported lint-errors, especially no-global-import errors.


Issue with "Cortex XSOAR Concepts" in @site/docs/concepts/concepts.md

Describe the problem
Under Commands-external commands, there is a word, "repuration".  I think you mean reputation

Page: Cortex XSOAR Concepts
Source: https://github.com/demisto/content-docs/tree/master/docs/concepts/concepts.md

Screenshots

Environment

OS: [e.g. Windows]
Browser: [e.g. chrome, safari, firefox..]
Browser Version:

Suggested fix

Thanks, this has been fixed!


⚠ Bofrost.be has degraded performance

In 9adaede, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 943 ms

Resolved: Bofrost.be performance has improved in 68d0e58.


Update VS15.7 default Razor to be 2.1

Talked with @DamianEdwards and we should be falling forward. In vs15.7 case, default to 2.1

Load balancing this

done?

d1bf120c5482eb3e983ef50ecdcbe2520a772d47


Azure AD -> Entra rebranding

Hello @ckittel
Did you test the terraform deployment with the updates, or should I test it ?

I did not test, it was just a find and replace action.  Please test as you see fit.

This is the last repo in this org that need to have the rebranding PR merged.  Do you have an update on this @xpouyat?

Hi, @ckittel, sorry I did not have time yet to redeploy Gridwich and in order to test your changes. This will require several hours of work. If this is urgent, I can accept the PR without testing...

You're one of the few repos left on the tracking list. Urgent no, but with less repos on the list, you'll be standing out more in the dwindling crowd. We are targeting to have all repos resolved by the end of this month.

I started testing the terraform deployment. Added a couple of commits to your PR. Still working on it as testing is not successful yet.

Terraform deployment was successful


Add CAPTCHA support

As discussed, a CAPTCHA is a requirement for an imageboard of moderate scale.
https://github.com/mojocn/base64Captcha

CAPTCHA support has been added. I still need to add the ability for it to keep your answer for the given amount of time in the configuration, and JavaScript support, but this should work good for now.


Unable to see webhook’s Issuer and Certificate resources

Bugs should be filed for issues encountered whilst operating cert-manager.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors.
Please provide as much detail as possible.

Describe the bug:
Unable to see webhook issuer and certificate resources after following the installation steps of cert-manager as described in this link
Expected behavior:
The expectation is when I execute
kubectl get issuer,certificate --namespace cert-manager

I should see the following output
NAME                                                      AGE
issuer.certmanager.k8s.io/cert-manager-webhook-ca         22d
issuer.certmanager.k8s.io/cert-manager-webhook-selfsign   22d

NAME                                                              READY   SECRET                             AGE
certificate.certmanager.k8s.io/cert-manager-webhook-ca            True    cert-manager-webhook-ca            22d
certificate.certmanager.k8s.io/cert-manager-webhook-webhook-tls   True    cert-manager-webhook-webhook-tls   22d

What I get after executing the command
No resources found

I followed the troubleshooting instructions mentioned here and other than the certificates and issuers all the other custom resources, as well as pods, are present
Steps to reproduce the bug:
Follow the installation instructions for cert-manager using helm helm install cert-manager
Environment details::

Kubernetes version -> 1.15.4
Cloud-provider/provisioner -> aws
Install method -> helm

/kind bug

I have the same results, installing from manifest (and not Helm) with kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.10.0/cert-manager.yaml, following the guide here: https://docs.cert-manager.io/en/latest/getting-started/install/kubernetes.html
This might be an issue with a failed cert-manager deployment which had previously occured.
I tried locating documentation about blowing out all old cert-manager resources and starting anew, but I wasn't able to find any. kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v0.10.0/cert-manager.yaml may be sufficient, but that didn't seem to resolve the issue in the OP.
Environment details:
Kubernetes version -> v1.14.6
Cloud-provider/provisioner -> RKE
Install method -> manifest yaml file

The documentation is a bit messy and at some points it is quite confusing, as is the case.
To verify if cert-manager is deployed correctly it's enough to see if the pods are ok. At this point you have not yet created any Issuer or Certificate. This will be done in the following steps.

@mcanaves  - Does a "cleanup" procedure exist for older failed deploys? I'm almost certain that I have (broken) object artifacts from attempting to fix this.

@mcanaves : setting up issuers and certificates work as described in the documentation. However the webhook issuers are certificates are created as part of helm installation , atleast that is what is implied as part of the documentation.
I have one more question , if I create a cluster issuer from a secret , I expected that the tls.crt file would be automatically mounted in /etc/ssl/certs folder of all the pods since it is expected that the particular issuer is trusted by all pods. However that did not happen , I had to explicitly mount the crt file in usr/share/ca-certificates and run update-ca-certificates.
@junkiebev  : cleanup is quiet a challenge ,for me the namespace deletion of cert-manager got stuck at terminating phase. I had to explicitly delete all the crds and then finally i was able to delete the namespace

So this has actually changed in v0.10, and our documentation needs updating in the getting started guide to reflect this.
We no longer create an Issuer or Certificate resource for the webhook, and instead the 'webhookbootstrap' controller directly provisions the certificates into Secret resources.
We should get this updated to save confusion here! 😬

/kind documentation
/area deploy
/milestone v0.10

This has been fixed 😄


Introduce FLAGS & DESTDIR variables

This PR contains the following changes

Introduce FLAGS and DESTDIR variables: This will allow other flags required for compiling on other targets be possible.
Properly take care of installing after building: install is given the proper arguments for installation to take place

In short, the Makefile is now the main way to correctly build and install the project on any adequate environment.

This looks great! Thank you so much for your PR @TheRealKeto!

In short, the Makefile is now the main way to correctly build and install the project on any adequate environment.
Do you mind updating README.md in this PR as well please?

Sorry for taking too long on the requested changes; I've updated the instructions within the README. Let me know if you're satisfied with them :)

@TheRealKeto no worries, this is great! Thanks a lot for contributing 🙏


[viomem][https://issues.redhat.com/browse/RHEL-31880] Optimized STATE request processing.

PR created after applying changes after code review:

removed the old definition of the function, which was kept in the source
file surrounded with #if #else #end)
added a sanity check to limit the number of blocks that can be processed
(member virtio_mem_req_state::nb_blocks is a type of DWORD, so the limit is
up to 65535 blocks); if the number of blocks is greater than 65535, the function fails)

Waiting for CI to merge


Improvement of the profile card for better usability

I would like to work on this issue, please provide some description.


Fix eslint fix_all sync condition

The condition to check if eslint's fix_all should trigger a sync request or not looks a bit iffy.

I can confirm, calling EslintFixAll through a BufPreWrite autocmd does not work as expected at the moment.
The expected behavior is to have the fixes to be applied before the save, but since it's currently running asynchronously, the fixes happen after the save.

I can confirm, calling EslintFixAll through a BufPreWrite autocmd does not work as expected at the moment.
The expected behavior is to have the fixes to be applied before the save, but since it's currently running asynchronously, the fixes happen after the save.

And does this PR help with that? Testing it and confirming whether it fixes your issue (or not) is the most helpful thing you can add here.

Yes, it does solve the problem.

Good to hear that! Needs a rebase, though...

I rebased in https://github.com/neovim/nvim-lspconfig/pull/1492


Global timeout?

Is there a way to set a global timeout? Googling/stackoverflow resulted in hacky patches. I was wondering if this is a feature now?

It is not.


[iOS] Push Notification not showing in background/quit state

Describe the bug
I think i configured well the sdk.
I turned the entitlements to production, I set the .p12 in the zendesk admin center platform. What I am doing wrong? I am testing it in the production environment of the app.
Thanks for your help.
Expected behavior
Showing push notifications in background/quit states when I receive a message from the chat In App.
AppDelegate.h
#import <RCTAppDelegate.h>
#import <UIKit/UIKit.h>
#import <UserNotifications/UserNotifications.h>
@interface AppDelegate : RCTAppDelegate <UIApplicationDelegate, RCTBridgeDelegate, UNUserNotificationCenterDelegate>
@end

AppDeletage.m
#import <Firebase.h>

#import <React/RCTBundleURLProvider.h>
#import "RNSplashScreen.h"
#import <CodePush/CodePush.h>
#import <UserNotifications/UserNotifications.h>
#import <ZendeskNativeModule.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FIRApp configure];

  bool didFinish=[super application:application didFinishLaunchingWithOptions:launchOptions];

  [RNSplashScreen show];

  [self registerForPushNotifications];

  return didFinish;

}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  [ZendeskNativeModule updatePushNotificationToken:deviceToken];
}

// (1. Show push notifications)
// ZendeskNativeModule.showNotification
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
        willPresentNotification:(UNNotification *)notification
        withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {

  id userInfo = notification.request.content.userInfo;
  BOOL isHandled = [ZendeskNativeModule showNotification:userInfo completionHandler:completionHandler];

  if (isHandled) return;

  // other handing code here

  // If not handled, you should call the `completionHandler` before end of `userNotificationCenter` method
  completionHandler(UNNotificationPresentationOptionNone);
}

// (2. Handle tap notifications)
// ZendeskNativeModule.handleNotification
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
        didReceiveNotificationResponse:(UNNotificationResponse *)response
        withCompletionHandler:(void (^)(void))completionHandler {

  id userInfo = response.notification.request.content.userInfo;

  BOOL isHandled = [ZendeskNativeModule handleNotification:userInfo completionHandler:completionHandler];

  if (isHandled) return;

  // other handing code here

  // If not handled, you should call the `completionHandler` before end of `userNotificationCenter` method
  completionHandler();
}

- (void)registerForPushNotifications {
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
      center.delegate = self;
      [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge)
         completionHandler:^(BOOL allowed, NSError * _Nullable error) {
        if (allowed) {
          dispatch_async(dispatch_get_main_queue(), ^{
              [[UIApplication sharedApplication] registerForRemoteNotifications];
          });
        }
    }];
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
  #if DEBUG
    return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
  #else
    return [CodePush bundleURL];

  #endif
}

@end

Environment (please complete the following information):

iOS
React Native Version 0.72.4
react-native-zendesk-messaging Version 0.2.1

I have the same problem. It works on Android, but on iOS I do not receive any push notification from Zendesk

I have the same problem. It works on Android, but on iOS I do not receive any push notification from Zendesk

Can I ask you if you have tested in testflight?


start-tc-server.sh fails if the path contains spaces

start-tc-server.sh script needs to handle space characters in the script path.
The script may or may not fail depending on the current directory the user is in because of the semantics of $0 and these lines:
THIS_DIR=dirname $0
TC_SERVER_DIR=cd $THIS_DIR;pwd/..
To consistently reproduce the problem, execute the script using the absolute path.

The issue may be assigned to me as I have fixed the problem already.


Add Buttons and Select Menus

It would be nice if you can add the new discord interactions to the help command, such as buttons to navigate, and select menus to choose from categories.

Yes, this is something I'd like to do if/when these actions are supported by discord.py.


AttributeError: module 'jax.random' has no attribute 'KeyArray'

Hello.
When running google colab notebook this error is raised on the line from diffusers import DiffusionPipeline, EulerAncestralDiscreteScheduler
The issue is that jax library needs to be downgraded to 0.4.23, so adding the following into the first cell resolves the error
jax==0.4.23 jaxlib==0.4.23

stackoverflow
Should the requirements.txt be patched? I can create an MR.

Thank you for your report! Could you specify a little bit more -- are you using jax for inference or you are using torch but importing diffusers causes a problem?

The second scenario, as it is in colab.


Make tests resilient to localization

Some exception messages were being tested against static strings, meaning tests would fail when run on a different language. They should now work on any language.

Self-assigning. This looks like fun :smiley_cat:

:watch:

:up: :date:

:shipit: after fixing whichever of the minor comments you choose. Please do remove the remaining Mono issue comments in the files you changed.

Waiting for tests to pass since we re-instated a bunch of tests on Linux.


Add Unix domain socket support

Motivation:
In service mesh environment, it's quite common for a sidecar to
communicate with an app using a Unix domain socket. Armeria could be
used more efficiently than using TCP/IP in such a scenarios with
domain socket support.
Modifications:

Updated the various places to support domain sockets, as listed
below
Common changes:

Added DomainSocketAddress

DomainSocketAddress is a subtype of InetSocketAddress for
backward compatibility with the existing API that returns
InetSocketAddress rather than SocketAddress.

(Breaking) Changed the return type of RequestContext.localAddress()
and remoteAddress() from SocketAddress and InetSocketAddress
because DomainSocketAddress is now an InetSocketAddress.
(Breaking) The parameter type of the following methods has been
changed from SocketAddress to InetSocketAddress:

ClientRequestContextBuilder.localAddress()
ClientRequestContextBuilder.remoteAddress()
ServiceRequestContextBuilder.localAddress()
ClientRequestContextBuilder.remoteAddress()

Added various getters to TransportType and TransportTypeProvider
so it provides the transport-specific information about domain socket
classes and whether the transport supports domain sockets
Added ChannelUtil.localAddress() and remoteAddress() and replace
the direct invocation of Channel.localAddress() and
remoteAddress() to convert Netty's DomainSocketAddress into ours.

Updated Netty to 4.1.92 that contains the fix for the problem where
DomainSocketChannel returns null addresses.

Added ChannelUtil.isTcpOption() to determine whether the given
ChannelOption is for TCP or not, so that a user doesn't get a WARN
log when they use domain sockets

Server-side changes:

Added ServerPort.isDomainSocket()
Updated Server and HttpServerHandler to support domain sockets.
Made ServerRule and ServerExtension not instantiate their default
WebClients lazily, so that a user can start a serer that listens
only on a domain socket

Client-side changes:

Added domain socket address support to Endpoint:

Made Endpoint accept a domain socket address in its host field
Added Endpoint.of(SocketAddress) so that a user can easily create
an Endpoint from an InetSocketAddress or a DomainSocketAddress
Added Endpoint.isDomainSocket()

Updated HttpClientFactory, HttpChannelPool, HttpClientDelegate,
HttpClientPipelineConfigurator and SessionProtocolNegotiationCache
to support domain sockets

Result:

Armeria is now capable of serving/sending requests from/to a Unix domain
socket, making it more service-mesh-friendly.
(Breaking) Changed the return type of RequestContext.localAddress()
and remoteAddress() from SocketAddress and InetSocketAddress
because DomainSocketAddress is now an InetSocketAddress.
(Breaking) The parameter type of the following methods has been
changed from SocketAddress to InetSocketAddress:

ClientRequestContextBuilder.localAddress()
ClientRequestContextBuilder.remoteAddress()
ServiceRequestContextBuilder.localAddress()
ClientRequestContextBuilder.remoteAddress()

The memory leak is very likely from DomainSocketServerTest which I forgot to release the received buffers.

@ikhoon @jrhee17 @minwoox I made an additional non-trivial change to this PR in response to this comment: 73f5d22bcf8b9d1fdd50de7e3ab15b02ca6d5be3

The blockhound error seems irrelevant to this PR.

I relaxed the validation logic in Endpoint so it doesn't throw an exception when a user tries to set IP address or port number on a domain socket endpoint. Please check 3f5bc3e5626e32e1f6c01e32e03adb798825af61

Let me also make a domain socket endpoint always has the predefined IP address (IPv6 discard address) and port number (1) for the consistency with DomainSocketAddress.

I see the following test failures on my Mac

This should fix them: https://github.com/line/armeria/pull/4903

I also see some flaky tests, which may or may not be related to this PR:

HttpServerKeepAliveHandlerTest
PortUnificationServerTest
ServerMaxConnectionAgeTest

Addressed all comments :laughing:

Thanks for reviewing this large PR, folks! :bow:


Test/update mead configs

[x] ag-news-lstm
[x] ag-news-single-lstm
[x] ag-news
[ ] conll-bert
[x] conll-cnn
[x] conll-elmo-hub
[ ] conll-elmo
[x] conll-no-crf
[x] conll-single-tf
[x] conll-single
[x] conll-stacked
[x] conll-transformer
[x] conll
[x] dbpedia
[x] iwslt15-en-vi
[x] iwslt15-en-vi-transformer
[x] mrda
[x] mrda-hier
[x] ontonotes
[x] ptb-convchar
[ ] ptb-kim-adam
[x] ptb-med
[x] ptb-small-tf
[ ] ptb-transformer-chars (broken!)
[x] ptb-transformer
[x] reverse-transformer
[x] reverse
[x] snips-intent
[ ] snips (broken!)
[x] sst2-bert-base-uncased
[x] sst2-bert-finetune-pytorch (rename?)
[x] sst2-bert-hub
[x] sst2-bert-pytorch
[x] sst2-demolib
[x] sst2-distributed
[x] sst2-elmo-eh
[x] sst2-elmo-hub
[x] sst2-elmo-large (requires a PR to hub, but working locally)
[x] sst2-elmo
[x] sst2-fine-tune-bert (rename?)
[x] sst2-lstm-840b
[x] sst2-lstm-char
[x] sst2-lstm-nolengths
[x] sst2-lstm
[ ] sst2-nogpu-pyt (broken, uses GPU!)
[x] sst2
[x] trec-bert-base-uncased
[x] trec-bert-finetune-pytorch-eh
[x] trec-bert-finetune-tf-eh
[x] trec-cnn
[x] trec-demolib
[x] trec-lstm
[x] twpos-blstm-lan
[x] twpos-stacked
[x] twpos
[ ] wnut-bert
[ ] wnut-elmo
[x] wnut-no-crf
[x] wnut-pyt
[x] wnut-single-no-crf
[x] wnut
[x] word-char-sst2-pyt
[x] word-char-sst2-tf

MRDA configs require 1 nltk with punkt model and 2 a dataset which isnt uploaded anywhere yet.

tf) dpressel@dpressel-CORSAIR-ONE:~/dev/work/baseline/mead$ git commit .
[master c8e82ab] remove old stuff
 4 files changed, 209 deletions(-)
 delete mode 100644 mead/config/sst2-bert-hub-maxmean.json
 delete mode 100644 mead/config/sst2-bert-hub.json
 delete mode 100644 mead/config/sst2-bert-mean.json
 delete mode 100644 mead/config/sst2-bert-pytorch.json

sst2-fine-tune-bert  depends on #587

https://github.com/dpressel/mead-baseline/issues/589

trec-bert-finetune-tf-eh runs, but there seems to be some issue with the checkpoint reload (this is a google official bert addon)

For snips, we should upload CONLL files.  More flexible and doesnt require any addons
https://github.com/dpressel/mead-baseline/issues/597

I removed the char->word LMs for now


⚠ ClamAV has degraded performance

In 23af052, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 83 ms

Resolved: ClamAV performance has improved in bca8eb5 after 10 minutes.


When moved from staging -> prod (bringup = false) the first run shown in the dashboard uses the staging build number instead of the prod build number

Mac module_test_ios was marked flaky, and was running in staging with build numbers 629 ,630, 631...

It was marked unflaky and moved back to prod in https://github.com/flutter/flutter/pull/99009.  The first time it ran in prod in the dashboard it correctly shows links to prod but incorrectly lists the n+1 staging build number, instead of the prod build number.
The first build listed is incorrectly prod 632, which is ancient (and happened to fail), and the next is correctly prod 5245.

This made me start investigating why this test was "flaky" again when it really wasn't.

This will get fixed once we've finished our migration off the LUCI scheduler to Cocoon (tracked in https://github.com/flutter/flutter/issues/92300)
ETA is EOQ

Cocoon scheduler migration is complete, thanks @keyonghan !


add tilt effect

Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
@pooranjoyb
[Feature] Want to add the tilt effect on the header image #323
Fixes #323 (issue)
Type of change
Please give a X on it which is applicable

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactor Code
[ ] A documentation update
[ ] Others(mentioned in the issue number)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test A Describe here
Test B Describe here (if Requred)
Screenshots and Videos:
https://github.com/user-attachments/assets/266ac04d-346e-421c-aeae-eb7ea400d9a2
Give screenshots and video of the changes you made
Checklist:
Give a X on, which is applicable

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@pooranjoyb
check this and merge it


is-plain-object

Is there a reason for restricting this to plain objects?

it's used where we're iterating over keys to copy the key-value pairs to the target. a plain object is one that's created by the Object constructor, so we'll know it has keys to iterate over. But instance clones are done on other objects like arrays, date objects or regex

Oh... I see. I missed the parts using clone-deep.

no prob


Host images from TMDB on own server

Would it be possible to add an option to fetch images from TMDB and host them on our own server? This way you wouldn't have to hit TMDB every time to get the images and maybe even have faster loading (Depending on your own server in the end)

I am using my own self hosted image server to serve local images rather from the same server which streama uses currently. This will solve future issues for fetching images when on a load balanced multi-tier architecture. I am using a separate server where I hosted Minio to store/upload images (Minio allows S3 integration as well). I am also using cantaloupe to fetch images as per my requirement. Streama code changed a bit to allow image upload to Minio and fetching images using cantaloupe as external links.
Sorry my code is totally out of sync else I could have done a share.


Add routedHost as an alternative to primary / secondaryOk that lets the user supply their own sort function

This is useful for applications like preferentially connecting to the host that is geographically the closest.

Thank Andrew for this addition.