Parent route not rendered if children is empty

Describe the bug
When routes is initialized with useRoutes() and a route with an empty children exist, the parent route is not render without any infromation
Your Example Website or App
https://codesandbox.io/s/peaceful-bassi-33scg7?file=/src/main.tsx
Steps to Reproduce the Bug or Issue

Go to https://33scg7.sse.codesandbox.io - see MainPage not rendered
Go to https://33scg7.sse.codesandbox.io/jop - see AnotherPage is rendered

Expected behavior
Render parent route or throw error with information.
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

fixed in 0.5.1


pthash stucks while creating mphf

Hello again @jermp
What could be the reason for pthash to stuck while creating a mphf (see the log below)?
c = 6 alpha = 0.94 num_keys = 19 table_size = 20 num_buckets = 27  == map+sort took: 0 seconds  == merged 100% pairs  == merge+check took: 0 seconds  == mapping+ordering took 0 seconds   == max bucket size = 6  == lambda = 0.707988  == lambda_1 = 1.41598  == lambda_2 = 0.404565  == num_buckets of size 6 = 1 (estimated with Poisson = 0)  == num_buckets of size 5 = 0 (estimated with Poisson = 0)  == num_buckets of size 4 = 0 (estimated with Poisson = 0)  == num_buckets of size 3 = 0 (estimated with Poisson = 1)  == num_buckets of size 2 = 5 (estimated with Poisson = 3)  == num_buckets of size 1 = 3 (estimated with Poisson = 7) 2023-10-16 15:05:45: search starts
it could be the configuration for small number of keys. If such a case, what do you recommend?
Thanks

Hello,
before answering, why are you tagging @ByteHamster in this project? :D
Surely, you do not want to bother this with PTHash.
Anyway, you should never build a mphf for 19 keys. Why would you need it? MPHFs are meant for at least hundreds of thousands of keys.

Sorry for that but it was recommended while writing the issue.
Anyway, I'm separating k-mers into buckets and building one mphf/buckets. I happened to get some small buckets and in one of these cases pthash stucked.

If you need a MPHF over kmers, you may want to consider this: https://github.com/jermp/lphash -- LPHash.
 In order to obtain 2-3 bits/key, there is a required minimal size to amortized the space overhead of the MPHF (e.g., a std::vector holds at least 8 bytes of overhead, for the size, and this enough to add 64/19=3.37 bits/key of oeverhead).

No worries at all, you're very welcome! Feel free to tell me what you're trying to do, so that I can better advise.
Best,
-Giulio

@jermp
Hello again,
Back to the number of buckets as a parameter of pthash, do you recommend a specific value in terms of the number of keys especially when the number of keys is small (e.g. 10000 keys or less).
Thank you

Hi @khodor14,
if the number of keys is small, you do not need to split the set into buckets, no? Why would you do that?
Building several MPHFs, one per bucket, is useful only when you have very large key sets (e.g., billions of keys) and you want to scale up with multiple threads. In that case, I would recommend to choose the number of buckets as n / 1000000 or something similar.
Let me know if that makes sense to you.
Best,
-Giulio

@jermp What I mean by the number bucket is pthash parameter.

Anyway, I'm separating k-mers into buckets and building one mphf/buckets. I happened to get some small buckets and in one of these cases pthash stucked.

I thought you were referring to your use case above.
PTHash does not accept a parameter controlling the exact number of buckets to use. However, the number of buckets can be controlled using the parameter c. For small key sets, probably you want to stick with a small c, say c=4 or c=5.
But that should be determined experimentally for your application.


Check if User is Online

Is it possible to check if last seen for users? Or any ideas how to implement it?
https://www.theverge.com/2018/1/18/16905776/instagram-activity-status-new-feature

If you track who the user is subscribed to, and when he like their posts - you can understand that he is online.

Hi , We have to implement realtime protocol. Please check https://github.com/mgp25/Instagram-API/issues/1982 for more details.


Infinite recursion, while loading numpy modules

Describe the bug
We're trying to use griffe in https://github.com/jupyter/papyri (See PR: https://github.com/jupyter/papyri/pull/250) to get structured function signatures. However we had a roadblock while loading numpy modules, we see infinite recursion.
To Reproduce
Steps to reproduce the behavior:
In [1]: import griffe
   ...: griffe_numpy = griffe.load('numpy')
   ...: griffe_numpy.modules
---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
Cell In[1], line 3
      1 import griffe
      2 griffe_numpy = griffe.load('numpy')
----> 3 griffe_numpy.modules

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:486, in Object.modules(self)
    479 @property
    480 def modules(self) -> dict[str, Module]:
    481     """Return the module members.
    482
    483     Returns:
    484         A dictionary of modules.
    485     """
--> 486     return {name: member for name, member in self.members.items() if member.kind is Kind.MODULE}

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:486, in <dictcomp>(.0)
    479 @property
    480 def modules(self) -> dict[str, Module]:
    481     """Return the module members.
    482
    483     Returns:
    484         A dictionary of modules.
    485     """
--> 486     return {name: member for name, member in self.members.items() if member.kind is Kind.MODULE}

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:861, in Alias.kind(self)
    859 # custom behavior to avoid raising exceptions
    860 try:
--> 861     return self.target.kind
    862 except (AliasResolutionError, CyclicAliasError):
    863     return Kind.ALIAS

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1102, in Alias.target(self)
   1093 """Resolve and return the target, if possible.
   1094
   1095 Upon accessing this property, if the target is not already resolved,
   (...)
   1099     The resolved target.
   1100 """
   1101 if not self.resolved:
-> 1102     self.resolve_target()
   1103 return self._target

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1143, in Alias.resolve_target(self)
   1141 self._passed_through = True
   1142 try:
-> 1143     self._resolve_target()
   1144 finally:
   1145     self._passed_through = False

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1161, in Alias._resolve_target(self)
   1159 self._target = resolved
   1160 if self.parent is not None:
-> 1161     self._target.aliases[self.path] = self

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:954, in Alias.aliases(self)
    952 @property
    953 def aliases(self) -> dict[str, Alias]:  # noqa: D102
--> 954     return self.target.aliases

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:954, in Alias.aliases(self)
    952 @property
    953 def aliases(self) -> dict[str, Alias]:  # noqa: D102
--> 954     return self.target.aliases

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1102, in Alias.target(self)
   1093 """Resolve and return the target, if possible.
   1094
   1095 Upon accessing this property, if the target is not already resolved,
   (...)
   1099     The resolved target.
   1100 """
   1101 if not self.resolved:
-> 1102     self.resolve_target()
   1103 return self._target

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1143, in Alias.resolve_target(self)
   1141 self._passed_through = True
   1142 try:
-> 1143     self._resolve_target()
   1144 finally:
   1145     self._passed_through = False

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1161, in Alias._resolve_target(self)
   1159 self._target = resolved
   1160 if self.parent is not None:
-> 1161     self._target.aliases[self.path] = self

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:954, in Alias.aliases(self)
    952 @property
    953 def aliases(self) -> dict[str, Alias]:  # noqa: D102
--> 954     return self.target.aliases

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:954, in Alias.aliases(self)
    952 @property
    953 def aliases(self) -> dict[str, Alias]:  # noqa: D102
--> 954     return self.target.aliases

    [... skipping similar frames: Alias.aliases at line 954 (2970 times)]

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:954, in Alias.aliases(self)
    952 @property
    953 def aliases(self) -> dict[str, Alias]:  # noqa: D102
--> 954     return self.target.aliases

File ~/miniconda3/envs/papyri/lib/python3.9/site-packages/griffe/dataclasses.py:1101, in Alias.target(self)
   1091 @property
   1092 def target(self) -> Object | Alias:
   1093     """Resolve and return the target, if possible.
   1094
   1095     Upon accessing this property, if the target is not already resolved,
   (...)
   1099         The resolved target.
   1100     """
-> 1101     if not self.resolved:
   1102         self.resolve_target()
   1103     return self._target

RecursionError: maximum recursion depth exceeded

Expected behavior
We expect to get modules instead of infinite recursion.
Screenshots
If applicable, add screenshots to help explain your problem.
System (please complete the following information):

griffe version: 0.27.1
Python version: 3.9.16
OS: MacOS

Additional context
Add any other context about the problem here.
Another question we wanted to ask: is there an easier way to load a module/function into griffe by using the imported instance of function, module?

Should be fixed in 0.27.3, let me know otherwise :slightly_smiling_face:

@pawamoy Thanks a lot! By the way is there an easier way to load a module/function into griffe by using the imported instance of function, module?

Seems like I can still reproduce this issue with griffe==0.27.3

What version of Numpy do you have?

What version of Numpy do you have?

numpy==1.24.2

Thanks, I was able to replicate and fix the issue. I'll push a fix soon :slightly_smiling_face:

Thanks, I was able to replicate and fix the issue. I'll push the fix soon 🙂

