Specify some types in the same container but not others, is this possible?

Describe the bug
I've recently finished running through the Pluralsight course on data modelling in cosmos db and I thought it might be a fun exercise to see if I could implement the final container/type construction using the repository tooling. But I am unsure if either I'm not doing it right or it's not possible.
To Reproduce
I started off simple and worked through the meta data into the same container. For those which don't have access to the course it's essentially
Tag:
{
 "id" :"",
 "name" : "",
 "type": "tag"
}

Category:
{
 "id" :"",
 "name" : "",
 "type": "category"
}

Container: "meta"
Partition Key: "/type"
(not pasted an image from the course slide as unsure about copyright etc).
Reproduction code:
using Microsoft.Azure.CosmosRepository;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

const string databaseName = "datamodelling";

var host = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.AddCosmosRepository(options =>
        {
            // do not do this; demo only to make obvious
            options.CosmosConnectionString = "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";

            options.DatabaseId = databaseName;
            options.ContainerPerItemType = false;

            options.ContainerBuilder.Configure<Category>(builder =>
            {
                builder.WithContainer("meta")
                    .WithPartitionKey("/type");
            });

            options.ContainerBuilder.Configure<Tag>(builder =>
            {
                builder.WithContainer("meta")
                    .WithPartitionKey("/type");
            });

        });
    })
    .Build();

var tagsRepository = host.Services.GetService<IRepository<Tag>>();
await tagsRepository.CreateAsync(new Tag() { Name = "production" });
await tagsRepository.CreateAsync(new Tag() { Name = "staging" });
await tagsRepository.CreateAsync(new Tag() { Name = "development" });

var categoryRepository = host.Services.GetService<IRepository<Category>>();
await categoryRepository.CreateAsync(new Category() { Name = "Laptops" });
await categoryRepository.CreateAsync(new Category() { Name = "Desktops" });
await categoryRepository.CreateAsync(new Category() { Name = "Workstations" });

var tags = await tagsRepository.GetAsync(t => true);

//[Container("meta")]
//[PartitionKeyPath("/type")]
public class Tag : Item
{
    public string Name { get; set; }

    protected override string GetPartitionKeyValue()
    {
        return base.Type;
    }
}

//[Container("meta")]
//[PartitionKeyPath("/type")]
public class Category : Item
{
    public string Name { get; set; }

    protected override string GetPartitionKeyValue()
    {
        return base.Type;
    }
}

As you can see from the above I have tried the attributes to define the container and partition keys. I have also tried the builder options to define container and partition key values. And also various combinations of them both, but no luck.
Expected behavior
Both types go into the container named "meta"
Actual behavior
Both types go into the container named "container" which is the default container name in the package.

Environment summary
SDK Version: latest (2.11.0)
.NET Version: 6.0.0
OS Version (e.g. Windows, Linux, MacOSX): Windows 10

Hi, since you are using the container builder, you need to set the container per item type property to true, this gives you full control over where each type is stored. Hope this helps, we need to add this to the docs really.

Maybe because ContainerPerItemType is false?

Ah OK, will give it a go. The whole item per container set as true but trying to put more than one item in a single container confused me. Will let you know. Thanks 😊

Ah OK, will give it a go. The whole item per container set as true but trying to put more than one item in a single container confused me. Will let you know. Thanks 😊

Yes, I can see where you're coming from, with that set to false it will put all item's in the same container, using just the /id as the partition key, turning this to true is like saying, "I am taking control now" if that makes sense. You tell each IItem which container and what partition key to use.

I've just tried it. Using exactly the same code above but changing ...
options.ContainerPerItemType = false;

... to ...
options.ContainerPerItemType = true;

And it works as expected.

Thanks for responding 😄


contact us via mail feature

Description
Is your feature request related to a problem? Please describe.
help user to contact if they face any issue related to site
Describe the solution you'd like
solve user problem and make it easy to use them
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional Information
Context
Provide any additional context or information that helps explain the feature request.
Potential Implementation (optional)
If you have any ideas or suggestions on how the feature could be implemented, please share them here.
Screenshots or Mockups (optional)
If applicable, include any screenshots, mockups, or visual representations of the requested feature.
Priority (optional)
Please indicate the priority level of this feature request (e.g., High, Medium, Low).
Additional Notes (optional)
Add any other notes or comments about the feature request here.

@akshitagupta15june kindly please assign this issue to me


Adding watermark

I would like to add the current date and running time as watermark for the video. But currently watermark is only set to UIImage. Will it be possible to append watermark as text instead of image?

 There is so many way you could want to set your watermark. The only generic way is to use an image. You can create a UILabel, set the font and the text you want, create an image context and render the layer of that UILabel in it.

But what I want to achieve is to have a timestamp where the watermark itself is a running timer or clock from where the video started recording. So drawing an UIImage would be too expensive plus it would happen at the end. where a timestamp should be added per frame I think


Separate out rai_core_flask CI and add paths filter

Description
With this change the rai_core_flask CI will only run if we make changes to that folder which is very rare. This should reduce the ridiculous amount of requeuing pipelines significantly.
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1884 (2e65e2a) into main (a4920bf) will increase coverage by 2.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1884      +/-   ##
==========================================
+ Coverage   93.33%   95.34%   +2.01%
==========================================
  Files          93       16      -77
  Lines        4559      365    -4194
==========================================
- Hits         4255      348    -3907
+ Misses        304       17     -287

Flag
Coverage Δ

