Add WeChat guide page

Change logs
Add WeChat guide page to the website.
Contributor's checklist
Here are some reminders before you submit your pull request:

Make sure that your Pull Request has a clear title and commit message. You can take the Git commit template as a reference.
Sign the Contributor License Agreement as prompted for your first-time contribution (One-time setup).
Learn the code contribution and doc contribution guides for better collaboration.
Make sure that your changes deployment preview is successful.
List your communications in the GitHub Issues or Discussions (if has or needed).
Feel free to ask for the @cloudberrydb/doc team or other people to help review and approve.

Don't merge this PR until it's ready.

Now it's ok to be approved.
Preview link: https://deploy-preview-40--cloudberrydb.netlify.app/community/wechat.


Added Header.X_FORWARDED_FOR constant.

This is helpful to get real ip when using proxies like Apache or Nginx.

Thank you @almirb !


Possibility to add classes to a fixture?

Would it be possible to add classes to a fixture?

+1
I used contenteditor "link" fixture for some links that were styled as buttons using classes and as soon as I saved my edits, the classes were stripped off leaving the link a plain one.

+1000 here, I just wanted to post the same issue and discover yours.
Personaly, I use fixture a lot because I want my clients to be able to edit texts on their sites, but not the design neither the semantic, so I don't want to let them to play with different tags.
But I still want to be able to easily apply styles to that elements, and using class would greatly help for that purpose.
I would wrap the fixture in another tag with the class I want, but, as most october CMS user. I always try to remove a wrapper when I can (to have lighter, more readable, elegant code).
For this reason, adding class directly to the fixture element would be the best option.
Best regards,
Alex

Since opening this issues, we've tackled this problem by wrapping the element with a div. In CSS apply that styling to the html element. (like @Alex360hd already pointed out). It's the same principe, just a bit messier.
.lead h1 {
    // styles here
}

PR added, even if the wrapper solution works. I think it's nicer to have class support directly in content editor component (at lease for fixture, where it make sense).


Expand documentation of key-value printing

Now that #14 is merged it still needs documentation and some testing.
Doc at least the following:

Format.
No : if no key are presents

Pr #29 will change the format.

Done in #29.


Attempt to run CI only once

This is an attempt to prevent our CI pipeline from running twice for every PR.
There is no need to run it on: push for a PR and on: pull-request as well.

Seems to work, we run only 6 checks instead of 12 as we do currently

I guess the problem with omitting push is that it will only run on pull requests then. This could make it harder to prepare something in a (private) branch, since the pipeline will run only on creating a pull request.
Also, what will happen when pushing additional commits to an existing pull request?

I guess the first point is what pre-commit  solves.
I have checked the second because I had the same concern but every push to a PR triggers the CI. ( This one has two commits and the CI ran for both)


parsed psrcat database (in v2.0.0) version is None

Catalog version 2.0.0 has an extra space in the 1st header/meta line # CATALOG which makes version None when working with the catalog.
If changed to #CATALOG like on previous versions it works fine.

Thanks for reporting this. I'll fix this.

I've fixed this and created a new psrqpy release with the fix.


Having  a footer

I'd like to suggest you to have a footer for your website
Including copyright and a opensource license

I'd like to solve this issue

@Kritika30032002 can you assign this issue ?


为啥我第三个节点和你的不一样

我的是OmostRenderCanvasConditioningNode
你的是Omost Canvas Render