Awesome, thanks!

Will push a new release soon.


Add server-only dependency and handle nonexistent chain with redirect

PR-Codex overview
This PR introduces a new server-only package, adds a redirect function, and updates the getChain function to use the redirect function instead of throwing an error.
Detailed summary

Added server-only package
Imported and used redirect function in utils.ts
Updated error handling in getChain function to use redirect

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

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

#2627  👈
#2541
main

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

Join @jnsdls and the rest of your teammates on  Graphite

Merge activity

Jun 7, 6:18 PM EDT: @jnsdls started a stack merge that includes this pull request via Graphite.


Error with pywrap and sympy

With the latest development version of Julia and the newest PyCall, I get an error when I try @pyimport sympy that happens in the pywrap call. The message is:
ERROR: TypeError: instantiate_type: expected TypeConstructor, got Function
in pywrap at /Users/verzani/.julia/v0.4/PyCall/src/PyCall.jl:331
in pywrap at /Users/verzani/.julia/v0.4/PyCall/src/PyCall.jl:318

It does work with julia version 3. Is this something that can be fixed or something to work around?

I can reproduce.  Hmm, probably another casualty of the tupocolypse, since it works with a 0.4 that is a few days older.
I'm guessing that one of the consts... expressions in pywrap is now problematic.  You could try eval-ing them one by one in a loop to see which one barfs.  (SymPy doesn't define a variable named Tuple by any chance?)

That's it. If I add "Tuple" to the reserved set then pywrap will work.

Thanks.  (Some blessed day, when . is overloadable, all of this anonymous-module cruft will go away.  The module will just be a PyObject and . will look up the module member at runtime.)

Thanks!


package.json not present

Hello, I was trying to build this site locally however there is no package.json present to install the node modules. Could you add?

Could you add?


Add Organization filter to shared public dashboards

This PR

adds organization filter to shared public dashboards towards https://github.com/giantswarm/thg/issues/110

Checklist

[x] Update changelog in CHANGELOG.md in an end-user friendly language.

Tested on Gauss

Fixed the DNS dashboard, changed the filter order and added the organization filter to the aws public dashboard

It was tested on Gauss :)


[bug] Some entitlements break after adding tweaks

have you searched the existing issues?

[x] this is a unique issue. i agree that if this isn't a unique issue, i'll be BLOCKED from the cyan repo

describe the bug.
Environment

Cyan Version: v1.2.3
iOS Version: iOS 18.2b1
Device: iPhone 16 Pro Max
Host OS: macOS Sequoia 15.1 Beta (24B5077a)
Discord Version: 252.0
Tweak: Revenge v250.0

Description
Push notifications stop working when injecting tweaks using cyan, despite entitlements remaining identical. This occurs even though the signing process completes successfully.
Expected Behavior
Push notifications should work normally after injecting tweaks with cyan.
Actual Behavior
Push notifications fail to arrive when the app is closed, despite proper entitlements and signing.
Steps to Reproduce:

Get a decrypted ipa, preferably static (I used Discord)
Get a tweak for Discord (I used Revenge)
Use cyan to add the tweak to the decrypted ipa.
Sideload it onto an iDevice with a signing service that supports notifications.
Trigger a push notification and see if it arrives to the device whilst the app is closed.

When using cyan to add tweaks to a .ipa, it caused the main binary of the application to be modified on some way, causing certain entitlements like push notifications to break.
This was the command that I used.
cyan -i com.hammerandchisel.discord-252.0-985746746-869832312_decrypted.ipa -f io.github.revenge-mod.app_1.0.0_iphoneos-arm.deb -o com.hammerandchisel.discord-252.0-985746746-869832312_decrypted_revenge.ipa
To make sure that the issue was not due to the tweak itself, I tested four versions of the app.

Original statically decrypted version, manually decrypted by myself.
Output ipa from cyan with tweaks.
Output ipa from cyan with no tweaks.
Output ipa from cyan with tweaks and with binary from original statically decrypted version

The original decrypted version had no issues with notifications and neither did the one that had the binary replaced. The output with no tweaks worked fine as well (Pretty sure this is just unpack + repack)
The output ipa from cyan after being modified with a tweak did not work though.
The tweak that was used was v250.0 of Revenge but I don't believe it has much relevance. It can be found here though.
https://github.com/revenge-mod/revenge-tweak
The signing service that was used was my own Apple Developer account with SignTools CI. I don't notice any particular difference when they were being signed.
I checked the entitlements with ldid and I found no difference between the two.
ldid -e Discord
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.developer.associated-appclip-app-identifiers</key>
	<array>
		<string>53Q6R32WPB.com.hammerandchisel.discord.InviteAppClip</string>
	</array>
	<key>com.apple.developer.avfoundation.multitasking-camera-access</key>
	<true/>
	<key>application-identifier</key>
	<string>53Q6R32WPB.com.hammerandchisel.discord</string>
	<key>com.apple.developer.team-identifier</key>
	<string>53Q6R32WPB</string>
	<key>aps-environment</key>
	<string>production</string>
	<key>com.apple.developer.storekit.request-data</key>
	<true/>
	<key>com.apple.developer.associated-domains</key>
	<array>
		<string>applinks:discord.com</string>
		<string>applinks:discordapp.com</string>
		<string>applinks:discord.gg</string>
		<string>applinks:discord.new</string>
		<string>applinks:discord.gift</string>
		<string>applinks:discord.gifts</string>
		<string>applinks:discord.co</string>
		<string>applinks:*.discord.com</string>
		<string>applinks:*.discordapp.com</string>
		<string>applinks:*.discord.gg</string>
		<string>applinks:*.discord.new</string>
		<string>applinks:*.discord.gift</string>
		<string>applinks:*.discord.gifts</string>
		<string>applinks:*.discord.co</string>
		<string>applinks:discordapp.page.link</string>
		<string>webcredentials:discord.com</string>
		<string>webcredentials:*.discord.com</string>
	</array>
	<key>com.apple.security.application-groups</key>
	<array>
		<string>group.com.hammerandchisel.discord</string>
	</array>
	<key>com.apple.developer.usernotifications.communication</key>
	<true/>
</dict>
</plist>

However, they did both have two different hashes.
Original: 3224b6b42fa64831ea56c68d9bbb6ab4c1552240bbc1446fd745f546d87cc757  Discord
Cyan: b055e8a0543a37c803148ac812e97370fb3a5edb4fca4f04c876e49f1e8d5f71  Discord
There is also a small file size difference as well.
Original: 36562304 bytes
Tweaked: 35917504 bytes
Extra Information
Cyan Logs
I didn't notice a verbose option so this is just what it typically says.
[*] extracting ipa..
[*] extracted ipa
[*] extracted io.github.revenge-mod.app_1.0.0_iphoneos-arm.deb
[*] fixed dependency in RevengeTweak.dylib: /Library/Frameworks/Orion.framework/Orion -> @rpath/Orion.framework/Orion
[*] injected RevengeTweak.dylib
[*] injected RevengePatches.bundle
[*] auto-injected CydiaSubstrate.framework
[*] auto-injected Orion.framework
[*] restored entitlements
[*] generating ipa with compression level 6..
[*] generated ipa at com.hammerandchisel.discord-252.0-985746746-869832312_decrypted-revenge.ipa
[*] deleting temporary directory..

hmm... that actually is really strange
could you please see if you can reproduce this with pyzule?

debugged the issue with the author. summary:

author is using signtools to install the ipa with their own linked developer account.
signtools internally uses apple's codesign to extract entitlements from app binaries.
codesign is unable to extract the entitlements only from the main binary (for some reason?) and logs:

b"Executable=/private/var/folders/d3/3v3wd4390c76s9j518cn498c0000gn/T/tmpcz06ndqj/Payload/Discord.app/Discord\n/var/folders/d3/3v3wd4390c76s9j518cn498c0000gn/T/tmpcz06ndqj/Payload/Discord.app: no signature\nwarning: Specifying ':' in the path is deprecated and will not work in a future release\nwarning: binary contains an invalid entitlements blob. The OS will ignore these entitlements.\n"
Failed to dump entitlements, using empty
Original entitlements:
{}
Failed to read old team id
Failed to read old app id prefix

the issue is fixed after modifying codesign_dump_entitlements() to use ldid like so:

def codesign_dump_entitlements(executable: str) -> Dict[Any, Any]:
    proc = run_process("ldid", "-e", executable)
    return plist_loads(decode_clean(proc.stdout))

and this line with: old_entitlements = codesign_dump_entitlements(f"{component}/{info['CFBundleExecutable']}")

the issue is also apparently fixed when the entitlements plist is exported with ldid and then the binary is signed with codesign

this means ldid must be signing the binary incorrectly to cause the "binary contains an invalid entitlements blob" warning. i'll open an issue in the morning (i'm sleepy asf rn)


Fixed some crashes & bugs

