Fix scalability issues with GET .../topics with many streams on the server

We have a useful API for fetching historical data on topics, /users/me/{stream_id}/topics.  This API is intended to be fast (it's used whenever one clicks "more topics"), and on chat.zulip.org, it is (50ms-200ms runtime).  But on zulipchat.com, where we have history from a great many organizations, it can end up quiet slow, e.g. this:
zulip=> EXPLAIN ANALYZE                 SELECT
                    "zerver_message"."subject" as topic,
                    max("zerver_message".id) as max_message_id
                FROM "zerver_message"
                WHERE (
                    "zerver_message"."recipient_id" = 103098
                )
                GROUP BY (
                    "zerver_message"."subject"
                )
                ORDER BY max("zerver_message".id) DESC
;
                                                                      QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------
 Sort  (cost=344541.59..344541.63 rows=14 width=14) (actual time=1327.835..1329.169 rows=2250 loops=1)
   Sort Key: (max(id)) DESC
   Sort Method: quicksort  Memory: 225kB
   ->  HashAggregate  (cost=344541.18..344541.32 rows=14 width=14) (actual time=1324.231..1325.936 rows=2250 loops=1)
         Group Key: subject
         ->  Bitmap Heap Scan on zerver_message  (cost=4195.50..343615.42 rows=185152 width=14) (actual time=62.340..1152.213 rows=157280 loops=1)
               Recheck Cond: (recipient_id = 103098)
               Heap Blocks: exact=121738
               ->  Bitmap Index Scan on recipient_id_groups  (cost=0.00..4149.21 rows=185152 width=0) (actual time=32.107..32.107 rows=159735 loops=1)
                     Index Cond: (recipient_id = 103098)
 Planning time: 0.134 ms
 Execution time: 1331.549 ms

I think what's happening here is that postgres is using a query plan that, for a stream with 160K messages of history, is doing a "Bitmap Heap Scan" across a large portion of the zerver_message table.  The structural problem, I think, is that while we have an index on subject/topic and an index on zerver_recipient, we don't have a joint index on the two, so there's no way for the database to look through the range of subject/topic values within a given zerver_recipient value (aka stream).
So my guess is the fix for this will be to create a new index, zerver_recipient_topic, that makes it possible for the database to do this sort of query efficiently.

Any update on this?

I'm not sure whether it's worth doing the other things, but it seems really clear we should have the index described above; @mateuszmandera would you be up for doing a PR to do that ADD INDEX CONCURRENTLY index from https://github.com/zulip/zulip/issues/13726#issuecomment-577950688?  I think the NULLS LAST is worth doing as it may help when we upgrade to future postgres versions.

I'm adding the migration for this; it's required for another thing I'm doing.

FWIW, I also have significant client-side performance issues when there's a very large number of topics in a stream. So maybe there should actually be something intermediate like "more topics" showing the next 20 topics instead of all the topics.
(I realize this is orthogonal to optimizing the query, but adding just in case it informs a different architecture/query entirely.)

@djahandarie how many topics do you see this issue with?  I think we should certainly be aiming to make the client-side experience nice regardless, but it'd be helpful to have a number to test with for reproducing what you're seeing.
(I think we could do client-side pagination of rendering to the DOM using list_render to completely resolve client-side issues)

@timabbott 7048 topics in this case. On a laptop a few years old but nothing ancient.

Yeah, OK.  Can you open a separate issue about the client-side performance issues, with that detail present?  It'll be totally different folks who work on that sort of thing.  I expect it to be not hard to fix using our list_render.js library to keep a reasonable number in the DOM at a time.

Removing the priority label, since we fixed most of the issue already.  Leaving this open since it has a lot of valuable discussion should we choose to optimize further.


Dockerized

Dockerized. Also added a test words2.txt file.

Awesome, was after this myself recently. Thank-you!


Callback error type void | Error does not work with TypeScript 2.0

https://github.com/goenning/typed-generic-pool/blob/master/index.d.ts#L7
For TypeScript 2.0, this should be null | Error. To keep compat with TS 1.8 and TS 2.0, it should be changed to any.

Using any doesn't seem right. Can't we just use Error just like node's typings [1]?
Btw, I don't remember why we've used void before. Seems to be useless in this case, isn't it?
[1] https://github.com/types/env-node/blob/master/6/node.d.ts#L1395

From a JS perspective that is not correct though. You can throw anything (even a string), not just Error. That is why TypeScript also types the error in a catch block as any (and not Error). Using just Error would not work in TS 2 with strictNullChecks, you could not call it with null then. The node typings are actually wrong here, I guess dns isnt used that much :D The only way to make it compatible with TS1.8 and TS2 here is to use any

That makes sense, thanks for the clarification. Let's leave it as that for now until TS 1.8 is deprecated. Right?

Yes, thanks :)


How important is the "Analyse Date" column for you ?

As I'm working on a big change in the way data are shown on screen and ONLY on screen, I wanted to know your opinion.
cc @mitchellkrogza @xxcriticxx and others that use funceble :smile_cat:

On screen not important for me at all. In the results.txt file absolutely 💯 % important for me.

if you drop on screen will you gain any speed?

@xxcriticxx we already have a quiet option (Please report to --help), it's a really bit faster but not that much.

@xxcriticxx quite possible actually. One of my new repo's when run in Debug mode on Travis which outputs everything to screen ran for over 50 minutes and the build died. The moment I turned off debugging, the script executed and completed the build in 2 and a half minutes. @funilrys would turning off screen display actually speed up funceble ???

@mitchellkrogza Avoid debug mode with that 1million line :rofl: The debug mode activates the output of everything from whois output to formated logs :rofl: Sorry I should write it somewhere :+1:

As long as you don't activate debug mode, quiet mode should be faster from 5 to 15 seconds
You're pointing something interesting @mitchellkrogza :rocket: :+1: :+1:
We should deactivate the debug mode for dead-hosts (where did my mind goes ? :thinking:) ...

🤣  mind .... what's that 🤣  .... I lost mine years ago 🤣 🤣 🤣
But yeah, let's see how much faster it runs with debug OFF

I just realized that I lost my mind when I restarted dead-hosts :rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl:
Let's see ==> https://travis-ci.org/funilrys/dead-hosts/builds/257628468

🤣 🤣 🤣  ..... busy watching that build now

Wonder if there will be any speed increase in Travis on this build https://travis-ci.org/funilrys/dead-hosts/builds/257628468 with screen output of funceble turned off?

Let's test when it's done with your list :+1:

Seems to make no difference running funceble in quiet mode.
https://travis-ci.org/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites/builds

@mitchellkrogza
From 37 to 34 minutes ===> https://travis-ci.org/funilrys/dead-hosts/builds/257647593
With:
https://github.com/funilrys/dead-hosts/blob/master/Badd-Boyz-Hosts/tool#L248

😮  that is certainly some improvement.

yeah definitely :+1:
I mya have to do some code refactoring once I'm done with my current work ...

I can't figure out how did you do for 1,6M =+> 2min  :rofl:

Not running a funceble test on https://github.com/mitchellkrogza/Ultimate.Hosts.Blacklist just generating a hosts file. Now up to 2,154,280 and generated in 3 min 26 secs. 👍

Aw my bad I was thinking that you have Quantic computer :rofl: :rofl:

🤣  no wish I did ..... amazing though what simple bash can achieve with a list that big. Gotta love bash even when I have morning like this morning when I end up BASH-ing my head against the wall with stupid mistakes.

looks like emoji movie over here

Could we produce a movie @mitchellkrogza ? :rofl:

LOL @xxcriticxx  sometimes we gotta have ourselves some fun with emoji's ...... helps ease the burden of when we are banging our heads against the wall writing code 🤣

@funilrys youtube how to be nice :)

So true @mitchellkrogza :laughing:
If he knew the mistake you made this morning he would laugh with us :rofl: :rofl: :rofl:

for sure time to work be back later emoji out

Closing.