unittests
95.34% <ø> (+2.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...leai/responsibleai/modelanalysis/model_analysis.py

...ai/responsibleai/_tools/causal/causal_constants.py

...tools/error_analysis/dashboard_schemas/__init__.py

...nalysis/erroranalysis/_internal/version_checker.py

...sponsibleai/responsibleai/rai_insights/__init__.py

erroranalysis/erroranalysis/version.py

responsibleai/responsibleai/_config/__init__.py

...sibleai/responsibleai/_tools/shared/base_result.py

rai_test_utils/rai_test_utils/__init__.py

...ibleai/_tools/causal/dashboard_schemas/__init__.py

... and 67 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

This only touches the CI python pipelines which are passing. Everything else looks to be passing, too, but I'd have to rerun them now again since another PR got merged. Since I've spent way too much time on rerunning builds today (and waiting for this to merge so that at least the other 5 PRs can run their builds somewhat faster) I'll make an exception and merge this by bypassing branch protections.


[Bug]: Replay is too slow, replay's judge counter is too fast, replay crashes game on first play

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
Just reply to the issue
Version Info
Latest available release
What operating system are you seeing the problem on?
Windows
Bug Behavior
Using My Friend Mudkip from Stepping Stones 3 as an example, I tried replaying my score but the inputs became delayed, the judge counter increments incorrectly (Replay bot doesn't Miss, despite my playthrough containing misses; judge counter stops incrementing near the end of the song while the bot is still hitting notes), and the game hard-crashes (no "Program Crash" box appears) and generates a .dmp file.
Expected Behavior
Replay should replay my inputs correctly with no crashes.
Reproduction Steps

View the contents of the .zip file below.
Analyze and figure out what the issue is.

Anything else?
1.1. .zip file download: https://drive.google.com/file/d/17tRruWH45jaDJMrZCB6X8PL8w2PCftm3/view?usp=sharing
1.2. .zip file contents: generated replay file (.txt), generated crash file (.dmp), 2 videos (1: playing chart, then first replay cut off by hard crash; 2: second replay with no crash)
2. I'm using EWMA with 200 taps.

I'm missing the .log file associated with this session, found in the Logs folder of the game install folder. If something went wrong in certain ways, there is information output here before and during the replay

The replay attached is only the replay and not the input data. Find a file with the same name (+ "z") in the InputData folder next to the ReplaysV2 folder. That file holds important information which helps recreate the replays and is what the game uses first when doing anything replay related.

.zip #2: https://drive.google.com/file/d/16eXu9RvV0dPkuc1SvnxCSY4qbBrsfqxO/view?usp=sharing
Contains 2 log files for each of the sessions (look at the clock on the upper-right of the videos) and the input data ("S8fe3e18857fe441592fd24c36c658889ca88c624z")
The .log file for the crashing session doesn't write anything after the replay starts ([2023-01-06 20:24:49][INFO]: PushLoadedScreen: "ScreenGameplayReplay"). The .log file for the normal replay does display lots of [2023-01-06 20:34:28][WARN]: Please report an issue with this replay: S8fe3e18857fe441592fd24c36c658889ca88c624 - col 2 steppedrow 14725 rowtojudge 14712 between [2023-01-06 20:32:10][INFO]: PushLoadedScreen: "ScreenGameplayReplay" and [2023-01-06 20:35:27][INFO]: bAllReallyFailed = false bIsLastSong = true, m_gave_up = false.

this is fixed for 0.72.1<PHONE_NUMBER>890a69fd4faeb810a331bc21f53919

@poco0317 Same bug in 0.72.1, now with a different song (Hocus Pocus on Scintill's Minipack 3)
Score: https://etternaonline.com/score/view/S18b1a195c47cc68fa66de948ed5d9649de7fc4e621201
Replay: https://youtu.be/nOSQ22Av4wA
.zip: https://drive.google.com/file/d/1X4B1F53-MSFrufFPHWPZGxRqTmdBvx0K/view?usp=sharing
.zip contains the song, .dmp file, .log file, ReplayV2 file, and InputData file.

@NekoAlosama this was already fixed for 0.72.2 due to an unrelated change.
check this once more ingame on 0.72.1 but watch the ONLINE replay and let me know if it still fails. if it doesnt fail, check again on version 0.72.2 when that releases on march 1 and let me know if it fails then

@poco0317 Unfortunately, it seems the online replay also fails (on 0.72.1).
I use SpecialK for its great framerate limiter (I set mine to 1000fps) when I'm playing, but I forgot to disable it for this first test. Like the offline replay, it also did not Miss any notes and hit most of the mines. It seemed more accurate than the offline replay, though, but there seems to be a bug where at about 2/3rds of the song, the Judge Counter stops incrementing and the Combo increments slowly. For posterity, after playing the online replay, I played my offline replay to see if the game crashed again. In the video (excuse the audio, I didn't disable my system audio equalizer for this run), you can hear the Metal Gear Solid alert sound when the game crashes, which is a feature of SpecialK. However, it seems SpecialK might have interfered too much and prevented the game from generating a .dmp file.
Video: https://youtu.be/BKHIcxcm1_Q
.log file: 2023_02_28-21_08_11.log
Next, I tried playing the online replay again, but without SpecialK (I use an uncapped framerate with FrameLimitGameplay=99999 in ./Save/Preferences.ini, but I tried a second time with FrameLimitGameplay=1000 and it produced the same results). This time, the game consistently crashes at around 3:40 into the song, and fortunately it does generate a .dmp file each time. I did disable my system audio equalizer, in case you wanted to listen to the song. I'll only attach the video and files for the first crash of this kind.
Video: https://youtu.be/4jBjSqFzXKo
.log and .dmp file: 2023_02_28-21_08_11.zip

an update will release within 24 hours which may resolve this. try to reproduce all of these problems at that time

@poco0317 Bug has now slightly changed (on 0.72.2)
The game still crashes on the online replay in the same fashion, but now it doesn't crash on the offline replay. Both replays are still inaccurate by hitting many mines and never Miss-ing any notes, with the online replay still looking like it's accurate except for the previous points and the offline replay still being highly inaccurate on inputs. The offline replay now has the issue where if it plays long enough, the Judge Counter, Combo, Error Bar, and other items will stop updating, similar to the online replay of my previous comment.
Video (2023_03_02-16_10_53; online replay first, then offline replay until crash): https://youtu.be/1kNnJ8j8C_0
2 .log files and 2 .dmp files: crash_files_mar_2_2023.zip
For the first crash (2023_03_02-16_05_51.log, fcacd8fe-6653-46f8-b813-d8d4c6aae999.dmp), I forgot to record my first online replay on 0.72.2, but I at least have the crash files. The second crash (2023_03_02-16_10_53.log, 78071471-31f7-45f2-8e30-32cf7362d670.dmp), is shown in the video. Interestingly, the first crash's .log contains [WARN]: Please report an issue with this replay: Online_S18b1a195c47cc68fa66de948ed5d9649de7fc4e6, but the second crash's .log does not, despite both crashing.

ok i did something really funny that broke it but now it should be good in 0.72.3.
adeced76697804d214286e9613a7bb5183ab5a0b

Seems to be working as intended. Local replay seems completely accurate, and online replay seems a little inaccurate (seemed to be a better run than my local replay, giving me 4.5 more points (i think that's what it's called, the numbers in the goal tracker), which seems insignificant. No crashes, no warnings in the logs.


chore: bump sbt-scoverage from 2.0.0 to 2.0.2

Updates org.scoverage:sbt-scoverage from 2.0.0 to 2.0.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
build.sbt
research/implicits.scala
website/package-lock.json
website/package.json
zio-spark-codegen/build.sbt
zio-spark-core/src/main/scala-2.11/zio/spark/sql/DataFrameStatFunctions.scala
zio-spark-core/src/main/scala-2.11/zio/spark/sql/Dataset.scala
zio-spark-core/src/main/scala-2.12/zio/spark/sql/DataFrameStatFunctions.scala
zio-spark-core/src/main/scala-2.12/zio/spark/sql/Dataset.scala
zio-spark-core/src/main/scala-2.13/zio/spark/sql/DataFrameStatFunctions.scala
zio-spark-core/src/main/scala-2.13/zio/spark/sql/Dataset.scala
zio-spark-core/src/main/scala/zio/spark/sql/SparkSession.scala
zio-spark-core/src/main/scala/zio/spark/sql/streaming/DataStreamWriter.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scoverage", artifactId = "sbt-scoverage" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scoverage", artifactId = "sbt-scoverage" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #248.


General Availability of SCIM API

Hello - do we have an ETA for this feature to be GA?
Thank you!

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

ID: 4388a2ca-f34b-b83b-f315-4c5cd821d19f
Version Independent ID: f97dbccf-bce5-b240-0813-046056a52254
Content: Manage service principals - Azure Databricks - Workspace
Content Source: databricks/administration-guide/users-groups/service-principals.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@shriazure
Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

@shriazure
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


[Question] How can I insert a HTTP header only when that header does not exist?

For example, I want to add a HTTP header foo: bar into request when the original request does not have the HTTP header foo. But, if the original request have the HTTP header foo, envoy should do nothing header manipulation for this request.
The existing setting HeaderValueOption can't resolve this issue. Please correct me if i am wrong.
CC @wbpcode

Hmm, yeah, although the new option was added in the #18246, the implementation is still absent.

I will try to land it.

A workaround should be able to do that for now
              routes:
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: false
                route:
                  cluster: my_cluster
                request_headers_to_add:
                - header:
                    key: foo
                    value: bar
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: true
                route:
                  cluster: my_cluster

A workaround should be able to do that for now before @wbpcode land it
              routes:
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: false
                route:
                  cluster: my_cluster
                request_headers_to_add:
                - header:
                    key: foo
                    value: bar
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: true
                route:
                  cluster: my_cluster

Thank you. But it is difficult for the scale deployment.

A workaround should be able to do that for now before @wbpcode land it
              routes:
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: false
                route:
                  cluster: my_cluster
                request_headers_to_add:
                - header:
                    key: foo
                    value: bar
              - match:
                  prefix: "/"
                  headers:
                  - name: "foo"
                    present_match: true
                route:
                  cluster: my_cluster

Thank you. But it is difficult for the scale deployment.

np! yea, that could be a combination explosion.


Fix the length of the taproot output to 34 bytes in script_is_v1_tr

It's impossible to finalize a taproot PSBT with this line not fixed because the finalizer thinks the output is not TR and then tries to parse it as a legacy script.

This is fixed in a cleaner way by using rust-bitcoin script.is_v1_p2tr()? I will keep this open as an issue while it is implemented in another PR.

The PR is actually still wrong, updated...

yes I agree the new API makes sense once 0.28 can be used, but I think this makes sense to merge as a hotfix so that at least people can work on PSBT stuff based on 0.27 still (hopefully, e.g., tests)

The current state of the library already isn't usable with 0.27 because we depend on rust-bitcoin types from specific git commits. We're in no-mans-land until 0.28 is published.

that's fair, i just mean to say that this is an obvious fix to accept so that at least more of the code is not buggy, and we have an explicit commit where we've labelled what the bug was.
it's OK if it is overwritten later.

@JeremyRubin , this is now cleanly addressed in the first commit of #305. That also adds psbts APIs which would be of interest to you.


When saving livebook, if not name is chosen, file is saved as ".livemd"

Environment

Elixir & Erlang/OTP versions (elixir --version): 1.13.1
Operating system: Linux
How have you started Livebook: livebook server
Livebook version:  0.4.1

Current behavior
When saving livebook, if not name is chosen, file is saved as ".livemd"
Expected behavior
To save the file with a default name for unnamed livebooks.
A good one could be "book.livemd"

Do you mean .livemd?

Do you mean .livemd?

Yes. Sorry.

@josevalim, Can I send a PR to make unnamed/untitled livebooks to be named untitled.livemd?

Yes, that would be welcome!

Sorry for  the late reply, I think we should instead make the Choose button disabled when the draft file is a directory. This way we make sure the user gives it some name, which we should be doing in the first place :) WDYT?

Sorry for the late reply, I think we should instead make the Choose button disabled when the draft file is a directory. This way we make sure the user gives it some name, which we should be doing in the first place :) WDYT?

Do you mean the "Save File" button?
On second thoughts I think this should be the ideal way to go. The user would have to rename the file to something meaningful at some point of time, so making them to give a meaningful name at first is probably better.
However, if you look at LibreOffice and all it's apps, Google (Docs, Sheets, Presentations), and MS (Word, Excel, PowerPoint), they all name untitled files "Untitled foo.file_extention" or something along those lines. I think there may be a reason why they all do that (other than mimicking each other). User convenience maybe? I'm not saying that we should mimic the above, but there may be valid reason for doing that.
All in all, +1 for forcing the user to give it a name.

Do you mean the "Save File" button?

The "Choose" button here:

Should be as simple as checking if the draft file is a directory.

However, if you look at LibreOffice and all it's apps, Google (Docs, Sheets, Presentations), and MS (Word, Excel, PowerPoint), they all name untitled files "Untitled foo.file_extention" or something along those lines.

I think it's slightly different. Desktop apps use the operating system dialog where the name and directory are entered separately, so it may make sense to put a default name to make it clear where the user should change it. And for cloud documents it's usually that the file needs a name as soon as you open, so it can be autosaved :)

Thank you for taking care of it @Benjamin-Philip


Change User

How can i change user, from one gmail account to another?

With -label. Check the wiki: https://github.com/astrada/google-drive-ocamlfuse/wiki/Usage


How i can get my transaction history using  burrow JSONRPC

i am running the burrow,i am able to get details of Blocks and block height using JSON RPC, How i can get transaction history.

Currently we have /status endpoint which retrieves current blockheight as well as list_blocks which returns an array of block information. You can see all of the endpoints on what we call the TM RPC by hitting the / endpoint.
For a locally running node this would typically be something like curl localhost:46657/ or curl localhost:46657/status | jq .result.LatestBlockHeight


Memory leak with Extreme.Listener