Fix a crash when exporting non-geometric objects with Blender TBS Generation
Fix a crash when model has no UVMap
Only export per face textures if the material has per face textures selected (this kinda reverts eswarts patch)

Ok. Thanks! Though, if I remember, Blender uses image from UV editor as texture if it available and object has no any materials.

I think it depends on which viewport rendering mode you have set Blender to.
I think that UV textures should be completely disabled and only textures in
material slots should be exported (unless Face Textures is checked in the
material, then they should both be enabled).
If we really want to support UV textures, we could make that a separate
texture mode in YABEE
On 13 May 2015 at 21:10, 09th<EMAIL_ADDRESS>wrote:

Merged #15 https://github.com/09th/YABEE/pull/15.
—
Reply to this email directly or view it on GitHub
https://github.com/09th/YABEE/pull/15#event-304205918.

Ah, yes it shows if "Method to display/shade objects in 3D view" setted as "Texture". Though originally, I was faced with the fact that some users use this method to set texture for his models. They asked me why textures are not exported. Perhaps you right and we should make separate texture export mode/

I am quite sure other exporters do NOT export textures if "Face Textures" isn't checked. Also, I don't think it is even rendered if you do an actual render, it's just showing up during editing.
So I'd say the current behavior is more than correct, and if people still ask why textures aren't exported then the answer is because blender works that way... I would find it more confusing if yabee didn't stick to that.


UserServiceAbstractTest.apiKeys flaky test

Describe the bug
Looks like DatabaseUserServiceTest>UserServiceAbstractTest.apiKeys is flaky and it is randomly failing:
Error:  Failures:
Error:    DatabaseUserServiceTest>UserServiceAbstractTest.apiKeys:530->UserServiceAbstractTest.overrideTestSecurity:73->UserServiceAbstractTest.lambda$apiKeys$53:569 Expected a notification of key about to expire ==> expected: <false> but was: <true>
[INFO]
Error:  Tests run: 264, Failures: 1, Errors: 0, Skipped: 2

To Reproduce
This is randomly happening in the CI, e.g., https://github.com/Hyperfoil/Horreum/actions/runs/12046551550/job/33587252350.
Could not find a reproducer yet.

Other flaky tests that sometimes fail and sometimes not
Error:  Failures:
Error:    AlertingServiceTest.testExpectRunTimeout:522 expected: <1> but was: <0>
Error:    AlertingServiceTest.testMissingRules:377 expected: <1> but was: <0>


MySQL cleanup script implementation

Cleanup-Runtime.sql uses PL/SQL routines and is coupled to Oracle.  We need a MySQL version of this.  Also these scripts should operate on END_DT instead of CREATE_DT so that , for example, if property ProcessExpirationAgeInDays=180 this cleans up flows that were completed 180 days ago instead of completed flows that started 180 days ago.

Current  com.centurylink.mdw.timer.cleanup.ProcessCleanup. Please update this class also to work with MySQL.

Biswa, This is a high priority item. I have assigned the Chart issue to Jeen so that you can focus on this.

Should we change the approach of loading Cleanup-Runtime.sql. We can have this in db asset package and also ProcessCleanup in the same package as @RegisteredService(ScheduledJob.class). Teams who want cleanup functionality can configure it in manifest.yml .
"mdw.timer.task.ProcessCleanup.TimerClass": "com.centurylink.mdw.timer.cleanup.ProcessCleanup",
"mdw.timer.task.ProcessCleanup.Schedule": "30 9 * * * *",
"MDWFramework.ProcessCleanup-RuntimeCleanupScript": "Cleanup-Runtime.sql",
"MDWFramework.ProcessCleanup-ProcessExpirationAgeInDays": "30",
"MDWFramework.ProcessCleanup-ExternalEventExpirationAgeInDays": "30",
"MDWFramework.ProcessCleanup-MaximumProcessExpiration": "50000",


Create About Us page

You have to create this page in a separate directory with all there files, image and folders.

I would like to Contribute Towards this issue 🚀

I would like to Contribute Towards this issue Sir🌟

Hello sir ..I want to contribute to this issue under jwoc

I want to work on this issue under JWOC

I want to work on this issue under JWOC

Hello sir ...I want to work on this project under jwoc

"I want to work on this issue under JWOC"

@Beingfarazkhan  there is any update? Are you working on it?

I want to work on this issue , please assign me this under JWOC

@codervivek5 i was working on it but its not showing under my assigned now

@codervivek5 Yes i am working on it , the designing is complete , now the implementation will be done in an hour. then i will send you a pr to review

ok
But if possible then send screenshot so that I can review

@codervivek5 one more thing , i dont know if you have noticed but when i checked the code for other pages it might cause some bugs while switching through the pages.

yeah I notice many thing. there are a lot of bugs and to fix them. but if project is ready then we will work on bugs

so I am telling you that if you create any UI or any developed about us page then share screenshot then I will review it

This was the rough layout i provided

@codervivek5 Sir if the pr is merged then please close this issue. Thank you!

Make your PR. I will merge it then close

This is perfect 👍


Replace deprecated sass color functions for new channel function.

The SASS functions color.red, color.green and color.blue are deprecated since 1.79.0.
These functions should be replaced with the color.channel function.
More info: https://sass-lang.com/documentation/breaking-changes/color-functions/

Thanks @BryanDeNijs for the contribution!


Remove STORE_CFGDICT

This constant is set to True. Yet for an unknown reason the code
checks it as if it would change or not be True. And if it weren't True
we'd see AssertionErrors being raised, which wouldn't be the desired effect.

The (previously) unknown reason is that  STORE_CFGDICT started out as something experimental, hence the ability to turn it off, but eventually I wrote code that relied on it, hence the assertions. I simply never took the time to clean it up.
Removing it makes sense.


Peer suspicion is needed

Given 4 servers in the following validation chain:
A --- B --- C --- D
{A,B,C} will be the validators (with C as the proxy tail).
If an error occurs in validation it is important to be able to assert blame, for example, if B receives a transaction and then doesn't validate it, then B has a fault and should be moved to the end of the validation chain.
This can be accomplished by signing transactions when they are received, sending cryptographic proof of receipt back to the sender.
For example, if A sends a transaction to B, then B signs the hash of the transaction with its private key, sending just the signature back to A. If B never sends the transaction to C or lies and says that A never sent it, A can use the signed receipt from B to prove to the other peers that B is the faulty server and then they can execute a view change that reorders the peers.

Is this closed by #192 ?

Do not close this until we have tests for this.

Test to connect 1 or N nodes to existing network.

Setupiroha-main in iroha-docker.
Any node setup iroha-1, iroha-2, ...iroha-N
Execute ./bin/issue_transaction add peer iroha2-key iroha2-pubkey 0.0 false in iroha-1.
Similarly 3 add peer up to iroha-N.

Can you add this to circle-ci?

I try it.
But I can be going to do after merge execute.

Is this done?

doesn't seem to be
at least blocked by #209

Is this done now?

Well it can be considered as completed but it still lack of tests and that is very bad. And it's an issue why it easily cannot be done.
Current structure of connection_with_grpc is enormous and doesn't allow to write proper tests.
steps so far to complete are:

[ ] Remove any logic (also good to refactor as well) of signing/validating from connection_with_grpc and dedicate this task to its users
[ ] Write & check tests

Actually this can be separated to the other issue because this one should work now

ah, yeah
As we are planning to migrate to fbs in few days this will be fixed anyway, so i'm closing this one


Can we enable different website versions based on the tags?

Hi @kkmann @cicdguy - quick question, since now we will have the second session of this workshop, slightly modified materials etc., I think it would be great if we could have different website versions accessible on https://openpharma.github.io/workshop-r-swe/. Similar as we have it e.g. in https://openpharma.github.io/mmrm. Would that be easily possible?

I am not aware of how to do that - would just go with the respecitve latest.

I wonder since in pkgdown that is possible it would be great if it could work here too :-) but yeah sure otherwise we just have the latest.


Add table layout which matches the binary layout for expanded opcodes

What's the point of the "alternate table layout"s? I think they're confusing - I didn't even notice what was different for a while because I was looking for the table itself to be rearranged, not the bit patterns. And then it looks at first like the singular bit has been moved, rather than the bits being regrouped.

What's the point of the "alternate table layout"s? I think they're confusing - I didn't even notice what was different for a while because I was looking for the table itself to be rearranged, not the bit patterns. And then it looks at first like the singular bit has been moved, rather than the bits being regrouped.

The point of the layout was that the bit format matches the EXOP format more closely by having the lone C bit in the middle. I can add something specifically mentioning the difference.

What's the status after this one? https://discord.com/channels/828292123936948244/946806826756882552/1220820455963889685
I'm OK with this change if we just remove the alternative (i.e. current) layout entirely and maybe add some extra text instead.