feat: added utilities for updateBulk (#371)

1. Description

1.1. Checklist

[ ] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[ ] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples.

1.2. Breaking Change

[ ] Yes, this is a breaking change.
[ ] No, this is not a breaking change.

1.3. Related Issues

Codecov Report

Merging #372 (ccec4d7) into main (fd04f54) will decrease coverage by 11.06%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##             main     #372       +/-   ##
===========================================
- Coverage   70.34%   59.29%   -11.06%
===========================================
  Files         136       23      -113
  Lines        1224      452      -772
===========================================
- Hits          861      268      -593
+ Misses        363      184      -179

see 113 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


avoid resetting airflow db

I have been using this container for our project. It works very well. I have one issue. When I make some changes to the airflow.cfg and rebuild the image and redeploy. it also resets the airflow db. I loose all old entries of the DAG. Is there a way to rebuild without resetting db?

@smahe1980  You could maybe define a volume in your docker-compose.yml file: ./airflow:/usr/local/airflow. I haven't tried it but it may do the job.


Removing steel plate from intercom deletes encryption keys

Description
Removing the steel plate protecting the maintenance panel on an intercom (ex. Security intercom) deletes the keys inside entirely (presumably due to an error caused by prototypes changing.)
Reproduction

Attempt to tide the encryption keys out of a Security intercom like a shitter.
Realize that you're now empty-handed.
Notice that the IntercomSecurity is now an IntercomConstructed.

@Piras314 done


Dry your test unit

Hey @mauro-oto,
This PR talks about DRY and test-unit.
Please check it out.
Thanks!

@etagwerker left a couple of comments, the rest looks good. Could you also update the publishing date? Thanks!

@mauro-oto sure, thanks!

@mauro-oto done!

@mauro-oto What do you think about the latest changes?

Looks good, thanks! :beers:


chore(Dashboard): Ensure shared label colors are updated

SUMMARY
Follow-up PR for #30646 to ensure that when certain dimensions or metrics are removed or no longer present in the charts, the stored shared_label_colors can detect these changes and reflect the current state. This is achieved by comparing all labels across all charts to infer the shared ones once a Dashboard has rendered all its charts.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N.A.
TESTING INSTRUCTIONS

Enter an existing Dashboard
Update a chart that has shared labels with other charts
Remove those dimensions/metrics from the chart
Ensure that when going back to the dashboard the dashboard is being updated with current shared label colors (by checking the network activity)

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Isn't this a fix instead of a chore?

Isn't this a fix instead of a chore?

This wasn't there before so it's not fixing something rather adding. But I agree that fix might be appropriate.


HII

Type of issue
Typo
Description
[Enter feedback here]
Page URL
https://learn.microsoft.com/en-us/dotnet/framework/install/troubleshoot-blocked-installations-and-uninstallations
Content source URL
https://github.com/dotnet/docs/blob/main/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md
Document Version Independent Id
a171c012-8373-3d77-e4f2-7ea4f4662d7f
Article author
@adegeo
Metadata

ID: 5d4a8c65-fe3a-8656-b7a1-641a2ae4cb30
Service: dotnet-framework
Sub-service: install-deployment

Sent from my iPhoneOn May 4, 2024, at 4:53 PM, dotnet bot @.***> wrote:
Closed #40759 as completed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Key is parsable despite documented otherwise

String :my_key is parsable into minecraft:my_key, but it doesn't follow the documented pattern ([a-z0-9_\\-.]+:)?[a-z0-9_\\-./]+ - the pattern requires at least one symbol for the namespace if such is used.

Just wanna note that it's likely not a bug, but rather a problem with used @Pattern, as such case (:my_key) is actually mentioned in the javadoc itself. Maybe the used pattern ([a-z0-9_\\-.]+:)? better be changed to ([a-z0-9_\\-.]*:)? or [a-z0-9_\\-.]*:? instead.
But I'd say I find it weird that such key is actually parsable into anything, as it doesn't make much sense for me.


No button appears in the lower right corner

Hi, I saw that you seemed to update this issue a week ago, but it seems to be wrong again

same


Adpot Unity's package strucutre convention

Hi, and thanks for all your interesting videos!
Traditionally, unity packages follow a specific layout convention detailed in this link. Notably, these directories:

Runtime directory - includes runtime-specific assemblies and assets
Editor directory - includes editor-specific assemblies and assets.
Tests directory - a directory containing all

Currently, Unity-Utils does not follow this convention. Instead, it contains UnityUtils/UnityUtils.asmdef and UnityUtils/Scripts/Hotkeys/Editor/UnityUtils.Hotkeys.asmdef. In my opinion, following Unity's convention would improve maintainability in the long term, as e.g. editor-specific functions would expand beyond providing hotkeys, and allow you to include extra functionality such as samples that can be installable from unity's own package manager.
I don't mind PRing the changes myself, however following your comment from #4:

I'm going to start enforcing some standards - starting with no more PRs without an approved Issue.

I'm opening this issue to get the required approval.
Thanks for your time!

I understand your suggestion to follow Unity's traditional package layout, which typically organizes assets into directories like Runtime, Editor, and Tests. This structure is useful in many cases, especially for packages targeting specific functionality or systems within Unity. However, in the case of Unity-Utils, this package is designed to serve multiple purposes and not just a single, focused system.
One of the benefits of assembly definitions (asmdefs) is that they help the compiler by dividing code into different assemblies. This can make compilation more efficient in larger projects, as only relevant code gets recompiled. Since Unity-Utils is a more generalized utility package and not strictly focused on runtime or editor-specific content, organizing it by asmdefs allows us to manage various aspects of the package separately, improving modularity and compilation times as the project grows.
That said, I don't think the standard Unity layout is necessary here. It might be better suited to packages that focus on one specific system or functionality. For Unity-Utils, grouping folders by their respective asmdefs makes more sense and keeps the package flexible as it expands in different areas.


Debugger: setting "justMyCode": false does not work in a Python 3.10 venv

Type: Bug

Create and use a python venv.
Install a package via pip.
Create a script, importing that package and calling a function from it.
Debug and try to step into the package function call.
See the "frame was skipped" message and set the "justMyCode" option to false in the launch.json file.
See the "frame was skipped" message anyway because setting "justMyCode" to false does not work.

VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:18:39.991Z)
OS version: Linux x64 6.2.0-26-generic snap
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 3092)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
31.20GB (26.25GB free)

Process Argv
--no-sandbox --force-user-env --unity-launch --crash-reporter-id 8288fe70-1d22-4ecb-a399-2ca5eb4778fd

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
wayland

Extensions (39)

Extension
Author (truncated)
Version

rust-bundle
1Yi
1.0.0

toml
be5
0.6.0

vscode-intelephense-client
bme
1.9.5

love
bsc
0.3.6

doxdocgen
csc
1.4.0

vscode-eslint
dba
2.4.2

rust-syntax
dus
0.6.1

go
gol
0.39.1

better-cpp-syntax
jef
1.17.2

openapi-lint
mer
1.2.0

vscode-docker
ms-
1.26.0

csharp
ms-
2.0.357

vscode-dotnet-runtime
ms-
1.6.0

python
ms-
2023.14.0

vscode-pylance
ms-
2023.8.20

jupyter
ms-
2023.7.1002162226

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.17

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

remote-containers
ms-
0.304.0

remote-ssh
ms-
0.102.0

remote-ssh-edit
ms-
0.86.0

remote-wsl
ms-
0.81.0

cmake-tools
ms-
1.15.31

cpptools
ms-
1.16.3

cpptools-extension-pack
ms-
1.3.0

hexeditor
ms-
1.9.12

remote-explorer
ms-
0.4.1

common-lisp
qin
1.2.4

vscode-yaml
red
1.14.0

rust-analyzer
rus
0.3.1615

crates
ser
0.6.0

markdown-preview-enhanced
shd
0.6.8

lua
sum
3.6.26

markdowntable
Tak
0.10.4

cmake
twx
0.0.17

vim
vsc
1.25.2

markdown-all-in-one
yzh
3.5.1

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes516:30244333
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
py29gd2263:30792226
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30803844
3biah626:30602489
f6dab269:30613381
showlangstatbar:30737416
03d35959:30757346
pythonfmttext:30731395
pythoncmvfstrcf:30756944
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
gsofa:30804715
pythonnosmt12:30797651
pythonidxpt:30805730
pythonnoceb:30805159
dsvsc013:30795093
dsvsc014:30804076

Update: got it working by adding "purpose": ["debug-in-terminal"] to the default configuration in launch.json. Considering that the description in the "skipped frame" message is wrong/useless without this additional information, and considering that the default configuration generated for the launch.json file does not actually work, something still needs to be changed.

/extPython
The purpose property is specific to the Python extension. See https://code.visualstudio.com/docs/python/debugging#_purpose

It looks like this is caused by the Python extension. Please file the issue to the Python extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


SEO component: Remove params from canonical URL

WHY are these changes introduced?
URL parameters shouldn't appear in canonical tag (in most cases).
WHAT is this pull request doing?
Removes URL parameters from canonical tag.
Before:

After:

HOW to test your changes?
Run the demo-store template locally.
Checklist

[x] I've read the Contributing Guidelines
[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[x] I've added a changeset if this PR contains user-facing or noteworthy changes
[x] I've added tests to cover my changes
[ ] I've added or updated the documentation

@scottdixon Splitting a string does not make you a bad ass...

URL parameters shouldn't appear in canonical tag (in most cases).

And what about those cases where they should appear? Plz revert

Please use Remix's more flexible Meta component, and we'll be considering how we can evolve the SEO component in the future: https://remix.run/docs/en/main/components/meta
We can't simply revert this PR as for most use cases this has negative additional consequences.


Added Pankaj Kumar to contributing list

First Open Source commit

@pankaj512, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.


Adds truncate, half-up rounding functions

This is an alternative approach to allowing the user to specify a mode for a closure, namely, providing two specific and commonly used rounding functions in a quantize-like interface.
This commit adds

A binding to the decContextSetRounding function
A d128 method, with_rounding to initialize a Context with a given
Rounding
ROUND_DOWN and HALF_UP thread local static Contexts initialized
with those roundings
Two methods on d128, with_round_down and with_half_up that mimic
with_context but use alternative roundings
Two methods, truncate and round that offer quantize like
interfaces to these rounding settings.

@jonathanstrong do you want to make this merge cleanly so that it can be merged? Then we can push a new version out.

you're interested in the code that fixes the uninitialized usage, correct? happy to setup a clean pull request with those changes if so.

I think we can merge the whole thing. I also sent you an invite to commit directly if that helps.

Are you sure? There are quite a few unrelated differences, including a d64 type, some From and TryFrom conversion routines that should probably be reviewed, some dependencies brought in for benchmarking that are probably not a good idea to include in the upstream repo, etc.

If you are happy to do it in smaller steps that would be even better.

ok, I pushed a branch to upstream (i.e. this repo) as I am now a collaborator (thank you). it is only the MaybeUninit conversion changes: https://github.com/alkis/decimal/compare/uninit-fix. next week I can setup pull requests for the other things. if you have the bandwidth it'd be nice to get a second set of eyes on the changes, I am pretty good at rust but not experienced at C.

Will do. Thanks @jonathanstrong!


Add the ability to specify line colour, width and multplicity for table lines.

Follows on from Issue 89

I think I'd lke to get this in for v2.2.5, which will also include Issue 89.

Shipped in V2.2.5.


Feature/node state

When communicating each other, some node status checks firstly done.

Cheers thank you! merging it now :)


Broken links in getting_started tutorial

Several sections in getting_started/tutorial.md

https://github.com/wagtail/wagtail/blob/main/docs/getting_started/tutorial.md#where-next
Details

There are 8 internal links that point to github documentation pages and are all broken. It seems that the extensions are missing from the links.
E.g. all the links at the bottom of the page in section Where Next are broken.
I have checked them and I made a pull request in case it is handy.