Extreme.Listener is awesome, it really helps cut down on the boilerplate with genservers.
However, when using it with a large stream (millions of events), seeing a memory leak somewhere.
Basically, the genserver will continue to increase in memory before crashing :(.
When using a genserver as outlined [https://github.com/exponentially/extreme#subscriptions](in the README) (brilliant docs BTW) I'm not seeing any memory leaks, memory stays ~300MB-320MB.
Has anybody else seen memory issues when using Extreme.Listener?

Hi Josh,
Thanks for compliments :) Problem with listener is that there’s no back
pressure. Can you try branch v1.0 from github? V1 has everything as master
and hex have except Persistent Subscriptions. It is redesigned and
rewritten from scratch with lot of internal improvements. Api is almost the
same as hex version. If you have any questions please let me know
On Sun, Jul 7, 2019 at 16:41 Josh Taylor<EMAIL_ADDRESS>wrote:

Extreme.Listener is awesome, it really helps cut down on the boilerplate
with genservers.
However, when using it with a large stream (millions of events), seeing a
memory leak somewhere.
Basically, the genserver will continue to increase in memory before
crashing :(.
When using a genserver as outlined [
https://github.com/exponentially/extreme#subscriptions](in the README)
(brilliant docs BTW) I'm not seeing any memory leaks, memory stays
~300MB-320MB.
Has anybody else seen memory issues when using Extreme.Listener?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/exponentially/extreme/issues/65?email_source=notifications&email_token=AABLAFM5W27KOQIU35E2BFLP6H6C3A5CNFSM4H6V25U2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G5WXEAA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABLAFNKS3WEQK66BVKF6FDP6H6C3ANCNFSM4H6V25UQ
.

--
Best,
Milan Burmaja


[Bug]: Unable to create new queries and js objects, and also unable to update existing queries and objects

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When i create a new git branch and try to create a new query or js object, it does not give me an error message when the error popup appears, i have tried doing this in different branches and 2 different devices and 2 different web browsers (firefox and chrome)

[ ] Device 1

[ ] Device 2

although the error appears in the git changes when i commit it, i can't find a way to fix it except for creating a new branch and hoping it does not have this effect as well

[ ] Git Changes

this has happened to me in all of the appsmith projects that i have developed, and the most effective way to work around this is to just create a new branch and hope this bug does not happen
Steps To Reproduce

Create new app with Git integration or import from Git
Create new branch from main or any other branch
Create new query or js object
error pop-up appears with no error message
commit the new changes
view the git changes and see that unable to find plugin and or datasource

Public Sample App
No response
Environment
Deploy Preview
Issue video log
No response
Version
Self Hosted - v1.9.10

@azka-rafif could you please update to the latest version of Appsmith and let us know if this issue still persists? I'm closing this issue till then so feel free to re-open it if the issue persists


Saving an empty note is possible when tapping save button [swipe right edge to center gesture] on the alert controller

Tapping save (via swipe to center from right edge) on presented alert controller should fire another alert controller that tells user they cannot save an empty note

Solution: https://github.com/yoha/Notes/commit/7c016dfaca0fbe264e6d3da7a46626b561ec36c5


How to debug the code using debugpy in vscode

Thanks for sharing your great work.
I'm trying to understand what's going on in your code, step-by-step.
I've created launch.json in vscode with debugpy type option instead of directly running inference.sh script.
I set breakpoints in a few lines in launch.py, launch_utils.py, inference.py.
However, the debugger works only in launch.py, launch_utils.py, and it just doesn't make any stop inside module after subprocess.run(cmd, shell=True) in launch_utils.py.
Can you advise how to solve it or suggest any other debugging ways?
Thanks for your help in advance!

You should add '--mode python' in the .sh file to trigger the debug mode, then you can use the debug tools like ipdb and ipython.

@Germany321
I just ran inference.py which has already --mode python as an argument. It begins with debugging mode in launch.py, but it just cannot debug into subprocess.run in launch_utils.py. Is this issue only for myself?

Did you run the code in a cluster or a native server?

I use a single local PC with RTX 6000 Ada. I cannot debug into the internal modules after running subprocess().
Should I need to directly run inference.py without launch.py for a single server?

Can you provide the detailed information of the error?

I found it was an issue with subprocess that cannot track the debugger launched for main process.
It was solved with either inserting debugpy module into inference.py or calling the inference script directly as below to use only a single main process.
from inference import main as inference_main

def python_launch(args):
    """
    Vanilla python launcher for degbugging purposes
    """
    opts = " ".join(args.opts) if len(args.opts) > 0 else ""
    full_cfg_path = Path(args.config)
    cfg_path, cfg_file = str(full_cfg_path.parent), str(full_cfg_path.name)
    cmd = f"python {args.run_file} \
            --config-path {cfg_path} \
            --config-name {cfg_file} \
            num_gpu=1 \
            hydra.run.dir=. \
            hydra.output_subdir=null \
            ~hydra.job_logging.handlers.file \
            hydra.job_logging.root.handlers=[console] \
            hydra/hydra_logging=disabled {opts}"

    # subprocess.run(cmd, shell=True)

    # Set the sys.argv to mimic the command line arguments
    sys.argv = ['inference.py',
                '--config-path', str(Path(args.config).parent),
                '--config-name', str(Path(args.config).name)]

    # Add additional arguments from opts
    if args.opts:
        sys.argv.extend(args.opts)

    inference_main()


TypeError: babel.Transformer is not a function

When I run this command to transpile via babel:
babel lib --out-dir=dist
I get the following error:

TypeError: babel.Transformer is not a function
    at createEspowerPlugin (/Users/michael/gitprojects/mytestapp/node_modules/babel-plugin-espower/create.js:6:12)
    at module.exports (/Users/michael/gitprojects/mytestapp/node_modules/babel-plugin-espower/index.js:16:12)
    at Function.memoisePluginContainer (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:127:13)
    at Function.normalisePlugin (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:161:32)
    at /Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:197:30
    at Array.map (native)
    at Function.normalisePlugins (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:173:20)
    at OptionManager.mergeOptions (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:271:36)
    at OptionManager.addConfig (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:221:10)
    at OptionManager.findConfigs (/Users/michael/gitprojects/mytestapp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:364:16)

I am using the following babel packages/plugins:

    "babel-cli": "^6.2.0",
    "babel-preset-es2015": "^6.1.18",
    "babel-preset-stage-3": "^6.1.18",

I read your warning that Babel 5 needs to use the older release of the plugin<EMAIL_ADDRESS>but I am using Babel 6.x in my app, but my attempt to transpile always ends in this error.
Any ideas?

@radiovisual Thank you for reporting.
To run with Babel 6, you need to install babel-plugin-espower 2.0.0 or above.
The message babel.Transformer is not a function indicates that babel-plugin-espower 1.1.0 is running
Please delete node_modules and try npm install --save-dev babel-plugin-espower again.

@twada , Thanks for the quick response, I really appreciate it!
Your suggestion worked. As soon as I re-installed the latest version and removed all traces of the old version from my node_modules directory the problem went away.
Thanks again! :smile:

@radiovisual Glad to hear that! :smiley:


smooth scroll

Looks like you and I were working on the same issue (#6). Rather than open a separate, competing PR, I merged my changes with yours:

enabled smooth scrolling
smooth fade-in and fade-out of reflist highlight
fixed element size changing due to highlight border
enabled highlight border on Edge
word-break fix (unrelated, except it's in the reflist)

Please disregard. Now that your code has been merged I'll retarget rosslh/master.


Please Update "lesson.ly" to read "lessonly"

Hi! My name is Hannah, I am a Customer Experience Manager here at Lessonly. We have run into a number of issues with this documentation as current customers continue to set up their SSO with "lesson.ly" which results in an error. This domain is no longer and use and does not redirect users to the correct domain. It takes a handful of back-and-forths with the customer to locate the issue and resulting in them having to do a new set-up with the correct domain.
Could you please update this article to remove "lesson.ly" and update it to read "lessonly"
Thank you in advance!

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

ID: ce37a174-fe6d-417a-7d3b-d38ffc1cf29b
Version Independent ID: a620ccf2-278a-3a26-4eb1-65710b3b6b9e
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with Lesson.ly - Microsoft Entra
Content Source: articles/active-directory/saas-apps/lessonly-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@hannahwalt
Thanks for your feedback! We will investigate and update as appropriate.

Thank you!

@hannahwalt
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly
@jeevansd
Could you Please review this and update as appropriate.

Thank you everyone involved in this update. Much appreciated! Is there an ETA I can expect?

Hi! Yes, please! This would be ideal! We no longer use lesson.ly anywhere on our platform and most who work for Lessonly toady or use Lessonly were not around when it was lesson.ly. Removal of all lesson.ly would be the best route :) Thank you for asking!

We are updating the document.
#please-close

Hey there! It looks like the last comment made stated that the updates were being made, but then the convo was closed and marked as complete. However, when I review the document I am still seeiing lesson.ly. I did hard refresh to ensure my computer wasn't cached to no avail. Wanted to check-in to make sure your team is aware the updates have not been implemented yet in the document that is live for customers to review. You all might have a different process though so if this needs to be closed, totally okay. Once finished, will someone please reach out to me? Thank you!

@hannahwalt, we created a PR for your changes, the document will live with suggested changes within 24 hours.

Thank you! I now see the update. I appreciate the team's help here to get these docs updated! Have a great week!


Use variable for passing it to function

As I can see instance_name was defined but not passed to the function in the next string.

Thanks!

Also, yay PR #1!


default list

how do i change the default password list

you have to change the default password.lst by your own password list or if you want to you can go into instabrute.sh, go line 56 and put you own password list filename


ENH Output can be misleading when something fails in safe_import_ctx

Suppose I import a package with a typo in the inside a safe_import_ctx.
benchopt outputs:
Dataset XXX is not installed.
This can be confusing because running benchopt install d XXX says that everything is already satisfied.

Or not importable? Or maybe better: error as it is clearer to read the stack trace?


DapperScrollbars autoSize feature partially broken

When the children of a scroll container update and the container has autoSize={true} the container does not shrink to match the new (smaller) size of its contents

This might be solved by updating the version of react-scrollbars-custom in clockface, as the version we are using is alpha and there are likely many improvements to be had from updating


docs: spell correction

Is this something we could add to our docs:
# We do this to avoid spellchecking cell outputs
          - name: Codespell Notebooks
            run: |
              find . -name "*.ipynb" | head -n 1 | xargs cat $1 | jupytext --from ipynb --to py:percent | codespell -


Reverse stacking order for line charts

What problem does this feature solve?
The stacking order of a stacked line chart is determined by the order in which the series are defined. However, this definition order also determines the order of other components, such as the legend, tooltip and dataset. When one wants to reverse the stacking order, currently the only option is to redefine the order the series are defined in. Unfortunately, this implies the order show in the legend and tooltip may be the reverse of what we want. Generally, redefining the series order may adversely impact other components and feels like the wrong approach to redeclare the data to suit the presentation.
It is worth noting the tooltip can work around this because it has an order: 'seriesDesc' option, and also custom formatting option, but the legend does not. Again, in general it feels like the wrong approach to design every component to be "reversible", when this is just a presentation problem.
What does the proposed API look like?
It would probably be best if there was simply an option to draw the stacked series in reverse order so all the other components will continue to work as normal.

Just to clearify, if the data order is depended on the value while a line series has multiple y values on each x value, how should we decide the order to the series?

I'm not sure if you're just asking to confirm my question or if you're asking me to suggest a solution. That is what I am asking, yes. If you're asking me for a solution, however, I'm not sure. The two options should be:

Provide an option to reverse the display order of stacked line series.
Provide an option to reverse the display order of the legend items.

I would normally prefer the first for the reasons already stated. Other charting libraries simply present an option to reverse the stacked line series but since ECharts specifies each lines as a separate series, such an option would have to be present on each line, which doesn't really make sense because it implies some lines can be reversed and some cannot: such a configuration is impossible; it only makes sense to reverse the entire stack or none at all. Therefore, even though I think providing an option to reverse the draw order for a stacked series, I do not have a good proposal for how to implement it in ECharts at this time.

@Bilge Could you give some pictures on what is expected? By now, I'm a little confused about the expected behavior.

@Ovilia Thank you for giving me the opportunity to explain myself again with pictures. Hopefully this will make things clearer.
Here is a picture of what we want to achieve:
 😁 ✔
This picture is created with different charting software (not ECharts 😞).
To recreate this with ECharts we might do something like this:
color: ['#00e396', '#bd2b41'],
series: [
    {
        name: 'Positive reviews',
        stack: 'reviews',
    },
    {
        name: 'Negative reviews',
        stack: 'reviews',
    },
],

This creates the following chart:
 🤔 ❌
Notice that the stacking order is wrong: we want the positive series (green #00e396) above the negative series (red #bd2b41).
Currently, the only way to do this is to redefine the order the series are declared in (which also means we need to swap the colour definition order), like this:
color: ['#bd2b41', '#00e396'],
series: [
    {
        name: 'Negative reviews',
        stack: 'reviews',
    },
    {
        name: 'Positive reviews',
        stack: 'reviews',
    },
],

This creates the following chart:
 😫 ❌
This fixes the stacking order of the line series, but it causes the legend and tooltip to reverse order, which we do not want. We can fix the tooltip by asking it to also reverse its order as follows (or by writing a custom formatter).
tooltip: {
    order: 'seriesDesc',
},

 😩💨 ❌
But this still leaves the legend order being the opposite of what we want and there is no way to reverse the legend order.

All this brings me back to my point: I could request that you add a way to reverse the legend order, but I don't think it's a good solution. All we wanted to do was reverse the stacking order of the lines series, so it would be better to have an option to just do that without changing the series declaration order, which causes all other components' behaviour to change in ways that we do not want.

Hi @Bilge legend.data can be given in any order.
legend: {
  data: ['Positive reviews', 'Negative reviews']
}

@pissang This does solve my immediate problem, but so many things have to be changed to accommodate the reversed series:

Colour order must be reversed.
Legend must be changed (explicitly declare order).
Tooltip must be changed.

All because we just wanted to draw the chart differently. I still think a better solution would be to have an option to control the stacking order without changing the data order.


workflows: allow go version to float

Semantics of ^ align with https://go.dev/doc/go1compat nicely.

You have to edit workflows.yml and run python3 make_workflows.py to change these files.


Crash when using a Flux Plug

Not sure if this is the right place to report an issue.
Looks like someone has connected a Flux Plug to an incompatible source of power and the world will not load now.
https://hastebin.com/ayolukutar.scala

Could you ask whoever it is what their setup was?

a flux plug, and a flux point were touching and connected to an powercell by RFTools
so accepting power from and giving power to the same powercell network
the fact that the plug (out) point (in) were touching
one cell was also set to out and another cell set to in

Closing: Not enough detail, crash report now missing.


Option to disable portrait as GM when typing

It would be nice to have the option to disable the portrait for the GM when they type in chat. Sometimes GMs type when selecting PCs, and the portrait appears as the PC, even when you have modules to mask you from doing so.
For example, I have Cautious GM Pack module installed to not appear as a PC, but it still injects the PC's image.

Oh that's an interesting case, but it seems like a scenario that can only happen with that specific module, right? In a stock foundry scenario, the expected behaviour when a GM selects a PC token and says something, is for them to 'speak as' the token, right?
Cautious GM Pack is pretty popular, so I would not be averse to looking for the presence of the module and its settings, just trying to make sure I'm not missing something - My group never writes anything in chat, so there's lots of chat-related behaviour that I don't know a lot about.

Yeah - This would only happen with Cautious GM Pack. Without it, you would appear as normal. Stock just appears as if you are talking as the token, whatever you have selected. I turned it on after I was typing to my players after selecting a monster in a different room and they went wide eyed. :)
This is what it looks like as GM typing into chat with a token selected...
With UI mod and Cautious GM Pack both enabled:

With UI mod enabled and Cautious GM pack disabled:

With UI mod disabled and Cautious GM pack enabled:

With UI mod and Cautious GM Pack both disabled :

Yeah with this PR, speaking as a player character causes messages to have the name and avatar of the GM.
With the 'force out of character' setting of CGP turned on, you can select monsters or PC's and type, and the message will appear as if you had nothing selected.
If you're using 'disable speaking as PC', then you can still accidentally send a message from a monster.
Using the aforementioned Speaking As module https://github.com/MrVauxs/speaking-as makes this way less likely though, as it is very obvious that the message is going to be sent as the monster, and gives you affordances for overwriting the speaker without deselecting your token:

Thanks so much to the both of you


json file collect from s3 and visualize on jenkins

What feature do you want to see added?

My json file report will stored from s3 and need to add report to jenkins pipeline with graph to see score

Upstream changes
No response

Hi Team, any update on this plugin

Hi
It could be parsed, but for specific json format, it is not sopported. The best way would be to convert this json into any csv/xml/json format supported by this plugin


Feature/128 implementing backend controllers and routes for authentication

Summary
Implemented sign up , sign in and sign out controllers as well as route end points.
Description
You will need to configure .env of the backend before testing this. In the .env you need to add following variables
JWT_SECRET =
ACCESS_TOKEN_EXPIRES_IN =
REFRESH_TOKEN_EXPIRES_IN =
GAUTH_CLIENT_ID= Your Google oAuth 2.0 client id
GAUTH_CLIENT_SECRET= Your Google oAuth 2.0 client secret
GITHUB_CLIENT_ID = Your Github client id
GITHUB_CLIENT_SECRET = Your Github client secret
GAUTH_TOKEN_URL = "https://oauth2.googleapis.com/token"
GITHUB_TOKEN_URL = "https://github.com/login/oauth/access_token"
REDIRECTION_URL = This is the URL where user redirected with authorized code after Google / Github auth window
GAUTH_USER_URL = "https://www.googleapis.com/oauth2/v3/userinfo"
GITHUB_USER_URL = "https://api.github.com/user"
ACCESS_COOKIE_MAXAGE =
REFRESH_COOKIE_MAXAGE =
CORS_ORIGIN = In my local environment-http://localhost:5173

In frontend we can use a button element with href attribute pointed to openAuthWindow(Github or Google) controller endpoint
Google login
This will open the specific auth provider window and you will be redirected back to the REDIRECTION_URL mentioned in the .env with a authorized code and a provider name (Github or Google)  in the search params of the URL
REDIRECTION_URL/?code=4%2F0AeaYSHB9CA2k2utaRbbShVJE5L5Ich5jz6SpSICTBPIEr8FJ95yt_yGXuyQyHeQTgDp_Iw&state=github-auth-provider or google-auth-provider
Then we can extract the code and do a request to callback URL according to the state value with a search param named code=code extracted from URL
if(state === 'google-auth-provider'){ const res = await axios.get('http://localhost:5000/api/auth/google/signin/callback?code=${code}') }
if(state === 'github-auth-provider'){ const res = await axios.get('http://localhost:5000/api/auth/github/signin/callback?code=${code}') }
res object will be look like this
success
{       success: true,       user: {         name: User Name,         _id: user Id,       },       accessToken,       refreshToken,       message: RESPONSE_MESSAGE,     }
error
{       success: false,       message: error.message,     }
So we can create AuthState according to that in the frontend.
Images
Routes

Issue(s) Addressed
Closes #128
Prerequisites

[x] Have you followed all the CONTRIBUTING GUIDELINES?

@Janith-Chamikara, This is nice progress. Thank you Janith... Can we have a quick small demo tomorrow on this sign in page, so that we can confirm and merge, we can review in the call...


Contributing and conduct guidelines aren't visible when user creating an issue

On this page https://github.com/limonte/sweetalert2/issues/new I expect to see the block with links to contributing guide and code of conduct:

Example: https://github.com/vuejs/vue/issues/new
Corresponding files are in the repo: https://github.com/limonte/sweetalert2/tree/master/.github
Anybody has any idea why that block isn't visible for the SweetAlert2 repo?

Hello
I see it: http://pic.webas.lt/webas.lt-bd85cd6ba9.png
both links also work

Yep - I see that block too, projects owners are probably exempt of such warnings :)

Yep - I see that block too, projects owners are probably exempt of such warnings :)

That makes sense, thanks for the feedback @huglester and @toverux :beers:


[BUG] Exception occurred

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.5.4
What problem did you encounter?
I was trying to download a font and I installed it and it just said an exception occurred
Bloxstrap Log
System.AggregateException: One or more errors occurred. (The given key 'content-platform-dictionaries.zip' was not present in the dictionary.)

[Inner Exception]
System.Collections.Generic.KeyNotFoundException: The given key 'content-platform-dictionaries.zip' was not present in the dictionary.

uuuuuuuuuuuuuuppppdaaaaaaaaaaaaateee to the latest verrrrrrrrrrsiooooooooon


Quote streamfield block

Added to Explorer and Category collections pages
The template at /app/templates/quotes/blocks/quote.html requires FE styling.
I copied the richtexts app from the alerts branch, which is not yet merged. I hope it doesn't cause conflicts.

Due to merge complexities, this branch has been abandoned and a new one created.


Inquiry on performance-improvement in context of small number of long sequences

Thank you for the great repository!
Seq2Pat Experimental/Results summary indicates that the "batch_size" parameter can lead to performance improvement for a large number of sequences (e.g., 100k to 1M).
seq2pat experimental/results summary
However, in context of smaller number of data points (hundreds or thousands) but long sequences (30,000 to 50,000 length), my guess is "batch_size" may not be as helpful.
In this case, would increasing the "n_jobs" parameter be beneficial?

My intuition matches your comment; for small data points batch_size might not be of immediate interest. @takojunior  can confirm.
Likewise, n_jobs is to parallelize the batches, so it might be beneficial either.
Check out to the max-span constraint, and the default max-span=10 in the seq2pat() constructor. That's more relevant for long sequences. You might want to reduce that sth even smaller for extreme lenghts
Btw, thanks for the positive comment. Please consider a GitHub star, if not already 🌟


Put Totrrent/Download in the Background

Torrent Download '50torrentHDD.sh' and FTP Download '50downloadHDD.sh' are both processes that take quite a long time. At the moment the run as a forground process within the SSH session.
Problem: There is a good chance that SSH session breaks and downbload processes stop. This is not a good experience.
Solution: The idea would be to start those processes in the background. Writing output to a file and tail this file in the SSH session (1st iteration) or (2nd iteration) while the download is running in the background the while loop of '00infoLCD.sh' could monitoring the progress by checking the already downloaded filesize: This would deliver a progress information that could be shown on the LCD and the SSH that would also loop (showing clear, progress, tail last 10 lines) until download is ready or even when no progress is detected for a while or an error even kill the download process and offer an different option to continue.

torrents and downloads can run in the background now. closing issue.


[WIP] services/horizon: Precompute 1m Trade Aggregation buckets

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Incremental pre-computation for the 1-minute trade-aggregation buckets with a database-trigger. Compute higher-resolution queries on-the-fly.
Why
Fixes https://github.com/stellar/go/issues/632
Per discussion pre-computing seems the best option for performance and scalability, as the amount of computation is known and bounded. The concern is disk usage. Given a raw history_trades table of 4gb, a naive 1m bucket pre-computation results in a new table approx 1.6GB. Not outrageous, but could grow quickly if more trading pairs become active. When generating that as a materialized view, I accidentally forgot to include the base_asset_id, and counter_asset_id, and noticed the table was much smaller. To compress the table this PR uses wide jsonb columns, so there is one row per year/month/asset-pair, with a values column containing the month's 1m buckets. This adds complexity and a small overhead on querying (~15%), but saves a further ~70% on disk size.
In order to handle the offset param the maximum resolution we could potentially pre-compute is 15 minutes. For this PR, I've only pre-computed the 1 minute buckets, and aggregated higher resolutions on the fly. As higher resolutions are quite quick to aggregate on-the-fly. In my past experience this has been enough, as the 1m aggregation gives higher resolutions a big boost. (TODO: benchmark this for concrete numbers)
Initially I hoped we could just use a materialized view to do the pre-computation (to avoid changes to horizon ingestion code). However, updating materialized views is all-or-nothing, and takes ~7 minutes on my laptop. Instead, this PR uses a trigger to incrementally update the relevant buckets on insert. This implementation is still quite fragile, in that it doesn't handle UPDATE or DELETE queries, and assumes all trades are inserted in-order. Non-incremental recompute of a 1m bucket takes ~300ms. I didn't want to add that overhead to each insert, but it might be an easy way to handle update/delete queries.
Known limitations
This trigger is still quite fragile, in that it doesn't handle UPDATE or DELETE queries, and assumes all trades are inserted in-order.
The reduced query load on history_trades means we could probably get rid of some of the now-unused indexes on that table, which would save a few gigabytes of disk.
TODO

[ ] decide on year/month vs timestamp for bucket row column name
[ ] benchmark on-the-fly higher-resolution aggregations
[ ] handle offsets correctly in the new sql queries
[ ] testing the complicated sql aggregation queries

For reading this, I'd recommend starting with the migration, as it'll help make sense of the rest.

Idea to fix open and close when reingesting out of order. We can add two new columns open_ledger_seq and close_ledger_seq that will indicate the sequence number of the previously set open/close price. If a new ledger in a given bucket appears and it's before open_ledger_seq then we update the open price, otherwise open is not updated. We update close price in a similar way.

In reingestion code we add an extra step that runs once all ranges are completed which is responsible for calculating 1m resolutions.

This seems like a good plan. We actually only need to completely-recalculate the first and last buckets, as those are the only ones which would be only partially-ingested.

Ok, so benchmarking on my local laptop. Let's find the biggest most-traded pairs, to set a worst-case scenario bound...
postgres=# select base_asset_id, counter_asset_id, count(*) from history_trades group by base_asset_id, counter_asset_id order by count desc limit 10;
 base_asset_id | counter_asset_id |  count
---------------+------------------+---------
             2 |              149 | 2819451
             2 |         17581803 | 1660065
             2 |         27869101 | 1424528
             2 |             2351 |  761635
             2 |             1519 |  616861
             2 |            40569 |  604979
             2 |            28007 |  590901
      20772946 |         20772947 |  562536
             2 |         46998801 |  555386
             2 |          1649457 |  449990

Pre-computed 1m buckets query:
postgres=# EXPLAIN ANALYZE SELECT
  (j.value->>'timestamp')::bigint as timestamp,
  (j.value->>'count')::integer as count,
  (j.value->>'base_volume')::bigint as base_volume,
  (j.value->>'counter_volume')::bigint as counter_volume,
  ARRAY[(j.value->>'high_n')::bigint, (j.value->>'high_d')::bigint] as high,
  ARRAY[(j.value->>'low_n')::bigint, (j.value->>'low_d')::bigint] as low,
  ARRAY[(j.value->>'open_n')::bigint, (j.value->>'open_d')::bigint] as open,
  ARRAY[(j.value->>'close_n')::bigint, (j.value->>'close_d')::bigint] as close
FROM
  history_trades_60000 h, jsonb_each(h.values) j
WHERE h.base_asset_id = '2'
  AND h.counter_asset_id = '149'
ORDER BY timestamp DESC LIMIT 200;

                                                                                QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=957.86..958.36 rows=200 width=156) (actual time=910.185..910.196 rows=200 loops=1)
   ->  Sort  (cost=957.86..958.61 rows=300 width=156) (actual time=910.183..910.188 rows=200 loops=1)
         Sort Key: (((j.value ->> 'timestamp'::text))::bigint) DESC
         Sort Method: top-N heapsort  Memory: 131kB
         ->  Nested Loop  (cost=0.29..945.51 rows=300 width=156) (actual time=0.356..848.402 rows=371658 loops=1)
               ->  Index Scan using history_trades_60000_year_month_base_asset_id_counter_asset_key on history_trades_60000 h  (cost=0.29..912.51 rows=3 width=618) (actual time=0.099..0.607 rows=39 loops=1)
                     Index Cond: ((base_asset_id = '2'::bigint) AND (counter_asset_id = '149'::bigint))
               ->  Function Scan on jsonb_each j  (cost=0.00..1.00 rows=100 width=32) (actual time=5.995..7.002 rows=9530 loops=39)
 Planning Time: 0.192 ms
 Execution Time: 910.512 ms
(10 rows)

Time: 911.161 ms

Daily buckets query:
postgres=# EXPLAIN ANALYZE SELECT
  bucket as timestamp,
  sum("count") as count,
  sum(base_volume) as base_volume,
  sum(counter_volume) as counter_volume,
  sum(counter_volume)/sum(base_volume) as avg,
  (max_price(high))[1] as high_n,
  (max_price(high))[2] as high_d,
  (min_price(low))[1] as low_n,
  (min_price(low))[2] as low_d,
  (first(open))[1] as open_n,
  (first(open))[2] as open_d,
  (last(close))[1] as close_n,
  (last(close))[2] as close_d
  FROM (
    SELECT
      div(((j.value->>'timestamp')::bigint - 0), 86400000)*86400000 + 0 as bucket,
      (j.value->>'timestamp')::bigint as timestamp,
      (j.value->>'count')::integer as count,
      (j.value->>'base_volume')::bigint as base_volume,
      (j.value->>'counter_volume')::bigint as counter_volume,
      ARRAY[(j.value->>'high_n')::bigint, (j.value->>'high_d')::bigint] as high,
      ARRAY[(j.value->>'low_n')::bigint, (j.value->>'low_d')::bigint] as low,
      ARRAY[(j.value->>'open_n')::bigint, (j.value->>'open_d')::bigint] as open,
      ARRAY[(j.value->>'close_n')::bigint, (j.value->>'close_d')::bigint] as close
    FROM
      history_trades_60000 h, jsonb_each(h.values) j
    WHERE h.base_asset_id = '2'
      AND h.counter_asset_id = '149'
    ORDER BY timestamp ASC
  ) as htrd
  GROUP BY bucket ORDER BY timestamp DESC LIMIT 200;

                                                                                QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=979.95..1622.70 rows=200 width=296) (actual time=1218.986..1223.731 rows=200 loops=1)
   ->  GroupAggregate  (cost=979.95..1622.70 rows=200 width=296) (actual time=1218.984..1223.723 rows=200 loops=1)
         Group Key: htrd.bucket
         ->  Sort  (cost=979.95..980.70 rows=300 width=180) (actual time=1218.870..1219.016 rows=1148 loops=1)
               Sort Key: htrd.bucket DESC
               Sort Method: external merge  Disk: 69184kB
               ->  Subquery Scan on htrd  (cost=963.86..967.61 rows=300 width=180) (actual time=1032.856..1084.236 rows=371658 loops=1)
                     ->  Sort  (cost=963.86..964.61 rows=300 width=188) (actual time=1032.854..1057.811 rows=371658 loops=1)
                           Sort Key: (((j.value ->> 'timestamp'::text))::bigint)
                           Sort Method: external merge  Disk: 74928kB
                           ->  Nested Loop  (cost=0.29..951.51 rows=300 width=188) (actual time=0.309..901.815 rows=371658 loops=1)
                                 ->  Index Scan using history_trades_60000_year_month_base_asset_id_counter_asset_key on history_trades_60000 h  (cost=0.29..912.51 rows=3 width=618) (actual time=0.060..0.521 rows=39 loops=1)
                                       Index Cond: ((base_asset_id = '2'::bigint) AND (counter_asset_id = '149'::bigint))
                                 ->  Function Scan on jsonb_each j  (cost=0.00..1.00 rows=100 width=32) (actual time=5.279..6.170 rows=9530 loops=39)
 Planning Time: 0.385 ms
 Execution Time: 1279.927 ms