Error occurred when executing OmostLLMLoaderNode:
(MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /lllyasviel/omost-llama-3-8b-4bits/resolve/main/config.json (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)')))"), '

This node pack is still WIP. Things are subject to change. I will change the screenshot in the readme later.


1 [main] unzip (3392) C:\Program Files\Git\usr\bin\unzip.exe: *** fatal error - cygheap base mismatch detected - 0x800000000/0x210351408.

Description
Im getting error from title when running this step
- name: Download WinDivert binaries
       shell: msys2 {0}
      run: |
        wget https://reqrypt.org/download/WinDivert-2.2.0-A.zip -O ~/windivert.zip
        unzip ~/windivert.zip -d ~/windivert
Log: https://github.com/iocmet/roblox-dissector-build-fixed/actions/runs/4050331938/jobs/6967620626
Platforms affected

[ ] Azure DevOps
[X] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[] Windows Server 2019
[X] Windows Server 2022

Image version and build link
I don't understand how to get it and where is "Set up job"
Is it regression?
No
Expected behavior
Successfull build
Actual behavior
Getting error on one of steps
Repro steps
I don't know

Hello @iocmet, seems like I cannot reproduce the issue on windows-2022 - take a look (log).

It seems that this issue regarding wget and unzip is non reproducible and I am going to close it now. If you have any questions feel free to reach us.


handler/dispatcher refactor

Major points:

Dispatchers no longer exist.
Simpler call path for handlers.
gorilla's MethodHandler no longer in use.
Errors more generically handled in a uniform way via HTTPError
A request Context no longer needs to embed App
The various handler structs are gone.

Signed-off-by: David Lawrence<EMAIL_ADDRESS>(github: endophage)

@endophage I did a thorough review and this is very close. The following issues need to be resolved before merging:

It's unclear what is closing the LayerUpload after the request. I could have missed this but please check.
Passing around layerUploadState is not necessary. This should only be required at the start of the request and then read from the LayerUpload at the end of the request.

Cleaned up the layerUploadState piece. Will look at the upload closing shortly.

@endophage Thank you. WTALWR.

We are going in a different direction here.


sdmmc_card_init: send_scr returned 0x109 (IDFGH-1308)

I test esp on self-made PCB, some connection problems are possible.
Only tested card, that I have now, is 2GB SanDisk (China):
sdmmc_card_init results in

sdmmc_cmd: sdmmc_card_init: send_scr returned 0x109

csd and cid read correctly:

sd_card: csd_ver : 0
sd_card: mmc_ver : 0
sd_card: capacity : 3970048
sd_card: sector_size : 512
sd_card: mfg_id : 3
sd_card: oem_id : 21316
sd_card: name : SD02G

0x109 is ESP_ERR_INVALID_CRC, and send_scr is the first transaction which uses D0 line (all the previous ones use only CMD and CLK). Suggest checking what happens on D0 line (that's GPIO2) using an oscilloscope. You may be missing a pull up resistor on this line, or you may have both a pull down resistor and a pull up one.
Note that flashing the ESP with a pull up resistor attached to GPIO2 will not work, because GPIO2 needs to be low when going into the bootloader mode. One solution is to connect GPIO2 and GPIO0 with a jumper — this will pull down GPIO2 along with GPIO0 during programming.

Sorry for post here, I have same problem, but i am getting a different value. I am getting this:
sdmmc_cmd: sdmmc_card_init: send_scr (2) returned 0xffffffff
Could be the same problem?

For anyone else landing here from searching for this 0x109 error, my solution was simply telling it to use the pullups in software -
For Arduino:
  pinMode(15, INPUT_PULLUP);
  pinMode(2, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(12, INPUT_PULLUP);
  pinMode(13, INPUT_PULLUP);

or ESP-IDF
    gpio_set_pull_mode(15, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(2, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(4, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(12, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(13, GPIO_PULLUP_ONLY);

Work...!
Thanks

I have found that in Arduino Studio, when using the Camera and SD_MMC together on the ESP32 CAM board, if I do anything with pin 4 anywhere in the code, the camera will sporadically fail (error messages listed below).
I have absolutely verified this many times now that I have tracked it down, as this has plagued me for weeks.
If I have the following line anywhere in my code, even inside an if statement where it is not being called, my camera will sometimes fail when I am using SD:
pinMode(4, INPUT_PULLUP);
Below is the set of error messages I sporadically get when I include any pinMode for GPIO 4:
[E][camera.c:1113] camera_probe(): Detected camera not supported.
[E][camera.c:1379] esp_camera_init(): Camera probe failed with error 0x20004
Camera capture failed
Again, this is specific only to the case where you are using SD_MMC.h and the Camera together on an ESP32-CAM board.  It may also only be limited to Arduino Studio.
It is my belief that by including pinMode anywhere in your code, either Arduino or the ESP32 configures that pin for IO, which causes issues with the SD_MMC and the camera's SCCB interface.  There were other posts I found where it said that you had to enable SD_MMC by calling SD_MMC.begin() prior to initializing the camera, or there would be issues with the registration on the SCCB interface (or something like that).  I now call SD_MMC.begin() right at the beginning of my setup() function and I do not use GPIO4 for anything - and of course I don't do any pinMode on GPIO4 anymore!
Hope this helps someone!


GetxService doesn't hold value stored in another screen when you find and update GetxService Controller.

ATTENTION: DO NOT USE THIS FIELD TO ASK SUPPORT QUESTIONS. USE THE PLATFORM CHANNELS FOR THIS.
I have two GetxServices one is AppSetting and another one is AppAuthentication... AppSetting is initialized at the time of app start and AppAuthentication service initialized at the time of flash screen load.... after auto authentication I am assigning some values to variables in AppSetting... (Ex: authKey... I use this authKey through out my application for Api requests..)
Describe the bug
for some reason GetxService doesn't keep updated value when you find GetxService inside another GetxService and assign value... once I move to next screen with Get.offAll(NextScreen()) and then in new controller if I call GetxService... If I try to read value, it shows initial value but not the updated value;
**Reproduction code
class AppSettingService extends GetxService {
  var authKey = "".obs;
}

class AuthService extends GetxService {
  final AppSettingService _service = Get.find();
  Future<bool> authenticateUser(user) async {
  _service.authKey.value = "xyzabc";
  }

}

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
data should have been available in all the screen...
Screenshots
If applicable, add screenshots to help explain your problem.
Flutter Version:
environment:
sdk: ">=2.7.0 <3.0.0"
Getx Version:
get: ^3.26.0
Describe on which device you found the bug:
ex: Moto z2 - Android.
Minimal reproduce code
Provide a minimum reproduction code for the problem

Sorry Issue was with my code...


add a extra option to round for floor/ceil/round with precision

see #9

I think we should add floor() and ceil() methods as well, which are just wrappers for round() with hard-coded third option.

OK, i have changed the check so if desired we can use constants and add more options

Also I really think that we should support this in format_number etc. as well.

This looks good, but I just want to add one more change ... instead of the hard coded numbers -2, -1, 0, 1, 2 let's add some new constants: ROUND_ABS_FLOOR, ROUND_FLOOR, ROUND_NORMAL, ROUND_CEIL, ROUND_ABS_CEIL or similar? And use those everywhere you currently have the hard coded numbers (including in the tests).

OK, can you guide me how do you like constants?
use constant?
Readonly?
And should we export the constants? Or only for internal use?
2017-03-07 20:16 GMT+01:00 Bill Ward<EMAIL_ADDRESS>
This looks good, but I just want to add one more change ... instead of the
hard coded numbers -2, -1, 0, 1, 2 let's add some new constants:
ROUND_ABS_FLOOR, ROUND_FLOOR, ROUND_NORMAL, ROUND_CEIL, ROUND_ABS_CEIL or
similar? And use those everywhere you currently have the hard coded numbers
(including in the tests).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/billward/number-format-perl/pull/11#issuecomment-284826040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADacMe2yCDKR0uks7OWEN8Q3XV_-c02ks5rja0OgaJpZM4L2lWQ
.

Use constant would be fine - there is already one constant in the module
for MAX_INT.
They can be in @EXPORT_OK so the user has the choice.
On Tue, Mar 7, 2017 at 11:22 AM, Felix Ostmann<EMAIL_ADDRESS>wrote:

OK, can you guide me how do you like constants?
use constant?
Readonly?
And should we export the constants? Or only for internal use?
2017-03-07 20:16 GMT+01:00 Bill Ward<EMAIL_ADDRESS>
This looks good, but I just want to add one more change ... instead of
the
hard coded numbers -2, -1, 0, 1, 2 let's add some new constants:
ROUND_ABS_FLOOR, ROUND_FLOOR, ROUND_NORMAL, ROUND_CEIL, ROUND_ABS_CEIL or
similar? And use those everywhere you currently have the hard coded
numbers
(including in the tests).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/billward/number-format-perl/pull/11#issu
ecomment-284826040>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADacMe2y
CDKR0uks7OWEN8Q3XV_-c02ks5rja0OgaJpZM4L2lWQ>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/billward/number-format-perl/pull/11#issuecomment-284827600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAU0ZCIFCdJTQhZRefnks8esAsIZHTy1ks5rja5cgaJpZM4L2lWQ
.

--
Check out my LEGO blog at brickpile.com http://www.brickpile.com/
Follow/friend me: Facebook http://facebook.com/billward • Flickr
http://flickr.com/photos/billward/ • Twitter
http://twitter.com/williamward • LinkedIn
http://www.linkedin.com/pub/william-ward/63/393/985/ • Goodreads
https://www.goodreads.com/user/show/2554312-bill-ward

Additional i make a :constants export (like :subs or :vars)
I hope the documentation changes from me are not so bad :-/
Also i hope i found all placed to explain the round_option.
Have a nice day!
2017-03-07 20:45 GMT+01:00 Bill Ward<EMAIL_ADDRESS>
Use constant would be fine - there is already one constant in the module
for MAX_INT.
They can be in @EXPORT_OK so the user has the choice.
On Tue, Mar 7, 2017 at 11:22 AM, Felix Ostmann<EMAIL_ADDRESS>wrote:

OK, can you guide me how do you like constants?
use constant?
Readonly?
And should we export the constants? Or only for internal use?
2017-03-07 20:16 GMT+01:00 Bill Ward<EMAIL_ADDRESS>
This looks good, but I just want to add one more change ... instead of
the
hard coded numbers -2, -1, 0, 1, 2 let's add some new constants:
ROUND_ABS_FLOOR, ROUND_FLOOR, ROUND_NORMAL, ROUND_CEIL, ROUND_ABS_CEIL
or
similar? And use those everywhere you currently have the hard coded
numbers
(including in the tests).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/billward/number-format-perl/pull/11#issu
ecomment-284826040>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADacMe2y
CDKR0uks7OWEN8Q3XV_-c02ks5rja0OgaJpZM4L2lWQ>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/billward/number-format-perl/pull/11#
issuecomment-284827600>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAU0ZCIFCdJTQhZRefnks8esAsIZHTy1ks5rja5cgaJpZM4L2lWQ>
.

--
Check out my LEGO blog at brickpile.com http://www.brickpile.com/
Follow/friend me: Facebook http://facebook.com/billward • Flickr
http://flickr.com/photos/billward/ • Twitter
http://twitter.com/williamward • LinkedIn
http://www.linkedin.com/pub/william-ward/63/393/985/ • Goodreads
https://www.goodreads.com/user/show/2554312-bill-ward
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/billward/number-format-perl/pull/11#issuecomment-284837208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADacBdJ1jd3x3dx-w2BccxJo0JbvgWbks5rjbPwgaJpZM4L2lWQ
.


Stream Enrich: investigate supporting recordLimit for Kafka

Migrated to https://github.com/snowplow/enrich/issues/59


Update NetworkWatcher to only do data lookup

Is there an existing issue for this?

[X] I have searched the existing issues

Greenfield/Brownfield provisioning
greenfield
Terraform Version
1.5
Module Version
2.0.x
AzureRM Provider Version
3.55
Affected Resource(s)/Data Source(s)
n/a
Terraform Configuration Files
n/a

tfvars variables values
n/a

Debug Output/Panic Output
n/a

Expected Behaviour
In the current module, the Network Watcher is created when the spoke is created in a separate sub. Since Azure creates this automation when a vnet is created, the module has no reason to create one.
Actual Behaviour
In the current module, the Network Watcher is created when the spoke is created in a separate sub. Since Azure creates this automation when a vnet is created, the module has no reason to create one.
Steps to Reproduce
No response
Important Factoids
No response
References
No response

This is related to issues #19


pub upgrade times out with this pubspec

This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?

 What do you see instead?
This was working until I upgrade dart to 1.7.2 today.  Though I can't say this is directly related, since package dependencies may have changed since the last time I ran pub upgrade.
pub upgrade now returns after about 5 minutes with:
Connection closed before full header was received
What version of the product are you using?
1.7.2 stable
On what operating system?
linux/windows: tried on both
What browser (if applicable)?
n/a
Please provide any additional information below.
I feel like I'm running into some upper bound of what pub can do before timing out.  For example, when I start to remove some of these packages and reduce it down to lets say:
  polymer: '>=0.13.0+3'
  redstone: '>=0.5.15'
  redstone_mapper: '>=0.1.6'
Then the upgrade process will complete in at just under 5 minutes.  But as I start adding packages back in, pub upgrade gives up with the connection closed timeout.
Any suggestions? Or is there a way to increase the timeout?

This issue has been moved to dart-lang/pub#1171.


Borrow tabs

--Create ui for borrow page
--There will be status setting in requested page
--Basic structure and mock data are same as library page
--Browse page will take up a different branch


[Design Proposal] New Dashboard Creation flow

This is a proposal for multiple changes to the current dashboard creation flow.  Please share any concerns or comments directly in this issue.
How to access the new dashboard flow
We recently added a universal “New” button to the Superset navigation bar:

This “New” button is available from every page in Superset.  Users enter the flow proposed here by selecting the “New… Dashboard” option.
New Dashboard Creation Flow (proposed)
If the user doesn’t yet have any of their own charts...
If the user doesn’t yet have any of their own charts, this is what they will see:

Note these changes from the current experience:

Opening directly into this editor shortcuts the current multi-stage process to get to this point, including a placeholder title.
Sidebar + toolbar at left of the window rather than the right. We're suggesting to move it to the left for two main reasons:

The Chart and SQL editors use side panels on the left, so this makes all the flows consistent.
New users often don't know what to do, so this new design puts the key actions at the top left of the window where users are more likely to see them.

What was previously under “Your charts and filters” is expanded to take up the whole sidebar
Structural tools like tabs, rows, dividers are now contained in a vertical toolbar.  Tooltips will show the associated action (e.g., “Drag to insert tabs”)
New textual cue on the blank canvas: “Create a chart to place it on the canvas”
There is a new button to create a new chart.  This “Create new chart” button takes the user to the chart creation flow as described here in a new tab.  This button is sticky at the top of the panel.  Note: If possible, the tabs should communicate so that once the chart is created it shows in the dashboard automatically.

If the user has already created at least one chart...
If the user has already created at least one chart, this is what they will see:

In addition to the sidebar and toolbar changes mentioned above, note these changes from the current experience:

Users can preview their charts with thumbnails. This is an optional feature: including a choice to enable/disable it; disabled should be default state.
New textual cue on the blank canvas: “Drag and drop items here”

If the user edits an existing dashboard...
If the user edits an existing dashboard, this is what they will see:

This is the same as the current editing experience except for the sidebar and toolbar changes mentioned above.
How to move forward
Lyft is proposing these changes as a result of research and many iterations with multiple teams.  Airbnb (cc @elibrumbaugh) will further iterate if needed, but at the time of this proposal, the general consensus is that this is an improvement on the current UX for dashboard creation, so we would like to enable development of this ASAP.

Hi @dorq Thanks for the proposal, I like it. Here is my input from engineering point of view:

We add Sort and Filter capabilities at the top of this list (sticky at top of panel).
Current dashboard editor had sort and filter capabilities for the chart lists, right? is there any difference from current feature?

I noticed there is a preview in the chart list, which is not available in the current dashboard. We didn't implement mostly from performance concerns. When user open edit mode, the chart list shows all the charts that owned by the user, for airbnb users it may a few hundred items, and each chart is a query (sometimes may be cached data) to backend. So when to send query, send how many queries, how to handle user scrolling in the chart list, etc., to implementation these need a lot of intelligence.  Otherwise user will get stuck waiting for query running and chart render, and the editing dashboard could become unusable.

If you decided to implement this chart preview, please offer a choice to disable it, and disable should be default state, so that user won't get stuck when we release the new version. If user really want to see chart preview, they can manually enable it.

Current dashboard editor had sort and filter capabilities for the chart lists, right? is there any difference from current feature?

You're exactly right.  I mistakenly noted this as an update while we already have these features.  I've updated the description.

If you decided to implement this chart preview, please offer a choice to enable/disable it, and disabled should be default state, so that user won't get stuck when we release the new version. If user really want to see chart preview, they can manually enable it.

Also agree with this point.  I've updated this one as well.
Please let me know what you think of the edits!  Thanks for your thoughtful response.

Thanks again for sharing this proposal Anita!

The create new chart button is outlined while the new button is filled. We should align on a single style for primary actions. In this context create new chart is certainly a primary action. Using the filled style will also help improve discoverability.
Love the rationale behind moving the panel to the left.
Re: the name of the dashboard on creation is there a way to make it more human readable? Remove underscore? Also the uppercase U here is at contrast with the lowercase chart placeholder title text.
I'm on board with removing the charts out of their own tab and bringing them to the forefront. A few things we should consider here is 1. Setting expectations about where the new chart will appear. This could be help text underneath the + Create New Chart button.
The way the existing panel improved discoverability of the different components the user could apply to their dashboard was by writing out the entire title. We dual encoded title with icon. To solve for this here would be to write the name of the component under the icon in small text and/or hover tips like you mentioned. It would be cool if we explained purpose of the component as well.
This structural cue as you called it works better than the button looking style on the create new chart flow. Could we align them?
Sort by and search/filter your charts looks better here than in create new chart. Seeing the outlined inputs for sort by and search makes me think the create new chart button should be filled to improve the hierarchy.
Love the thumbnails! Nice considerations for disable as optional.
Today when I edit a dashboard there is visual context for what charts have and have not been applied. How will this be handled?

Thanks!

We will consider both dashboard and chart creation flow post 1.0. added item to roadmap inbox. https://github.com/apache-superset/superset-roadmap/projects/1

I think we can close this proposal for now after an extended period of inactivity. Some of this is potentially being addressed in forthcoming proposals from @kasiazjc and @jess-dillard


Large file support

I understand from https://github.com/microsoft/libHttpClient/issues/500 that you won't be providing an official implementation for this, but it's a requirement for my current project.
If we go ahead and implement that functionality, would you consider a PR that does so for Windows/GDK only? Android/Apple etc are out of scope for us.

Yes, as long as it doesn't cause trouble with that sounds good.
Also be aware you'll need to sign to the Microsoft CLA: https://cla.opensource.microsoft.com/ as per Microsoft policy.  The github bot will guide you through the process when you submit a PR.

By "large file" how big do you mean? I was planning to use libhttpclient for POST with a body up at around 10 mb. Is that going to be a problem?

If you've got 10MB of memory spare, no :)
At the moment the current WinHTTP implementation grows its internal buffer to store the entire response (ie it resizes, then appends to the end of the buffer on WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE), so the issue is more about running out of memory if you, for instance, make a GET request for a file that's a couple hundred MB+.

Closing this out but feel free to open a PR if you want the support as discussed.


unsure if "memory leak" message refers to the client or to the host app

Hi. I haven't used Cloud Trace myself, but I'm trying to track down an issue that a user of my SAAS product is having where they are getting the following message from Cloud Trace:
@google-cloud/trace-agent ERROR TraceApi#createChildSpan: [http@12.14.1:https] Adding child span [stream.launchdarkly.com] will cause the trace with root span [/v1/events] to contain more than 200 spans. This is likely a memory leak.
The hostname stream.launchdarkly.com is a service endpoint in my product - it's expected that they would be making requests to it. What we're not sure about is whether this message is saying that my service client code is leaking, or that Cloud Trace thinks its own data structures may be leaking. Based on the references to "spans", and the reference to "context confusion" in the code comments, and this earlier issue as well as this, I suspect it might be the latter.
The documentation doesn't say anything about this kind of thing as far as I can tell, and the tool doesn't seem to be intended to diagnose memory issues in the host application (I can't see how it could do so, either - how could it know whether the cause of a leak in the host app was context confusion or something else?).

If you do any kind of request pooling or otherwise reuse objects between different requests in your client library then it could be as a result of that. Keep in mind this could be as a result of dependencies like Bluebird if you use it. But if your service's client code is relatively thin it might be an issue with your user's codebase or their dependencies. You're right that we can't really tell from the point of view of our agent, so I can't say for certain much else than that.

@kjin Could you say more about what you mean by "otherwise reuse objects between different requests"? It's hard for me to imagine a scenario where handling different requests would not involve referencing some of the same objects.
Also, am I wrong that this specific message was added because the client was previously known to have had a leak? The message and the code comments seem to me like they're mainly geared toward internal development of the library - it's unclear to me whether the concept of a root span containing more than 200 child spans is something users of this tool are expected to understand, and there doesn't seem to be anything in the documentation about this error.

@kjin Could you say more about what you mean by "otherwise reuse objects between different requests"? It's hard for me to imagine a scenario where handling different requests would not involve referencing some of the same objects.

My bad, I should have been clearer - I'm referring to retaining request data that could conceivably be used in or linked to a different request. A common case of this would be userspace request pooling, where maybe you have a specific number of connections available at a time. If you have a pool of 16 reusable connections, say, it's possible that the 17th request accidentally gets associated with the 1st by our Trace Agent. Batching requests could be another example. Another might be awaiting a Promise that was constructed globally or in a different handled request than the current one.

Also, am I wrong that this specific message was added because the client was previously known to have had a leak? The message and the code comments seem to me like they're mainly geared toward internal development of the library - it's unclear to me whether the concept of a root span containing more than 200 child spans is something users of this tool are expected to understand, and there doesn't seem to be anything in the documentation about this error.

We do describe the distinction between root and child spans in our README, with the relationship being that child spans generally correspond to outgoing RPCs made on behalf of a root span which corresponds to an incoming request (all of this is referring to the user's server). The error message is saying we think that more than 200 outgoing RPCs are being associated with a single incoming request, and that this is not normal. If it's known to be normal (by the app developer) of course this limit can be raised, but 200 is the default.
I think our original intention of the message was to help us debug issues when the user posted their error log, although I don't think it's too esoteric for our users to use this information as well.

Thanks, that's helpful and gives me more of an idea what to look at in the code. Probably the best way for me to proceed is to just use regular memory profiling tools while exercising these code paths heavily.


Detect misses on botplay? for 0.6.3 (Post 2)

What is your question?
NO ONE cared about me last time, so I'll have to try a THIRD time, since I already tried on Reddit too. Anyways...
Hi, I'm making a HUD mod for Psych Engine 0.6.3 and I want the HUD to show the misses of the bot if it somehow misses. I have experienced the bot miss notes before, but it wouldn't show the miss counter. I was using the song RUN and put it on 3x scroll speed and 3x play speed. It got 976 notes hits out of the 979 notes it would hit with normal play and scroll speed. It didn't show the miss counter, even though the "fakeMisses" variable was supposed to miss upon the noteMiss function. Here's my script:
hud.txt

Nobody cares about me :(
EXCEPT CHATGPT


Requery SQLite

Could there be some investigation and perhaps implementation of a mechanic to allow for switching between Android's default SQLite engine or one issued by Requery?
@JakeWharton have you given this any thought?

seems like something worth forking for? It shouldn't require many changes but it would have to depend on requery/sqlite-android which i doubt sqlbrite ever will.

A shim was proposed for SQLCipher support already and we rejected it. It's
highly unfortunate Android's APIs aren't abstracted to be reused. Maybe we
should push for an official support library for this? That would be
something we would support then.
On Tue, May 10, 2016 at 6:46 PM Alec Strong<EMAIL_ADDRESS>wrote:

seems like something worth forking for? It shouldn't require many changes
but it would have to depend on requery/sqlite-android which i doubt
sqlbrite ever will.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/square/sqlbrite/issues/109#issuecomment-218314384

Vote (not comment) on http://b.android.com/202658. We're going to try to push this issue first.

Here's the rejected SQLCipher change for reference: https://github.com/square/sqlbrite/pull/101

Waiting for the first-party SQLite abstraction to reach 1.0 before we can depend on it.

Can't wait for this. Will have to be a V3.


Remove version: Stackers.Stack version 3.12.9

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://binaries.getstack.app/builds/prod/win/x64/Stack Setup 3.12.9-x64.exe
Response status code does not indicate success: 530 ().
(Automated message - build 896)


Added_code_for_previously_used_path_for_diagnostic_dialog_box

Issue :
User wish the application to remember the path to the output folder  used earlier , instead of default path to user root folder .
Fix :
Modified code in CollectDiagnosticInfoHandler to store the path of user's folder , if the path is set to user's folder use this path instead of default root folder .

@cgujarat will you continue working on this PR?

@ShadelessFox added new code changes

@cgujarat, there is a new review from @ShadelessFox. Please check


How to print array object in java script?

var list=ele.map(function(p) {
return p.getText();
});

More info is going to be necessary for a proper answer:

What's in the array? (looks like it's an array of UI elements in your case)
What do you mean by "printing"? Do you need to log the contents of the array?

Anyway, here's how to log the contents of an array of UI elements:
- script: |
    var elementsText = elements.map(function(e) {
        $log(e.getText());
    });

    $log(elementsText.join());


 This will automagically fill in the zone name, title-cased, if the start event is a zone seal.
I'm really not happy with the setup I used to do this, but the approach suffers from some circular problems. is_zone_seal depends on being fed pre-split log lines, but during each iteration of the loop, we don't split until after we might already have rejected a zone-seal message. I'd rather not split every log line for performance reasons. I guess maybe we could instead rewrite the "set started to true" block to be more like this?
            if not started:
                started = True
                last_ability_time = e_tools.parse_event_time(line)
                if e_tools.is_zone_seal(line.split("|")):
                    entry = make_entry(
                        {
                            "line_type": "zone_seal",
                            "time": e_tools.parse_event_time(line),
                            "zone_message": line_fields[4].split(" will be sealed off")[0]
                        }
                    )
                    entries.append(entry)

I'm also not terribly happy with selecting the type of start line in main, but there's not a lot of help for that without a drastic re-write.
EDIT: Never mind, it's clearly better to make the special entry at the time we know it's the start line. Let's just avoid the considerations altogether.

What about:
if not line[0:2] in ["00", "21", "22", "34"]:
    continue

line_fields = line.split("|")

# new logic about zone seals here

if not line_fields[0] in ["21", "22", "34"] or not line[37:40] == "400":
    continue

Then if somebody adds some other line that we want to care about, then we don't have multiple conditional splits, and there's an obvious place for the new code to go.
I think readability > performance concerns is the right metric here.  If this is slow, we can measure it and try to figure out what would make it better.  There's probably larger issues than small optimizations about split.

Sure, that all seems reasonable. I didn't benchmark it, but I did run a 200MB file through it and the extra overhead from this change felt negligible.


Change min selection to an unsigned min

PR description
Change the "minimum" gas in the TangerineWhistleGasCalculator to use an unsigned comparison, to ensure a larger signed value is not selected.
Signed-off-by: Danno Ferrin<EMAIL_ADDRESS>Fixed Issue(s)

Documentation

[X] I thought about documentation and added the doc-change-required label to this PR if
updates are required.

Changelog

[X] I thought about the changelog and included a changelog update if required.

Hi Danno - is this ready for release today?


Deployment for week of August 5, 2019

Orchestrator
Merge PR: https://github.com/NuGet/NuGet.Jobs/pull/788
MergePR: https://github.com/NuGet/NuGet.Jobs/pull/793
Release: 416771

[x] INT

[x] USNC
[x] USSC

[x] PROD

[x] USNC
[x] USSC

Symbols Orchestrator
Merge PR: https://github.com/NuGet/NuGet.Jobs/pull/788
Merge PR: https://github.com/NuGet/NuGet.Jobs/pull/793
Release: 416774

[x] INT

[x] USNC
[x] USSC

[x] PROD

[x] USNC
[x] USSC

NuGet.Licenses
https://github.com/NuGet/NuGet.Licenses/commit/6301156bc3c3b599ac335ef382a704d9134749db
Release: 416930

[x] DEV
[x] PROD

Stats.CreateAzureCdnWarehouseReports
https://github.com/NuGet/NuGet.Jobs/commit/1b6f4a0bf6605fb676cccca6a839cabdb5c17f2a
Release: 416773

[x] INT
[x] PROD

NuGetDSR Job
https://nuget.visualstudio.com/NuGetMicrosoft/_git/NuGet.Internal.Jobs/commit/2de7219af79d0b570a344a9177ca13541c43b842?refName=refs%2Fheads%2Fmaster
Release: 416676

[x] DEV
[x] INT
[x] PROD

complete.


Bump protobuf-java from 3.19.3 to 3.19.6 to remediate CVE-2022-3171

Fixes https://github.com/google/closure-compiler/issues/4009

Thanks for the PR!
I believe we've already fixed this in https://github.com/google/closure-compiler/commit/6da46fcc7fe64b74eeb87dc4a2493611cdf30f6a though, don't we?


How big is A5_VOICE segment?

 I assume that the upper address pins are not decoded and the Flash memory reports multiple times.
$ dd count=1024 bs=1 if=a5_voice_999999999.bin of=chunk.bin
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.0221006 s, 46.3 kB/s

$ python3 ~/SearchBin-github/searchbin.py -f chunk.bin a5_voice_999999999.bin
Match at offset:              0            0 in  a5_voice_999999999.bin
Match at offset:       67108864      4000000 in  a5_voice_999999999.bin
Match at offset:      134217728      8000000 in  a5_voice_999999999.bin
Match at offset:      201326592      C000000 in  a5_voice_999999999.bin
Match at offset:      268435456     10000000 in  a5_voice_999999999.bin
Match at offset:      335544320     14000000 in  a5_voice_999999999.bin
Match at offset:      402653184     18000000 in  a5_voice_999999999.bin
Match at offset:      469762048     1C000000 in  a5_voice_999999999.bin
Match at offset:      536870912     20000000 in  a5_voice_999999999.bin
Match at offset:      603979776     24000000 in  a5_voice_999999999.bin
Match at offset:      671088640     28000000 in  a5_voice_999999999.bin
Match at offset:      738197504     2C000000 in  a5_voice_999999999.bin
Match at offset:      805306368     30000000 in  a5_voice_999999999.bin
Match at offset:      872415232     34000000 in  a5_voice_999999999.bin
Match at offset:      939524096     38000000 in  a5_voice_999999999.bin

So is the true size 67108864 (0x4000000) bytes?

From Explorer
$ ls -la a5_voice_0x4000000.bin
-rw-rw-r-- 1 simon simon 67108864 Jun  3 12:50 a5_voice_0x4000000.bin

$ md5sum a5_voice_0x4000000.bin
8041a6599884e31f800c879f033c8fe7  a5_voice_0x4000000.bin

000674e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00067500  00 00 17 00 30 00 48 00  5e 00 76 00 8e 00 a6 00  |....0.H.^.v.....|
00067510  bc 00 d5 00 ed 00 05 01  1d 01 35 01 4c 01 63 01  |..........5.L.c.|
00067520  7b 01 93 01 aa 01 c2 01  da 01 f2 01 09 02 20 02  |{............. .|
00067530  38 02 50 02 67 02 7f 02  97 02 af 02 c6 02 df 02  |8.P.g...........|
00067540  f8 02 0d 03 23 03 3c 03  55 03 6c 03 84 03 9d 03  |....#.<.U.l.....|
--
0006b500  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0006b520  00 00 30 00 5f 00 8e 00  bd 00 ed 00 1d 01 4c 01  |..0._.........L.|
0006b530  7b 01 ab 01 da 01 09 02  38 02 67 02 97 02 c7 02  |{.......8.g.....|
0006b540  f7 02 24 03 54 03 84 03  b4 03 e3 03 12 04 41 04  |..$.T.........A.|
0006b550  71 04 a0 04 cf 04 fe 04  2d 05 5d 05 8c 05 bb 05  |q.......-.].....|
0006b560  ea 05 1a 06 49 06 78 06  a7 06 d6 06 05 07 34 07  |....I.x.......4.|
--
0006d520  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0006d540  00 00 5f 00 bd 00 1d 01  7b 01 da 01 38 02 97 02  |.._.....{...8...|
0006d550  f6 02 54 03 b4 03 12 04  71 04 cf 04 2d 05 8c 05  |..T.....q...-...|
0006d560  ea 05 49 06 a7 06 05 07  63 07 c1 07 1f 08 7d 08  |..I.....c.....}.|
0006d570  da 08 39 09 96 09 f3 09  51 0a ae 0a 0c 0b 69 0b  |..9.....Q.....i.|
0006d580  c5 0b 22 0c 7f 0c dc 0c  39 0d 95 0d f1 0d 4d 0e  |..".....9.....M.|

$ dd skip=423168 count=8192 bs=1 if=a5_voice_0x4000000.bin of=test.raw
8192+0 records in
8192+0 records out
8192 bytes (8.2 kB, 8.0 KiB) copied, 0.0745105 s, 110 kB/s
$  sox -r 48k -e signed -b 32 -c 1 --endian little test.raw test.wav

$ dd skip=439584 count=8192 bs=1 if=a5_voice_0x4000000.bin of=test.raw
8192+0 records in
8192+0 records out
8192 bytes (8.2 kB, 8.0 KiB) copied, 0.0700892 s, 117 kB/s
$  sox -r 48k -e signed -b 32 -c 1 --endian little test.raw test.wav

$ dd skip=447808 count=8192 bs=1 if=a5_voice_0x4000000.bin of=test.raw
8192+0 records in
8192+0 records out
8192 bytes (8.2 kB, 8.0 KiB) copied, 0.0428686 s, 191 kB/s
$  sox -r 48k -e signed -b 32 -c 1 --endian little test.raw test.wav

Not sure whether, or how, these are mapped to the Wave-Tables, but it's very interesting...

It seems there are different sized 'waveforms' within the segment, they can be 16348, 8192 or 4096 (maybe others) and are each followed by 2 rows of Zeros (32 bytes).
These are somewhat scatter through the segment, I have just been cherry picking at the moment.

Why 16 wave files per wave form? I looks like there is some filtering done at different amounts, not sure why they need that....

A more robust decode of the table for the waveforms. Using Const() so we can high-light which data is actually changing...
a5_voice.py.txt

Looping back to the original Q, how big is the 'A5_Voice' segment....?
I noticed that there's code in the copy I made, and if I take the first 1K of the FW image it is located in my copy. Surely that doesn't count as 'Voice'.
$ dd -if=Explorer_v2.0.0/3M200_00000087_A5_code -of=chunk.bin -bs=1024 -count=1
$ python3 ~/SearchBin-github/searchbin.py -f chunk.bin a5_voice_0x4000000.bin
Match at offset:       65142784      3E20000 in  a5_voice_0x4000000.bin

The last patch appears to start here:
*
021b2a10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 96 33  |...............3|
021b2a20  7f 02 00 50 61 74 63 68  65 73 20 62 79 20 52 41  |...Patches by RA|

and end here:
02400a20  22 32 00 00 0c 00 00 82  10 00 00 82 88 00 00 80  |"2..............|
02400a30  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
02408000  00 00 00 eb 44 00 00 eb  2c 00 8f e2 00 0c 90 e8  |....D...,.......|

Noting that there's a bit of space up-to 0x02408000. Maybe used in Delux, or useful for additional wave data if we'd want to expand the table for user waves....

Another observation, data seems to start with a pointer to the first raw sample (_0_0.raw 16k)
00000000  c2 02 00 00 70 56 34 12  e0 34 06 00 dc 00 00 00  |....pV4..4......|
                                               ??               count of 220 wavform sets?
                                   ^^ ^^ ^^ ^^                  pointer to first waveform
                                                                0x000634e0_0_0.raw
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  89 00 00 00 42 02 00 00  43 02 00 00 44 02 00 00  |....B...C...D...|

And this is repeated after the raw data...
01501550  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
                                                                end of 0x01500540_218_9.raw
*
                                                                last in table 0x0151f840_219_16.raw
015ffff0  00 00 00 00 00 00 00 00  00 00 00 00 e0 34 06 00  |.............4..|
                                               ^^ ^^ ^^ ^^      pointer to first waveform
                                                                0x000634e0_0_0.raw

So maybe in truth the waveform data can't exceed this location.... :-(

Improved script with --unpack and --pack functions for raw samples
a5_voice.py.txt
Although the samples are noted to be 16384, 8192 or 4096 bytes, there are sometimes a couple of bytes after them. These possibly could be a checksum of some form....
01501530  69 0e 2a 14 7c 19 40 1e  5c 22 ba 25 47 28 f5 29  |i.*.|.@.\".%G(.)|
01501540  ba 2a 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |.*..............|
          ^^ ^^
01501550  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|


strict dereferencing result of proc call or list index fails

/datum/test
	var/val = 0

	proc/self()
		return src

/proc/do_test()
	var/datum/test/T1 = new()
	return T1.self().val

Error at code.dm:9:22: Expected dedent
Error at code.dm:9:22: Expected EOF

BeeStation blocker

As of 82cebc03172f1dad83513dbea01d96151c915690 this can be parsed, but if it's a strict dereference (. instead of :) it errors due a lack of type.

82cebc03172f1dad83513dbea01d96151c915690 was reverted. aad010043572f94fcc0370a51da8dd20401e2e53 is the second attempt at this, with (hopefully) no issues with ternary expressions. The previous problem with strict dereferencing still exists.

Fixed by #440


Remove support for GLSL input

Very few potential users for the Slang compiler care about GLSL, and for users who do care about GLSL our level of support is lackluster. GLSL only works with the -no-checking flag, which creates really complicated problems for cross-compilation when merging unchecked GLSL with checked modules in Slang. If people want to use pure GLSL input (no imports) then I guess things work, but then we are just providing a handy tool to emit your layout qualifiers for you in a determinstic fashion, plus a good reflection API, and those are both things that could be layered on top of glslang if GLSL is your thing.
Removing GLSL support is required if we are going to remove the -no-checking flag (#381), which is in turn required if we want to make the IR code generation approach robust.

PRs #392 and #395 have removed official GLSL support from the implementation and documentation.
There is still a lot of GLSL-related code in the compiler, though, so more thorough scrubbing is needed before we can really close this.
One thing to note is that for right now it is useful to have the front-end support GLSL file extensions and profiles, so that we can easily invoke the -pass-through glslang mode for testing. If and when we stop relying on that mode for comparisons, we could probably drop this support.

Closing this since the remaining code related to GLSL language features is vestigial at best, and tends to get cleaned up and removed as we run into it.


UseDataClass conflicts with DataClassShouldBeImmutable

Expected Behavior of the rule
It should be possible to write a simple class with a mutable property that does not violate the rules UseDataClass and DataClassShouldBeImmutable. Most likely, this means that UseDataClass should not be reported for classes that would violate DataClassShouldBeImmutable if converted to data class.
Context
Consider the following code:
class C(
    var strings: List<String>
)

This produces:

UseDataClass - [C]

So I convert it to a data class:
data class C(
    var strings: List<String>
)

But then I get:

DataClassShouldBeImmutable - [strings]

I don't see a way out of this cycle, so I had to resort to using @Suppress.

Thanks for reporting this!
This should be resolved by only proposing classes with immutable member variables as data classes.

Looking at this once more, I'm not sure if detekt should have a different behavior.
Maybe a config option for excluding classes with mutable properties in UseDataClass could do the trick here or we could ignore these classes altogether.
On the one hand, the Kotlin Programming Language guide mentions that mutable variables are in fact allowed.

All primary constructor parameters need to be marked as val or var

On the other hand, it's recommended to use immutable properties in data classes.

Maybe a config option for excluding classes with mutable properties in UseDataClass could do the trick here or we could be more conservative here and ignore these classes altogether, which I would favor.
On the one hand, the Kotlin Programming Language guide mentions that mutable variables are in fact allowed.

All primary constructor parameters need to be marked as val or var

On the other hand, it's recommended to use immutable properties in data classes.

Here the suggested fix: #1942


Show recipe template kind and path in the status

Description
Add template kind and path to resource status. Then store these values and return in rad resource show
Type of change

This pull request adds or changes features of Radius and has an approved issue (issue link required).

Fixes: #6440
Auto-generated summary

🤖 Generated by Copilot at e1cbaec
Summary
📝🚀🎁

This pull request adds support for template-based resource deployment in the v20231001preview API version of the radius project. It introduces the RecipeData type and the Recipe field in various resource status types, and adds custom JSON serialization and deserialization logic for them. It also updates the ConvertFrom functions and the test cases for the affected resource types to handle the new Recipe field.

Recipe field added
To support template deployment
A new feature blooms

Walkthrough

Add RecipeData type to represent the recipe data for a resource deployment using templates (link, link, link)
Add Recipe field to ResourceStatus type to hold the recipe data for a resource deployment (link, link, link, link)
Populate Recipe field in ConvertFrom functions of Extender, DaprPubSubBroker, DaprSecretStore, DaprStateStore, MongoDatabase, and RedisCache types (link, link, link, link, link, link)
Update test cases for ConvertFrom functions of Extender, DaprPubSubBroker, DaprSecretStore, DaprStateStore, MongoDatabase, and RedisCache types to reflect the Recipe field (link, link, link, link, link, link, link)
Add sample data models for testing ConvertFrom functions of Extender, DaprPubSubBroker, DaprSecretStore, and DaprStateStore types with the Recipe field (link, link, link, link)
Simplify test case for ConvertFrom function of DaprStateStore type by removing redundant assignment of Status field (link)

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test


Not really an issue but

Thank you for making this library, if it weren't for this I would have dropped learning react entirely due to all of the over-engineered libraries out there. You guys give me hope that the front-end community can still learn the 'keep it simple' principle :heart:

Thanks for the kind feedback @Paradoxis :)


No module named 'sounddevice' even when it's said it's installed in Anaconda prompt

Yeah.
I tried to use sounddevice module and it said no module named sounddevice.
So I attempted to install it in Anaconda prompt, yet it printed like 'Requirement already satisfied' which should mean that it's already installed in my laptop, right?
I have no idea what is wrong.
I wonder if anyone can help with it.

Nevermind I solved it by myself.


Add New Device - Smart Switch

Hi
I tried to add this device as a outlet and os not working

{
"name": "Portátil",
"type": "Outlet",
"manufacturer": "SmartLife",
"model": "SCW NF101",
"id": "xx",
"key": "zz"
}
That's my config, the log shows that it can discover it and connect to
[10/31/2019, 7:48:01 PM] [TuyaLan] Discovered Portátil (xx)
[10/31/2019, 7:48:01 PM] [TuyaLan] Connected to Portátil
But when performing any action on home app (the app appears) not doing anything or showing as No Answer
also I got odd 8 when performing action on tuya app
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: '4s.E\u0019\b~>NÂùM¡<«ö' }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: 'þI.3\u0016\u0002»ÙyßÀ' }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: 'þI.3\u0016\u0002»ÙyßÀ' }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: 'àÙì\u0016#¢\u001d%\u0003¯drm' }
[TuyaAccessory] Odd message from Cafetera with command 8: { cmd: 8, data: '£¹\wH\u0006Oô:r~' } [TuyaAccessory] Odd message from Cafetera with command 8: { cmd: 8, data: '\u000eÇn:XÔqk1\b|\u000f{ê' } [TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: '¢Ë\u0000ñ\u0000iöóe\u001d4lM³·' }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data<EMAIL_ADDRESS>}
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: "#U³t\u0003^s«j«'6" }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: '\u001d¡êb¸;=p=£þÑµ¨b£' }
[TuyaAccessory] Odd message from Portátil with command 8: { cmd: 8, data: '¿ö2lCÑ\u001aks©u õùì' }
thanks!!

You may need to try the latest version by running the following command: npm i -g homebridge-tuya-lan@rc
Odd message tends to indicate this issue.

Ok I'll try that I also got this before, forgot to add:
Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55
[TuyaAccessory] Socket had a problem and will reconnect to Cafetera (ECONNRESET)

Ok, applied the update and got this as HB starts:
[11/6/2019, 7:02:03 PM] [TuyaLan] Discovered Cafetera (eb042a752fc4242de7tzfe) identified as Outlet (3.2)
[11/6/2019, 7:02:03 PM] [TuyaLan] Connected to Cafetera
[TuyaAccessory] Sending first query to Cafetera (3.2)
[TuyaAccessory] Malformed update from Cafetera with command 10: json obj data unvalid
[TuyaAccessory] Raw update from Cafetera (3.2) with command 10: 000055aa000000000000000a00000021000000016a736f6e206f626a206461746120756e76616c6964d25378690000aa55

Have you tried getting the key again and also tried setting the switch as a different device type
Sent with GitHawk

Key didn't changed, just checked also tried as light and not working


Can't run

i have followed these steps:
1- docker pull ghost
2- docker run -d --name some-ghost -e url=http://localhost:3001 -p 3001:2368 ghost
I obtain:
tar: apps: Cannot utime: Operation not permitted
tar: Exiting with failure status due to previous errors
On raspberry pi3

Are you using the Alpine variant? https://github.com/docker-library/wordpress/issues/635#issuecomment-916281427

For me the following steps from this blog-post  worked.
# Get signing keys to verify the new packages, otherwise they will not install
rpi ~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138

# Add the Buster backport repository to apt sources.list
rpi ~$ echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list

rpi ~$ sudo apt update
rpi ~$ sudo apt install libseccomp2 -t buster-backports

Now just restart the docker container.

Should be closed :-p


Delete route from system only if added by the client

This adds a flags to check if the addVPNRoute executed without issues before removing a route from the system
Describe your changes
Issue ticket number and link
Checklist

[ ] Is it a bug fix
[ ] Is a typo/documentation fix
[ ] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

This is most likely superseded by changes in https://github.com/netbirdio/netbird/pull/1943, but needs tests

This is most likely superseded by changes in #1943, but needs tests

Ok, let's close this one, as it would need a better approach anyway.


index out of range panic when getting stats for Diego app while Diego stats endpoint is down

Command run:
cf app dora
CLI version:
6.11.2-72291d7
Error:
runtime error: index out of range
Stack trace:
goroutine 1 [running]:
main.generateBacktrace(0xc21000a000, 0x3)
/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/main/main.go:177 +0xa9
main.handlePanics(0x10c45d8, 0xc2100695a0)
/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/main/main.go:161 +0x123
runtime.panic(0x5704c0, 0xe7c8f7)
/usr/local/go/src/pkg/runtime/panic.c:248 +0x106
github.com/cloudfoundry/cli/cf/api.(*logNoaaRepository).GetContainerMetrics(0xc2100bd9c0, 0xc2100b19c0, 0x24, 0x0, 0x0, ...)
/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/tmp/cli_gopath/src/github.com/cloudfoundry/cli/cf/api/logs_noaa.go:68 +0x275
github.com/cloudfoundry/cli/cf/commands/application.(*ShowApp).ShowApp(0xc210341000, 0xc2100b19c0, 0x24, 0xc21018b590, 0x4, ...)
/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/tmp/cli_gopath/src/github.com/cloudfoundry/cli/cf/commands/application/app.go:112 +0x683
github.com/cloudfound

If the /v1/actual_lrps/:guid/stats endpoint is broken on the TPS component of Diego, then the GetInstances call here returns an empty slice, and probably an error which isn't being handled.  The empty slice gets passed to GetContainerMetrics here where metrics may not be empty even though instances is, so it will blow up on line 68.

Hey there,
Thanks for bringing this to our attention. Really nice bug report, I wish all our issues were this clean :)
We're writing a fix for this that should be out the next time we cut a release.


rename Indonesia to India (bug 1122588)

Needs package to be pushed for the tests to run. Fwiw if you want you can re-run tests from travis once pushed.


requirements.txt & macros plugin

python pkgs install uses requirements.txt
adding mkdocs macros plugin
updating tag v0.1.1

we should hold off on merging this as there seems to be an issue with updating existing content that came up somewhere along the line. doing some troubleshooting now.

Hey @sheaphillips
Curious if there are any updates on this one?


Clarify/Unify the states

The playback states are either confusing, incomplete or not equivalent on all platforms.
Here's how they work on Android:

NONE: No track is loaded / the player is idle
PLAYING: Self-explanatory / outputting audio
PAUSED: Self-explanatory
BUFFERING: The player was playing but it's waiting to buffer
CONNECTING: The player is loading the media but not in the play state
STOPPED: The player has ended

The READY state is unused on Android. I'm pretty sure it is supposed to be set when the track is loaded, which seems somewhat useless, since the add/skip promises should be resolved when the track is ready.
These states can become confusing if you're looking for the primary states (playing, paused or buffering). For instance, if you need to check whether the player is paused, you'll have to look for the state PAUSED or CONNECTING.
One idea is to add utility functions for each state that could be implemented in pure JS:

isPlaying(state): whether the state is PLAYING or BUFFERING
isPaused(state) whether the state is PAUSED or CONNECTING
isBuffering(state) whether the state is BUFFERING or CONNECTING

Notice that those functions have the state as an argument, the state is not directly retrieved from the module and that's by design: not only you need to retrieve the state once for multiple calls to the functions, but you can also store the state in a single variable and use that later.
@curiousdustin I'd like to know more implementation details on iOS and open discussion about things we should or not change.

+1
Moreover the player can be playing or paused and buffering at the same time. I currently wrap the player to be able to check whether the player is paused or playing, even when it is buffering.
I explain: by "playing", I mean in a playing state. I noticed that if the player ends buffering, it will plays automatically. You can pause the player before it ends buffering to prevent that.
So I would rather like an event and a getter for each "state" (actually, the notion of "state" is not well defined and the definition of it in RNTP is not consistent to me).

On iOS the state is directly mapped to the states provided by SwiftAudio.
State Mapping
Here are the descriptions provided by the author of SwiftAudio:

NONE -> idle: No item loaded, the player is stopped.
READY -> ready: The current item is loaded, and the player is ready to start playing.
PLAYING -> playing: The player is playing.
PAUSED -> paused: The player is paused.
BUFFERING -> loading: An asset is being loaded for playback.
STOPPED -> idle: No item loaded, the player is stopped.

Unused
SwiftAudio has a buffering state that is not mapped to RNTP. This state is described as: The current item is playing, but are currently buffering.
Not Defined

CONNECTING: NOT defined in the iOS module.

Here are some other thoughts that may contribute to this thread.
States and UI
One thing I struggled with when using RNTP on my project is making the UI feel responsive.
For instance if you have a button that toggles between play / pause icons. You want it to feel like that button has done its job, and changes UI state immediately, even though the player may not immediately be performing the desired action. If you press a play button to start a track playing, the player will have to go through several other states as it loads before it is actually playing.
The UI almost needs to represent intention rather than actual state.
So, anything we can do to make this easier to deal with would be good.
Inconsistent State Transitions
As many others have mentioned in various tickets, the transitions between various states as the result of various actions, is not consistent. I don't know if this can actually be solved, but it seems to be a pitfall for many.
A completely made up example just to illustrate the point, this may not be an actual behavior:
Calling add(), then play() on iOS may result in these states
NONE -> READY -> PLAYING
While on Android it may result in these:
NONE -> READY -> PAUSED -> PLAYING

It's clear now that we need some kind of way to differentiate the actual state from the controlled state, I think we can add a boolean property to reflect the controlled play state:

getPlayWhenReady(): true as soon as play() is called, false when stop(), pause() or reset() are called. (or it's forced to pause by an interruption or an error)

Here are a few "actual state" changes that I think would help:

PLAYING: The player outputting audio
PAUSED: The player is paused with pause()
BUFFERING: The player has paused to load data
ENDED: The queue has ended

I don't see an use case for when stop() has been called, I think we should change it from STOPPED to ENDED

NONE: The queue is empty, the player is idle

The ones that I would remove:

CONNECTING: with the play property in place, we don't need another BUFFERING state when the track is paused.
READY: I still don't see a reason for this, I think we could skip this state and go directly to the appropriate state instead, such as PAUSED

With the changes said above, the following code would result in these states:
await TrackPlayer.add(...)
TrackPlayer.play()

Property
1
2
3
4
...
5

State
NONE
BUFFERING
PAUSED
PLAYING
...
ENDED

Playing Property
false
false
false
true
true
false

Triggered by

add()

play()
...

Another example:
TrackPlayer.play()
TrackPlayer.add(...)

Property
1
2
3
4
...
5

State
NONE
NONE
BUFFERING
PLAYING
...
ENDED

Play Property
false
true
true
true
true
false

Triggered by

play()
add()

...

@curiousdustin I think we should go for it. Simple states and a getter for playWhenReady should be enough to fix most logic and UI issues.
We can also send the playWhenReady value in the payload from the remote-state event. I'm not sure about the playWhenReady name though.
TrackPlayer.getPlayWhenReady()
TrackPlayer.addEventListener('remote-state', (data) => {
    // data.state
    // data.playWhenReady
});

I've looked it up and here is how we can implement it on each platform:

State.Playing

ExoPlayer: STATE_READY && playWhenReady
SwiftAudio: playing
UWP: Playing
HTML5 Audio: !paused && !ended && !buffering && playWhenReady

State.Paused

ExoPlayer: STATE_READY && !playWhenReady
SwiftAudio: paused
UWP: Paused, HTML5 Audio paused && !ended

State.Buffering

ExoPlayer: STATE_BUFFERING
SwiftAudio: buffering || loading
UWP: Opening || Buffering
HTML5 Audio: seeking || buffering

State.Ended

ExoPlayer: STATE_ENDED
SwiftAudio: idle && ended (ended would be a boolean property that is set as soon as the queue ends)
UWP: None && ended
HTML5 Audio: ended

State.None

ExoPlayer: STATE_IDLE
SwiftAudio: idle && !ended
UWP: None && !ended
HTML5 Audio: !loaded

getPlayWhenReady()

ExoPlayer: getPlayWhenReady()
SwiftAudio: Either a manually controlled boolean property or the playing || buffering states
UWP: Either a manually controlled boolean property or the Playing || Buffering states
HTML5 Audio: !paused

hello everyone, any update for this issuse?

Closing this due to inactivity. If someone finds this is still an issue in v2 let us know and we'll reopen it.


Sort behaviour for datetime

Checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest version of Buckaroo.

What type of jupyter notebook were you using (VSCode notebook, google colab, Jupyter Lab, Jupyter notebook).  Select multiple if you can reproduce this in multiple environments.  If other, please add to description.
Jupyter Lab
Reproducible example
import pandas as pd
df = pd.DataFrame({'date': ['10-8-2023', '10-4-2023', '10-6-2023', '10-6-2023',
                            '10-14-2023', '10-15-2023', '10-29-2023'],
                   'time': ['4:15:00', '7:16:04', '9:25:00', '10:13:45',
                            '15:30:00', '18:15:00', '23:15:00']})
df

Issue description
Sort () ()doesn't obey the rule of sorting datetime.

Expected behavior
Sort () Oldest to Newest datetime and Sort ()Newest To Oldest datetime.
Installed versions

```
Buckaroo 0.4.8
```

Jupyter Log output
No response

I thought I had commented previously.
These aren't sorting as datettimes because the columns are being treated as strings, not timestamps.
try this:
df = pd.DataFrame({'date': ['10-8-2023', '10-4-2023', '10-6-2023', '10-6-2023',
                            '10-14-2023', '10-15-2023', '10-29-2023'],
                   'time': ['4:15:00', '7:16:04', '9:25:00', '10:13:45',
                            '15:30:00', '18:15:00', '23:15:00']})
df['date'] = pd.to_datetime(df['date'])

They are sorted now but date with no time still takes @time 24:00:00. Should be 00:00:00.
Time with no date still takes @todays date. Should be 00-00-00. #177


Commands arent convenient anymore

So i used to be able to do "/i maple pillar" and then bam id get it..or i could do "/i maple pillar/10" and id get 10 of them. now i HAVE to use id's or else it says invalid parameter. now i dont know if there was a set up for this ability. but its really hard to do trades on the server quickly without this convenient ability. is there ANY possible way you can get this back into the rocket system?? Please?

/i "maple pillar" 10
Such convenient, Much wow

well its the first thing i typed in order to test it out. All im asking is if theres another way to type the command in using just the name. i can use one worded items just fine. but when it contains a space...it just gives me "invalid parameter" i dont really have patience to be mocked.

I answered this question atleast 10 times today in here and on the forums... I keep this issue open so that others can see the answer.

Well im sorry. ill look for it then

Can i know the title of the issue? or at least the link?

? I already answered your question, use quotes

OHH  jesus im so sorry. i didnt get it

You can also use item ID's on the command, if you can remember them, you don't need to use quotes in the command for those. This is what I use for commonly spawned stuff on the server, there's less to type out using item ID.

Uhh has the format changed for the newest update? because i cant seem to get things spawned in?

There was a bug with using names in the item commands for a time earlier, but that is now fixed in the latest versions of rocket mod.


fheroes2: 1.0.5 -> 1.0.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for fheroes2 is: Free implementation of Heroes of Might and Magic II game engine
meta.homepage for fheroes2 is: https://github.com/ihhub/fheroes2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.6 with grep in /nix/store/773a2k7js34smdc7qh8wzgh1cqqmfg3n-fheroes2-1.0.6
found 1.0.6 in filename of file in /nix/store/773a2k7js34smdc7qh8wzgh1cqqmfg3n-fheroes2-1.0.6

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
fheroes2

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/773a2k7js34smdc7qh8wzgh1cqqmfg3n-fheroes2-1.0.6
ls -la /nix/store/773a2k7js34smdc7qh8wzgh1cqqmfg3n-fheroes2-1.0.6/bin

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

1 package built:

fheroes2

Maintainer pings
cc @karolchmist for testing.

Result of nixpkgs-review pr 243829 run on x86_64-linux 1

1 package built:

fheroes2


[SPARK-24066][SQL]Add a window exchange rule to eliminate redundant physical plan SortExec

What changes were proposed in this pull request?
Currently, when the order field of window function has a subset relationship, SparkSQL will randomly generate different physical plan.
Similar like:
case class DistinctAgg(a: Int, b: Float, c: Double, d: Int, e: String)
val df = spark.sparkContext.parallelize(
      DistinctAgg(8, 2, 3, 4, "a") ::
      DistinctAgg(9, 3, 4, 5, "b") ::
      DistinctAgg(3, 4, 5, 6, "c") ::
      DistinctAgg(3, 4, 5, 7, "c") ::
      DistinctAgg(3, 4, 5, 8, "c") ::
      DistinctAgg(3, 6, 6, 9, "d") ::
      DistinctAgg(30, 40, 50, 60, "e") ::
      DistinctAgg(41, 51, 61, 71, null) ::
      DistinctAgg(42, 52, 62, 72, null) ::
      DistinctAgg(43, 53, 63, 73, "k") ::Nil).toDF()
df.createOrReplaceTempView("distinctAgg")

select a, b, c,
avg(b) over(partition by a order by b) as sumIb,
sum(d) over(partition by a order by b, c) as sumId, d
from distinctAgg

The physics plan will produce different results randomly.
One: there is only one sort of physical plan
== Physical Plan ==
*(3) Project [a#181, b#182, c#183, sumId#210L, sumIb#209L, d#184]
+- Window [sum(cast(b#182 as bigint)) windowspecdefinition(a#181, b#182 ASC NULLS FIRST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) AS sumIb#209L], [a#181], [b#182 ASC NULLS FIRST]
   +- Window [sum(cast(d#184 as bigint)) windowspecdefinition(a#181, b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) AS sumId#210L], [a#181], [b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST]
      +- *(2) Sort [a#181 ASC NULLS FIRST, b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST], false, 0
         +- Exchange hashpartitioning(a#181, 5)
            +- *(1) Project [a#181, b#182, c#183, d#184]
               +- *(1) SerializeFromObject [assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).a AS a#181, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).b AS b#182, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).c AS c#183, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).d AS d#184, staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).e, true, false) AS e#185]
                  +- Scan ExternalRDDScan[obj#180]

Another one: there is two sort of physical plans
== Physical Plan ==
*(4) Project [a#181, b#182, c#183, sumId#210L, sumIb#209L, d#184]
+- Window [sum(cast(d#184 as bigint)) windowspecdefinition(a#181, b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) AS sumId#210L], [a#181], [b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST]
   +- *(3) Sort [a#181 ASC NULLS FIRST, b#182 ASC NULLS FIRST, c#183 ASC NULLS FIRST], false, 0
      +- Window [sum(cast(b#182 as bigint)) windowspecdefinition(a#181, b#182 ASC NULLS FIRST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) AS sumIb#209L], [a#181], [b#182 ASC NULLS FIRST]
         +- *(2) Sort [a#181 ASC NULLS FIRST, b#182 ASC NULLS FIRST], false, 0
            +- Exchange hashpartitioning(a#181, 5)
               +- *(1) Project [a#181, b#182, c#183, d#184]
                  +- *(1) SerializeFromObject [assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).a AS a#181, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).b AS b#182, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).c AS c#183, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).d AS d#184, staticinvoke(class org.apache.spark.unsafe.types.UTF8String, StringType, fromString, assertnotnull(input[0, org.apache.spark.sql.test.SQLTestData$DistinctAgg, true]).e, true, false) AS e#185]
                     +- Scan ExternalRDDScan[obj#180]

this PR add an exchange rule to ensure that no redundant physical plan SortExec is generated.
How was this patch tested?
add new unit tests.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


[Core] aaz: Support AAZDurationArg, AAZDateArg, AAZTimeArg, AAZDateTimeArg and AAZUuidArg

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Core


Validate number of returned values and number of variables

function main(string[] args){
    var a = getData();
}

function getData() (int, int){
    return 1,2;
}

This capability is to be provided by semantic analyzer. So marked as postponed.


New version: libLLVM_jll v12.0.1+1

Autogenerated JLL package registration

Registering JLL package libLLVM_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/libLLVM_jll.jl
Version: v12.0.1+1
Commit: b71bd7f98bf8d3bbe52a1cb7c0fb853c65ab6e8a
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/563740cf4a68d97265c8513e1c8f5688ad7851cf
Created by: @ararslan

Failure expected, 1.7+


redux-router

What are the thoughts on using redux-router?

It's already an issue for that. Answer: let's implement! I am already using it in few prod apps


Support keeping styles when loading an AnnotatedString by default

I saw that the library don't have an option to load an AnnotatedString that can keep the styles when editing the content.

You are right, I will this to the next milestone

Added in #26


JerseyGuiceServletContextListener uses constructor to Initialize injector

This breaks registration of modules that require the ServiceContext like ApacheShiro.
GuiceServletContextListener creates the injector in contextInitialized.
As well as breaking things that are possible with the guice servlet module it is bad practice to reference abstract/interface methods from your constructor http://stackoverflow.com/questions/3404301/whats-wrong-with-overridable-method-calls-in-constructors

Have you taken a closer look into why it's using the constructor? There is an inherit chicken-egg problem in regards to Jersey's own DI framework (HK2) and Guice. To make things work it's necessary swap out HK2's own ServiceLoator/ServiceLocatorGenerator (static singleton) with a different instance that has Guice support. This needs to happen as early as possible and ideally before anything gets their hands on the ServiceLoator/ServiceLocatorGenerator.
Doing it in ServletContextListener#contextInitialized() is potentially too late. Feel free to experiment with it though. It may work, I really don't know.


Daily branch rebase

Rebase daily_branch and resolve conflicts between main branch and daily_branch.

I don't see changes to the CMakeLists.txt file, which should include the media_data_box and time_to_sample_box in it. Make sure the project can build properly, and that the test-app at least can run. If you confirm that that happens, then I think it is ok to merge and I will approve the changes.

I forgot to change thr CMakeList.txt file. And it has some issues yesterday. However, it can build and the test-app works successful in my local machine today.


Bug/rerender fixes

Change Type

[ ] Feature
[ ] Chore
[x] Bug Fix

Change Level

[ ] major
[ ] minor
[x] patch

Further Information (screenshots, etc)
This PR fixes two primary issues:

boundingLeft and boundingRight props were lost from in-view checks when props were updated in the component.
The DOM node that was evaluated was cached in componentDidMount. This meant that if the root node changed for any reason that the boundary checks would not work correctly.

Additionally, I:

Switched to react-testing-library
Fixed the code coverage directories.
Updated contributors.

Relevant Links (bug reports, etc)
Checklist

[x] Added tests / did not decrease code coverage
[ ] Tested across browsers

Is react-testing-library the new hotness?

@zacanger It's definitely simpler to work with. It's just a wrapper around react-dom and react-dom/test-utils. I like that it prevents you from accessing the component internals, and gets it closer to interacting with the DOM itself.


Modeling demand?

The lease mechanism in the protocol allows clients that are connected to multiple servers to make a smart choice about which server to send a request (i.e. client side load balancing). If you wish, you can provide an analogous capability for servers. When multiple clients connect to a single server (or the fan-in/merge case), a server is faced with a choice of how to allocate its available capacity between all of the connected clients. This can be a tough problem. Distributing capacity evenly may not always work well because 90% of your load may come from 10% of your clients. In other words not all of the clients may have the same level of demand for that capacity. If the protocol doesn't model/communicate that demand, then the server has less information about how best to distribute its available capacity.
By modeling demand in the system (demand roughly corresponds to request backlog or potential for request backlog) you can create a strongly symmetric situation where servers have the same ability that clients do to make smart choices. In this sort of system, requests flow "downstream" through your network towards areas of greater capacity, and capacity flows "upstream" through your network towards areas of greater demand.
It turns out this sort of thing is quite useful in a messaging protocols since at the layer where everything is a one way message flow "demand" can be easily mapped to the message backlog at a given sender, and this is information the receiver doesn't have unless the sender chooses to share.

@rhs I'm glad that you mention that, because we had the same idea. We plan to implement this exact mechanism in the future.
We didn't mention the details in the protocol specification because it should only be an implementation details of how the server distributes its lease.

Part of the question I was trying to bring up is whether this might benefit from being a protocol level concern or not. If the protocol is silent on this front than the server implementation can only use heuristics to try to predict client demand. On the other hand, if the client is allowed to communicate it's expected demand to the server, then the server has more information about how best to distribute its leases.
Put another way, if I understand correctly, the server has the following information on which to base its lease distribution decisions:

historical requests between that specific client and server
current request backlog between that specific client and server

The client has the following additional information on which to predict its future demand:

historical requests between that specific client and all server instances associated with a service
current request backlog between that specific client and all server instances associated with a service
backlog of non issuable requests (requests that can't yet be made because insufficient leases have been granted)

So assuming my understanding is correct and the client does in fact have additional information not available to the server, the key question I'm trying to raise is whether any of this additional information would be helpful to the server in figuring out how to distribute its leases.

The lease mechanism in the protocol allows clients that are connected to multiple servers to make a smart choice about which server to send a request

Just to be clear on this front, the protocol specifies that the lease can be sent by client or server. So, it is supporting the case for both client-server to establish supply-demand in either directions.
If I understand correctly by your second comment, you are suggesting something like:
Client -> Server
Can I send 10 requests in the next 1 second?
Server -> Client
You can send 8 requests in the next 1 second.

I am using Client/Server in the above example for simplicity but it is in general for a RQ/RS
Does this represent your suggestion? If so, I agree that it will result in a better distribution of load.

This is an interesting one ... driving internal discussions. We will update more on this after we have clearer thoughts on it.

Some concerns of mine of a client being involved ...

how does a client know how much it should request (particularly when clients are generally running in a mixed environment with other clients)?
complexity of implementations for both client and server to determine and coordinate, versus just one side being intelligent

To answer the question from @NiteshKant, I can confirm the example interaction you are providing is the sort of thing I'm talking about, although it's not necessarily the only type of information that might be useful to help a server distribute leases.
Another possible example of this sort of thing is modeling the logical service from where requests originate. By communicating this to the server, it could track heuristics based on the originating service rather than on a per connection basis. It could also enforce policies or initial conditions based on originating service, e.g. "allocate 20% more capacity to requests from service-A."
Also, I do realize the terms "client" and "server" are somewhat ambiguous in my language and that requester/responder are not necessarily coupled to the TCP notion of client and server. I'm still coming up to speed on some of vocab so bear with me and I'll try to be more clear in the future. (As an aside, is there a formal glossary somewhere?)
@benjchristensen To comment on your first concern, the way this is used for async messaging workloads (which may well be different from your expected workloads), the client isn't trying to request an optimal amount. It's not even a request really since there is no obligation for the server to use the information or respond in any way. The client is simply offering additional information about how many leases it believes it could use in an ideal world. The server is free to ignore this if it wants to or use it to compute a more optimal answer than it could without this information.
As for your second concern, I think that depends to some extent on the expected topologies and workloads. If you have a lot of clients fanning into a single server and each individual client has (relatively) infrequent bursts of requests, you can easily construct scenarios where the server has no good way to distribute its leases without this sort of information from the clients.

After discussion, we have chosen to take the route advocated for by @stevegury


properly handle db timeouts in when checking user during authorization

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2233/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2234/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2235/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2236/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2248/
Test PASSed.


[Enhancement] Support parallel merge (3)

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Background
This is a continuation work of https://github.com/StarRocks/starrocks/pull/18525 and https://github.com/StarRocks/starrocks/pull/21205
This pr is to fix performance problem.

Before this pr, the function call _merger->is_current_stage_finished(_driver_sequence) was put inside the has_output, which may lead to drastic performance deduction, because this condition will change frequently, so the correspond pipeline driver will be moved frequently between ready queue and wait queue.
After this pr, this function call is moved to pull_chunk

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

reopen


vendor/bin/tempest is broken

Hey there,
just wondering if this issue was the cause of this error:
root@b237c87bc086:/var/www/html# composer require tempest/framework
./composer.json has been created
Running composer update tempest/framework
Loading composer repositories with package information
Updating dependencies
Lock file operations: 7 installs, 0 updates, 0 removals
  - Locking graham-campbell/result-type (v1.1.2)
  - Locking phpoption/phpoption (1.9.2)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking tempest/framework (0.0.4)
  - Locking vlucas/phpdotenv (v5.6.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 7 installs, 0 updates, 0 removals
  - Downloading symfony/polyfill-php80 (v1.29.0)
  - Downloading symfony/polyfill-mbstring (v1.29.0)
  - Downloading symfony/polyfill-ctype (v1.29.0)
  - Downloading phpoption/phpoption (1.9.2)
  - Downloading graham-campbell/result-type (v1.1.2)
  - Downloading vlucas/phpdotenv (v5.6.0)
  - Downloading tempest/framework (0.0.4)
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing phpoption/phpoption (1.9.2): Extracting archive
  - Installing graham-campbell/result-type (v1.1.2): Extracting archive
  - Installing vlucas/phpdotenv (v5.6.0): Extracting archive
  - Installing tempest/framework (0.0.4): Extracting archive
Generating autoload files
6 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^0.0.4 for tempest/framework
root@b237c87bc086:/var/www/html# ./vendor/bin/tempest install

Warning: require_once(/var/www/html/vendor/tempest/framework/vendor/autoload.php): Failed to open stream: No such file or directory in /var/www/html/vendor/tempest/framework/tempest on line 10

Warning: require_once(/var/www/html/../autoload.php): Failed to open stream: No such file or directory in /var/www/html/vendor/tempest/framework/tempest on line 12

Fatal error: Uncaught Error: Failed opening required '/var/www/html/../autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/html/vendor/tempest/framework/tempest:12
Stack trace:
#0 /var/www/html/vendor/bin/tempest(119): include()
#1 {main}
  thrown in /var/www/html/vendor/tempest/framework/tempest on line 12
root@b237c87bc086:/var/www/html#


make sw and ne private

It is unnecessary to both expose the variables (sw and ne) and have separate getters (southWest and northEast) for them. It might even be confusing since someone might wonder what the difference between them is. Therefore I suggest that we make the variables sw and ne private.

...This doesn't really belong here but I noticed that my username was written incorrectly in the changelog. Can you fix it in the next release @johnpryan?

fixed the mispelling :) - I'll take a look at this when I get a chance


Nit

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/commercialize-your-device/Agreement-FAQ.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/Tutorials.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/adafruitkit.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat(nuxt): trailingSlash config & createRouteResolver util

🔗 Linked issue

https://github.com/nuxt/nuxt/issues/15462
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

There are several DX improvements we can make within the core for users who want to use appending trailing slashes in their Nuxt apps.
Nuxt Config
We keep existing config types from NuxtLink, in that end users can configure a trailing slash as either:

append - add trailing slash /foo/
remove - remove trailing slash /foo
undefined - as is

Config is added to app namespace.
export default defineNuxtConfig({
  app: {
    trailingSlash: 'append',
  },
})

Side note: I'd prefer to have this as a boolean where it is always false or true but I think keeping consistent config APIs is more important.
New Logic

Setting slashes for <NuxtLink> and navigateTo paths
Set NuxtPage paths to use trailing slash, which in turn generates the correct types when using experimental.typedPages.
Giving modules a core config that they can use instead of rolling their own
:warning: Redirecting non-slash URLs to slashed version (Not currently in scope of this PR)

createRouteResolver
In introducing new logic on how paths are resolved, we're introducing new logic to <NuxtLink> and navigateTo. To reduce the boilerplate, make testing easier, and improve core APIs, we introduce the createRouteResolver composable.
This composable allows the core, module authors, and end users to resolve paths while respecting the trailing slashes and the base path.
We need to have a composable to create the resolver as we need to instantiate useRouter() within this function that won't be accessible async.
const resolveRoute = createRouteResolver({ trailingSlash })
const path = computed(() => {
 return resolveRoute(props.to)
})

This is inspired by the logic of the nuxt-site-config module which has been battle-tested at this point.
:information_source: Looking for feedback on this.
Additional Notes

Trailing slashes on file links are currently broken <NuxtLink to="/file.pdf"> -> href="/file.pdf/
The logic for handling whether links are external is currently inconsistent between navigateTo and NuxtLink

NuxtLink - any link that has a protocol or has a target that isn't self (new tab)

navigateTo - any link that has a protocol

To Do

[ ] Fix logic (hacked away at it, very likely broken)
[ ] Tests (likely we're introducing regressions with current code).
[ ] Documentation (will need docs for createRouteResolver and app.trailingSlash)

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Note that we already have partial support for this via https://github.com/nuxt/nuxt/pull/23724.

Note that we already have partial support for this via #23724.

Yes, Nuxt SEO already implements it. This is to solve outstanding module inconsistencies mainly (and vue-router types).