What do you mean by "What's the status"? I don't think there's anything else that needs to be added to the PR.
Why do you think we should remove the current layout from this? What extra text would you suggest adding?

re https://github.com/ETC-A/etca-spec/pull/72#issuecomment-2002074781
discussed briefly here https://discord.com/channels/828292123936948244/946806826756882552/1220820254343696574 I think it should be removed because I don't think it adds value but does add confusion.
CCCC C CCCC matches the actual spacing of the bits in the encoding, right? So I don't think the alternative is useful. If we're making a change like this for clarity, though, an example may help.

My reasoning for keeping the existing one is that it makes them a bit easier to parse when designing something that processes the already-extracted bits by being in 4-bit aligned chunks.

I think it's confusing and unnecessary to have the same table repeated twice, even behind a spoiler. If one of them is easier to parse, then isn't that the one we should keep? In which case we could add an example encoding just to demonstrate that the way it turns into the table index is natural.

I think adding a column with hex numbers equivalent might be helpful. That shouldn't take up too much space, is 4-bit aligned and is also useful when creating an assembler.

I can get behind hex.


X Ray Image Query pipe units through the query

Description
Addresses a bullet in #17791

Adds units to the blueprint output and arguments for each type of unit to the query.
Also adds tests for this feature.

Type of change

[ ] Bug fix
[x] New feature~~
[ ] Documentation update
[ ] Other

How Has This Been Tested?

built and ran on rztopaz all new and old tests pass
Checklist:

[x] I have followed the style guidelines of this project.~~
[x] I have performed a self-review of my own code.~~
[x] I have commented my code where applicable.~~
[x] I have updated the release notes.~~
[ ] I have made corresponding changes to the documentation.
[ ] I have added debugging support to my changes.
[x] I have added tests that prove my fix is effective or that my feature works.~~
[x] I have confirmed new and existing unit tests pass locally with my changes.~~
[ ] I have added new baselines for any new tests to the repo.
[x] I have NOT made any changes to protocol or public interfaces in an RC branch.~~
[x] I have assigned reviewers (see VisIt's PR procedures for more information).~~

In this case there is now protocol change b/c:
We aren't modifying any code generated offsets, etc that would break protocol.
The MapNode will be parsed, and the server side can look for entries by name.

Thanks @cyrush for the clarification. @JustinPrivitera can you make the changes suggested to make the new fields visible to user.

In order for these new options to be 'visible' to user they need to be added to avtXRayImageQuery::GetDefaultInputParams. Then they will show up if user enters GetQueryParams("XRayImage") in the cli.
The widget (QvisXRayImageQueryWidget) needs updating as well.

The params you get out when running GetDefaultInputParams already do not include a huge number of the input parameters. That was true even before I started adding stuff to the query.
Should I put these ones in anyway?

It is unfortunate that GetDefaultInputParams wasn't updated with previous additions. Would you mind adding all the missing pieces?

It is unfortunate that GetDefaultInputParams wasn't updated with previous additions. Would you mind adding all the missing pieces?

I'll add them.

merge w/ develop in #18340


Update pytorch launcher component in Kubeflow Pipelines repository

The pytorch launcher component in the Kubeflow Pipelines repository hasn't been updated in a while. We should update the component to work with Pipelines v2 concepts and be better aligned with the latest version of the Kubeflow Training operator.

/good-first-issue
/kind feature

hi @anishasthana I am new to kubeflow and want to work on this issue can you please guide me a bit ?

@swastik959 are you still interested in working on this issue? If not I would like to.

@swastik959 are you still interested in working on this issue? If not I would like to.

Feel free to assign yourself with /assign since this issue was not taken by anyone.

/assign

@Fiona-Waters Are there any updates on this? I'm interested in using it for a downstream task. I was planning on writing something but thought I'd ask if there was any progress to build on.

@Fiona-Waters Are there any updates on this? I'm interested in using it for a downstream task. I was planning on writing something but thought I'd ask if there was any progress to build on.

Hi @Shreyanand, I am currently working on this. The changes I have made so far are in this commit on my fork but they have not been tested yet.  Once I have tested them I will create a PR in the pipelines repo.


Bokeh Elements only send data once if completely static

Often times when exploring some dataset using the widgets some Elements are completely static, while others change when dragging the slider such as in the homepage example where there is a large image that is completely static. Currently that data gets sent multiple times, this PR detects if a frame is completely static and ensures that the data is only sent when first initializing the plot. This speeds up and reduces the memory footprint of the homepage example by a factor of ~40.

I think I understand what is going on and this optimization makes sense. Though I think this is a special case of a more general optimization where you detect blocks of constant ids (e.g you could have one of id0 followed by a million of id1).
As the general optimization is more tricky and this will improve most common cases, I think this very worthwhile.

I should also add that this optimization makes an assumption we use throughout HoloViews: elements are treated as immutable. If you modify an element with a given id, this optimization would be invalid.
This is worth mentioning as immutability is our default assumption but nothing stops people from mutating data in an element and I certainly can think of cases where this would be more efficient performance-wise.

That said, I do think this is a special case of a more general optimization where you detect blocks of constant ids (e.g you could have one of id0 followed by a million of id1).

Agreed, that's definitely an optimization worth considering, now that bokeh server has settled down a little bit we can consider hooking into their events API and designing a storage format which will allow us to dynamically update plot components on the front end. The simplest approach would probably to send a dictionary of references along with the minimized data. On each frame the widget looks up the appropriate references in the data store and updates the plot with the data.

Ready to merge. Can open another issue to discuss how we can remove redundant data in static bokeh plots if you think it's worth it.

I've just realized that mutation isn't an issue: once it is in the plotting code, the user won't be able to do such things. As the tests are passing, I'll merge now.


Doc improvements to Inbound Endpoint Creation Wizard

Description:
This is related to the PR at [1].
The doc draft can be found at [2]
[1] https://support.wso2.com/jira/browse/MASHOLDINGSDEV-15
[2] https://docs.google.com/document/d/1lP_qV7q2IohvwUDkIcsySSTtofX9byaPskFjYHwyi2c/edit?usp=sharing
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

moved to product-ei repo at https://github.com/wso2/product-ei/issues/2439

Fixed in EI 6.2.0 and later versions.
[1] https://docs.wso2.com/display/EI630/Creating+an+Inbound+Endpoint


feat: embedded help command

Summary
Add embedded help command from nextcord#701
Checklist

[ ] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.
[x] I have run task pyright and fixed the relevant issues.

[ ] This PR fixes an issue.
[x] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

The init file for the module should be updated so that this can be imported directly from nextcord.ext.help_commands

This is completely up to you since it's your help command design, but I'm thinking maybe cog help should show cog and command descriptions?

The first bot is what I currently use and the Test bot is using yours.
Feel free to take ideas from mine or leave things as is if you prefer.

This is completely up to you since it's your help command design, but I'm thinking maybe cog help should show cog and command descriptions (command.short_doc)?
The problem is, what if there are many commands? Both solutions are pretty valid but I think for cogs that have more than a couple commands, the way I do it is better.

And actually, as this is no longer limited by the "the lib shouldn't do your work" part, I might as well give the current implementation a full redesign, my personal bot which I use with my friends has this command but way more upgraded, I will get to work on that and commit tonight / tomorrow.

Main help command

Cog help command

Group help command

Command help command

Thanks for your patience.
I think I'll merge it for now. The repo can always be enhanced and updated in the future. :+1:


Add iroh-one to CI steps

build with the 'uds-gateway' feature to catch build errors.
push the iroh-one binary to S3.

Ping @Arqu

I'm sorry, been thinking about this, but can we take off the --features=uds-gateway from the builds. Don't think I want to have those uploaded as the "default" builds. Those who want to include specific features should generally build their own and if it becomes widely used we can move that into a config value rather than compile time thing.

I understand your argument, but that also means that we have no CI coverage for build breaking with that feature enabled. Or should we build both with and without the feature, and only upload the featureless one?

I'm sorry, been thinking about this, but can we take off the --features=uds-gateway from the builds. Don't think I want to have those uploaded as the "default" builds. Those who want to include specific features should generally build their own and if it becomes widely used we can move that into a config value rather than compile time thing.

I understand your argument, but that also means that we have no CI coverage for build breaking with that feature enabled. Or should we build both with and without the feature, and only upload the featureless one?

Right, that makes sense. So what I would do instead is introduce a new CI job and run cargo check --all-features and cargo check --no-default-features in it as a prequel to building releases and make it depend on cargo fetch and clippy and rustfmt. That way we get build coverage. Potentially extend the linux tests to run tests in the same fashion.

This is now covered by CI. I'd be happy to revisit adding iroh one to the official builds.

Closing  this PR. @fabricedesre @Arqu whoever gets to it first, lets get iroh-one added to the binary list.


DnsServerAddress: fixes #446, simplified SET, validation error handling

Pull Request (PR) description

Simplified Set-TargetResource by removing logic to get current value. Since wildcards are not being used, the current value doesn't need to be verified because Test-TargetResource has already done the work.
Added error handling to write a more descriptive error when validation=$true and it fails.
Updated Verbose message strings to provide more information to ease debugging.
Updated common function Get-DnsClientServerStaticAddress to return an empty string (@()) rather than $null if DNS Servers are not specified which fixes #446.

This Pull Request (PR) fixes the following issues
- Fixes #446

Task list

[ ] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Hi @phbits - I'm back on board now, so keen to get this through. The tests are failing because the unit tests are failing. Are you able to update these?
Also, could you add a CHANGELOG.MD entry for this?

Hi @PlagueHO! All tests are now successful. I'll wait for the Reviewable update.

Hi @phbits - can you resolve the conflicts on this one? Check that the changes in the CHANGELOG.md appear in the [Unreleased] section.

Hi @phbits - looks like there are still conflicts in the CHANGELOG.md

Hi @phbits - can you resolve the conflicts on this one?

@PlagueHO Thanks for merging the other PR! I updated CHANGELOG.md with changes from prior PRs as I figure that's the issue.

Hi @phbits - it looks like there are some merge conflicts. Can you resolve?

Hi @PlagueHO! The only merge conflict I can see is for CHANGELOG.md which shows the entry for this PR. Snippet below.
<<<<<<< DnsServerAddress
- DnsServerAddress
  - Improved error handling - fixes [Issue #446](https://github.com/dsccommunity/NetworkingDsc/issues/446).
=======
>>>>>>> master

@phbits - yep, that's the conflict that appears in the PR. Just replace the conflict block with:
- DnsServerAddress
  - Improved error handling - fixes [Issue #446](https://github.com/dsccommunity/NetworkingDsc/issues/446).

@PlagueHO - The content block is already present in the PR whereas that same content block is missing in master/main. Nothing to replace. 😉
Originally there was a conflict with just having the DnsServerAddress entry. I added the other entries to changelog in this PR; making it current which is shown in Reviewable. Still shows conflict though focused on the DnsServerAddress entry. If I'm not mistaken, won't the merge process resolve this? 🤔

Unfortunately the merge won't resolve this conflict. It may be that you need to fetch the main branch again and rebase your branch onto it. But I can actually resolve this for you.

If you pull your branch again the conflict should be resolved. But what I'd normally recommend is that a rebase is used to resolve the conflicts (rather than a merge from main).


Setting strings to allow nulls doesn't work with single row uploads

rapid version 7.0.8,
rapid-sdk version 0.1.7
Spotted what feels like a bug.
I'm creating a schema with a mix of strings and doubles with allow_null = True or False (see below for column schema setting example, tested locally using attached example file).
When there are multiple rows where at least one field in the empty_string column (that I would expect to allow blanks) is filled, it will upload as a string column. When there is only one row of data as in the attached, the empty double field passes validation, but the string column is treated by rAPId as a double and NULL value and prevents upload with the error:
Column [empty_string] has an incorrect data type. Expected string, received double
Column schema
bug_columns = [
        {
            "name": "department",
            "partition_index": None,
            "data_type": "string",
            "allow_null": False
        },
        {
            "name": "filled_string",
            "partition_index": None,
            "data_type": "string",
            "allow_null": False
        },
        {
            "name": "empty_string",
            "partition_index": None,
            "data_type": "string",
            "allow_null": True
        },
        {
            "name": "filled_double",
            "partition_index": None,
            "data_type": "double",
            "allow_null": False
        },
        {
            "name": "empty_double",
            "partition_index": None,
            "data_type": "double",
            "allow_null": True
        }
    ]

bug_example.csv

@TobyDrane Hi Toby, is this something that is likely to be worked on/fixed? If it is a bug as I suspect, it must impact on other data collection/commissions that also use the tool; we will need to find workarounds for it if rAPId remains with it in place.
Is there a way yourselves at No 10 get round this issue (apart from filling blank string columns with some "Not Available" etc text)?

Hi @JOrjales-CDDO this is an interesting one. Bit of an explanation below on what is happening. When creating that schema definition everytime you try and then update the dataframe the way rAPId infers datatypes is by using the Pandas datatypes from the dataframe.
When uploading the bug_example.csv Pandas infers the following columns:
Data columns (total 5 columns):
 #   Column         Non-Null Count  Dtype
---  ------         --------------  -----
 0   department     1 non-null      object
 1   filled_string  1 non-null      object
 2   empty_string   0 non-null      float64
 3   filled_double  1 non-null      int64
 4   empty_double   0 non-null      float64

Which in turn rAPId turns into the following schema column values
{'department': <StringType.STRING: 'string'>, 'filled_string': <StringType.STRING: 'string'>, 'empty_string': <StringType.STRING: 'string'>, 'filled_double': <NumericType.INT: 'int'>, 'empty_double': <StringType.STRING: 'string'>}
Which fails the schema validation as you rightly pointed out. As this is the inherit nature of pandas it's a tricky fix without having to write lot's of different conditionals into the rAPId code to handle such scenarios. For now if possible you could try a workaround by uploading the data via the sdk using the line below that tells pandas to infer the empty string column as an object which rAPId understands as a string.
data_frame["empty_string"] = data_frame["empty_string"].fillna(value="")
Let me know if this works, if not we'll have to have another think about a solution if this is a blocker.

Thanks for coming back @TobyDrane and appreciate that this isn't a simple fix! Not gonna lie, it's a bit of a blocker as we intended users to use the UI to upload data, which they won't always have text data for.
The alternative would be force them/guide them in engagement to enter "Not Available" or some other placeholder, for every cell. That's fine for small commissions but larger ones with thousands of rows could get...difficult/confusing as at least one cell in the column will be needed to force it to consider the entire column as string.
I'll have a chat about if text placeholders might be suitable/acceptable workarounds with the commission team in the absence of code.

Thanks for coming back @TobyDrane and appreciate that this isn't a simple fix! Not gonna lie, it's a bit of a blocker as we intended users to use the UI to upload data, which they won't always have text data for.
The alternative would be force them/guide them in engagement to enter "Not Available" or some other placeholder, for every cell. That's fine for small commissions but larger ones with thousands of rows could get...difficult/confusing as at least one cell in the column will be needed to force it to consider the entire column as string.
I'll have a chat about if text placeholders might be suitable/acceptable workarounds with the commission team in the absence of code.

@JOrjales-CDDO it's possible for to get the upload working by adding a space within the empty string column, like below:
department,filled_string,empty_string,filled_double,empty_double
CO,CDDO, ,55,

I created pull request fixing this issue.


Generated Samples Have an Audible Pop at End

I'm curious if anyone else has experienced this problem.
When training the MB-MelGAN, I use the batch_max_steps: 8192 as the length of the data. After training, although the audio quality is quite good, I find that there is a "pop" in audio at the end of the 8192-length audio. Here are plots below:

Does anyone have ideas in how to stabilize/avoid this problem? Thanks!

@kan-bayashi Sorry to bother you, but would you have any thoughts on this?


UI Redesign

Is your feature request related to a problem? Please describe.
While the current user interface has served us well, I believe there is an opportunity to enhance the overall user experience through a thoughtful redesign. A modern and visually appealing design can greatly improve user satisfaction and make our application more inviting and enjoyable to use.
Describe the solution you'd like
I would like to propose implementing a comprehensive UI redesign that incorporates the following key elements like Updated Color Scheme, Refined Layout and Spacing, Responsive Design
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

The issue is fixed with #30  so closing this issue


Device always disconnects and just reconnects on deploy

My log if full of messages like this:
- [error] [tuya-smart-device:WP1] Device not connected. Can't send the GET commmand

I tried to setup the device node with ip address and Device Virtual ID in all combinations.
I all cases the connection gets lost when leaving the node-red editor for a while.
Sometimes the reconnect works - most times it does not.
The network is monitored and ping is stable working to the device. (Tested over many hours.)
In the log below I changed the name of the node from WP1 to WP11. After deploy the device reconnected.
2022-04-23 22:50:18.606 - info: node-red.0 (994) Loglevel changed from "warn" to "silly"
2022-04-23 22:51:07.712 - debug: node-red.0 (994) 23 Apr 22:51:07 - [info] [tuya-smart-device:WP12] Recieved input : {"_msgid":"a0a21a5acf308f0e","payload":{"operation":"SET","dps":"1","set":false}}
2022-04-23 22:51:07.714 - error: node-red.0 (994) 23 Apr 22:51:07 - [info] [tuya-smart-device:WP12] Device not connected. Can't send the SET commmand
23 Apr 22:51:07 - [error] [tuya-smart-device:WP12] Device not connected. Can't send the SET commmand
2022-04-23 22:51:19.279 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] Geänderte Nodes werden gestoppt
2022-04-23 22:51:19.280 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] [tuya-smart-device:WP12] closeComm(): Cleaning up the state
2022-04-23 22:51:19.281 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] [tuya-smart-device:WP12] closeComm(): Clearing the find timeout handler
23 Apr 22:51:19 - [info] [tuya-smart-device:WP12] closeComm(): Disconnecting from Tuya Device
2022-04-23 22:51:19.282 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] Geänderte Nodes sind gestoppt
2022-04-23 22:51:19.290 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] Geänderte Nodes werden gestartet
2022-04-23 22:51:19.292 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] Recieved the config {"id":"77212ca8.79cff4","type":"tuya-smart-device","z":"...","deviceName":"WP1","disableAutoStart":false,"deviceId":"","deviceKey":"...","deviceIp":"<IP_ADDRESS>","retryTimeout":"21600000","findTimeout":"21600000","tuyaVersion":"3.3","eventMode":"event-both","x":330,"y":240,"wires":[[...],[]],"moduleVersion":"4.1.1"}
2022-04-23 22:51:19.293 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] Event subscription : shouldSubscribeData=>true , shouldSubscribeRefreshData=>true
2022-04-23 22:51:19.294 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] Auto start probe on connect...
23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] closeComm(): Cleaning up the state
23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] closeComm(): Clearing the find timeout handler
23 Apr 22:51:19 - [info] [tuya-smart-device:WP1] closeComm(): Disconnecting from Tuya Device
2022-04-23 22:51:19.295 - debug: node-red.0 (994) 23 Apr 22:51:19 - [info] Geänderte Nodes sind gestartet
2022-04-23 22:51:19.851 - info: node-red.0 (994) Save /opt/iobroker/iobroker-data/node-red/flows.json
2022-04-23 22:51:20.294 - debug: node-red.0 (994) 23 Apr 22:51:20 - [info] [tuya-smart-device:WP1] startComm(): Connecting to Tuya with params {"id":"","key":"...","ip":"<IP_ADDRESS>","issueGetOnConnect":false,"nullPayloadOnJSONError":false,"version":"3.3"} , findTimeout : 21600000 , retryTimeout: 21600000
2022-04-23 22:51:20.295 - debug: node-red.0 (994) 23 Apr 22:51:20 - [info] [tuya-smart-device:WP1] findDevice(): Initiating the find command
2022-04-23 22:51:23.435 - debug: node-red.0 (994) 23 Apr 22:51:23 - [info] [tuya-smart-device:WP1] findDevice(): Found device, going to connect
2022-04-23 22:51:24.809 - debug: node-red.0 (994) 23 Apr 22:51:24 - [info] [tuya-smart-device:WP1] Connected to device!
2022-04-23 22:51:25.111 - debug: node-red.0 (994) 23 Apr 22:51:25 - [info] [tuya-smart-device:WP1] Error from tuyaDevice. shouldTryReconnect = true, error = {}
2022-04-23 22:51:25.112 - error: node-red.0 (994) 23 Apr 22:51:25 - [error] [tuya-smart-device:WP1] Error: Error from socket: read ECONNRESET
at Socket. (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-tuya-smart-device/node_modules/tuyapi/index.js:492:30)
at Socket.emit (events.js:314:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
23 Apr 22:51:25 - [info] [tuya-smart-device:WP1] Will try to reconnect after 21600000 milliseconds
2022-04-23 22:51:25.114 - debug: node-red.0 (994) 23 Apr 22:51:25 - [info] [tuya-smart-device:WP1] Disconnected from tuyaDevice. shouldTryReconnect = true
23 Apr 22:51:25 - [info] [tuya-smart-device:WP1] Will try to reconnect after 21600000 milliseconds
2022-04-23 22:52:16.467 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] Geänderte Nodes werden gestoppt
2022-04-23 22:52:16.468 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] [tuya-smart-device:WP1] closeComm(): Cleaning up the state
23 Apr 22:52:16 - [info] [tuya-smart-device:WP1] closeComm(): Clearing the find timeout handler
23 Apr 22:52:16 - [info] [tuya-smart-device:WP1] closeComm(): Disconnecting from Tuya Device
2022-04-23 22:52:16.469 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] Geänderte Nodes sind gestoppt
2022-04-23 22:52:16.486 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] Geänderte Nodes werden gestartet
2022-04-23 22:52:16.489 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] Recieved the config {"id":"77212ca8.79cff4","type":"tuya-smart-device","z":"...","deviceName":"WP11","disableAutoStart":false,"deviceId":"","deviceKey":"...","deviceIp":"<IP_ADDRESS>","retryTimeout":"21600000","findTimeout":"21600000","tuyaVersion":"3.3","eventMode":"event-both","x":330,"y":240,"wires":[[...],[]],"moduleVersion":"4.1.1"}
2022-04-23 22:52:16.490 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] Event subscription : shouldSubscribeData=>true , shouldSubscribeRefreshData=>true
23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] Auto start probe on connect...
23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] closeComm(): Cleaning up the state
2022-04-23 22:52:16.491 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] closeComm(): Clearing the find timeout handler
23 Apr 22:52:16 - [info] [tuya-smart-device:WP11] closeComm(): Disconnecting from Tuya Device
2022-04-23 22:52:16.493 - debug: node-red.0 (994) 23 Apr 22:52:16 - [info] Geänderte Nodes sind gestartet
2022-04-23 22:52:17.094 - info: node-red.0 (994) Save /opt/iobroker/iobroker-data/node-red/flows.json
2022-04-23 22:52:17.491 - debug: node-red.0 (994) 23 Apr 22:52:17 - [info] [tuya-smart-device:WP11] startComm(): Connecting to Tuya with params {"id":"","key":"...","ip":"<IP_ADDRESS>","issueGetOnConnect":false,"nullPayloadOnJSONError":false,"version":"3.3"} , findTimeout : 21600000 , retryTimeout: 21600000
2022-04-23 22:52:17.492 - debug: node-red.0 (994) 23 Apr 22:52:17 - [info] [tuya-smart-device:WP11] findDevice(): Initiating the find command
2022-04-23 22:52:18.356 - debug: node-red.0 (994) 23 Apr 22:52:18 - [info] [tuya-smart-device:WP11] findDevice(): Found device, going to connect
2022-04-23 22:52:18.367 - debug: node-red.0 (994) 23 Apr 22:52:18 - [info] [tuya-smart-device:WP11] Connected to device!