(16 rows)

Keep in mind these are worst-cases (loading all of time for the most traded asset pair). Seems like most of the time is spent unwinding the jsonb. Intuitively I feel like that could be reduced, as it seems like the limit param isn't being propagated down as far as it could. Maybe I'm missing an index I had before? 🤔
It also might be worth doing a benchmark without the jsonb storage. It ~doubles the data storage, but might make the query times much happier.

Thinking about this more, and benchmarking a bit more, I think we should not do the jsonb thing for now. The faster query times will take more load off the DB, and hard-drives are cheap(ish). Let's opt for the ~1600MB disk usage, and fastest query times.
Because all the data is available, if/when disk usage later becomes an issue we can reconsider a move to jsonb (via db migration, no reingest needed), with more knowledge about the usage patterns.

reingestion benchmarking

baseline w 2.4.1: ~100ms/ledger

Note, when ingesting this failed with:
error rebuilding trade aggregations: could not rebuild trade aggregation bucket: exec failed: pq: duplicate key value violates unique constraint \"history_trades_60000_pkey\"

So, we are not clearing out the correct old buckets.


hook_post_action is not D9 ready

We use this for multi-file media and it looks like it's not going to get updated to D9.  It most likely could be replaced wtih an Event.  Here's what they're doing: https://github.com/Islandora/islandora/blob/8.x-1.x/islandora.module#L172-L183