Closing due to reasons outlined in #7316


OffsetFetchResponse and OffsetCommitRequest leaderEpoch is not working as expected

Description
When using PartitionOffsetManager to reset consumer group offsets, we noticed that other consumers kept getting offsetEpoch = 0 in FetchRequests
I think the culprit is that we are not setting
https://github.com/IBM/sarama/blob/main/offset_fetch_response.go#L7
to -1 by default
in newPartitionOffsetManager we invoke fetchInitialOffset which populates the pom.leaderEpoch. However, we use Version 1 for the OffsetFetchRequest: https://github.com/IBM/sarama/blob/main/offset_manager.go#L157
Since we don't set the leaderEpoch for Version < 5 (ref), PartitionOffsetManager always sets leaderEpoch = 0, which when doing a resetOffset and commit later on, will get committed with the incorrect leaderEpoch (ref)
Versions

Sarama
Kafka
Go

1.41.1
2.7.1
1.21

Configuration

n/a
Additional Context

Not sure if this could be fixed by having version handling done better in fetchInitialOffsets

Thanks this is a good catch! Will work on a fix

@kabochya are you able to test against github.com/IBM/sarama@27710af and confirm that you're happy with the fix?


[4.1] IRGen: Fix mismatching sret attribute for indirect return values

"
IRGen: Fix mismatching sret attribute for indirect return values
We incorrectly lowered callsites when we had sil function return types
that involved both direct return types that we decide to lower
indirectly,  and indirect return types.
@convention(thin) () ->
(@owned String, @owned String, @owned String, @out Any, @out Any)
(This should have been handled by the address lowering pass but isn't)
"
Note: By 'address lowering' in the commit message above I meant the large
loadable types pass.
(cherry picked from commit a86df59492b83ff0fc8ec08411667e3f7f08e6dd)
rdar://35874410

@swift-ci Please test

@swift-ci Please test source compatibility


fix: Fix MVTA static URL [sources]

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


Add wdio spec to test pipes-shell

also

some refactoring to support the tests
and fix bugs that had crept up in the absence of tests

cc @ianull just for reference, this test designed to prevent a bug that bit him

Thanks Scott for doing this.


SG missing APPLE directive in sg.h

Line 13 of sg/sg.h
# include <GL/glu.h>
should be changed to
#ifdef __APPLE__
# include <OpenGL/glu.h>
#else
# include <GL/glu.h>
#endif

Otherwise fatal errors are caused when building in MacOS

Fixed in r10939. Thanks!


Add Sengled E11-G13

Device information
Sengled E11-G13 A19 Bulb
https://zigbee.blakadder.com/Sengled_E11-G13.html
Home Assistant Device information
Element classic (A19) (E11-G13)
by Sengled
Checklist

[x] I have created a single PR per device. When you have multiple submissions please create separate PR's.
[x] For lights - I have only included the gzipped files (*.gz), not the raw CSV files.
[x] For lights - I have provided a CSV file per supported color mode. Look that up in Developer Tools -> States

Additional info

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3608

Relevant Lines:
3608

💛  - Coveralls

LGTM


feat: Added support for policy_jsons (list of strings)

Fixes #57
Fixes #56

v1.23.0 has been just released.


How to define more than 3 "frontend layouts"

Hello, I have a quick question. According to your documentation it is possible to define frontend layouts. This seems to be working just fine on my side.
I am not very familiar with Typo3 and noticed that there are three layout options to choose from by default "layout1, layout2, layout3". Where are these layouts defined? And more importantly, how can I add more layouts in the Typo3 Backend?
Thanks in advance.
Dimitri

I hope this helps:
TCEFORM {
  pages {
    layout {
      altLabels {
        0 =  New Default Name
        1 =  New Layout 1 Name
      }
      removeItems = 2,3
      addItems {
        4 = New Layout 4
        5 = New Layout 5
      }
    }
  }
}

Referenz 1: Dokumentation
Referenz 2: Random Website
Referenz 3: Random Website
Referenz 4: Random Website
Referenz 5: Stackoverflow

Thank you! That helped 🎉 May I buy you a coffee?
Also, if you don't mind answering another layout-specific question in this issue. I am trying to work with backend layouts and have defined a basic two column backend layout in Typo3. As described in the documentary my JSON Api returns
{   ...   "content": {     "colPos0": [...Array with content elements],     "colPos1": [...Array with content elements]   }   ... }
This is my test JSON page.
I also followed the instructions in the documentation and added a "Be2columns.vue" component and registered the backend layouts. Now I am not sure what to do, because only the left column is showing up. I tried using the "Be2columns" component in my "default.vue" layout, but then I get a type error Cannot read property 'colPos0' of undefined . Thanks in advance.

I'm happy to do that!
Your output is not correct or your Be Layout Component have wrong name.

Than you have this file name Be1.vue, nuxt-typo3 uses this automatically.
Or you name your BackendLayout correctly:
mod.web_layout.BackendLayouts {
  Main {
    title = 2columns
    name = 2columns
    config {
      backend_layout {
        colCount = 2
        rowCount = 1
        rows {
          1 {
            columns {
              1 {
                name = Left
                colPos = 0
                colspan = 1
              }

              2 {
                name = Right
                colPos = 1
                colspan = 1
              }
            }
          }
        }
      }
    }
  }
}

You dont have to change anything in your default.vue:
<template>
  <div class="default">
    <nuxt />
  </div>
</template>

You can follow all this in the code, here is the sequence:
https://github.com/TYPO3-Initiatives/nuxt-typo3/blob/6bde261c1ee20809f633f92ff5080f590031d3fe/lib/templates/middleware/context.js#L24-L27
https://github.com/TYPO3-Initiatives/nuxt-typo3/blob/f2f63cafc4f319b6d91dfc56c8248006251c089e/lib/templates/lib/layouts.js#L7-L27
https://github.com/TYPO3-Initiatives/nuxt-typo3/blob/6bde261c1ee20809f633f92ff5080f590031d3fe/lib/templates/mixins/page/default.js#L10-L17
https://github.com/TYPO3-Initiatives/nuxt-typo3/blob/f2f63cafc4f319b6d91dfc56c8248006251c089e/lib/templates/pages/_.vue#L3-L7
https://github.com/TYPO3-Initiatives/nuxt-typo3/blob/6bde261c1ee20809f633f92ff5080f590031d3fe/lib/templates/layouts/backend/BeDynamic.js#L30-L36

Thank you for your help. Especially for providing the inner-workings of the layout generation.
For some reason, I am unable to edit the PageTS-Config in my TYPO3 Backend. The following screenshot shows all the options I have. Somehow, I am only given a graphical config editor and cannot change the code, thus I am unable to e.g. change the title.
Any ideas?


Update Import-VcConfigMgrApplication.ps1

I kept getting an error when running the script:
Get-Item : Cannot find path '\<myshare>' because it does not exist.
At C:\Program Files\WindowsPowerShell\Modules\VcRedist\2.0.132\Public\Import-VcConfigMgrApplication.ps1:183 char:68
I isolated it to when the Deployment Type was being created in SCCM (version 1810). It's due to set-location on line 177 and get-item on line 183. Once I updated the code everything worked as expected.
Source: https://stackoverflow.com/questions/23574653/running-get-childitem-on-unc-path-works-in-powershell-but-not-in-powershell-run
Description
Please describe your pull request in detail.
Related Issue
This project only accepts pull requests related to open issues.

If suggesting a new feature or change, please discuss it in an issue first.
If fixing a bug, there should be an issue describing it with steps to reproduce

Please link to the issue here
Motivation and Context
Why is this change required? What problem does it solve?
How Has This Been Tested?

Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to see how your change affects other areas of the code, etc.

Screenshots (if appropriate):
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:
Go over all the following points, and put an x in all the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help!

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have updated the CHANGELOG file accordingly for the version that this merge modifies.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Nice one. Will hopefully review and merge over the next couple of days


Crash: Auto-harvesting

What were you doing when the crash occured? How can we replicate it?

Install a mod that allow auto harvest (i.e: Harvest with ease, or Amethyst imbuement, with the spell Abundance)
Plant flax and wait for it to mature,
Use the autoharvest feature of these mods on the flax,
The game freezes and requires manual shutdown, after restart the save freezes on reload and becomes functionnally corrupted.

Did it crash the client or server?
Client
Mod Version
2.1.0
Fabric API Version
0.76.1+1.19.2
Crash Report
none, the game freezes with no noticeable additional log being generated.

Other mods
Too big to upload, but It happened consistently with the autoharvesting mods mentioned above.
Additional Information
-I'm using Modrinth
-Nothing else comes to mind, happy debugging.

I think this was fixed in 2.2.1 however I can't confirm and this issue is quite old. Will investigate if a newer bug report is opened thank you


CASMNET-2095 - kea/ipxe

Summary and Scope
Leverages the recent changes in cms-ipxe, introduced by @jsl-hpe for serving up the correct ipxe binary based on cpu architecture.

use a client-class and DHCP option 93 for determining architecture and handing out the correct ipxe binary
set boot-file-name at the toplevel of the the kea config vs. setting it numerous times at the subnet level

Issues and Related PRs

Resolves: https://jira-pro.it.hpe.com:8443/browse/CASMNET-2095

cms-ipxe ticket / PR:
CASMCMS-8505
https://github.com/Cray-HPE/cms-ipxe/pull/62
Testing
Tested on:

tested on tyr along side Joel's cms-ipxe changes. The kea changes were introduced several weeks ago and we haven't seen any odd behavior even after the the site shutdown / power up.

Test description:
The changes in this PR were made manually in the cray-dhcp-kea-jobs configmap on tyr. Both x86 and ARM nodes were rebooted many times to confirm that the correct ipxe binary is being handed out.
Risks and Mitigations
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[ ] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable

Need to increment version in .version, kubernetes/cray-dhcp-kea/Chart.yaml, kubernetes/cray-dhcp-kea/values.yaml, and update the CHANGELOG.md


Issue 2133 required ant version

As suggested on https://github.com/rzwitserloot/lombok/issues/2133 I added a 'fail' with a (hopefully) meaningful message.
Tested with Ant 1.9.6, 1.9.7, 1.9.8, 1.10.0, 1.10.6 on Java10
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Ant 1.9.7 supports the "modulepath" but on my machine this gave me another error, so I excluded that version too.

This is in, but due to you starting off with a stale 2017 commit, it was a mess o' merges. So I cherry picked the actual relevant update and commited that instead. See e6090dbd741925aae7becec3d5f2355ed2b6c4cc and 453c4117a6aef8e9c5c7036782eea5dfe8b4cfe7


Get-DbaBackupHistory, loop correctly over db names

Fixes #1574

hey @niphlod  - LastFull, LastDiff and LastLog appear to work but -Last is currently only returning last Full.
My apologies - the title of the issue wasn't clear enough, -Last was broken as can be seen in the last photo. It needs to return the entire chain all the way from Log to Full.

as reported in #1574 , it seems that the instance you're doing tests on has some strange things going. with a fresh database and manually initiated backups I tried different combinations and evertything clicks fine.
I left a note for @Stuart-Moore there to check on a few other things, but AFAIK the cmdlet is doing fine.


[SPARK-17197] [ML] [PySpark] PySpark LiR/LoR supports tree aggregation level configurable.

What changes were proposed in this pull request?
SPARK-17090 makes tree aggregation level in LiR/LoR configurable, this PR makes PySpark support this function.
How was this patch tested?
Since aggregationDepth is an expert param, I'm not prefer to test it in doctest which is also used for example. Here is the offline test result:

Test build #64265 has started for PR 14766 at commit 0d0f20e.

Test build #64265 has finished for PR 14766 at commit 0d0f20e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HasAggregationDepth(Params):

Merged build finished. Test PASSed.

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

cc @dbtsai @srowen

LGTM. Since I mostly work on scala part, wait for other vote. Thanks.

@srowen Would you mind to have a look at this one? Thanks!

OK, so it's just exposing an existing parameter to python? seems OK.

Yes, thanks for review. Merged into master.


[$250]  iOS Xero - Navigation issue when tapping app back button three times after exiting 2FA setup

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.48-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Launch New Expensify app.
Go to workspace settings > Accounting.
Tap Connect next to Xero.
Tap Enable two-factor authentication.
Tap app back button.
Tap app back button again.
Note that now app returns to workspace editor.
Tap app back button again.

Expected Result:
App will return to workspace list.
Actual Result:
App returns to Accounting.
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/d802a24f-b5ce-41c7-b650-2b9ebf447456

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021845826997685288640
Upwork Job ID:<PHONE_NUMBER>685288640
Last Price Increase: 2024-10-28

Issue OwnerCurrent Issue Owner: @hoangzinh

We think that this bug might be related to #wave-collect - Release 2

@twisterdotcom  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
When navigating back from the Xero integration ,  users are returned to the "Accounting" page instead of the "Workspace List" as expected.
What is the root cause of that problem?
we are adding backTo in both web and native specific files of ConnectToXeroFlow
https://github.com/Expensify/App/blob/cc0d741dba3e69911ef929b630e8bb1bf0d28fcb/src/components/ConnectToXeroFlow/index.tsx#L37
we don't need to add backTo as the accounting page as we are already in the account page, when the connectToZero flow start, we are still in the accounting page, no need to add another backTo
What changes do you think we should make in order to solve the problem?
in
https://github.com/Expensify/App/blob/cc0d741dba3e69911ef929b630e8bb1bf0d28fcb/src/components/ConnectToXeroFlow/index.tsx#L37
remove
ROUTES.POLICY_ACCOUNTING.getRoute(policyID)
https://github.com/user-attachments/assets/75167d1f-89c7-4d48-87cc-25978f637773

Proposal
Please re-state the problem that we are trying to solve in this issue.

When connecting to Xero, after opening the two-factor authentication modal and tapping the back button multiple times, the app stays in the Accounting page instead returning to the expected Workspace list.
This issue does not occur when connecting to NetSuite, and others, where the navigation behaves as expected.

What is the root cause of that problem?
In both the web and native files of the ConnectToXeroFlow, the backTo parameter is set to the Accounting page when opening the two-factor authentication modal . Since users are already on the Accounting page when they start the Xero connection process, this causes the app to stay on that page instead of navigating back to the Workspace list.
In the web file ConnectToXeroFlow/index.tsx
In the native file ConnectToXeroFlow/index.native.tsx
What changes do you think we should make in order to solve the problem?
We should remove the backTo parameter in the ConnectToXeroFlow for both the web and native files.:
In the web file ConnectToXeroFlow/index.tsx
In the native file ConnectToXeroFlow/index.native.tsx
We should pass an empty string for the backTo parameter, like this:
                   Navigation.navigate(ROUTES.SETTINGS_2FA.getRoute('', getXeroSetupLink(policyID)));
https://github.com/user-attachments/assets/1e3c500d-a379-4b38-b468-9d9443581e05

Proposal
Please re-state the problem that we are trying to solve in this issue.

When connecting to Xero, after opening the two-factor authentication modal and tapping the back button multiple times, the app stays in the Accounting page instead returning to the expected Workspace list.
This issue does not occur when connecting to NetSuite, and others, where the navigation behaves as expected.

What is the root cause of that problem?
In both the web and native files of the ConnectToXeroFlow, the backTo parameter is set to the Accounting page when opening the two-factor authentication modal . Since users are already on the Accounting page when they start the Xero connection process, this causes the app to stay on that page instead of navigating back to the Workspace list.
In the web file ConnectToXeroFlow/index.tsx
In the native file ConnectToXeroFlow/index.native.tsx
What changes do you think we should make in order to solve the problem?
We should remove the backTo parameter in the ConnectToXeroFlow for both the web and native files.:
In the web file ConnectToXeroFlow/index.tsx
In the native file ConnectToXeroFlow/index.native.tsx
We should pass an empty string for the backTo parameter, like this:
                   Navigation.navigate(ROUTES.SETTINGS_2FA.getRoute('', getXeroSetupLink(policyID)));
https://github.com/user-attachments/assets/1e3c500d-a379-4b38-b468-9d9443581e05
iOS
https://github.com/user-attachments/assets/12250e25-803d-4327-9a9b-b9aadd581758

Proposal
Please re-state the problem that we are trying to solve in this issue.
Navigation issue when tapping app back button three times after exiting 2FA setup
What is the root cause of that problem?
When we press the go back button inside the TwoFactorAuth page, we invoke this function
https://github.com/Expensify/App/blob/2329c78f5a2878a6979a090e0b42a2d553af4990/src/libs/actions/TwoFactorAuthActions.ts#L21-L24
We pass the fallback route which leads to this issue
https://github.com/Expensify/App/blob/2329c78f5a2878a6979a090e0b42a2d553af4990/src/libs/Navigation/Navigation.ts#L201-L205
What changes do you think we should make in order to solve the problem?
Remove the backTo(fallbackRoute)
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
iOS Xero - Navigation issue when tapping app back button three times after exiting 2FA setup
What is the root cause of that problem?
When we press back button goBack is called with fallbackRoute
https://github.com/Expensify/App/blob/8ff185a05937366c40898f8ab6510fbd765a8838/src/libs/actions/TwoFactorAuthActions.ts#L23
but because it is first route in the navigator it will navigate to the fallbackRoute here
https://github.com/Expensify/App/blob/8ff185a05937366c40898f8ab6510fbd765a8838/src/libs/Navigation/Navigation.ts#L235
which will push duplicate workspace accounting route to the navigation state
What changes do you think we should make in order to solve the problem?

We navigate to the 2FA page from different places and the backTo param is necessary for the other cases so we should conditionally provide empty backTo for the case of workspaces accounting page
https://github.com/Expensify/App/blob/8ff185a05937366c40898f8ab6510fbd765a8838/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx#L64
    const workspaceID = useActiveWorkspaceFromNavigationState();

...
            onBackButtonPress={() => TwoFactorAuthActions.quitAndNavigateBack(ROUTES.POLICY_ACCOUNTING.getRoute(workspaceID ?? '') ? '' : backTo)}

What alternative solutions did you explore? (Optional)

We need the fallback route, just in case we visit the 2FA page with a direct link.

@hoangzinh , I’ve updated my Proposal, and the issue you mentioned  has been resolved. Thank you.

@Shahidullah-Muffakir, @NJ-2020 oe, @FitseTLT - do any of you want to take another stab at this or respond to @hoangzinh?

@twisterdotcom @hoangzinh , I updated my proposal, thank you.

@hoangzinh Updated

@Shahidullah-Muffakir, thank you for the updates. Your proposal still does not explain why passing backTo route caused the bug, also your proposed solution hasn't explained why removing backTo param will fix this issue. Besides that, can you explain why it won't cause a regression bug when we visit the direct link, for example, https://dev.new.expensify.com:8082/settings/security/two-factor-auth?backTo=settings%2Fworkspaces%2F{workspaceId}%2Faccounting&forwardTo=https%3A%2F%2Fwww.expensify.com%2Fapi%2FConnectPolicyToXero%3FpolicyID%3D{workspaceId} It will go back to the correct workspace's accounting page when we tap on the "Back" icon of 2FA page (on small screen devices).

@hoangzinh,Sorry for the delayed reply.   I'm not 100% sure if my response will fully clarify things, but here's what I observed:
When we pass the backTo parameter in this line of code:
https://github.com/Expensify/App/blob/59675845862ba0465d0652272d7bc4f25375a5cf/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx#L64
this triggers the following condition in the Navigation.goBack function:
https://github.com/Expensify/App/blob/65b739d3befa22d49dec5c142a9fb9745944aa28/src/libs/Navigation/Navigation.ts#L234-L237
This seems to add the accounting page twice in the navigation stack, causing the issue where we keep getting stuck on that page.
However, when we remove the backTo parameter from this line:
https://github.com/Expensify/App/blob/59675845862ba0465d0652272d7bc4f25375a5cf/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx#L64
the following line executes in Navigation.goBack:
https://github.com/Expensify/App/blob/65b739d3befa22d49dec5c142a9fb9745944aa28/src/libs/Navigation/Navigation.ts#L278
It seems that when we open the page via the direct URL, the backTo is in the URL, and the app correctly navigates back to the accounting page using navigationRef.current.goBack() without needing to explicitly pass the backTo parameter.
Thank you.
Attaching a screen recording of accessing the page directly via the URL in Mobile Safari
https://github.com/user-attachments/assets/fdf3a5df-b86a-413b-8b5d-dfbbbf8f680c

which will play the role of REPLACE action we were using

@FitseTLT, Thanks for updates. Can you explain this a little bit? When did we use REPLACE option? Thanks.

@hoangzinh when we navigate to it with type UP for a fallbackRoute case here
https://github.com/Expensify/App/blob/f46bce0b96c533b6aac0e2464ae27615101a7f7d/src/libs/Navigation/Navigation.ts#L234-L235
we will set the action to REPLACE here
https://github.com/Expensify/App/blob/f46bce0b96c533b6aac0e2464ae27615101a7f7d/src/libs/Navigation/linkTo/index.ts#L114-L115
therefore the nav action will replace the current route with the fallbackRoute as it doesn't know the route before that is the same as the fallbackRoute we will end up having duplicate routes in nav state.
So what we should do is goBack to remove the current route from the nav state and then navigate to the fallBackRoute in which case if the prevRoute is the same as the fallbackRoute it will leave it as it is and not create a duplicate route which will solve similar issues for the future too.

@hoangzinh, I think this is the  root cause and potential solution:
The issue stems from this code:
https://github.com/Expensify/App/blob/9508b1740083716708c3e6dd4cbfaf90254e7a98/src/libs/Navigation/linkTo/index.ts#L120-L127
Current behavior:

We attempt to replace the current RHP (Right Hand Panel) screen with the previous screen using the fallback/backTo route
The replace operation correctly sets the "accepting page" as the current route
However, the accounting route already exists in our route stack at routes.at(-2)
When we perform the replace operation, we end up with duplicate accounting page routes:

One from the existing stack
Another from the replace operation

Proposed solution:
Instead of using replace, we should use navigate. Here's why:

navigate will first check if the target route exists in our stack
If it exists, it will simply navigate to that instance
If it doesn't exist, only then will it add the route to the stack
           action.type = CONST.NAVIGATION.ACTION_TYPE.NAVIGATE;

This change would prevent the duplicate route issue while maintaining the expected navigation behavior.
Thank you.
https://github.com/user-attachments/assets/277a838a-bf5d-4018-8594-f7a14cc4c4a6

@hoangzinh I have updated to give an alternative approach of passing empty backTo (for 2FA page only for the case of Xero) as I have proposed initially along with the analysis for the reason it will work for deep link case 👍

@hoangzinh , When we open the 2FA page directly through the URL with the backTo parameter, the app still knows where to go back because:

The URL's backTo parameter (settings/workspaces/{workspaceId}/accounting) is processed by getMatchingRootRouteForRHPRoute function, which:

Takes this URL and converts it to a navigation state using getStateFromPath(route.params.backTo, config)
Checks for the target screen type (RHP navigator, full screen navigator, or central pane screen)
In our case, it finds that the accounting page is a central pane screen

The app then uses this information to set up the correct navigation stack, even though we didn't navigate there step by step. This happens in the getAdaptedState function, which:

Sets up the proper bottom tab navigator
Adds the matching central pane route (accounting page in our case)
Adds the RHP navigator (2FA screen)

So even when accessing the 2FA page directly, the backTo parameter helps the app reconstruct the proper navigation stack context. That's why when we click the back button (which calls navigation.goBack()), it knows to take us back to the accounting page.
We can actually verify this behavior by testing: if we remove the backTo parameter from the URL, the back navigation won't work as expected because the app won't have the information needed to reconstruct the proper navigation stack. This is because the logic in getMatchingRootRouteForRHPRoute specifically checks for and relies on this parameter:
if (route.params && 'backTo' in route.params && typeof route.params.backTo === 'string') {
    const stateForBackTo = getStateFromPath(route.params.backTo, config);
    if (stateForBackTo) {
        // Check for central pane screen
        const centralPaneScreen = stateForBackTo.routes.find((rt) => isCentralPaneName(rt.name));
        if (centralPaneScreen) {
            return centralPaneScreen;
        }
    }
}

here is all the related code:
https://github.com/Expensify/App/blob/608ec61280dd8df0f722db0f37752b9bb6cf2d34/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts#L116-L126

@hoangzinh

What @Shahidullah-Muffakir found here https://github.com/Expensify/App/issues/50695#issuecomment-2442578195 is hours after I updated the proposal to include the exact analysis and you were asking him even before 5 days here but wasn't able to provide
We cannot just leave the backTo because we will need it here so we should make an exception for Xero flow as I have suggested in my alternative solution. Please note that 2FA page is not only used here in Xero flow. Thx. 👍

@hoangzinh updated my Proposal, Thank you.

@FitseTLT Oh wait, you're right. @Shahidullah-Muffakir's solution will cause a regression bug in the Reimbursement flow
Screen.Recording.2024-10-30.at.05.28.29.mov

@FitseTLT is correct - while I only tested the regression on the Security page navigation, I missed testing the Reimbursement flow mentioned. Thank you.

Payment Summary:

@hoangzinh paid $250 via NewDot Manual Request
@FitseTLT paid $250 here (Contributor)

$250 approved for @hoangzinh


zabbix70: 7.0.5 -> 7.0.6

Update zabbix70 to new minor version. Changelog: https://www.zabbix.com/documentation/current/en/manual/introduction/whatsnew706
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@Mindavi sorry for the ping but I think you helped with the last one. Any way we can improve the incremental updates being pushed through?

I'm afraid I don't have general advice for you. I see 7.0.7 is also already out again 🙂.

Thank you


Email property bcnMailTo could be refarctored to have a generic emailTo property

With the fw-cli, using generic names can be a problem when using the runAll/buildAll JS script.
There may be multiple workflows that all use different e-mails but use the sane address.
Having a separate name prevents this from the cli perspective and so if the change is to remove the specific e-mail variables to a generic emailTo, then the runAll/buildAll JS scripts cannot safely be used as-is.


Would you please add an example manifest for deploying this to Android via Google Play Store?

Firstly, THANK YOU for this sample code...extremely helpful while we wait for StackOverflow to catch up! ;)
Would you please include an example \platforms\android\AndroidManifest.xml that you'd use for deploying this app to Google Play (obviously, without your real API keys).  I've been having a hell of a time getting the Google Maps integration to work once it's deployed to the Google Play app store and downloaded on an Android device (or via Arc Welder), and I think that seeing a working AndroidManifest.xml would be assistive.
Thank you!
Billy McCafferty