I've found reconnect statements in tuya-smart-device.js at some places where the timeout is hard coded to 1000ms. This could be a reason. (line 185, 404, ...)
I also don't understand the long wait time of 6 Minutes (21600000ms) for a reconnect. If I have scheduled commands they will, on a regular base, fail.
Strange is that the reconnect on deploy works most times but fails in normal operation.
Thank you for your good work!

Still existing in latest version.

Can you please set the find time out to 10 seconds and retry to 1 sec and try ?

But I have to wait some time to see if it is stable or not.

How long ?

Until now I only got one message about 30 minutes after changing the values:
28 Jun 18:16:12 - [error] [tuya-smart-device:WP11] Error: Error from socket: read ECONNRESET
    at Socket.<anonymous> (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-contrib-tuya-smart-device/node_modules/tuyapi/index.js:492:30)
    at Socket.emit (events.js:314:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

This looks pretty good so far.


Modify the processing part of REconverge's data request and release 0.12.0

Modify to handle network, log, and time series data requests with ReqRange and RequestRange.
Add to handle Timeseries requests in MessageCode::RawData.
Modify multi_get_with_source to return in the form of Vec<(i64, String, Vec<u8>)>.
Bump version to 0.12.0

Closes: #435
Related issue: https://github.com/aicers/giganto-client/issues/32

Codecov Report
Patch coverage: 78.26% and project coverage change: -0.12 :warning:

Comparison is base (fea0027) 66.50% compared to head (5929ee6) 66.39%.

:exclamation: Current head 5929ee6 differs from pull request most recent head 81b0d83. Consider uploading reports for the commit 81b0d83 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #436      +/-   ##
==========================================
- Coverage   66.50%   66.39%   -0.12%
==========================================
  Files          21       21
  Lines        3645     3630      -15
==========================================
- Hits         2424     2410      -14
+ Misses       1221     1220       -1

Impacted Files
Coverage Δ

src/ingest.rs
85.06% <ø> (ø)

src/ingest/tests.rs
91.52% <ø> (ø)

src/peer.rs
47.94% <ø> (ø)

src/publish/implement.rs
70.90% <ø> (-6.12%)
:arrow_down:

src/publish/tests.rs
97.95% <ø> (ø)

src/storage/migration.rs
0.00% <ø> (ø)

src/publish.rs
66.39% <76.47%> (+0.47%)
:arrow_up:

src/storage.rs
67.34% <83.33%> (-0.41%)
:arrow_down:

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


Grammar error

This sentence has too many "aboves" in it...
If multiple proxy servers are installed in your environment, it does not matter which specific proxy server the above procedure above is executed upon.

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

ID: 20524a4a-cae7-bddb-0fb5-4deaa542e2bf
Version Independent ID: d58d4296-f64b-b2ba-d7fb-b588535faa3b
Content: Deploy Azure AD password protection preview
Content Source: articles/active-directory/authentication/howto-password-ban-bad-on-premises.md
Service: active-directory
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@escape208 Thanks for reporting! We will investigate and update as appropriate.

@escape208 would you like to propose an edit to the doc?
Since our docs are hosted here you as a community member can make edits like these and as the writer of this doc I can approve them.
If you just want me to make them as part of a normal update that's fine too.
I just wanted to give you the opportunity to edit.
If you'd like to edit yourself just click edit on the top right of the doc then click the pencil icon. When your changes are done save them and submit the pull request.

@MicrosoftGuyJFlo Forgot I can do that - done!

@escape208 @MicrosoftGuyJFlo Thanks.

#please-close


New Ticket Email Template being used instead of Update Ticket Template

I noticed that when a ticket had been updated via a reply email message that the newticket_submitter template was being used rather than the updated_submitter template.
The source in email.py seems to validate this finding. Before making any changes and potentially a PR I'd like to know if I am on the right track.
I believe that line 527 should read
'submitter': ('updated_submitter', context)
rather than
'submitter': ('newticket_submitter', context)
the current code block is as follows:
if new:
       ticket.send(
           {'submitter': ('newticket_submitter', context),
            'new_ticket_cc': ('newticket_cc', context),
            'ticket_cc': ('newticket_cc', context)},
           fail_silently=True,
           extra_headers=extra_headers,
       )
   else:
       context.update(comment=f.comment)
       ticket.send(
           {'submitter': ('newticket_submitter', context),
            'assigned_to': ('updated_owner', context)},
           fail_silently=True,
           extra_headers=extra_headers,
       )

Thanks

Makes sense to me.
@gwasser  @timthelion  - Are you aware of any reason why the above should not be changed as suggested?

Nope, that looks like a typo to me, I think it should be the update template instead of new email.

Hi. If I am able I can create a PR for this. However, as per some of my other open items I am trying to get quicktest to run error free first. The latest issue has been posted as #1079
Thanks

Closing as fixed by PR


Add .vercelignore

Before (https://vercel.com/benjaminwoods/derek-connexion/Bzc5mRwRbyBpVXYu5GQ3kKt17JCE):

After (https://vercel.com/benjaminwoods/derek-connexion/3SZ6PDGA4fbSUSzyazNk4CUL8wUD):

Oof. Just noticed that this removed app.py... bad bug. Time to patch


Feat/uid

Add a new uid command line option that can be used to expand binary file name

@RemiArnaud something like this would work for Mura ?

Beautiful. If expand() does what i think it does


[ECS] add phar file to github relase page

it would be awesome to add the phar file as github release not only in the repo. maybe even to the https://github.com/symplify/easy-coding-standard repo

Agreed. Feel free to send PR.

well, i don't know your release stack, so it's not that easy to create a PR for that for me.
are you using github actions? how monorepo plays in here?

It's fully open-sourced, Travis + GitHub actions.
You can add it to one of those.


Implement flash messages with separate namespace.

Logic was ported from Yii 2, with the exception of separate namespace for flashes.

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#100 #31

@pchapl looks good. Could you add tests for this class?

There should be an interface for this component.

@rob006 You're right. Thanks.

@pchapl is it ready for review?

Yes. I could not fully test due to problems with widgets in yii 3, but it's ready.

Merged. Thank you!


hashKernel method allocates on every invocation

we should use bitwise operations instead, this will improve performance

Fixed in https://github.com/tylertreat/BoomFilters/pull/33


[Feature] impala add datasource

Purpose of the pull request
add impala datasource in datasource plugin module
hive/impala datasource The kudu cannot be queried
The underlying use is hiveapi
Brief change log
add impala datasource in datasource plugin module
Verify this pull request

This pull request is code cleanup without any test coverage.

hi @qq712679031, thanks for your first contribution, please submit this PR  to dev branch, 3.1.7 has been published!
usually we contributor PRs to dev branch is the right way

@qq712679031 any progress?  please submit this PR to dev branch.

hi @qq712679031, thanks for your first contribution, please submit this PR to dev branch, 3.1.7 has been published! usually we contributor PRs to dev branch is the right way


[!] CocoaPods could not find compatible versions for pod "JVerification":   In Podfile:     jverify (from .symlinks/plugins/jverify/ios) was resolved to 0.0.1, which depends on       JVerification (~> 2.6.0)

[!] CocoaPods could not find compatible versions for pod "JVerification":
In Podfile:
jverify (from .symlinks/plugins/jverify/ios) was resolved to 0.0.1, which depends on
JVerification (~> 2.6.0)

在终端尝试下pod repo update 命令。


E2: Add frexp function

math.frexp | MSDN
array frexp(number x)

This function returns the normalized fraction. If the argument x is not zero, the normalized fraction is x times a power of two, and its absolute value is always in the range 1/2 (inclusive) to 1 (exclusive). If x is zero, then the normalized fraction is zero and zero is stored in exp.

x = mantissa * (2 ^ exponent)

printTable(frexp(16.4))
#[
1	=	0.5125
2	=	5
]#

And.. Now to show that:
16.4 = 0.5125 * (2 ^ 5)
:tada:

uh so what is this for?

uh so what is this for?

It is a missing mathematical function for Expression 2.
Calculates mantissa and exponent of a (double) floating-point number.
Need this badly..

@CaptainPRICE I believe he's asking what is your use case

I believe he's asking what is your use case

One would be to make number->binary converter where most-significant bit is the first one..
Another one would be crypto..
And so on, like any other math func, just seems rarely used, but when you need it, you damn need it. You know what I mean ;)

Why bother, just import the whole mathlib.

just import the whole mathlib.

Right.. almost.
math.randomseed is unsafe.
So, "whole" would not be a good idea. See SandBoxes.

he didn't get it.


Map monoid

Hi there, I was curious whether you'd be interested in implementing the Map monoid in Dry-Monad, an inspiration for this is https://github.com/DrBoolean/immutable-ext . I was thinking in the line of
name_map = Map(
 {
   first: Some("Joe"),
   last: None(),
}
)

# Hash -> String
SayHi = -> (name_hash) {
  name_hash[:first] + name_hash[:last] + ', hi' }

name.bind{|name_hash| Dry::Monads.Maybe(SayHi(name_hash) } # => name_map, because there's a None(); had last name existed, it would be Some("Joe Smith, hi")

Perhaps you could use a hand in implementing this?

Thanks for the suggestion, it'll be in the next version: https://github.com/dry-rb/dry-monads/pull/103 I'll push it later this week.


Need to add C. hastiforme

Is closely related to C. bot and C. sporogenes but is its own species

I have been made aware that Tissierella praeacuta == Clostridium hastiforme

Couldn't find a complete genome and so wontfix https://www.ncbi.nlm.nih.gov/datasets/genome/?taxon=43131&assembly_level=3:3


Add support for signMessage (eth_sign, personal_sign)

#21

This seems to work but its in conflict now
I back ported to two branches, master and web3-one on another repo for anyone else
https://github.com/loomnetwork/truffle-hdwallet-provider#web3-one

Thanks for this @dekz! I wound up merging @mattkanwisher's implementation which I believe was based on this work.


Acquire and install shelf trays on devicelab racks

Please physically setup/configure one (preferably 2) of the extra racks in the devicelab.
Configuration should match the existing racks layout.

You will need to track down where to get the missing shelf trays.

Need to order 12 sliding trays for two new racks in Greenhouse lab. I have spoke with Hector in lab that he doesn't have any available from his side.

Works have been completed.


Exclude unstable branch while canceling previous workflows

Search before asking

[X] I had searched in the issues and found no similar issues.

Motivation

As shown in the figure above, the retrying workflow was canceled due to a new commit.
We may retry the kvrocks ci action of some commits in the unstable branch.
At this time, if the unstable branch can only run one workflow at the same time, it will cause some trouble.
Solution
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

I don't think this is a big deal. Always we focus on the latest version and it's fine if only the nightly version passes CI.
If you want to debugging an unstable test, you may open a branch on fork or send a draft pull request.

I don't think this is a big deal. Always we focus on the latest version and it's fine if only the nightly version passes CI.
If you want to debugging an unstable test, you may open a branch on fork or send a draft pull request.

In fact, there is another situation.
For example, if two commits are merged into the unstable branch within a short time interval, the workflow of the previous commit will be canceled, and the actions status of the previous commit will display a ❌.

@PragmaTwice since we require every PR should be up-to-date before merge, actually we can skip running CI in unstable branch.
See also Apache Pulsar's CI settings:
on:
  pull_request:
    branches:
      - master
  push:
    branches:
      - branch-*

@PragmaTwice since we require every PR should be up-to-date before merge, actually we can skip running CI in unstable branch.
See also Apache Pulsar's CI settings:
on:
  pull_request:
    branches:
      - master
  push:
    branches:
      - branch-*

It is a good idea, actually I think maybe we can use another workflow on unstable branch to build and test kvrocks with more environment and build options than the current workflow trigger by PRs.

@PragmaTwice it sounds like something similar to "MergeCI" in TiDB project. However, I'd prefer running tests as early as possible instead of running less tests and fix bugs later.


Skill Calc Improvements

Consistent Ordering of Skilling Actions

[x] Add test case for ordering of Skilling Actions & reorder skilling actions to pass test (Lvl low to high -> Xp low to high -> Alphabetical)

Skilling Bonus Changes

[x] Add Felling axe + rations (110%)
[x] Change Goldsmith Gauntlets from Smithing Action to Smithing Bonus
[x] Standardise the % bonus to remove the +
[x] Add Wilderness Agility Ticket Bonuses (105%, 110%, 115%)

Varlamore

[x] Add Varlamore Skilling Actions

[ ] Add Civitas Illa Fortis Teleport to Magic Skilling Action

[x] Add Blessed Sunfire Wine Prayer Bonus

Misc Fixes & Additions to Skilling Actions

[x] Update Rogues chest xp to be 701.7 in line with Update:Poll 80 Wilderness Changes & More (7th February 2024)
[x] Fix MITH_CROSSBOW enum to be MITHRIL_CROSSBOW
[x] Add Magic Skilling Action - Kourend Castle Teleport
[x] Add Woodcutting Skilling Action - Juniper Tree
[x] Fix Construction Skilling Action MAHOGANY_EAGLE_LECTERN  to have proper Item.ID
[x] Add Agility Skilling Action -  Wilderness Agility Course Lap
[x] Add Agility Skilling Action - Wilderness Agility Course Ticket

[ ] Update Wilderness Agility Ticket Icon

All of the necessary changes should be done, the only thing that we need to do some extra testing on is the rounding change.
As shown here

Oh and we still have to add Civitas Illa Fortis Teleport to Magic Skilling Action and Update Wilderness Agility Ticket Icon as soon as we get an update for the cache.

We've tested the rounding change by fishing lobsters with a full anglers outfit (92.25xp if you do 1.025 * 90).
In the old version it showed up as 92.3xp in the new one it shows 92.2xp.
Every 5th lobster caught in our tests gave 93xp, which means the current math should be correct.
We still might want to test this for more things.

This branch needs rebase, the diff here is showing unrelated changes.

I did the rebase, should be fine now.


Does the buildpack support .profile execution

The Java buildpack supports the execution of shell commands before the application start. It works in the way that adding a .profile file leads to the execution of it. The file is to be put into the root of an executable jar (tried this, ti works) or to the root of a war file (didn't try this).
Does the IBM Websphere Liberty buildpack support this?

@berndgoetz execution of .profile or .profile.d is really a function of CF.  But, they can be used when using the liberty buildpack.  They need to be in the app root directory.   For example, I have a directory structure like this:
~/mydir
~/mydir/app/
~/mydir/app/myapp.war
~/mydir/.profile
~/mydir/server.xml
cf push MyAppName -p ~/mydir

@berndgoetz execution of .profile or .profile.d is really a function of CF.  But, they can be used when using the liberty buildpack.  They need to be in the app root directory.   For example, I have a directory structure like this:
~/mydir
~/mydir/app/
~/mydir/app/myapp.war
~/mydir/.profile
~/mydir/server.xml
cf push MyAppName -p ~/mydir


Restore Dma

The next three days I will not be able to commit.
Therefore, if minor fixes are needed, please correct them yourself or wait for me.


O11s

Working on creating various o11s triggers. I tested most of these yesterday and adjusted the callouts to make more sense over TTS. My raid group just starting progging this fight. Let me know, thoughts.

Hmm.  It seems a little bit like every pull request you do includes every change you've ever made.
Forgive me if you already know all of this, but one thing you might consider is that instead of merging in upstream quisquous/master to your local branch, to just git reset --hard quisquous/master.  When I'm working and writing forks, I usually have master be exactly the upstream master.  Then I create individual feature branches that track that (which it looks like you're doing) and submit pull requests for those.  And then after those land, I update master again to be exactly the upstream master.  I don't merge into my local master, I just fast forward.

Yeah It got really dumb on my end and sorry for that. Trying to avoid that if possible. I am working out of branches, but I havent really done a lot of stuff with pull request or working with other peoples projects like this so I am trying to branch out some and could use any tips or feedback you have! Sorry if its troublesome on your end too, we dont really use git at work and I use it for personal stuff but mostly just random projects

Hey thanks for the commands and such! I'm going to definitely use that and see how that works out for me hopefully less issues.


OAuthSwift creates errors reusing NSURLErrorDomain instead of its' own domain, OAuthSwiftError.Domain

Description:
I encountered this issue when a token refresh with Microsoft Azure ActiveDirectory failed due to a password change by the user.
In this situation, the  OAuthSwift library returned a 400 error code. The error was correctly parsed to add the OAuth error information into its' userInfo but the error was returned with domain NSURLErrorDomain rather than OAuthSwiftError.
Example error as returned by line 183 of OAuthSwiftHTTPRequest.swift (line number references the current origin/master codebase file):

"Error Domain=NSURLErrorDomain Code=400  UserInfo={NSLocalizedDescription=AADSTS50173: The provided grant has expired due to it being revoked. The user might have changed or reset their password. The grant was issued on '2019-01-17T19:44:33.6456875Z' and the TokensValidFrom date for this user is '2019-01-17T20:07:18.0000000Z' \nTrace ID: 757e5b97-110a-42b4-9b84-4bb0743f0700 \nCorrelation ID: 983947ea-53bf-4b30-bd06-87856a48f1ea \nTimestamp: 2019-01-17 21:50:40Z}

I believe this is an issue with the OAuthSwift because NSURLErrorDomain is one of Apple's Foundation error domains for NSURLSession.  The expected possible error codes are already defined listed in NSURLError.h, and do NOT include a code 400.
My understanding is that returning an error using NSURLErrorDomain  is bad practice and possibly is a bug, as developers do not expect a non-apple library to reuse Apple's own error codes for custom errors.
Best practice for error handling in Libraries/frameworks is for developers to create their own custom error domains and codes for their libraries and publish the error domains and codes with the documentation.
This approach has generally been followed in the OAuthSwift library in OAuthSwiftError.swift, however the particular error I referenced is being created by OAuthSwift in a way that violates best practices.   I believe the errors passed out of the OAuthSwift library SHOULD always have the domain OAuthSwiftError, since that is the whole point of defining an error domain and codes for this library to use in OAuthSwiftError.swift.
--
Re: fixing this issue:

I'd like to try fixing it (though happy to take suggestions from others re whether or how this should be addressed).
I will create pull request with my suggested fix for review by the other contributors.

OAuth Provider? (Twitter, Github, ..):
Microsoft Azure Active Directory.
Using OAuth2.0 with the ExchangeActiveSync API
OAuth Version:

[ ] Version 1
[X] Version 2

OS (Please fill the version) :

[x] iOS :
[ ] OSX :
[ ] TVOS :
[ ] WatchOS  :

Installation method:

[ ] Carthage
[X] CocoaPods
[ ] Manually

Library version:

[ ] head
[x ] v1.2.1
[ ] v1.2 (Swift 4.0)
[ ] v1.0.0
[ ] v0.6
[ ] other: (Please fill in the version you are using.)

Xcode version:
-[x] 10.1

[ ] 9.3 (Swift 4.1)

[ ] 9.0 (Swift 4.0)

[ ] 9.0 (Swift 3.2)

[ ] 8.x (Swift 3.x)

[ ] 8.0 (Swift 2.3)

[ ] 7.3.1

[ ] other: (Please fill in the version you are using.)

[ ] objective c

[x] swift

You are right the domain is wrong
We put http status code in the error, maybe a domain exist about that but not sure because I often import in my project a custom enum to list http errors code
Google use it own domain "Error Domain=com.google.HTTPStatus Code=400"
So "OAuthSwiftError.HTTPStatus" could be used
I we change somethings
a code to check
public var isExpiredToken: Bool {
        guard self.domain == NSURLErrorDomain else {
            return false
        }


Support reverseGeocodeLocation with a given locale.

Hello 👋
Since iOS 11, it is possible to get a localised CLPlacmark-s.
https://developer.apple.com/documentation/corelocation/clgeocoder/2908779-reversegeocodelocation
I created these extension functions to get a localized CLPlacmark for a given locale.

Looks pretty good. Can you check why the tests are failing? Thanks

Forgot the add the availability checks from OSX, watchOS and tvOS 😅

Thanks @jdisho