Some commentary on this, just for clarity's sake:
https://www.drupal.org/project/drupal/issues/2551893 - entity events are something that is still being implemented in Drupal 9. I think it would be prudent to wait for this to drop before moving over to the event model. I'm not sure it would make sense for us to roll our own event into this, since currently implementing such an event would just be a roundabout implementation of existing hooks.
I think we should pare down what hook_post_action is doing for our own purposes - namely, registering a shutdown function after the entity is saved which fires the reaction. Then we can revisit this once the above issue is resolved and conventions for event handling in entities is solidified.

i think this one can be closed? @qadan @dannylamb


Disable Brave redirect when Companion global redirect is enabled

This is MVP subset of https://github.com/ipfs/ipfs-companion/issues/1281 requested by the Brave team.
Currently, Companion logic is clashing with Brave logic when both have redirects enabled.
The provisional fix is to periodically check if all below are true:
- Companion's global redirect is enabled
- Companion's  backend type is Kubo RPC provided by Brave
- Brave settings have redirect enabled (read via chrome.ipfs.getSettings)
If true, we want to

store Brave setting and timestamp for later
disable the Brave redirects (via chrome.ipfs.setGatewayFallbackEnabled(false) and chrome.ipfs.setAutoRedirectToConfiguredGatewayEnabled(false)), ensuring only Companion ones are executed