Since AndroidManifest.xml is auto-generated during the publish steps, I suppose it's the config.xml settings that I'm looking for that will enable the use of Google Maps when deployed to Google Play.
Thanks again!
Billy McCafferty

I was able to use XML guidance from http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html to get this working...so nevermind. ;)


Corrected MobileNetV2 import

Summary
Corrected template file regarding the use of mobilenetv2. The way it is written now (mobilenet_v2, with an underscore) throws an error.
Related Issues
PR Overview

[ ] This PR requires new unit tests [y/n] (make sure tests are included)
[x] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[ ] This PR is backwards compatible [y/n]
[ ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

Does is throw an error in the latest release? The docs are in sync with master at least.

You're right, this throws an error on version 2.2.2, but seeing that the other models use the same naming convention (use an underscore in the name) this is surely working okay with master. I am closing.


Add page for each course

Similar to their being a page for each dorm, make a page for each course where students can see the course description, relevant links (SearchNEU page, ratemyprof, ratemycourse), and reddit links related to that course.
To do:

[ ] Find a list of all courses (maybe check out what searchNEU has done)
[ ] Make a page for each course
[ ] Add these pages to the search bar

Can use courses API from https://developerportal.northeastern.edu/course-catalog/apis

Searchisnt all that great because of the number of courses, but that'll be another issue


WRQ-25866: Update package dependencies to fix security vulnerabilities.

Enact-DCO-1.0-Signed-off-by: Alexandru Morariu<EMAIL_ADDRESS>Checklist

[X] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[X] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Updated dependencies to the latest minor version for moonstone library.
Resolution
Additional Considerations
Links
WRQ-25866
Comments

No longer necessary to update moostone dependencies.


Fix strlen example

The example listed for the strlen function incorrectly shows an example for length instead.

Thanks!


Upodate for MongoDB Atlast

Previously class took host and port as a parameter. Connect with MongoDB Atlas it's not possible to provide the host and port as it has a single URL. So directly pass the URL to the MongoClient.

@emptycrown

hi @Rishav-hub, are you able to get to this? if not i can help land

hi @Rishav-hub, are you able to get to this? if not i can help land

Actually little confused where can I again change the code in this pull request.

hi @Rishav-hub, are you able to get to this? if not i can help land

Actually little confused where can I again change the code in this pull request.

as in, keep the host/port parameters, and set mongo_db_url as an Optional string. if mongo_db_url is specified use that, otherwise use host and port


Added replaceText action

@talkol Pls check. Is this something we want to expose in detox, if detox is supposed to simulate e2e, do we want an action not normally possible by the user using normal keyboard / device.


Organize shares by groups. Rel ##101

Coverage remained the same at 100.0% when pulling ae7c057ccea10ae57ecd7726e90e75929290206d on yago/json-2 into 9cc8a2995e1d073bf854c670158a204b6a390141 on master.


[*] null safety

This is just null safety

This is now published as part of v0.2.0. Thanks for contributing!


Fix is not longer working after latest update (GoG)

After latest update (GoG version) fix is not longer working
Gives me this error window

Could you please check if this update works correctly?
winmm.zip

Could you please check if this update works correctly? winmm.zip

Yep, its fixed now!


Pin inside the left UI container, above the players list

Improves some pinning functionality and makes the pinned panel move properly when interface elements are adjusted by other modules.

Looks good in all my testing so far, thanks!


Remove allowBackup entirely from AndroidManifest

Libraries really have no business setting allowBackup. Setting allowBackup to true is symbolic of a library that is incapable of handling its own data appropriately so leans on Google to do it and presents a problem for downstream integrations as they really have to not allow that to merge. That setting would utilise Google's proprietary cloud backup systems, I believe it shouldn't be possible on PAX devices but with that in the AndroidManifest questions must be asked:

is it a security issue? Is data being backed up to Google cloud systems? Where in the world is that happening? What contracts are in place to protect the data from Google?

is it using a PAX backup mechanism? PAX cloud storage? Why is it set in the library?

When will this bug be finally fixed?


Fix a silent upload error

Fixes #858 by first issuing a HEAD request and following a redirect.
This does not cover further redirects though, so it's possible to make this more robust. It does cover the most common use cases (PyPI and TestPyPI will work correctly)
See my comment for more details: https://github.com/sdispater/poetry/issues/858#issuecomment-520239647
Pull Request Check List

[x] Added tests for changed code.
[ ] Updated documentation for changed code. (n/a: this is a bugfix)

Unfortunately I do have a failing unit test and I don't know how to fix it.
This test fails:
    expected = """
Publishing simple-project (1.2.3) to PyPI
 - Uploading simple-project-1.2.3.tar.gz 0%
 - Uploading simple-project-1.2.3.tar.gz 100%
 - Uploading simple-project-1.2.3.tar.gz 100%

[UploadError]
HTTP Error 400: Bad Request

"""

    assert app_tester.get_display(True).startswith(expected)

The output gets unexpected whitespace, but I have no idea why. Any help is appreciated.

Actually, I realized that 301 means permanently moved. So I'm going to open a different PR to follow the redirect at the time it is saved in the config.

Superseded by the linked PR above ^


Some small fixes and improvements.

And a lot more tests.
These are basically the changes from the coverage branch without the coverage recording part.
Signed-off-by: Heiko W. Rupp<EMAIL_ADDRESS>

@pilhuhn It has a small conflict now.

I should not have used the web-editor :)