@whizzzkid fysa I've filled this as a smaller scope of work when compared to #1281  to unblock Brave.
Does this sound sensible, or is there a better way you see to avoid redirect clash?

re: periodically: Brave user can toggle Brave redirect from OFF to ON again via brave://settings etc

No longer relevant, https://blog.ipfs.tech/2024-brave-migration-guide/


Sync Issue

Hey! Im having a blast with betty as a 3rd drummer. I clock it via MIDI as slave and I trigger the loops with the latched arpeggio. But after a couple of bars it starts to drift and out of clock. Is there a bug or an issue? I tried also to adjust de envelope with no luck.
Thanks in advance!

Hi - happy that you like it!
I think this is a problem with the NTS-1 itself. It is really hard to
say; the logic of betty is dead simple, note on -> play sample, so there is
no magic going on.
Do you get a similar drift when using another oscillator?
I usually trigger it from a Keystep (MIDI) by sending notes (so I don't
rely on the built-in arpeggiator) .
However, I tried to reproduce your issue and also noticed drift in certain
scenarios. It seems that if I start the arpeggio from the NTS-1 keybed, it
will eventually get out of sync with the Keystep. But if I trigger the
arpeggio (with a "start" note sent) from the Keystep, then it maintains
sync. My guess would be that it's an issue with the arp (and sync) logic in
the NTS-1, possibly when auto switching from internal to external sync. But
it is pure speculation.
/ Jacob
On Sat, Aug 6, 2022 at 8:04 PM JohnConnor84 @.***>
wrote:

Hey! Im having a blast with betty as a 3rd drummer. I clock it via MIDI as
slave and I trigger the loops with the latched arpeggio. But after a couple
of bars it starts to drift and out of clock. Is there a bug or an issue? I
tried also to adjust de envelope with no luck.
Thanks in advance!
—
Reply to this email directly, view it on GitHub
https://github.com/ulmert/betty/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABUJTVSJL4JEKW6AI4OVGMTVX2SJVANCNFSM55ZDLJVA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


ec2-metadata-mock: 1.9.2 -> 1.10.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/aws/amazon-ec2-metadata-mock/releases.
meta.description for ec2-metadata-mock is: "Amazon EC2 Metadata Mock"
meta.homepage for ec2-metadata-mock is: "https://github.com/aws/amazon-ec2-metadata-mock"
meta.changelog for ec2-metadata-mock is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1/bin/ec2-metadata-mock had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.10.1 with grep in /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1
found 1.10.1 in filename of file in /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
ec2-metadata-mock

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1
ls -la /nix/store/xdjbwi7nxca9ywpc1dgm5r533cb33601-ec2-metadata-mock-1.10.1/bin

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

1 package built:

ec2-metadata-mock

Maintainer pings
cc @ymatsiuk @kalbasit for testing.

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

1 package built:

ec2-metadata-mock


During Azure sign-in, the authentication dialog should read out "Enter password" instead of "Alert" (NVDA)

Storage Explorer Version: 1.7.0
Platform/OS: All
Architecture: All
Regression From: No
Bug description
The sign-in authentication dialog should read "Enter password" instead of "Alert".  The user was able to guess that it's asking for password because it's after an email address. But the user experience wasn't optimal.

I can no longer repro this issue, both when MSAL is enabled/disabled. NVDA reads a good description for the password text box.


Feature Request: Breadcrumbs

Hi, I'd like to have the ability for this package to also send Sentry breadcrumbs when the user logs at a certain level, for example logger.Info

It would be useful to be able to specify a MinimumBreadcrumbLevel in slogsentry.Option and automatically add logs above that level as Breadcrumb, like logger integration in other languages.
https://docs.sentry.io/platforms/dotnet/guides/extensions-logging/#minimumbreadcrumblevel


Var error

Hi
I have encountered an error in the color function.
.card {
background-color: color (card, background);
}
In the html is returning:
.card {
background-color: --c-card- background
}
There is a "space" between the card and the background.
The correct thing would be to stay
--c-card-background

Hi,
Unfortunately, I do not see it happening in our example. Superkube builds the correct variable name: https://github.com/imperavi/superkube/blob/master/example-project/css/main.css.
Perhaps it is something else, for example, in your variables somehow the name of the color is specified with a space