I should not have used the web-editor :)

Happened to me on my desktop editor, just noticed because I ran the test suite just in case :laughing:


Remove Redis as a dependency

The current data plane uses Ray for same machine comms and Redis for inter-machine comms.
Both should be replaced by a custom Arrow Flight server, with two benefits:

No more disk flushing and reading on demand on same machine
No more pickle.loads or pickle.dumps
Possibility for more custom behavior
Better control from Python side

moved data movement to flight server in PR #6


Adds support for sending tags in the Datadog StatsD format

Adds optional support for sending global tags and metric-specific tags. The tag format is compatible with Datadog StatsD and Telegraf.

Hi! Thanks for the comment. How about I close the PR and open another one adding a note to the README pointing to DataDog's statsd fork for people looking for tag support?

Closing since I added a note to the wiki: https://github.com/reinh/statsd/wiki


Actually implement playing

It doesn't appear that music can be played yet...

Isn't it meant to use the Media Kit to play audio?


Optional Icon and Summary

closes #6

closes #8

Any plans for this to be merged?  Would love to see these changes in the library

While waiting for this to be merged, you can use this fork as a temporary dependency:
implementation 'com.github.NoelChew.ComposePreferences:preferences-material:0.1.5-3'


SQLAlchemy engine from workspace level service principle?

From a remote client, I need to write a script that connects to my SQL Warehouse using a workspace level service principal and creates an SQLAlchemy engine.. which I can then pass to a library that expects the engine.
I did write example scripts that:

connect using the Service Principal via python dbapi, thanks to the example provided.
creates a SQLALchemy engine using a PAT

I tried quite a few things including using pyodbc, only to discover that it fails as databricks_dbapi/odbc.py only supports username/password or PAT
Is there a way to create a SQLAlchemy engine connected to a SQL Warehouse using a service principle?

Hey @timharsch what you're describing should work without issue. Where are you finding this odbc.py file? The databricks-sql-connector is a native thrift client that doesn't depend on ODBC at all. Which makes me wonder if you're using the right connector.

I guess the issue was failing to understand that service principals do not specify a username and password to connect.  The pattern that worked was to set the env vars like so:
DATABRICKS_CLIENT_ID=...
DATABRICKS_CLIENT_SECRET=..
and to use the pattern like so for the connect string:
uri = f'databricks://{server_hostname}?http_path={http_path}&catalog={catalog}&schema={schema}'
to get the PyDB connection and feed it to the engine


Delete could be a bit more friendly

Description
When editing storage data in the nakama console, sometimes when deleting objects it will automatically delete all linked objects without notification. I think adding a little "You have X number of linked items, Are you sure?" or something similar would really help with storage data editing.
Steps to Reproduce
Example:

Create some storage data (import or api)
Create connected storage items (via users)
Delete a user with multiple storage items associated with it.
All data is deleted that is associated with the user without notification.

Expected Result
A popup giving some notice about the large changes about to occur.
I think for small changes, this it is fine, its more important if an admin accidentally deletes an unknown user that may be critical in the storage system
Context

[ x ] Defold

Your Environment

Nakama: 3.2.1+6790d453
Database: Cocroach
Docker - used the docker-compose instructions from the document
Ubuntu 18.04

Thanks for the feedback @dlannan-kakutai. We don't delete storage objects that are "linked" to each other (we have no concept in the storage engine API). We do delete all objects owned by a user if the user is deleted. Is this the scenario you encountered?

Yes. I believe so. The storage page was selected, then the storage item - example below

Then the key is selected in the url which goes to this page:

And delete was selected. Because its a single line item, it was expected the store would be removed it removed other stores too (I think all of them actually). I'll try to make an empty example of what was done so its repeatable (when I get some free time - hopefully).
I think maybe some info at least about what is going to happen would be useful. Or.. better still maybe configurable? So that users have the option of having some notifications of what is happening.
Im less concerned about what happens, and more about handing this over to other admin people and ending up with a bit of a maintenance nightmare.


shift+wisdom scroll problems

Thanks for this cool project :)
When trying to get the shift+wisdom scroll working it shows briefly:
Item-info: item not supported
I did get it to show up once, but I'm not sure what I did differently. I'm using old rings+belts I had in my stash.
Long press on middle mouse button does show the window.
Item highlight key is set to alt - should I try changing it?  I closed awakened poe trade to make sure it wasn't messing.
It just worked again on the first ring, but said item not supported on the following ones.
Also, though it's minor increasing the item-info tooltip size, the number stays 0 in the middle, though the tooltip size is changed.

Also how to get f3 to search for the jewel implicit on items? https://github.com/Lailloken/Lailloken-UI/wiki/Context-menu-for-items?  Maybe all that's available there is the 'small' crafting table option.

When trying to get the shift+wisdom scroll working it shows briefly:
Item-info: item not supported

This usually pops up if the item is unidentified, normal rarity, or generally not supported. I have to exclude normal rarity items because otherwise the script can't tell if it copied normal or advanced item descriptions from the client, i.e. whether or not ALT is the correct key for highlighting and advanced descriptions. If it's not, it shows a different message urging the user to check the omni-key settings.

Item highlight key is set to alt - should I try changing it?

Shouldn't be necessary. The fact that it's showing the 'not supported' message is normal behavior and tells me the inputs it's sending to the client are correct -- you also got it to work in a few instances.

Also, though it's minor increasing the item-info tooltip size, the number stays 0 in the middle, though the tooltip size is changed.

I usually refer to UI sizes as 'font-size offset' because I scale UIs in line with the font size to prevent misalignment or clipping. So the minus-button decreases the offset by one (the size in the 'general' section of the settings menu being the global point of comparison), the plus-button increases it by one, and the 0-button resets the offset to 0. I changed it to 'size' to sound less strange but forgot to change the layout as well.

Also how to get f3 to search for the jewel implicit on items?

If you omni-click a cluster jewel it should show the context-menu with 'crafting table: all' and 'crafting table: size'. Clicking 'all' should open the general cluster page on poe.db and a tooltip should be displayed in the middle of the screen asking you to press F3 to use the browser search to highlight the cluster-enchant.

Did you get it to work correctly, or is there still something wrong?

Thanks!
I was identifying rare rings & belts.  Any idea why they'd not be supported?  Might have been from a few leagues ago since it was in standard, but they were pretty ordinary otherwise.  It only worked maybe 1/15 tries.
UI sizes - works great, I'd just expected the number to change in the middle like the zoom window on chrome.  It makes sense it'd stay 0 to reset it to zero though, so that seems fine.

Thanks!  Yeah I don't know why wasn't working & have been too busy with play around with it further for now.  I'll post a new issue if I have trouble in the new league.


Cookie header should be separated by semicolon instead of comma

First, sorry, I'm not familiar with the details of the HTTP protocol.
But I'm now having trouble with this cookie header-related problem.
After some of the investigation, the cookie header seems to be separated by ; not ,.
Related.
https://github.com/microsoft/reverse-proxy/issues/437
https://datatracker.ietf.org/doc/html/rfc6265#section-4.2.1

Sorry. It seems to should not fix in this repo...
In chrome, the Headers class behaves the same.
const h = new Headers();
h.append('cookie', 'a=b')
h.append('cookie', 'c=d');
h.forEach((k, v, p) => {
  console.log(k, v)
});

So I think it should be handled in msw package.