Hi
Using Laravel Mix trying to compile the scss this error occurs.
I identified where the problem is.
It is in the "to-string" function.
To work properly, just change it to look like this:
// list to string
@function to-string($list, $glue: "", $is-nested: false) {
  $result : null;

  @for $i from 1 through length($list) {
	$e : nth($list, $i);

	@if type-of($e) == list {
	  $result : $result#{to-string($e, $glue, true)};
	} @else {
	  $result : if(
		  $i != length($list) or $is-nested,
		  #{$result}#{$e}#{$glue}, #{$result}#{$e} //change this line
	  );
	}
  }
  @return $result;
}

Thanks. Fixed!


Add baremetal provisioning support

This adds baremetal provisioning support using openstack-baremetal-operator.

@rabi could you please teach me how to test it?

There is a make target proposed in https://github.com/openstack-k8s-operators/install_yamls/pull/252 to deploy it from scratch with crc. It will get the nodes to provisioned state. Further deployment can be done by setting deploy:true for the openstackdataplane CR. I guess we should get this PR merged soon to proceed with further work.

/retest


"No published analyzer available for language version 2.17.0"

Thank you for taking the time to file an issue!
This tracker is for issues related to:

Analyzer
Common Front End (CFE) and kernel
Dart core libraries ("dart:async", "dart:io", etc.)
Dart VM
dart2js
dev_compiler

Some other pieces of the Dart ecosystem are maintained elsewhere. Please
file issues in their repository:

Dart language: https://github.com/dart-lang/language
Dart website: https://github.com/dart-lang/site-www
Flutter: https://github.com/flutter/flutter
Linter: https://github.com/dart-lang/linter
dart format: https://github.com/dart-lang/dart_style

If you aren't sure, file the issue here and we'll find the right home for it.
In your issue, please include:

Dart SDK Version (dart --version)
Whether you are using Windows, MacOSX, or Linux (if applicable)
Whether you are using Chrome, Safari, Firefox, Edge (if applicable)

Missing some or all of the above might make the issue take longer or be
impossible to act on.
If you simply have a question, consider starting with Stack Overflow:
https://stackoverflow.com/questions/tagged/dart
For a real-time response, consider our Gitter channel:
https://gitter.im/dart-lang/sdk

@thethninphyu: could you share the sdk constraint in your pubspec?  And perhaps the full output from dart pub upgrade verbose?
Thanks!

Try `dart pub outdated` for more information.


AttributeError: 'module' object has no attribute 'packages'

On Ubuntu 14.04.5 LTS
Using Python 2.7.6
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)
pip install -r /opt/letsencrypt-aws/requirements.txt successfull.
Executing python /opt/letsencrypt-aws/letsencrypt-aws.py update-certificates

Receiving following error...
Traceback (most recent call last):
  File "letsencrypt-aws.py", line 8, in <module>
    import acme.client
  File "/opt/letsencrypt-aws/src/acme/acme/acme/client.py", line 29, in <module>
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
AttributeError: 'module' object has no attribute 'packages'

Read https://github.com/alex/letsencrypt-aws/issues/24, as mentioned above pip install... worked.
Cheers.

This doesn't appear to be a letsecnrytp-aws bug.

Agreed, thanks for looking.


signal-desktop on wayland: black screen when screen sharing

Describe the bug
According to this upstream issue, Signal-Desktop now supports screen sharing on wayland. Using sway on nixos and the latest signal-desktop version on nixpkgs, 6.27.1, I can only share a black screen. Maybe there's a dependency missing for screen sharing to work?
Steps To Reproduce
Steps to reproduce the behavior:

Start Signal-Desktop on Wayland (sway)
Start a call
Start screen sharing, select "share whole screen"
Confirm only a black screen gets shared