Hey, @hrsh7th.
Could you please provide more details about what you're trying to achieve, how you're using the libraries, and what is the current/expected results? It's hard for me to help you if I don't know that info.
Ideally, I'd kindly ask you to create a minimal reproduction repo or a sandbox. If you try submitting an issue in the MSW repo, you'll find the templates to create both.
Generally speaking, the values of a multi-value header must be separated by a semicolon. I'm not aware of headers that may have different behavior regarding this.

OK. I'll create explanation project. I think this is important thing for msw.


DialogFragment communicating with target fragment

When dialog fragment communicates with parent (i.e. target) fragment this guide suggests:
https://guides.codepath.com/android/Using-DialogFragment
public class EditNameDialogFragment extends DialogFragment {
    // Defines the listener interface
    public interface EditNameDialogListener {
        void onFinishEditDialog(String inputText);
    }

    // Call this method to send the data back to the parent fragment
    public void sendBackResult() {
      // Notice the use of `getTargetFragment` which will be set when the dialog is displayed
      EditNameDialogListener listener = (EditNameDialogListener) getTargetFragment();
      listener.onFinishEditDialog(mEditText.getText().toString());
      dismiss();
    }
}

This is a fragile approach for two reasons:

unchecked cast
parent has to implement interface

Instead this guide should recommend using onActivityResult:
public class EditNameDialogFragment extends DialogFragment {

    // Call this method to send the data back to the parent fragment
    public void sendBackResult() {
        // Notice the use of `getTargetFragment` which will be set when the dialog is displayed
        Fragment targetFragment = getTargetFragment();
        if (targetFragment != null) {
            // hosted as dialog by another fragment
            Intent intent = new Intent();
            intent.putExtra("EXTRA_STRING_RESULT", someString);
            targetFragment.onActivityResult(getTargetRequestCode(), Activity.RESULT_OK, intent);
        } else {
            // must be hosted by Activity instead, do something different
            ...
        }
    }
}

@tir38 Unfortunately getTargetFragment() does not work when using the latest Navigation component architecture.

@safall This may happen if you use an extension function e.g run Kotlin standard function. The setTargetFragment function checks whether this scope is a targetFragment, so you cannot use it. Try using let which sends the scope as a parameter, instead of calling on itself.
The reason for checking the target cycle is not clear, but hopefully, Google will address this issue in the future.


Revert "Bump actions/setup-dotnet from 1 to 3"

Reverts github/gh-gei#937
We're reverting this because we've seen dotnet format sporadically failing since the upgrade.

I think you rolled back the wrong PR.
There was PR #937 , then that was rolled back in PR #940
Then we did PR #949 which is the one we should be rolling back now.

The main difference being that v2 was working. Also not sure if that globals.json file introduced in #949 is part of the problem or not.


Encrypting file with public key

Hello, I need to encrypt data with public key and save it to the file.
I found snippet in tests that exercises encryption with private key, I adapted it a bit, and ended up with something like this (where PUBLIC_KEY is my PGP key using RSA2048):
fn encrypt(text: &str) {
    let mut rng = thread_rng();
    let (key, _headers) = SignedPublicKey::from_string(PUBLIC_KEY).expect("Failed to parse key");
    let ciphertext = key.encrypt(&mut rng, text.as_bytes()).expect("Failed to encrypt data");
}

That seems to work, but I cannot figure out, how to write this ciphertext to the file, that can be later decrypted with GnuPG. I tried naively to iterate over ciphertext vector and write bytes, but that doesn't work.
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error

I would be really grateful for a hint what I am missing.

I don't know how you tried to save the ciphertext as file because you didn't provide any code and keys to debug it but you can use this snippet that worked for me:
let message: String = fs::read_to_string(message_file_path)?.parse()?;

let lit_msg = Message::new_literal_bytes("", message.as_bytes());
let mut rng = thread_rng();

let encrypted_msg = lit_msg
    .sign(
        &secret_key,
        || secret_key_passphrase.to_string(),
        hash_algorithm,
    )
    .and_then(|msg| msg.compress(compression_algorithm))
    .and_then(|msg| msg.encrypt_to_keys(&mut rng, symmetric_key_algorithm, &[&pub_key]));

let msg = encrypted_msg?;
let encoded_msg: Vec<u8> = msg.to_armored_bytes(None)?;

let encoded_msg: Vec<u8> = ciphertext?.to_armored_bytes(None)?;
std::fs::write(ENCRYPTED_FILE_PATH).expect("Failed to save encrypted message to file");

Thank you for reply. I ended up solving it different way, but hopefully somebody in future might find it useful. I suppose this issue can be closed now.

with gpg as the sign process is not the same as described in RFC:

@rk0n What do you mean with that? Signing has been exactly implemented to match the RFC, so I am not what difference you are referring to here?
(Note: these are low level apis to build up the pgp packets as described in the RFC, so you have to make sure to construct them in the right form atm)


Credential schemas management

I implemented this feature in a branch in my fork jakubkoci:feature/credential-schema, but the tests require running Indy pool. I asked in the Rocket Chat #areis-maintainers channel if there is any Indy pool for testing purposes on CI to use before we add our own.

Solved by #82


Feat: show warning message if required php functions are not available

New feature.
Check php function requirements warning system.

This is maintained version of this fork, support custom command, pull request here
https://github.com/triptasoft/laravel-installer


[Feature Request]: Update a package

Is your feature request related to a problem? Please describe.
While there are a couple of methods for adding, editing, or deleting packages, unless I'm mistaken, there are none for updating a package.
Describe the desired solution
It would be great if there would be a method for updating a package. Something like this:
$package = $client->packages()->update('acme-website/package');

Describe the alternatives that you have considered
None considered.
Additional context
Sorry if updating a package is already possible; I never actually used this library but only checked the README.md and couldn't find anything about updating.

Same for "abandon a package".

Hey,
Correct, API endpoints to trigger a package update or to abandon a package are not yet available. If you need trigger package updates via HTTP calls, there is already a way to do this via a POST request using the hook URL that is shown on the package page. Happy to help you get this set up if you need any help. Easiest might be via the support chat.

@tyrann0us can you give us some details about your use case for both package update and package abandon? This would help us prioritize the issue. If you'd rather not share this publically, then you are also welcome to share this via our support email or chat.

Hi @glaubinix, I don’t really have a use case. We might use the library in the long term; this request is certainly not of high priority for us at the moment.
Thanks!

@tyrann0us We're happy to consider this if there's a use case. So far every time someone brought this up, it could be resolved in a different way. Typically by using our existing webhook mechanisms to trigger package updates, or by configuring synchronization correctly. I'll leave this open though, as I agree we should add a method to abandon packages via API.


Updated universal script and removed shebang line by default

This pr changes updates the generated universal script to be on par with lihaoyi/mill#264.
Also the shebang line isn't generated anymore by default so that it doesn't show an error on windows anymore.
The linux download instructions should be updated to add this line afterwards.

Nice, thanks. Do you want to propose the change to the curl+chmod command here and here (need a separate unstableCurlCommand for now); perhaps throw in some Windows instructions for good measure (e.g., a simple url direct link with a brief "save as amm.bat" instruction would suffice).

What do you think about this?
sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L $curlUrl) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm' && amm

That works.

Okay I added this to the docs as well as the info for windows. Sadly I was not able to figure out how to generate the page to test out if it looks right since I have never worked with scalatex before.
I already tried running sbt "readme/run" but it only seems to generate the api docs.

You can run amm ci/build.sc docs to compile the readme (it does not replace the curl url, however).
Anyway, this looks good to me. Thanks.


is it possible to process indicator using live data

library looks great
but i have one question
lets say i am subscribed to some feed and every second i am getting new Candle is it possible to calculate indicator value on that candle. instead of reprocessing all candles again?

I achieved this by using the StartIndex, EndIndex parameter to indicator Compute function

Great can you please give some example i am just getting started will be great help....
Thankyou

It’s open source software bro, you have to work it out :D

okay thanks :)
just allow me to ask one more question please
for example if i am using following code
var closes = new List{ ... };
suppose closes list lenth is 31
var smaTs = closes.Sma(30);
var sma = closes.Sma(30)[index];
so if i add another close in closes list
i can get value by index bit it again processing all array right. so i wanted to know does the indicator cached the previously calculated value and process just the new value.

It’s. it my project so I don’t know, but I suggest try it out :D

@softdev021 the value is re-computed, there's no caching mechanism in indicator computation.

Also related to #29

I',m looking for the same as @softdev021.
It would be nice if indicators, that base on previous values, had a parameter to pass "starting point", which would be a previous value of that indicator.

@andrzej-suwala it sounds good but the effort to complete this feature is not trivial, I might have to spend some time to work on it, it would be a great help if you guys could create a PR for the feature 😄

This is an interesting and highly desired feature.  The current design is a very functional approach.  This would require holding state.  And the two designs conflict.
I would definitely like to see this come to play, but we would need to come up with a solid stateful design so that calculations are performed on the new elements and not on the old.
I would like to see a proposal come forward.

I wrote a bot using binance API + this lib, watching ~125+ assets real time, analysing with major indicators realtime, no need to do that as @lppkarl mentioned. It's only using 30 threads and ~250mb of ram. Just cache the candlestick data on file system or on some doc db to prevent refetch. It's fast enough..


ASTVisitor: recognize scalars in function call arguments

Currently Mull only supports having instruction address in the mutation information so it does not allow us to store additional information, such as the number of a function argument as this type of mutation requires.
We have considered the idea of adding a generic payload field to the mutation information that would accommodate for having the number of argument information and we also agreed that we are not going to implement it now.
Closing this until there is more need for having a more detailed information attached to mutation points.


Waiting your approval

Dear DD-Pose Team,
A few months ago, I completed my registration and verified my email for the DD-Pose dataset, as per the instructions provided.
However, I have not yet received your approval and am still eagerly waiting.
Is there anything else I need to do on my end?
I would greatly appreciate it if you could approve my request.
For your reference, my email is<EMAIL_ADDRESS>Thank you for your time and assistance.