Expected behavior
The whole screen should get shared.
Screenshots
Additional context
Logs:
✗ signal-desktop --use-tray-icon
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /nix/store/am1g8aw7wb45nafpc6nkz1l9mvd0qgzy-signal-desktop-6.27.1/lib/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/teutat3s/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
{"level":30,"time":"2023-08-25T13:53:04.666Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2023-08-25T13:53:04.668Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2023-08-25T13:53:04.668Z","msg":"locale: Preferred locales:  en-US, en"}
{"level":30,"time":"2023-08-25T13:53:04.670Z","msg":"locale: Matched locale: en"}
{"level":30,"time":"2023-08-25T13:53:04.703Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2023-08-25T13:53:04.705Z","msg":"app ready"}
{"level":30,"time":"2023-08-25T13:53:04.706Z","msg":"starting version 6.27.1"}
{"level":30,"time":"2023-08-25T13:53:04.706Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-08-25T13:53:04.709Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-08-25T13:53:04.711Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-08-25T13:53:04.712Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-08-25T13:53:04.713Z","msg":"getSystemTraySetting saw --use-tray-icon flag. Returning MinimizeToSystemTray"}
{"level":30,"time":"2023-08-25T13:53:04.713Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1440,\"height\":840,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":true,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#121212\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-08-25T13:53:04.748Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2023-08-25T13:53:04.748Z","msg":"spellcheck: available spellchecker languages: [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2023-08-25T13:53:04.748Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
{"level":30,"time":"2023-08-25T13:53:04.757Z","msg":"MainSQL: updateSchema:\n  Current user_version: 86;\n  Most recent db schema: 86;\n  SQLite version: 3.39.4;\n  SQLCipher version: 4.5.3 community;\n  (deprecated) schema_version: 371;\n"}
{"level":30,"time":"2023-08-25T13:53:05.308Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-08-25T13:53:06.371Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-08-25T13:53:06.379Z","msg":"System tray service: created"}
{"level":30,"time":"2023-08-25T13:53:06.380Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-08-25T13:53:06.380Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-08-25T13:53:06.380Z","msg":"System tray service: enabling"}
{"level":30,"time":"2023-08-25T13:53:06.380Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-08-25T13:53:06.380Z","msg":"System tray service: creating the tray"}
{"level":30,"time":"2023-08-25T13:53:06.384Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-08-25T13:53:06.385Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-08-25T13:53:06.387Z","msg":"Finish ensuring permissions in 3ms"}
{"level":30,"time":"2023-08-25T13:53:06.556Z","msg":"MainSQL: slow query getAllConversations duration=78ms"}
{"level":30,"time":"2023-08-25T13:53:07.383Z","msg":"MainSQL: slow query getAllStories duration=226ms"}
{"level":30,"time":"2023-08-25T13:53:07.959Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-08-25T13:53:07.959Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2023-08-25T13:53:08.102Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-08-25T13:53:08.107Z","msg":"App loaded - time: 3403"}
{"level":30,"time":"2023-08-25T13:53:08.107Z","msg":"SQL init - time: 55"}
{"level":30,"time":"2023-08-25T13:53:08.108Z","msg":"Preload - time: 1044"}
{"level":30,"time":"2023-08-25T13:53:08.108Z","msg":"WebSocket connect - time: 1073"}
{"level":30,"time":"2023-08-25T13:53:08.108Z","msg":"Processed count: 0"}
{"level":30,"time":"2023-08-25T13:53:08.108Z","msg":"Messages per second: 0"}
{"level":30,"time":"2023-08-25T13:53:32.857Z","msg":"System tray service: showing the window from the context menu"}
{"level":30,"time":"2023-08-25T13:53:32.859Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-08-25T13:53:33.046Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2023-08-25T13:53:33.047Z","msg":"showing main window"}
{"level":30,"time":"2023-08-25T13:53:33.047Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-08-25T13:53:33.373Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":true,\"fullscreen\":false,\"width\":708,\"height\":862,\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-08-25T13:53:33.374Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2023-08-25T13:53:33.375Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2023-08-25T13:53:37.604Z","msg":"Updating BrowserWindow config: %s {\"maximized\":false,\"autoHideMenuBar\":true,\"fullscreen\":false,\"width\":1440,\"height\":840,\"x\":0,\"y\":0}"}
{"level":30,"time":"2023-08-25T13:53:37.605Z","msg":"config/set: Saving ephemeral config to disk"}
{"level":30,"time":"2023-08-25T13:53:37.606Z","msg":"config/set: Saved ephemeral config to disk"}
{"level":30,"time":"2023-08-25T13:53:47.455Z","msg":"Prevent display sleep service: preventing display sleep"}
{"level":30,"time":"2023-08-25T13:53:47.455Z","msg":"Background throttling disabled because a call is active"}
{"level":30,"time":"2023-08-25T13:54:21.181Z","msg":"Approving request for permission 'notifications'"}
{"level":30,"time":"2023-08-25T13:54:21.199Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2023-08-25T13:54:43.065Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-08-25T13:54:43.065Z","msg":"Background throttling enabled because no call is active"}

Notify maintainers

Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.4.10, NixOS, 23.05 (Stoat), 23.05.20230823.fc94491`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - nixpkgs: `/nix/store/6r12wzxd64dfnflzl3b7li5wpmzlmqxh-source`

Maybe these packages help: x
xdg-desktop-portal
xdg-desktop-portal-gtk (not sure if this one is needed)
xdg-desktop-portal-gnome

I see the same issue under NixOs and sway (https://github.com/gabyx/dotfiles/blob/82b9b9a5a2ab8ae2cd8cc1db4218c91469b3f36f/nixos/modules/windowing.nix)
with the following enabled. Chrome with Google Meets works so far.
 xdg.portal = {
    enable = true;
    extraPortals = [pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-gtk ]
  };


Payment providers from other organizations not showing up in the list

Description:
I'm reporting an issue related to adding payment providers for products in Casdoor. I've noticed that when a payment provider belongs to either the built-in organization or the Admin (shared) organization, it shows up correctly in the list of available payment providers.
However, if the payment provider is associated with any other organization, it doesn't appear in the list. This makes it difficult to use payment providers from different organizations when setting up products.
Steps to reproduce:
Create a payment provider under an organization other than the built-in or Admin (shared) organization.
Go to the product settings page.
Try to add the payment provider created in step 1 to the product. (product belongs to the same organization)
Expected behavior:
The payment provider should be available in the list of payment providers, if both of them belong to the same organization.
Actual behavior:
The payment provider is not visible in the list even though it belongs to the same organization
I'm not sure if this issue has been reported before or if it has already been resolved. I would appreciate any guidance or information on how to properly use payment providers from different organizations when setting up products in Casdoor.

@PepperPlatypus fixed by: https://github.com/casdoor/casdoor/commit/d43d58dee2a59320c90dfa2ed7e64611f96e7218


cri-tools: 1.15.0 -> 1.16.1

Motivation for this change
Update cri-tools to the latest release
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
None

@GrahamcOfBorg build cri-tools

Update to 1.16.1

@srhb do you think we can merge this update as well for K8s 1.16?

@saschagrunert Absolutely! I'll give it a quick spin.

Basic functionality looks good. I haven't tested actually talking to a CRI server. This might be nice to have in a test somewhere, at some point. :)

Looking at the diff, is there any reason to not have make install BINDIR[...] in the installPhase?

Looking at the diff, is there any reason to not have make install BINDIR[...] in the installPhase?

Hm no I think this is actually needed to install it not into the $GOPATH/bin


Add cascade delete to the 1 to composite relationships.

Do not leave orphans behind.
Tested: locally on MySql and python 2.7.
More info: http://docs.sqlalchemy.org/en/latest/orm/cascades.html
Reviewers:

@mistercrunch
@ascott
@vera-liu

LGTM


[ffigen] Objective-C interface static methods and ffiNative:

When using
ffiNative:

With toplevel methods in Objective-C we directly invoke via an @Native
@Native<Void Function()>()
external void play();

But if I change it to a static method on an interface we get a reflective implementation, that does dynamic symbol lookup.
class MyMediaPlayer extends objc.NSObject {
  static void play() {
    _objc_msgSend_2(_class_MyMediaPlayer, _sel_play);
  }

@liamappelbe Is it needed that we do something reflective here? Or can we use a @Native here as well?
This would be mostly for performance reasons. For tree-shaking, we would generate different annotations anyway (https://github.com/dart-lang/native/issues/1099).

That might be possible, but it's not just a matter of name mangling. In C++, a static method in a class is really just a top-level function under the hood (with exactly the same signature). But in ObjC, a static method in a class is really an instance method in the class object.
So whether it's possible depends on details of the ObjC ABI that I haven't investigated yet. The question is, what's the signature of the C function backing + (instancetype)newWithCounter:(int32_t*) _counter;? I could plausibly see it being any of:
StaticFuncTestObj newWithCounter(int32_t* _counter);
StaticFuncTestObj newWithCounter(Class* receiver, int32_t* _counter);
StaticFuncTestObj newWithCounter(Class* receiver, SEL selector, int32_t* _counter);


Differentiate between datakeys?

In the case of having two listeners used for different tasks, how can I differentiate between them?
For example:
BroadcastReceiver.setIntentActionConfig([
    { action: 'com.app.barcode', datakey: 'barcode' },
    { action: 'com.app.rfid', datakey: 'rfid' },
]);

The event listener only returns data regardless of what the datakey is named.

Right. I believe an object can be thrown back containing the relevant data, in this case dataKey and  data itself. After that is done javascript side will require integration changes to read the newly defined payload.


Deprecated scope(state:action:) in TCA 1.6

Hello, my team write project on TCA 1.6 + TCACoordinators and we encountered a problem in the console:
<decode: bad range for [%@] got [offs:410 len:801 within:0]>
It occurs because of the deprecated method in the TCARouter.swift:26. Can you please correct it?

I have also try to fix that warning but without no luck ((

Have a dirty fix for the issue.
https://github.com/sdkdimon/TCACoordinators/tree/sdkdimon/experimental-tca-190
I suppose to have something cleaner needs to do a whole lib refactor, unfortunately.
That's because deprecated and actual scope methods have a different params, in deprecated one we have closures and in new one there KeyPath for state and CaseKeyPath  for an action params that can't be created in runtime(

I believe this issue is now resolved since @rhysm94's changes in version 0.9.0.


Nick: Watch theskillstock.com

Nick requests the watch of the watch_keyword theskillstock\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

theskillstock\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Features - Implement Auto-Suggestion - SQL Editor

SQL Studio - Auto-Suggestions Feature
Description of the PR
This PR introduces a new SQL Auto-Suggestion feature in SQL Studio. This feature improves the user experience by providing real-time SQL code suggestions as you type, helping you write queries faster and with fewer errors.
Key Features

Contextual Suggestions: Get relevant suggestions based on the current context within your SQL query.
Multiple Database Support: Auto-suggestions work seamlessly across supported databases, including SQLite, libSQL, PostgreSQL, MySQL/MariaDB, DuckDB and ClickHouse.
Productivity Improvement: Spend less time writing repetitive SQL code and more time analyzing your data.
Error Reduction: Minimize syntax errors and improve query accuracy with intelligent suggestions.

How to Use

Start Typing: Start typing your SQL query in the query editor.
View Suggestions: As you type, a drop-down menu will appear with suggestions for completing your query.
Select Suggestion: Use your keyboard to navigate through the suggestions, and press Enter to select.

Example
Here is a quick example of how the auto-suggest feature works:
https://github.com/user-attachments/assets/78ba7589-eb5b-4e22-ad9f-d85beb85548c
Feedback
We would love to hear your feedback on the new auto-suggest feature 😁.

Thank you very much for implementing this :bow:. This really takes the project to another level.


Implement ResourceBase.subtype field

A new ResourceBase.storetype  field will replace Layer.storeType and Document.doc_type. The new field will simplify filtering and parsing of API v2 resources/ endpoint.
The implementation must include a fixture that will move the values from the preexisting fields to the new one.

https://github.com/geosolutions-it/geonode/pull/882


[Bug]: 'OpenAIMultiModal' object has no attribute '_update_tool_calls'

Bug Description
Hello,
I am trying to get the output of the model gpt4-o model where it can be a message to the user(streamed) or a function call.
I can't know beforehand if it's going to be a function call, so both should be streamed and I want to implement the logic on top of that. When I include the tools parameter in the stream_chat call, I get the following error:
'OpenAIMultiModal' object has no attribute '_update_tool_calls'
I use python 3.12 on windows 10.
These are the packages installed:
llama-index==0.11.14
llama-index-agent-openai==0.3.4
llama-index-cli==0.3.1
llama-index-core==0.11.14
llama-index-embeddings-openai==0.2.5
llama-index-indices-managed-llama-cloud==0.4.0
llama-index-legacy==0.9.48.post3
llama-index-llms-gemini==0.3.5
llama-index-llms-openai==0.2.9
llama-index-multi-modal-llms-gemini==0.3.1
llama-index-multi-modal-llms-openai==0.2.1
llama-index-program-openai==0.2.0
llama-index-question-gen-openai==0.2.0
llama-index-readers-file==0.2.2
llama-index-readers-llama-parse==0.3.0
llama-index-vector-stores-chroma==0.2.0

My test code is:
from dotenv import load_dotenv
import os
from pydantic import BaseModel

from llama_index.multi_modal_llms.openai import OpenAIMultiModal
from llama_index.core.tools import FunctionTool, ToolMetadata
from llama_index.core.types import ChatMessage

load_dotenv()

llm = OpenAIMultiModal(
    model="gpt-4o",
    api_key=os.getenv("OPENAI_API_KEY"),
)

def get_available_slots(date: str):
    return "Available slots: 10:00, 11:00, 12:00"

class NoParams(BaseModel):
    pass

DATE_PICKER_TOOLS = [
    FunctionTool(
        fn=get_available_slots,
        metadata=ToolMetadata(
            name="get_available_slots",
            description="Get available slots.",
            fn_schema=NoParams,
        ),
    )
]

r = llm.stream_chat(
    messages=[
        ChatMessage(
            role="user",
            content="What are the slots available?",
        ),
    ],
    tools=[t.metadata.to_openai_tool() for t in DATE_PICKER_TOOLS],
)

for chunk in r:
    print(chunk, end="")

I'm not sure if this is a bug, if I misunderstand something or if it's just a feature that is not supported(in this case maybe including an error message would be cool).
Thank you very much!
Version
0.11.14
Steps to Reproduce
Make a OpenAIMultiModal.stream_chat call with the tools parameter present
Relevant Logs/Tracbacks
Traceback (most recent call last):
  File "C:\Users\LeonidTanas\source\onboarding_bot\backend\llama_test.py", line 43, in <module>
    for chunk in r:
  File "C:\Users\LeonidTanas\source\onboarding_bot\backend\.venv\Lib\site-packages\llama_index\core\llms\callbacks.py", line 186, in wrapped_gen
    for x in f_return_val:
  File "C:\Users\LeonidTanas\source\onboarding_bot\backend\.venv\Lib\site-packages\llama_index\core\llms\callbacks.py", line 186, in wrapped_gen
    for x in f_return_val:
  File "C:\Users\LeonidTanas\source\onboarding_bot\backend\.venv\Lib\site-packages\llama_index\multi_modal_llms\openai\base.py", line 318, in gen
    tool_calls = self._update_tool_calls(tool_calls, delta.tool_calls)
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\LeonidTanas\source\onboarding_bot\backend\.venv\Lib\site-packages\pydantic\main.py", line 853, in __getattr__
    raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}')
AttributeError: 'OpenAIMultiModal' object has no attribute '_update_tool_calls'

Yea the openai multimodal class isn't updated to work with tools really
We have some pending backlog work to merge this multi-modal class into the normal OpenAI class -- maintaining nearly duplicate versions of the same thing hasn't been easy

In this case, it's a bug and the openai multimodal class is just missing a function