Thank you for approving my request!


Examples of cross-compiling / embedded usage

Hi,
This is a great project!
I wanted to ask, can you provide some examples that show how to cross-compile for embedded use-cases?  For example, would it just be setting the 'CC' environment variable?  How would I specify something like a linker script, and the C-start-up code?
This is all commonly done for embedded environments (baremetals, without an OS, etc).
This is an example (not mine) of CMake for an ARM cortex-m0: https://github.com/infohoschie/arm-cortex-m0-cmake

You would call cmake with -DCMAKE_TOOLCHAIN_FILE=... as usual.

Perhaps to give a more concrete example of cross-compiling to Windows for ARM64 in case somebody runs across this:

Clone the zig-cross project in your home directory:
git clone https://github.com/mrexodia/zig-cross ~/zig-cross
Configure your CMake (or cmkr, same thing) project with the following command line:
cmake -G Ninja -B build-winarm64 -DCMAKE_TOOLCHAIN_FILE=~/zig-cross/cmake/zig-toolchain-winarm64.cmake
Build the project:
cmake --build build-winarm64

There are many other cross-compilation toolchains out there, they all work in the same way. The most important thing is that you do not hardcode toolchain/platform-specific flags in your project and everything will work smoothly.


Source transformer should progress the watermark even if the data is filtered by source-transformer

Summary
We should publish and progress via WMB with idle=true even if the data is dropped by the source-transformer.

Reproducing the problem
Trying to reproduce using the following pipeline spec:
spec:
  vertices:
    - name: in
      source:
        generator:
          rpu: 5
          duration: 1s
          msgSize: 8
        transformer:
          builtin:
            name: filter
            kwargs:
              expression: 1 == 0
      scale: {}
    - name: cat
      udf:
        container: null
        builtin:
          name: cat
    - name: out
      sink:
        log: {}
  edges:
    - from: in
      to: cat
    - from: cat
      to: out

I observed that although all the messages are filtered out by the source transformer, we are still publishing idle watermarks.

Looking into the source forwarder, I see that 1. When we publish source watermarks, the messages dropped by source transformers are also counted, and 2. When we publish an idle watermark for an idle out edge, we publish the source watermark of the read batch. Hence, we are progressing the watermark even if the data is filtered by source transformer.
Did I miss anything? (I assumed source idling is NOT part of this problem)

@KeranYang - thanks for confirmation! If we are already doing it right, this can be closed.

@whynowy cool, I am closing it.

I am not sure how this is working, especially now that #1386 has been opened.

Thanks for re-opening the issue. @vigith @yhl25
This is working for 2 reasons:

The numaflow main branch depends on an old version of numaflow-go (v0.5.1), which when creating MessagesToDrop, assigns time.Time{} to event time. I was using the built-in filter transformer hence v0.5.1 was used.

Numaflow platform, if transformed messages have event time as time.Time{}, assigns the original read messages' event time to the write messages. Hence in my test pipeline, all dropped messages retain their original event time (the generator uses the current time). Hence the watermark got propagated.

We need to upgrade the platform to depend on the latest numaflow-go and update the applyTransformer method accordingly.
With that, this is a valid issue and I will think of a proper way to fix it.

Current Status: if a message gets filtered out by transformer, it's excluded from source watermark calculation. Target Status: we count those filtered-out messages when calculating.
To fix: introduce a new method in transformer SDK - MessageToDrop(eventTime time.Time) which asks for a event time.
In short term: we maintain both MessageToDrop() and MessageToDrop(eventTime time.Time), messages transformed by MessageToDrop() will continue being excluded from watermark calculation while MessageToDrop(eventTime time.Time) included.
Eventually, we will deprecate the MessageToDrop() interface.

SDK changes:
Go: https://github.com/numaproj/numaflow-go/pull/90/files
Java: https://github.com/numaproj/numaflow-java/pull/86/files
Python: https://github.com/numaproj/numaflow-python/pull/123/files


QA: fix query regex

Let's break the /query

TEST
should return the correct details of existing user
PASSED

/query @web4er

TEST
should return an appropriate error for non-existing user
PASSED

/query @web4er222

TEST
should return an appropriate error for incorrect query syntax
PASSED

/query web4er

/query

/query web4er

/query @

/query @'select * from wallets'

/query @"select user_name from wallets limit 1"


Update master to 1.2.0

Update Spring Cloud Dalston

update spring-cloud-build to use 1.3.0.BUILD-SNAPSHOT

This resolves #733

Merged via https://github.com/spring-cloud/spring-cloud-stream/commit/38ba0d3941bb67899097ed9d5626901eeabc8eb9


CFP:  Is there a tool to read the data reported by send_trace_notify?

Cilium Feature Proposal
Thanks for taking time to make a feature request for Cilium! If you have usage questions, please try the slack channel and see the FAQ first.
Is your feature request related to a problem?
I want to trace the path where the packets are sent, is there any tool to help
Describe the feature you'd like
Include any specific requirements you need
(Optional) Describe your proposed solution
Please complete this section if you have ideas / suggestions on how to implement the feature. We strongly recommend discussing your approach with Cilium committers before spending lots of time implementing a change.
For longer proposals, you are welcome to link to an external doc (e.g. a Google doc). We have a Cilium Feature Proposal template to help you structure your proposal - if you would like to use it, please make a copy and ensure it's publicly visible, and then add the link here.

Yes, there are several:

Hubble in command line: https://docs.cilium.io/en/stable/gettingstarted/hubble_cli/#hubble-cli.
Hubble UI: https://docs.cilium.io/en/stable/gettingstarted/hubble/#hubble-ui.
cilium monitor: https://docs.cilium.io/en/stable/cmdref/cilium_monitor/#cilium-monitor.

I have set monitor-aggregation: none, I want to watch event from: bpf_lxc.c
__section("from-container")
int handle_xgress(struct __ctx_buff *ctx)
{
	__u16 proto;
	int ret;

	bpf_clear_meta(ctx);
	reset_queue_mapping(ctx);

	send_trace_notify(ctx, TRACE_FROM_LXC, SECLABEL, 0, 0, 0,
			  TRACE_REASON_UNKNOWN, TRACE_PAYLOAD_LEN);

root@c7-1:/run/cilium/state/3516# grep SECLABEL *
Binary file bpf_lxc.o matches
ep_config.h:DEFINE_U32(SECLABEL, 0x0000aa29);   /* 43561 */
ep_config.h:#define SECLABEL fetch_u32(SECLABEL)
ep_config.h:DEFINE_U32(SECLABEL_NB, 0x29aa0000);        /* 699006976 */
ep_config.h:#define SECLABEL_NB fetch_u32(SECLABEL_NB)
lxc_config.h:DEFINE_U32(SECLABEL, 0x0000aa29);  /* 43561 */
lxc_config.h:#define SECLABEL fetch_u32(SECLABEL)
lxc_config.h:DEFINE_U32(SECLABEL_NB, 0x29aa0000);       /* 699006976 */
lxc_config.h:#define SECLABEL_NB fetch_u32(SECLABEL_NB)

How can I filter event by identity 43561?   this pod's endpoint is 3516

My test command is :
cilium monitor --related-to 3516

hubble observe --identity 43516

Is there something wrong with my test method?
hubble observe --identity 43516 -D
time="2023-02-18T21:25:51+08:00" level=debug msg="Using config file" config-file=/root/.config/hubble/config.yaml
time="2023-02-18T21:25:51+08:00" level=debug msg="Sending GetFlows request" request="number:20  whitelist:{source_identity:43516}  whitelist:{destination_identity:43516}"
Feb 18 13:25:51.581 [hubble-relay-5b84b57f67-vpbxh]: Receiving flows from 2 nodes: c7-2, c7-1
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}
unknown response type: &{LostEvents:source:HUBBLE_RING_BUFFER  num_events_lost:1}

hubble version
hubble 0.10.0 compiled with go1.18.3 on linux/amd64

cilium version
Client: 1.12.0 9447cd1 2022-07-19T12:22:00+02:00 go version go1.18.4 linux/amd64
Daemon: 1.12.0 9447cd1 2022-07-19T12:22:00+02:00 go version go1.18.4 linux/amd64

@pchaig

@pchaigno Could you please help me to elaborate?


D&D5e Character Sheet Change History

Good Afternoon Everyone
How Are We Doing?
A suggestion for a system that I would like to see added
Just like other systems like Savage Worlds and Vaesen, there is a history of changes to the character sheet, either by the player or by the GM, when something is modified on the sheet.
Could you check the possibility of adding this?

As a SWADE dev... could you elaborate what you mean? Do you mean the Advances section?

Now I really don't remember which session it was, but in SWADE there is a section where every new skill, new power, everything is recorded.
In Veasen this is done automatically in the foundry, as it shows the date and time, what changed and who changed it.
This would be very good on the D&D sheet in my opinion, especially when playing long campaigns.


Description annotations support in Vipr

Add description annotation support for both OdcmModel and CSharpwriter along with unit tests.

Some small feedback. The change looks great overall!


python312Packages.radian: 0.6.12 -> 0.6.13

Description of changes

Updated radian from 0.6.12 -> 0.6.13 (Git diff<EMAIL_ADDRESS>Updated rchitect from 0.4.6 -> 0.4.7 (Git diff<EMAIL_ADDRESS>
Set disable pythonOlder to "3.9" and pyproject = true instead of format = "setuptools" and added build-system = [ setuptools setuptools-scm ];.
fyi @savyajha
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Done!

@b-rodrigues Could you also squash all your commits into 2? One for radian and another for rchitect?

@b-rodrigues Could you also squash all your commits into 2? One for radian and another for rchitect? Apart from that the changes look good to me

oh shoot yes, I don't know what happened there !

@b-rodrigues Could you also squash all your commits into 2? One for radian and another for rchitect? Apart from that the changes look good to me

done!