JNI possible issues in multithread envinroments and exceptions

Hello all,
during our usage of djinni, we come across issue, which is related to multi-thread environments. Based on my understanding in JNI, this is highly problematic staff, especially when threads are created by C++ side. In our app we have one main thread with many async-task threads (all created within C++). The problem is those async-task threads. Their purpose is to simply run one method implemented on Java side. Once done, they are destroyed. According to colleagues of mine this is buggy as there is no DetachCurrentThread method called
In order to allow proper usage we needed to adjust djinni code with this support-lib.patch
And adjust the API of that specific JNI interface after djinni generation with this myInterfaceA.patch
After that it works quite well. As I am not JNI expert, so I rather left it for others to judge whether or not it is valid bug/point. I also think that we might workaround this problem by using thread-pools, where threads might not be created/destroyed during normal run-time, but we didn't had yet time to test this theory.
We also notice that when we are handling exceptions coming from JAVA in C++ there is no meaning full data in it (what() API is simply saying "std::exception", nothing more). This doesn't provide any kind of data for troubleshooting of what went wrong, especially in case when C++ developer is complaining about this to Java developer. In order to fix that we come with this jni_exception.patch
This allows C++ side to at least log what happened and that makes the troubleshooting much more easier.

We cannot really put DetachCurrentThread() anywhere to make it operate reliably because Djinni doesn't know when threads are created or destroyed. This issue comes up repeatedly and so far nobody has proposed a fix that works in every situation.
Besides, creating new threads for every task is really frickin' wasteful. I suggest to use a thread pool. I have a library here that offers thread pools that can be used both by C++ and Java (as java.util.concurrent.Executor) sharing the same threads and it's taking care of attaching/detaching the JVM. It also has .yaml files to integrate into other Djinni projects.
For the exceptions I think you'll have to make a pull request with added tests showing how the change influences the generated code and the properties of the generated exceptions.

I agree with you, thread pool seem to be the best option.

We've always limited ourselves to having Java create all the threads, which steps around this issue, as well as other issues we saw with native-created threads in the past.  You can see sample code for how we do that in djinni/extension-libs/jni-exceptions.  @mknejp's library seems more flexible.
Regarding Java exceptions, the default code is set up only to ensure that exceptions get propagated, and can be passed back to Java, not anything more.  However there are pluggable functions (the ones declared weak) which you can replace without having to change the support library directly.  You can see a simple example of that in djinni/extension-libs/jni-exceptions.  Internally we have a much more complicated version which knows about our custom exception types, and knows how to propagate stack traces between languages.  I talked a bit about it a bit at CppCon 2015, though the code isn't published because it's tied to our internal assumptions.  Note that we've always focused on getting the best diagnosability after propagating back to Java (since all our threads start there) rather than extracting maximal information in C++.
I'm going to close this issue since it doesn't seem to be a bug so much as a discussion of Djinni's limitations and techniques for improving them.  Feel free to continue the conversation, or to re-open if you think there are issues which need fixing.


Update Categorical Variables - Solution.ipynb

we can use this " df = pd.get_dummies(df,columns=cat_cols,prefix = cat_cols,dummy_na=dummy_na)" one liner and lose the for loop

Hey @serhat-say
As a part of the project "Post your Work on Github", you are not expected to push to the current repository. Instead, you have to push your proposed changes to the remote repository in YOUR Github account.
To see the current remote in your terminal, use
# See the current 'remote' set in your terminal
git remote -v

# Change the 'remote' to point to the repository in YOUR Github account
git remote add origin https://github.com/username/Repo_Name.git


Add basic test for the plugin

Fixes #2

@andrewvc would you be so nice to take a look here? thanks a lot!

LGTM


add OpenTracing-Examples

move examples from https://github.com/opentracing-contrib/java-examples to be part of
opentracing-java

Coverage remained the same at 74.074% when pulling d20f5468506dd34df6584201356ea07ea700b680 on malafeev:master into 578d4e74d9b16c18268717e537000a88d7e6779c on opentracing:master.

could we add a readme at the module level briefly explaining what each example represents?

Coverage remained the same at 74.074% when pulling 744ebd8d8536e7a581c3e38943a94e1f5dd4bb56 on malafeev:master into 578d4e74d9b16c18268717e537000a88d7e6779c on opentracing:master.

Instead of just moving them into this repo as "examples", do we want to take this opportunity to start some form of conformance test suite? Could be based on these examples initially and changed over time if necessary to ensure testing all aspects of the API.

These examples could evolve into

conformance test suite

some day.
Now it is more for testing different api proposals (like get rid of Continuation :) ).
If somebody proposes such great change let's make examples work first :)

some day. Now it is more for testing different api proposals

I agree on this point with @malafeev - I think at this time they are a testbed for such changes, and not much of actual tests (and thus the listing of specific use cases there, and not the common ones).

I like the idea @objectiser; I'd like to see us build out a test harness for tracers to verify that they conform to the spec properly. Perhaps durning or after the release candidate process we can work on this?
The immediate concern that examples were created to solve is that we need a place to discuss the API using code. If we encounter a usecase during the release candidate process where we feel the API is incomplete or ambiguous, we need a way to record this fact for all to see. So this is about "correctness of the API" itself as opposed to "correctness of an implementation of the API".
Personally, I think we can continue to push and change this example/test code as patch versions to the API, so we don't need to get it perfect on the first shot and can merge this in. If that approach is problematic, we should leave it in ot-contrib until we work it out.

Coverage remained the same at 74.074% when pulling 2fc00b00c1b4a5264fae8b687af862ced8ed9bfb on malafeev:master into 431ebc3ef5c3dd128111bcd77cbd0e3c4b68dc1c on opentracing:master.

Coverage remained the same at 74.074% when pulling cce6752ee5479ecd459466e65e4dced8efadb788 on malafeev:master into 431ebc3ef5c3dd128111bcd77cbd0e3c4b68dc1c on opentracing:master.

@malafeev I have a meta request. Could you please clean the sources:

do not use .join(SOME_MAGIC_NUMBER)
do not use  future.get(MAGIC, time_unit)
use comments consistently (do not mix /**/ //  and pay attention to indentation).
do not use sleep(ms)  when it's not needed. In the most places, it's not needed. It's just a noise which makes it harder to read, nothing more.

Coverage remained the same at 74.074% when pulling ed08547c01850450964a57eedae960212faedb1c on malafeev:master into 431ebc3ef5c3dd128111bcd77cbd0e3c4b68dc1c on opentracing:master.

Coverage remained the same at 74.074% when pulling 74da38a6022234e8a81997fc3a42c6b2a0a2c48a on malafeev:master into 431ebc3ef5c3dd128111bcd77cbd0e3c4b68dc1c on opentracing:master.

Coverage remained the same at 74.074% when pulling b4e547df57b1a490786298d9e0c11f052dd7b9dd on malafeev:master into 431ebc3ef5c3dd128111bcd77cbd0e3c4b68dc1c on opentracing:master.

@pavolloffay @malafeev is this good enough to merge at this point? There are people waiting to add more test cases. If it's just style tweaks and documentation left to work on, can we merge and do that as subsequent PRs?

I think it could be merged although more explanations should be added to examples.

Yes, it looks better and cleaner, however, I still think it needs more comments.  let's not block others and merge this.


Re-create all projects using a fresh solution, then drop/dump it onto…

…p of the existing and validate
I wanted to learn shaders a bit and found an old tutorial you did.
I've updated it without changing anything except some typo's to Monogame <IP_ADDRESS>5

I basically started a fresh Monogame project, and then copied the assets and code into it, naming the solution and projects the same.
Then when I verified it was working, I copied it over the existing project structure to update it.
Deleted a few files that were no longer needed and tested it again.


Mac certificate

Certificates come with 365 days validity, They can be easily regenerated by developers once expired without affecting the exiting live apps.
We can ignore this. @antuz123 We can mark this closed.

Closing this issue as discussed with dev.


Changed description of default wildcard characters

When you run robocopy with no <file> parameter, the default wildcard is *.*. I changed the documentation to reflect that.

@jslatane : Thanks for your contribution! The author(s) have been notified to review your proposed change.

By the way, I notice you use the entity code for asterisk within the parentheses in this line. May I ask if that is a personal preference, compared to using the escape character backslash in front of meta characters in GitHub Flavored MarkDown (GFM)?

I'm afraid you're going a bit beyond my understanding... if you are referring to the * entity code, that was already there along with the rest of the line. I just added one asterisk within the backticks in the last sentence.

Aha... thank you for clearing up my mistake. Very well. That is fair enough.


WIP: Vector env

@ziyuwan @VegeWong environment vectorization for simultaneous rollout. merged from malib-dev, and new environment wrapper for the registered environment. check this in malib/envs.


Error when trying to render dynamic components

Environment
Nuxi 3.6.1
Reproduction
https://stackblitz.com/edit/github-dwx287-gvmmd4?file=pages%2Findex.vue
Describe the bug
When trying to render a dynamic component, as per the docs, we should use the resolveComponent helper that is provided by Vue 3.
But when trying to do that, I'm getting a ReferenceError: resolveComponent is not defined
Additional context
No response
Logs
No response

The resolveComponent is only available in Vue 3, so it can only be used in Nuxt 3.
Nuxt Bridge is not Vue 3, so you need to follow the Vue 2 guide.
https://v2.vuejs.org/v2/guide/components-dynamic-async.html


[Bug]-[837]:Turning off column sorting option on Table widget doesn't stop user from sorting column on client side.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
It's a little confusing for our users. As I understand it, the option is used similarly to serverside pagination (it doesn't stop client-side pagination).
https://discord.com/channels/725602949748752515/1019883948270157845
Steps To Reproduce

turn off the column sorting
click on the sortable column header

Public Sample App
No response
Version
Cloud

Stats

Stat
Values

Reach
837

Effort (months)
0.5

Needs triaging if sortable key is being used only for server side sorting

Closing as duplicate of #15184


Feature: Add pre-commit hook

Codecov Report

Merging #23 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #23   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           8      8
  Lines          87     87
  Branches       11     11
=====================================
  Hits           87     87

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 710647c...78d6d7d. Read the comment docs.


adding version to history events

Coverage increased (+0.09%) to 64.956% when pulling 68d47e9eb44b22eaf8a9af1b9a1556ff1fde40bf on events into f57cd0df8ee17fbd1e59d2d510d75639d584ffa6 on master.


Instructions can't be followed

Hi, thanks for this app!  The instructions talk about a password and IP... I did not get prompted for either, albeit the installation seems to work.  Not urgent

Hi.
Thanks, yes, it is mistake (it from my another integration).
Fixed


Periodically rebase firebase-cpp-sdk with upstream

Description
This workflow runs thebrowsercompany/gha-sync-fork at 8 am every day.
It can also be triggered manually using:
gh workflow run 'cron-sync-with-upstream.yml' -R thebrowsercompany/firebase-cpp-sdk

Or by clicking the "Sync this Fork" button in the GitHub UI.
Testing
See this workflow run: https://github.com/thebrowsercompany/firebase-cpp-sdk/actions/runs/9104534949

Nice! This seems like the right approach. I still think that there is some value in compressing all the CI changes that we have as their history doesn't actually give us anything.

Agreed! Let's talk about this today: We can either squash the changes periodically, or I can add a parameter to the gha-sync-fork workflow that attempts to do it automatically every time we sync.

What's the flow to handle rebase failures? Once we have one conflicting commit in our history, will all subsequent rebases fail?

Yep, and someone will have to fix the conflict to get this job to succeed again. let's also talk about this today too. We could have some alerting if needed, but I'd like to hear how everyone thinks that alerting should work, and any other ideas we may have.


Help with Numba

Hey Tom, great seminar, I just had one question about using numba. I was rushed at the end so I could not stay for it. When I tried to run it, I got an error that said "Missing optional dependency 'numba'. Use pip or conda to install numba." I tried installing via conda and pip, also uninstalling and reinstalling numpy and pandas to see if that would fix it, but it did not.

Might be best to try re-creating the environment with the command in the README.md file (you may have to delete the old environment first). That’s typically the safest way to ensure things get installed correctly.

On Nov 13, 2020, at 3:28 PM, jhummell<EMAIL_ADDRESS>wrote:
Hey Tom, great seminar, I just had one question about using numba. I was rushed at the end so I could not stay for it. When I tried to run it, I got an error that said "Missing optional dependency 'numba'. Use pip or conda to install numba." I tried installing via conda and pip, also uninstalling and reinstalling numpy and pandas to see if that would fix it, but it did not.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/TomAugspurger/pandorable-pandas/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAOIRGMG3XGYHFXVMWP7TSPWQI3ANCNFSM4TVCEV6Q.


Faster classifier example parameters

Alters classifier example parameters so they don't take as much time (#2377).

@MatthewMiddlehurst, these choices are failing?

Remaining tests are stalled/failing only due to the overload of testing going on currently.
For some of these, we are reaching the limit of how much time usage we can reduce by tweaking parameters. I have a hunch a bunch of time is being added from having to compile the numba functions some use, i.e. catch22 related classifiers and I think distances now.

Thanks! So now it´s mainly Prophet...

I personally prefer how it is currently, but won't object to you changing it before merging if you think it would look better.

added it as alternative example


Targetted C++ standard could be C++ 2017

I mean, it could.

I really think autoclosing should work better than it does.


Enable whole-of-Prez search

Part two of #63
This issue is to be left open for whol-of-Prez search when #63 is closed.

see: https://github.com/RDFLib/prez/discussions


Fix header decoding errors

Closes: #1342
Description

For contributor use:

[ ] Added a changelog entry, using unclog.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Let's address my comments in a follow-up PR.


Compose Message: After an error, submit button is still disabled

Describe the bug
After an error when composing a message, the SEND button is still disabled.
To Reproduce
Steps to reproduce the behavior:

Serve Mailchain with the wrong password
Go to Inbox
Compose message
Click send
Close error message
Send Button is still disabled

Expected behavior
The button should be enabled so the user can retry or fix the issue and retry
Screenshots

Desktop (please complete the following information):

Version 0.0.3

Dupe of #93


Fix VITE_CURRENT_BENCH_VERSION envvar in production

db19b3abba1ebbb1f3bda3944e3db021164c7756 added display of current-bench version
in the UI using an environment variable. But, the setup for production was
incorrect, and this commit fixes it.

aah yes, i saw this and was going to look into this!! thanks @punchagan!


Publishing to two different packages in the same bintrayUpload task

Hi,
I am in the process of changing our gradle tasks to use Bintray instead of Maven Central. One of our modules generates two different jar libraries. In order to upload them to different repositories on Maven Central, we used filters (https://docs.gradle.org/current/userguide/maven_plugin.html#sub:multiple_artifacts_per_project).
I have not found any reference on how to accomplish the same thing using Bintray (we have two different packages, one for each library). Is there a way to do such a thing?
Thanks in advance.

@larissanpa, you can define two Publications, each of them publishes only one of the two artifacts. You can then configure the artifactoryPublish task to reference each time a different publication (using a project property for example). You may need to run gradle artifactoryPublish twice, each time uploading one of the artifacts. The Artifactory Plugin allows configuring multiple artifactoryPublish tasks, but they need to be in different sub-projects.

Thanks for the help, @eyalbe4! We were trying to avoid dividing this module into sub-projects, but it seems that we will have to do that anyway.


I want to change storage root for each user?

I have already achieve that by adding the code under bootstrap.php:
Admin::user()->setStorage();
For Administrator user list I would like to update the config variable by selecting/edit each user:
        return Admin::form(User::class, function (Form $form) {
            config([
                'filesystems.disks.local.root' => public_path('upload')."\\".$form->model()->username,
            ]);
          ...

but problem is I can't access $form->model()->username under form

setStorage()
       config([
                //'filesystems.disks.local.root' => public_path('upload')."\\".$this->username,
                'admin.upload.host' => config('admin.upload.host').$this->username,
                'admin.upload.directory'  => [
                    'image'  => $this->username.'/image',
                    'file'   => $this->username.'/file',
                    'video'   => $this->username.'/video',
                     ],
                ]);

echo config('admin.upload.directory.image') showing updated path: username/image
But still image is uploading on directory image/ instead of username/image/

under prepareForSingle still showing the old config values??
protected function prepareForSingle(UploadedFile $image = null)
{
dd(config('admin.upload.directory.image'));
}
Can anyone please help me how to fix this problem?

This also does't work:
     $form->image('avatar', trans('admin::lang.avatar'))->move(function ($form) {
                return $form->model()->username;
            });

Have you tried this:
$form->image('image')->move(Admin::user()->name)

I have figure the solution by adding the setStorage() for users in the Auth middleware it was not working properly when I put on bootstrap.php.
It's working find for logged it users.
But for Super Admin I would like to change the the default path for each selected users from the grid, something like this:
$form->image('avatar', trans('admin::lang.avatar'))->move(function ($form) {
return $form->model()->username;
});
Under move() "$form->model()->username" it always returns null.
Is there any solution for this?
Just one more important question can I return just the simple value? example:
$form->column('id')->value();

The first parameter for method move() can be a closure now:
$form->image('avatar', trans('admin::lang.avatar'))->move(function ($form) {
    return $form->username;
});


chore: free up more disk space

Changes

Free up more disk space in order to keep building android images of increasing size.
Tried easimon/maximize-build-space action, but it broke docker buildx :(
Follow-up of https://github.com/game-ci/docker/issues/185
Intends to solve the following errors (source):

This frees up 49GB which is 7GB more than before

🛠 Build unityci/editor (android)
buildx failed with: ERROR: failed to solve: failed to create temp dir: mkdir /tmp/containerd-mount4174648361: no space left on device
🛠 Build unityci/editor (android)
buildx failed with: ERROR: failed to solve: error writing layer blob: failed to copy: failed to send write: write /tmp/.buildx-cache/ingest/0f0bc1dd60a20fda07ae9701b1ef8e482235bde20ec2cc2c8af4597e0af6ff53/data: no space left on device: unknown
🛠 Build unityci/editor (android)
You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 73 MB

Checklist

[x] Read the contribution guide and accept the code of conduct
[ ] Readme (updated or not needed)

Merging this (even as tests are still running), as the pull_request trigger is not representative of the actual changes, as it uses main blob for the workflow definition.


[Snyk] Security upgrade werkzeug from 1.0.1 to 3.0.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

⚠ Warning
Flask 1.1.2 requires Werkzeug, which is not installed.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

661/1000  Why? Recently disclosed, Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-PYTHON-WERKZEUG-6041510
werkzeug:  1.0.1 -> 3.0.1
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Qovery can create a Preview Environment for this PR.
To trigger its creation, please post a comment with one of the following command.

Command
Blueprint environment

/qovery  preview aa190093-9b25-4c7c-8cbf-2c59eec4929d
blueprint-x

/qovery  preview {all|UUID1,UUID2,...}
To preview multiple environments

This comment has been generated from Qovery AI :robot:.
Below, a word from its wisdom :

There are two hard problems in computer science: naming things, cache invalidation and off-by-1 errors


Recreating an index on a migration table

We have an active record table that is indexed using thinking-sphinx that has ~50 million rows. Every so often we need to to ETL a migration table of the same size. To do this quickly we upload the table as table_<uuid> and then do a table rename table -> table_migrated_<uuid> and table_<uuid> -> table
This works great, however once we do this we need to fully rebuild the sphinx index for this table which can take ~2 hours.
What I would like to do is prebuild the sphinx index on the migration table before the rename and then stop searchd -> swap out index files -> start searchd. Is there a way I can use the thinking sphinx configuration and just point the sphinx index for this table at the migration table table_<uuid>?

Hi Kyle
This is certainly not an easy thing to work through… but, TS uses the model's table name, so in theory you could have something like the following in your model:
class Foo < ActiveRecord::Base
  self.table_name = ENV['FOO_TABLE_NAME'] if ENV['FOO_TABLE_NAME'].present?
  # ...

And then use the appropriate environment variable to run rake ts:configure. Then it might be best to process just the specific Sphinx index:
indexer --config config/production.sphinx.conf --rotate foo_core

Then, once you're ready, run ts:configure again without the environment variable to ensure the generated configuration file is using the original table name.
If you've got delta indexing in play, though, that could complicate things, because it'll be referring to the latest Sphinx configuration file each time a change is processed. Maybe that's okay? Depends on the behaviour you're after, I guess. And of course, everything I've just suggested is just an idea, I've not delved into trying it out myself.
Although, I'm curious: why is a rebuild necessary? Are you changing your Sphinx index structure as well as your database structure? If not, you could just use rake ts:index instead and avoid the need to take Sphinx down for a couple of hours.

Hi Pat,
Thanks for the response, I'll see if I can get this direction to work.
The reason the rebuild is necessary is because the primary key structure of the new table will be different from the old table. I.e. in the old table there could be a row id: 1, first_name: "Foo", last_name: "Bar" but in the migrated table the row could be id: 13, first_name: "Foo", last_name: "Bar" (the reason has to do with an external id that is actually a more important index so the table is built ordered on this id so that the mysql index is as efficient as possible). I believe that for this reason the entire sphinx index needs to be rebuilt or using the old index search: "Foo Bar" would point to 1 which is no longer the case.

A full processing of the index (as covered by the rake ts:index task) is certainly needed in this case, but a rebuild (rake ts:rebuild) is unnecessary - you only need to have Sphinx stopped/started if the structure of any index changes (new/altered fields or attributes), or if you're adding/removing indices.
Processing the indices will ensure the data is updated accordingly.
However, given the primary keys would be changing… in the previous suggestion, as soon as the Sphinx indexer command finishes, Sphinx would have the new data, so from that point in time until your app is using the new version of the table, Sphinx and your Rails app/db won't be in sync. Still, that window of time should be much smaller than waiting for a full index, let alone a rebuild.

Thanks for the help! This strategy worked.
The migration happens inside an object (with a uuid slug and a tmp_dir for work) that orchestrates it so I added two methods:
def generate_sphinx_indices
  ts_config = ThinkingSphinx::Configuration.instance

  begin
    FooModel.table_name = migration_table.name

    ts_config.configuration_file = tmp_config_path
    ts_config.indices_location = tmp_indices_location
    ts_config.searchd.binlog_path = "#{tmp_dir}/binlog/#{slug}"
    ts_config.searchd.log = "#{tmp_dir}/#{slug}.searchd.log"
    ts_config.searchd.pid_file = "#{tmp_dir}/#{slug}.sphinx.pid"
    ts_config.searchd.query_log = "#{tmp_dir}/#{slug}.searchd.query.log"

    ts_config.render_to_file

    FileUtils.mkdir_p ts_config.indices_location
    ts_config.controller.index(verbose: true)
  ensure
    FooModel.table_name = "foo_models"
    ThinkingSphinx::Configuration.reset
  end
end

def swap_sphinx_indices
  ts_interface = ThinkingSphinx::RakeInterface.new
  ts_config = ThinkingSphinx::Configuration.instance

  ts_interface.stop
  current_sphinx_indices_location = ts_config.indices_location
  migrated_sphinx_indices_location = "#{tmp_dir}/migrated/sphinx"

  FileUtils.mkdir_p migrated_sphinx_indices_location
  FileUtils.mv(current_sphinx_indices_location, migrated_sphinx_indices_location)
  FileUtils.mv(sphinx_indices_location, current_sphinx_indices_location)

  ts_interface.start
end

Great to know you've got it working - and thanks for sharing the solution! :)


Don't assume subscriptions to all topics referenced in SIMPL+

The current implementation takes a list of topics referenced from SIMPL+ and subscribes to all of them.  In reality, there will be topics that we only want to publish to, and topics that we only want to subscribe to - the relationship is not necessarily symmetrical.

On further examination, the "subscribe to everything I publish to" behaviour is contained in the SIMPL+ module.  It will get dealt with when the SIMPL# module work is complete.


[FIXED] Feat: Make a page for Italy #1783

Related Issue
#1783
Fixes:  #1783
Description
When the user clicks on the Italy card in the book now page now, the user is redirected to a page showing all the top hotels in Italy along with their prices. #1783

Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
When user clicks on:

The user is redirected to:

New Feature:
https://github.com/user-attachments/assets/664871f4-57da-459e-bddf-39c139287b8e
Checklist:

[X] I have made this change from my own.
[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers and screenshots after making the changes.

@PriyaGhosal @samarth-6 Please take a look at this


[FEATURE] Creating, Submitting, and Handling IPUMS Data Extracts

This PR introduces the following features through a variety of modifications and new functionalities added:

Submit an extract request
Download an extract
Find out information about an extract
Convenience wrapper for creating an API object (done out of crankiness)

It encompasses documentation, tests, and these features.

Hey @00krishna , the good news is is that this branch is ready for review! There are a lot of changes I introduced mostly with regards to documentation and the API for extracts, but the new and improved API is this to submit and work with extracts:
using IPUMS

api = IPUMSAPI("https://api.ipums.org/", Dict("Authorization" => "Your_Key"))

test_extract_definition = "test/testdata/example_extract_request.json"

res = extract_submit(api, "nhgis", test_extract_definition)

metadata, defn, msg = extract_info(api, res.number, "nhgis")

extract_list(api, "nhgis", "2")

Let me know what you think and how it works for you!
The big question here is I don't know how best to test these features. Do you have any ideas/suggestions?

Hey Jacob. I looked over the code and it look good. I just made a few small comments about content, but nothing major.
The api looks good. I suppose as we practice with it, we can always polish it.
In terms of testing, that is a good question. I think the download functionality itself is tested by the OpenAPI.jl package folks. You could try and save a local file to the test directory, and then try to download locally? That is one way to do it. Meaning you really only need to test everything after the download.


Cast using Grok's data conversion syntax

tl;dr
The reference Grok implementation has a :type "type conversion" syntax that may appear in patterns. This is not yet supported in Zed's grok() function.
Details
From Elastic's page for the Grok filter plugin for Logstash:

Optionally you can add a data type conversion to your grok pattern. By default all semantics are saved as strings. If you wish to convert a semantic’s data type, for example change a string to an integer then suffix it with the target data type. For example %{NUMBER:num:int} which converts the num semantic from a string to an integer. Currently the only supported conversions are int and float.

This syntax is used in many of the examples out on the Internet that users may find as they're learning Grok with intent to apply it in Zed (e.g., here).
The initial grok() implementation added to Zed via #4827 accepts the syntax but effectively ignores it such that the parsed values become strings. We rationalized this simplification since the user can apply Zed's casting functions downstream in the pipeline to turn these strings into richer Zed types if they wish. However, in a complex log parsing config this could potentially lead to the repetition of lots of field names which makes for Zed that's less readable and more difficult to maintain. Therefore we may want to add support for this syntax at some point.
Note that this could ultimately create a unique differentiator in Zed: Other JSON-centric implementations of Grok are limited to converting to the limited set of JSON types whereas the Zed implementation could support the full set of rich Zed data types.

A user found themselves asking about this functionality in a recent community Slack thread. In their own words:

i guess this probably couldn’t easily be dealt with … using NONNEGINT results in a string in the zson … but I get that at a Go code level, it’s just a regex and there’s no real data there that could tell it “hey, this is a number, don’t write it to zson as a string”


Give moment a name that can be used for debugging

Debugging a large quantum circuit is difficult because as the code changes it is very difficult to keep track of what action is performed at each simulation step. If the action of adding a sequence of gate operations to a circuit could have an optional string identifier, user defined function to be called with an established protocol before and after the execution of the gates when simulating a strong tie in could be immediately achieved between what gates have been added to a circuit, and much later in the logic when the simulator actually executes these gates.
Eg:
def show(stepno [Step number], step [step data], after [True/False], id [identifier]):
show_change(step.state_vector(), after, id)
circuit.append(gates, id="Perform H*n", before=show, after=show)
-- all named parameters optional
Regards, Ian
<EMAIL_ADDRESS>

I am not sure I understand this feature.  Will the recent addition of tags work to fix this problem?
You can now tag Operations with meta-data, such as strings.  Would this work for your use case?
https://github.com/quantumlib/Cirq/blob/master/cirq/ops/raw_types.py#L406

Note that one can do this already using code like this
q = cirq.LineQubit(0)
circuit = cirq.Circuit(cirq.X(q), cirq.H(q))
simulator = cirq.Simulator()
for step, x in enumerate(simulator.simulate_moment_steps(circuit)):
    print(f'Step: {step} Last moment: [{circuit[step]}] State: {x.state_vector}')

The only thing I can think beyond this that would help is if Moments could have user defined names.  Potentially this could also be used in more detailed diagraming as well.

I'm going to change this over to the moment labeling suggestion, since I think you can do step through circuits nicely with step numbers and access to the last moment using the above pattern.

Moment names would be a nice feature for debugging and visualisations.
I have also met situations where subcircuits (a sequence of moments) would be great to be named. Could sequences of moments with the same name (e.g. SUBCIRC) be drawn under the same moment parantheses?
\-----------/
   SUBCIRC

We likely need some notion of collections of Moments in order to get control flow to work, so I think we would want to understand that before adding this behaviors, but it is a good suggestion modulo that.

xref #3235

cc @95-martin-orion - is the request in https://github.com/quantumlib/Cirq/issues/2740 handled by subcircuits?

Subcircuits don't solve the issue as stated in the first comment (though Dave's suggestion seems like a reasonable way to do that), but they resolve everything discussed afterwards; subcircuits are labeled in diagrams and simplify thinking about large, repetitive circuits.

Ack, closing. @ijdavis @alexandrupaler please feel free to reopen if suggestions in this thread don't satisfy your use cases.


Problem running NucleoAtac

Hello
I'm trying to run NucleoATAC, but I receive the following error:
[compute-078]$ nucleoatac run --bed KSN_C_peaks.narrowPeak.sorted.slopped.bed --bam KSN_C.bam --fasta rn5.fa --out KSN_C.NucleoATAC
Command run:  /home/jhmi/kstephen/.local/bin/nucleoatac run --bed KSN_C_peaks.narrowPeak.sorted.slopped.bed --bam KSN_C.bam --fasta mm9.fa --out KSN_C.NucleoATAC
nucleoatac version 0.2.1
start run at: 2015-09-17 20:46
Traceback (most recent call last):
File "/home/jhmi/kstephen/.local/bin/nucleoatac", line 4, in
import('pkg_resources').run_script('NucleoATAC==0.2.1', 'nucleoatac')
File "/jhpce/shared/community/compiler/gcc/4.4.7/python/2.7.6/lib/python2.7/site-packages/pkg_resources.py", line 517, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/jhpce/shared/community/compiler/gcc/4.4.7/python/2.7.6/lib/python2.7/site-packages/pkg_resources.py", line 1423, in run_script
exec(code, namespace, namespace)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/EGG-INFO/scripts/nucleoatac", line 291, in
main()
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/EGG-INFO/scripts/nucleoatac", line 69, in main
from nucleoatac.run_occ import run_occ
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/nucleoatac/run_occ.py", line 19, in
from nucleoatac.Occupancy import FragmentMixDistribution, OccupancyParameters, OccChunk
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/nucleoatac/Occupancy.py", line 12, in
from pyatac.fragmentsizes import FragmentSizes
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/pyatac/fragmentsizes.py", line 10, in
from pyatac.fragments import getAllFragmentSizes, getFragmentSizesFromChunkList
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 435, in load_module
language_level=self.language_level)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 227, in load_module
exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 209, in load_module
inplace=build_inplace, language_level=language_level)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 174, in build_module
extension_mod,setup_args = get_distutils_extension(name, pyxfilename, language_level)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 94, in get_distutils_extension
extension_mod,setup_args = handle_special_build(modname, pyxfilename)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/pyximport/pyximport.py", line 118, in handle_special_build
ext = make_ext(modname, pyxfilename)
File "/home/jhmi/kstephen/.local/lib/python2.7/site-packages/NucleoATAC-0.2.1-py2.7.egg/pyatac/fragments.pyxbld", line 7, in make_ext
extra_link_args=pysam.get_libraries(),
ImportError: Building module pyatac.fragments failed: ["AttributeError: 'module' object has no attribute 'get_libraries'\n"]
I'm running python 2.7.6 with spicy version 0.15.1, numpy version 1.9.2, & python  version 0.23.2 on red hat 4.4.7-4
thank you
Kim

What is version of pysam?  (Error appears to be in pysam.get_libraries() that is called while building one of the files)

Pysam version 0.8.3
From: Alicia Schep <notifications<EMAIL_ADDRESS>Reply-To: GreenleafLab/NucleoATAC <reply<EMAIL_ADDRESS>Date: Thursday, September 17, 2015 at 9:54 PM
To: GreenleafLab/NucleoATAC <NucleoATAC<EMAIL_ADDRESS>Cc: Kimberly Stephens <kstephe3<EMAIL_ADDRESS>Subject: Re: [NucleoATAC] Problem running NucleoAtac (#12)
What is version of pysam? (Error appears to be in pysam.get_libraries() that is called while building one of the files)

Reply to this email directly or view it on GitHubhttps://github.com/GreenleafLab/NucleoATAC/issues/12#issuecomment-141305511.

Having same problem with NucleoATAC-0.3.1
Pysam version pysam-0.8.4

I reinstalled pysam and this seemed to fix my issue


Add flake8 configuration file for the project

Add flake8 configuration file for the project

Solved in https://github.com/popadi/git-profile/commit/f3ac8940b7381fd4c76eaeb5c7f0ffa07229ad10


MEN-1849: Several clarifications and expansion of Flash tutorial.

This came out of working with the Colibri IMX7.
Signed-off-by: Kristian Amlie<EMAIL_ADDRESS>

Nice, again proves the need to test things on "real" boards. :)

Cherry-picked to 1.6.x, but not 1.5.x, which still carries the old Flash integration instructions.


reference to add the route label parksmap-backend

The mlbparks application-template only adds parksmap-backend to the service.  It doesn't add it to the route.  So we'd either have to change the application template or add these instructions.  It'd be cleaner to change the application template, but I'm not sure of the impacts to other mlbparks references.  Please let me know if I did something wrong with trying to get it work without adding this label.  This seems to be the only way to get the mlbparks to show up on parksmap.

So I just really looked at this and this is actually a bug in the mlbparks template, not in the instructions here.
Can you instead file a PR against the mlbparks template to use the proper label? :)

@thoraxe np, I just PR'ed the parksmap-backend type label to the route in the 1.0.0 branch of mlbparks.


[FEA] Save input schema when .save methods are called on models

Relates to: https://github.com/NVIDIA-Merlin/Merlin/issues/545
🚀 Feature request

Provide a consistent .save interface for all models.
This .save method should save the model artifact along with the schema to a directory provided.
Motivation

Model artifacts alone are not enough to unambiguously infer the correct input schema for a model.
Saving the input schema along with models will enable serving code in systems to figure out the correct inputs required for models from an artifact without requiring the user to provide the schema at serving time.
Part of: https://github.com/NVIDIA-Merlin/Merlin/issues/489
Proposed interface
Create a runtime check-able protocol that specifies the common methods expected on a model object.
This .save method on a model will write out the model artifact(s) along with the input schema to a directory provided.
File format for input schema.

schema.json (or input_schema.json). Serialized Merlin Schema using the TensorflowMetadata format currently provided in merlin.core

Saved model directory structure

model artifacts to be saved in top-level of directory
merlin metadata to be saved in merlin_metadata subdirectory.

e.g. a model.save("my_merln_model") on a tensorflow backend should result in the following directory structure:

my_merlin_model
├── merlin_metadata
│   └── schema.json        ↑ merlin data
├── assets                 ↓ tf/keras data
├── keras_metadata.pb
├── saved_model.pb
└── variables
    ├── variables.data-00000-of-00001
    └── variables.index

Sub-Tasks

#677
#676

@marcromeyn @oliverholworthy what's the status of this?  This is blocking the creation of example notebooks for end to end using systems.

addressed by https://github.com/NVIDIA-Merlin/models/pull/680

This PR adds handles the first two tasks. Adding the protocol and updating save method of tensorflow models.
https://github.com/NVIDIA-Merlin/models/pull/680
There is a bit more to think about beyond this. Adding output schema for tensorflow models. And figuring out how to enforce that a schema is created. Since the Merlin Models API is flexible enough at the moment that we can't always guarantee that we have a schema available. At least not in a way that provides any more information than the saved model signature is able to (since we could infer the schema from the saved model like we do in Merlin Systems currently).


Lint, step 1

This should be the easy part - mostly comments, local scope variable changes, slight cleanup.

LGTM


V4: FlatList/ScrollView className bug - functional components cannot be given refs

Describe the bug
I trying to add TW classes to FlatList and ScrollView-components through the className prop and I'm running into the issue below:
Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?

Check the render method of `NativeViewGestureHandler`.
    in CSSInterop.ScrollView (created by NativeViewGestureHandler)
    in NativeViewGestureHandler (created by ScrollView)
    in ScrollView
    in Unknown (created by VirtualizedList)
    in VirtualizedListContextProvider (created by VirtualizedList)
    in VirtualizedList
    in render (created by FlatList)
    in FlatList

To Reproduce
Steps to reproduce the behavior:

Install "expo": "49.0.20" (I'm also using expo-router), and "nativewind": "4.0.16" (also ran into this issue on "4.0.13"`).
Render a FlatList-component (from react-native or react-native-gesture-handler):

E.g. <FlatList data={list} className="p-10" renderItem={({ item }) => <Text user={item} />} />

Add TW-classes through the className prop.
Check console warnings.

Expected behavior
I expect to be able to add TW classes to the className prop on a FlatList and ScrollView without a ref error.

Just noticed that TextInput from 'react-native-gesture-handler' also has this issue. TextInput and ScrollView from react-native don't have this issue. FlatList, as described above, has this issue on both packages.

Did you use remapProps?

@brerdem no, but I shouldn't need to do that, right?
Docs:
import { CustomText } from "third-party-text-component";

export function BoldText(props) {
  // You just need to write `className="<your styles>"`
  return <CustomText className="text-bold" {...props} />;
}
```

Did you find any solution or workaround for this issue?

@marklawlor I noticed that making the following change in react-native-css-interop/src/runtime/components/rendering.native.ts  fixes this error but I am not sure if that'd have any side effects.

@marklawlor I noticed that making the following change in react-native-css-interop/src/runtime/components/rendering.native.ts  fixes this error but I am not sure if that'd have any side effects.

Just noticed that TextInput from 'react-native-gesture-handler' also has this issue. TextInput and ScrollView from react-native don't have this issue. FlatList, as described above, has this issue on both packages.

I am not sure if everyone experiences it this way but for me the app crashes with the above warning in console logs and the following in the development build.

From the little I can infer, looks like it could be that delete props.ref cause a null to be passed down somewhere where a ref is expected

I'm having the same problem with the TextInput.

This issue seems to have been addressed in 4.0.22

This might be fixed in 4.0.22. I'm going to close this issue for now, but if you still have issues please comment


MeltanoHub Launch Planning

Migrated from GitLab: https://gitlab.com/meltano/hub/-/issues/53
Originally created by @tayloramurphy on 2021-05-24 13:30:32

Launch Date: 2021-06-01 at 11:00 AM Central  Moved to June 1 b/c of Memorial Day
Content:
Content Issue https://gitlab.com/meltano/hub/-/issues/59
Site Features:
Minimum Required for Launch

Updates to tap/target JSON schema are versioned https://gitlab.com/meltano/hub/-/issues/39
Metrics from GitHub are displayed on site for all taps / targets #40 #54
Connector references removed from meltano.com - all point to hub.meltano.com https://gitlab.com/meltano/hub/-/issues/38 https://gitlab.com/meltano/meltano/-/issues/2748
Updated Maintainers listing and page on hub  #58 #28
Add an MVC of a docs section of the site based on the initial blog post #66

Can Launch Without Fully Completing

Meltano-specific tap/target yml files are able to include from Singer YAML files https://gitlab.com/meltano/hub/-/issues/37
Meltano-specific tap/target yml files generate documentation https://gitlab.com/meltano/hub/-/issues/32

Files are able to generate a full discovery.yml https://gitlab.com/meltano/hub/-/issues/35
Meltano is able to pull the discovery.yml and we're able to do the same tracking https://gitlab.com/meltano/meltano/-/issues/2750

SDK and Hub use the same Settings JSON Schema and stay in sync https://gitlab.com/meltano/hub/-/issues/23
Settings group validation occurs (has to be done outside of JSON Schema) https://gitlab.com/meltano/hub/-/issues/24

View 3 previous comments from the original issue on GitLab


Error: UPGRADE FAILED: failed to create patch: unable to find api field in struct PodSpec for the json field "resources"

Output of helm version:
Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-09T21:51:06Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", BuildDate:"2017-11-20T05:17:43Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
AWS
When i’am changing resources: field in chart values.yaml and then trying to update release with this chart I got this error: Error: UPGRADE FAILED: failed to create patch: unable to find api field in struct PodSpec for the json field "resources"
Same updated chart I can install from scratch without a problem.

Sorry it was my fault. Problem was in yaml indents.


I cant start music bot

Please tick all applicable boxes.

[ ] I am using Python 3.5 or higher (run python --version on the command line)
[x] I have followed the official guides to install the bot for my system
[x] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[ ] The latest master version (1.9.8)
[ ] The latest review version

What type of issue are you creating?

[ ] Bug
[ ] Feature request
[x] Question

Description of issue
Steps to reproduce

Log file
Please attach your MusicBot log file (located at logs/musicbot.log) to this issue. You can do so by dragging and dropping the file here. If you do not include your log file, you WILL be asked to provide one.
[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[INFO] launcher: Adding local bins/ folder to path
[INFO] launcher: Required checks passed.
[INFO] launcher: Optional checks passed.
[INFO] launcher: Moving old musicbot log
[ERROR] launcher: Error starting bot
Traceback (most recent call last):
File "run.py", line 367, in main
from musicbot import MusicBot
File "C:\Users\Anushka\MusicBot\musicbot_init_.py", line 74, in
from .bot import MusicBot
File "C:\Users\Anushka\MusicBot\musicbot\bot.py", line 17, in
import colorlog
ModuleNotFoundError: No module named 'colorlog'
[INFO] launcher: Attempting to install dependencies...
Requirement already up-to-date: pynacl==1.2.1 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from -r requirements.txt (line 1)) (1.2.1)
Collecting discord.py[voice] from<EMAIL_ADDRESS>(from -r requirements.txt (line 2))
Cloning https://github.com/Rapptz/discord.py (to revision rewrite) to c:\users\anushka\appdata\local\temp\pip-install-kdsxak8c\discord.py
Requirement already up-to-date: pip in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from -r requirements.txt (line 3)) (18.0)
Collecting youtube_dl (from -r requirements.txt (line 4))
Using cached https://files.pythonhosted.org/packages/5e/a9/112c66ce67d03896ef2d8094715aa3c7abb1b6959021eb273af96a206433/youtube_dl-2018.9.26-py2.py3-none-any.whl
Collecting colorlog (from -r requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/69/eb/58ae10d3c46a0195ffdd0e3943d255d0d5029d71e5457785ecd665bcf0f3/colorlog-3.1.4-py2.py3-none-any.whl
Requirement already up-to-date: cffi in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from -r requirements.txt (line 6)) (1.11.5)
Requirement already satisfied, skipping upgrade: six in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from pynacl==1.2.1->-r requirements.txt (line 1)) (1.11.0)
Requirement already satisfied, skipping upgrade: aiohttp<3.5.0,>=3.3.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from discord.py[voice]->-r requirements.txt (line 2)) (3.4.4)
Requirement already satisfied, skipping upgrade: websockets<7.0,>=6.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from discord.py[voice]->-r requirements.txt (line 2)) (6.0)
Collecting colorama; sys_platform == "win32" (from colorlog->-r requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl
Requirement already satisfied, skipping upgrade: pycparser in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from cffi->-r requirements.txt (line 6)) (2.19)
Requirement already satisfied, skipping upgrade: chardet<4.0,>=2.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (3.0.4)
Requirement already satisfied, skipping upgrade: attrs>=17.3.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (18.2.0)
Requirement already satisfied, skipping upgrade: yarl<2.0,>=1.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (1.2.6)
Requirement already satisfied, skipping upgrade: multidict<5.0,>=4.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (4.4.2)
Requirement already satisfied, skipping upgrade: async-timeout<4.0,>=3.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (3.0.0)
Requirement already satisfied, skipping upgrade: idna>=2.0 in c:\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages (from yarl<2.0,>=1.0->aiohttp<3.5.0,>=3.3.0->discord.py[voice]->-r requirements.txt (line 2)) (2.7)
Installing collected packages: discord.py, youtube-dl, colorama, colorlog
Found existing installation: discord.py 1.0.0a1580+g836ae73
Uninstalling discord.py-1.0.0a1580+g836ae73:
Successfully uninstalled discord.py-1.0.0a1580+g836ae73
Running setup.py install for discord.py ... done
Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\Users\Anushka\AppData\Local\Temp\pip-uninstall-u6k80nio\users\anushka\appdata\local\programs\python\python37-32\lib\site-packages\discord\bin\libopus-0.x86.dll'
Consider using the --user option or check the permissions.
[CRITICAL] launcher: You may need to run as admin to install dependencies.
[INFO] launcher: All done.

Try running python -m pip install --user -U -r requirements.txt in cmd in musicbot directory

how to fix it

What is the output when you run python -m pip install --user -U -r requirements.txt in cmd in musicbot directory?

C:\Users\Anushka\MusicBot

I meant the output of python -m pip install --user -U -r requirements.txt. Type python -m pip install --user -U -r requirements.txt into the command prompt that you openned in the directory.

[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[INFO] launcher: Adding local bins/ folder to path
[INFO] launcher: Required checks passed.
[INFO] launcher: Optional checks passed.
[INFO] launcher: Moving old musicbot log
[ERROR] launcher: Error starting bot
Traceback (most recent call last):
File "run.py", line 368, in main
m = MusicBot()
File "C:\Users\Anushka\MusicBot\musicbot\bot.py", line 71, in init
self.config = Config(config_file)
File "C:\Users\Anushka\MusicBot\musicbot\config.py", line 81, in init
self.run_checks()
File "C:\Users\Anushka\MusicBot\musicbot\config.py", line 186, in run_checks
self.autojoin_channels = set(int(item.replace(',', ' ').strip()) for item in self.autojoin_channels)
File "C:\Users\Anushka\MusicBot\musicbot\config.py", line 186, in
self.autojoin_channels = set(int(item.replace(',', ' ').strip()) for item in self.autojoin_channels)
ValueError: invalid literal for int() with base 10: 'yes'

Remove 'yes' after 'AutojoinChannels' in 'config/options.ini'


RangeError: Maximum call stack size exceeded on incorrect prisma.<model>.createMany call

Bug description
Calls to prisma.<model>.createMany are behaving unexpectedly when provided a sufficient number of records that are missing a required field.
For ~20k records, the call seems to enter an infinite loop - it just hangs
For ~50k records, the call fails with RangeError: Maximum call stack size exceeded
How to reproduce

Clone https://gitlab.com/ack_inc/prisma-test
Checkout the branch named bug-repro/prisma-createmany-hang-or-stack-overflow
yarn install, change db path in .env, npx prisma db push, etc.
Run node index.js 50000

Script executes successfully

Comment out index.js:25
Run node index.js 50000

This should result in a stack overflow

Run node index.js 20000

This should result in the script never exiting

Expected behavior
The call to prisma.<model>.createMany should throw a Argument <requiredField> for data.<number>.<requiredField> is missing. error in about the same time as it would take to execute if the records were not missing any required fields.
Prisma information

Clone repo mentioned in "How to reproduce" for full details.
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

model User {
  id            Int       @id @default(autoincrement())
  firstName     String
  lastName      String?
  username      String    @unique
  password      String
  email         String    @unique
  emailVerified Boolean
  dob           DateTime? @db.Date
  createdAt     DateTime  @default(now())
  updatedAt     DateTime  @updatedAt

  @@map("users")
}

const { PrismaClient } = require("@prisma/client");
const faker = require("faker");
const prisma = new PrismaClient();

const { buildArr } = require("./utils");

(async () => {
  await createFakeUserRecords();
  await prisma.$disconnect();
})();

async function createFakeUserRecords() {
  const fakeRecordsData = buildArr(fakeUser, +process.argv[2] || 1);
  await prisma.user.createMany({
    data: fakeRecordsData,
    skipDuplicates: true,
  });
}

function fakeUser() {
  const userData = {
    firstName: faker.name.firstName(),
    lastName: faker.name.lastName(),
    username: faker.internet.userName(),
    // password: faker.internet.password(), // comment this out to see unexpected behaviour
    email: faker.internet.exampleEmail(),
    emailVerified: true,
  };
  return userData;
}

Environment & setup

OS: Ubuntu 20.04
Database: PostgreSQL
Node.js version: 16.6.0

Prisma Version
2.29.0

Hello,
Just to be sure, please give it a shot with latest version once which is 3.0.2 at the moment. If you can still reproduce this, then we can have a detailed look here.

I have the same problem, I am trying to push 31420 elements in a N:N table and have the same problem, I have to make a script to split in 10.
I update all to the latest version today and continue with the problem.

Hello, I'm on 3.1.1 version and having the same issue:  Maximum call stack size exceeded.

I was passing more fields than the table has, that fixed the issued. Now i get this error { code: 1390, message: "Prepared statement contains too many placeholders", state: "HY000" }

That seems like it deserves its own issue with all the information the issue template asks for @wguerram

Ping @ackinc - Can you take another look with a newer version? Thanks.
Ping @wguerram - Did you create a separate issue about this? If not, can you please do that? Thanks.

I am going to close this as its been 3 months now and there is no activity here.
Please reply if you want us to take another look.

C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33058
    if (!Object.prototype.hasOwnProperty.call(object, key)) {
                                         ^

RangeError: Maximum call stack size exceeded
    at ApplicationCommandPermissionsManager.hasOwnProperty (<anonymous>)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33058:42)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21)
    at getDepth (C:\Users\kirac\Desktop\pubbot\pubbase\node_modules\@prisma\client\runtime\index.js:33062:21) {
  clientVersion: '4.7.0'
}

Prisma Version: 4.7.0

Also its happens after some time, not instantly.
My schema:
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model afk {
  member_id  String   @unique
  reason     String?
  created_at DateTime @default(now())

  @@index([member_id])
}

model mute {
  id         BigInt                @unique @default(autoincrement())
  member_id  String
  admin_id   String
  reason     String
  type       enum_channel_category
  duration   Int
  created_at DateTime              @default(now())

  @@index([id])
  @@index([member_id])
  @@index([admin_id])
}

model moderation_audit {
  id         BigInt          @unique @default(autoincrement())
  member_id  String
  admin_id   String?
  params     Json
  type       enum_audit_type
  created_at DateTime        @default(now())

  @@index([id])
  @@index([member_id])
  @@index([admin_id])
  @@index([type])
}

enum enum_audit_type {
  mute_chat
  mute_voice
  jail
  ban
  kick
}

enum enum_channel_category {
  chat
  voice
}

yea, i have a document that has 80k rows and when  trying to create many with 80k rows it just error out lol
Environment variables loaded from .env
Running seed command `ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts` ...
rows
RangeError: Maximum call stack size exceeded
    at Field.collectErrors (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:32670:17)
    at Document.validate (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:32427:28)
    at serializationFn (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:36149:19)
    at runInChildSpan (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:25582:12)
    at PrismaClient._executeRequest (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:36156:31)
    at async PrismaClient._request (/Users/project/node_modules/.pnpm/@prisma+client@4.8.1_prisma@4.8.1/node_modules/@prisma/client/runtime/index.js:36082:16)
    at async main (/Users/project/prisma/seed.ts:46:21) {
  clientVersion: '4.8.1'
}

Please open a new issue for this @pencilcheck, then we can turn this into an improvement request and see if we can get this generally implemented. Thanks.


Crash in mksnapshot when building with Electron 4

When attempting to upgrade to Electron 4 in https://github.com/atom/atom/pull/19373, we fail the build with the following error when attempting to generate the startup snapshot. (I modified the build script slightly to pass stdio: "inherit" to mksnapshot for better error output)
Minifying startup script
Verifying if snapshot can be executed via `mksnapshot`
Generating startup blob with mksnapshot
Loading script for embedding: /Users/nathan/src/atom/out/startup.js
Error running mksnapshot.
Moving generated startup blob into "/Users/nathan/src/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin"
Error: ENOENT: no such file or directory, rename '/Users/nathan/src/atom/out/v8_context_snapshot.bin' -> '/Users/nathan/src/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin'
  at Object.fs.renameSync (fs.js:766:18)
  at electronLink.then (/Users/nathan/src/atom/script/lib/generate-startup-snapshot.js:137:10)
  at <anonymous>:null:null

After hacking some logging into electron-mksnapshot, it appears that the mksnapshot is crashing with a segmentation fault. In the Node wrapper script, the exit code on the child process is null and the signal is SEGV.
Running mksnapshot directly as follows also produces a segfault, although electron-mksnaphsot seems to do some special magic to move files to a single working directory, so it's unclear whether this is even a good way to run mksnapshot.
Nathans-MacBook-Pro:atom nathan$ script/node_modules/electron-mksnapshot/bin/mksnapshot --startup_blob snapshot_blob.bin --turbo_instruction_scheduling /Users/nathan/src/atom/out/startup.js
Loading script for embedding: /Users/nathan/src/atom/out/startup.js
Segmentation fault: 11
Nathans-MacBook-Pro:atom nathan$ echo $?
139

Trying the latest electron-mksnapshot
I tried to generate the startup snapshot with<EMAIL_ADDRESS>and got a bit further. I was able to generate snapshot_blob.bin, but the script failed when invoking v8_context_snapshot_generator. The output in this failure mode is pretty bad... the script just prints out the entire child process object, so I'm eliding some of its details here for readability.
Nathans-MacBook-Pro:atom nathan$ cat /Users/nathan/.nvm/versions/node/v8.15.1/lib/node_modules/electron-mksnapshot/package.json | grep "\"version\":"
  "version": "6.0.0-beta.1"
Nathans-MacBook-Pro:atom nathan$ /Users/nathan/.nvm/versions/node/v8.15.1/lib/node_modules/electron-mksnapshot/mksnapshot.js /Users/nathan/src/atom/out/startup.js
Loading script for embedding: /Users/nathan/src/atom/out/startup.js
Error running the v8 context snapshot generator. { status: null,
  signal: 'SIGTRAP',
  output: [ null, null, null ],
  pid: 94008,
  stdout: null,
  stderr: null,
  envPairs: ELIDED
  options:        { cwd: '/Users/nathan/.nvm/versions/node/v8.15.1/lib/node_modules/electron-mksnapshot/bin',
     env: ELIDED
     args: [ '/var/folders/wy/zs1k37fn0d95lsfcv2d3z6m80000gn/T/mksnapshot-workdir119420-94006-vcutmj.h9pos/v8_context_snapshot_generator',
     '--output_file=/Users/nathan/src/atom/v8_context_snapshot.bin' ],
  file: '/var/folders/wy/zs1k37fn0d95lsfcv2d3z6m80000gn/T/mksnapshot-workdir119420-94006-vcutmj.h9pos/v8_context_snapshot_generator' }

I'm not sure where to go from here. To some degree, we're abusing V8 startup snapshots in Atom. They weren't designed for public consumption, and the snapshot that ships with Chrome is much smaller and probably way simpler than what we are attempting in Atom's startup.js script.
cc @MarshallOfSound

So for me, I can get a successful mksnapshot run...but only if I call it like this: node .\node_modules\electron-mksnapshot\mksnapshot.js -- C:\Users\Winston\Documents\GitHub\atom\out\startup.js --output_dir C:\Users\Winston\Documents\GitHub\atom\out\. Attempting to use npx returns status code<PHONE_NUMBER>, and same with running it through the build script. Trying Ubuntu now to see if I get anything different.

I ran mksnapshot under LLDB in a temporary working directory as the electron-mksnapshot script does, but didn't come up with much. We may need a debug build:
Nathans-MacBook-Pro:mksnapshot-workdir119420-2853-qa1u24.krcnm nathan$ lldb ./mksnapshot -- ~/src/atom/out/startup.js --startup_blob snapshot_blob.bin  --turbo_instruction_scheduling
(lldb) target create "./mksnapshot"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File<EMAIL_ADDRESS>line 52, in <module>
    import weakref
  File<EMAIL_ADDRESS>line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Current executable set to './mksnapshot' (x86_64).
(lldb) settings set -- target.run-args  "/Users/nathan/src/atom/out/startup.js" "--startup_blob" "snapshot_blob.bin" "--turbo_instruction_scheduling"
(lldb) run
Process 2897 launched: '/var/folders/wy/zs1k37fn0d95lsfcv2d3z6m80000gn/T/mksnapshot-workdir119420-2853-qa1u24.krcnm/mksnapshot' (x86_64)
Loading script for embedding: /Users/nathan/src/atom/out/startup.js
Process 2897 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000000000000
error: memory read failed for 0x0
Target 0: (mksnapshot) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000000000000
    frame #1: 0x00000001005728f4 mksnapshot`___lldb_unnamed_symbol10134$$mksnapshot + 820
    frame #2: 0x00000001005725a0 mksnapshot`___lldb_unnamed_symbol10133$$mksnapshot + 384
    frame #3: 0x000000010068b0d4 mksnapshot`v8::SnapshotCreator::CreateBlob(v8::SnapshotCreator::FunctionCodeHandling) + 3060
    frame #4: 0x0000000100000e5f mksnapshot`___lldb_unnamed_symbol1$$mksnapshot + 607
    frame #5: 0x00007fff715af3d5 libdyld.dylib`start + 1

/cc @jkleinsc for info

As discussed with @BinaryMuse, as painful as this is, perhaps our best bet is to bisect the files we include in startup.js and try to narrow down the culprit(s).

@rafeca found that we're including Atom's package.json in the startup script, which is a very large object. Apparently removing it allows the startup snapshot to build.

This is the actual object that we're including: https://gist.github.com/rafeca/49379b5a0af04e542504b098b7ec3197
This object has a _atomModuleCache key with a ton of information:

dependencies: An array with an object for each npm dependency. This object contains 3 keys:

name: the npm package name.
version: the resolved version for that package.
path: the main file for that package.

folders: An array with an object for each package found in Atom (a package is a folder with a package.json). This object contains 2 keys:

paths: an array with all the subfolders of that package.
dependencies: an object with all the npm dependencies of that package (key is the npm package name and value is the semver range for that dependency).

extensions: An object with all the project files indexed by extension (key is the extension and value is an array of files).

Apart from this, in that huge object there's a _atomPackages key which contains every single bundled package metadata (including the _atomModuleCache information for each bundled package).
Why does _atomModuleCache exists?
I still have to understand why this _atomModuleCache object is created and how is it used (haven't been able to find any documentation that explains it, so I'm going to dive into the code).
So far, by grepping I've fond these places where it's used in atom/atom:

src/module-cache.js: This is where this object is created and saved into the package.json file (this was originally added in https://github.com/atom/atom/pull/3761).
src/generate-module-cache.js: Looks just like a hack to modify the folder object of atom/atom (this was added in https://github.com/atom/atom/pull/12410, but that PR has >200 commits with no specific information about the module cache).
script/lib/generate-metadata.js: This seems to be similar than the previous usage: it's just mutating the metadata to remove the package.json file from the list of files with json extension (this was added in https://github.com/atom/atom/pull/12410, but that PR has >200 commits with no specific information about the module cache).
src/package.js: Here the extensions object is used to speed up finding all the native modules (files with .node extension) and require them to check if they are compatible with the current Atom version (this was added in https://github.com/atom/atom/pull/8826).

So all of this originally comes from https://github.com/atom/atom/pull/3761, which aims to speed up the startup time by caching parts of the resolution of JS files (since Node.js resolution logic is so horribly complicated and slow).
I wonder though if this strategy is still impactful (or even if it makes more harm than good) taking into account that we're currently using v8 snapshots.

I think this may have something to do with the work I recently did on Electron 3 (see https://github.com/electron/electron/issues/18420). mksnapshot may be segfaulting due to creating a Promise during Atom's preload phase. The use of Promise objects should be avoided, as the Node runtime requires promises to contain an internal field (https://github.com/nodejs/node/pull/13242), which makes them unsuitable for serialization. In the electron-3.1 branch, I worked around the problem by avoiding to create a Promise altogether (see 95fe952).
I suspect that modifying package.json to remove _atomPackages is preventing packages from being preloaded and, as such, may be hiding the underlying promise creation issue illustrated above. Perhaps it would be worth cherry-picking 95fe952  into #19373 without further changes and checking whether it resolves the issue?

For what it's worth, I just tested running Electron 4's and Electron 5's mksnapshot on the file generated in the electron-3.1 branch with the modification suggested above, and it successfully generates a snapshot on my machine. So I think applying 95fe952 into #19373 will fix the issue.
That fix is something that we will need in Electron 3.1 as well, so it may be sufficient to update from master once that branch is merged (we are currently waiting on a hotfix after https://github.com/electron/electron/pull/18426 goes green).

Awesome @as-cii ! If https://github.com/atom/atom/commit/95fe9527d9580445ae74b3a40f71ca9dfe944962 is independant of the electron 3.1 upgrade, can we just create a PR with this commit and merge it into master?


AsyncFIFOBuffered {r,w}_level fixes

This includes a number of fixes for {r,w}_level in AsyncFIFOBuffered.

The accounting for the output register used AsyncFFSynchronizer instead of FFSynchronizer. This is wrong as we want to synchronize both edges
Use the proper clock domains in the tests (not really a bug in the fifo logic obviously)
The FFSynchronizer should have a latency of 4 to match the latency of consume_w_bin / w_level. Two cycles for the FFSynchronizer from the read to the write domain of consume_w_gry, one for the GrayDecoder and one for the w_level calculation.
Fix the output register accounting. If the user asserts r_en even if r_rdy is low, we get -1 in the intermediate calculation which overflows to 1 as we have a unsigned Signal

Let me know if I should split this into multiple PRs or elaborate more on the fixes. The last two include additional testcases that fail without the fix. I did not include a testcase for the AsyncFFSynchronizer to FFSynchronizer change, as this is obviously wrong and would be hard to properly test without proper multi clock support in formal.

Let me know if I should split this into multiple PRs or elaborate more on the fixes.

Everything looks good. However, does anyone remember how we ended using AsyncFFSynchronizer there in the first place? I vaguely remember that the ability to use it there motivated a refactoring elsewhere, so it was probably not a simple typo, and I'd like to understand why it's there before we change it. It is also possible that I misremember.

Let me know if I should split this into multiple PRs or elaborate more on the fixes.

Everything looks good. However, does anyone remember how we ended using AsyncFFSynchronizer there in the first place? I vaguely remember that the ability to use it there motivated a refactoring elsewhere, so it was probably not a simple typo, and I'd like to understand why it's there before we change it. It is also possible that I misremember.

To me it happens quite often that I end up using AsyncFFSyncronizer by accident because of the naming. My thought process is something like "I need to synchronize a signal that is async to $domain into $domain. Must be AsyncFFSyncronizer". I think it is very likely that it slipped in there similarly?

To me it happens quite often that I end up using AsyncFFSyncronizer by accident because of the naming. My thought process is something like "I need to synchronize a signal that is async to $domain into $domain. Must be AsyncFFSyncronizer". I think it is very likely that it slipped in there similarly?

@awygle mentioned on IRC that he thinks it's deliberate; let's wait for him to investigate.

@awygle mentioned on IRC that he thinks it's deliberate; let's wait for him to investigate.

I misread this because of what @whitequark said about it motivating a refactoring. This is a different case than what I was thinking of (the reset AsyncFFSynchronizer, which is what that module was invented for). This seems correct to me, I am OK with merging it.

I misread this because of what @whitequark said about it motivating a refactoring. This is a different case than what I was thinking of (the reset AsyncFFSynchronizer, which is what that module was invented for). This seems correct to me, I am OK with merging it.

Thanks everyone!

Thanks everyone!


ignore NaN values for the aggregation?

Aggregating a numerical group with at least one NaN will result in a NaN value. Should we ignore NaN values for the aggregation?

Yes, I think so.

Yes, I think so.

you are answering your own question, since I just moved the issue created by you :D

ah good, at least the answer was consistent with my suggestion ;)


[Enhancement] Support query's group_by_keys/aggregate/aggregate_project exprs rewrite based on mv

Signed-off-by: Kevin Li<EMAIL_ADDRESS>What type of PR is this：

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

Problem Summary(Required) ：

Add rewriteGroupByKeys and rewriteAggregations methods to unify codes for query and mv;

Remove group by keys/aggregate strict checks, which will be checked by replaceExpr later;

Add new project to input expr f not all group by keys are column ref in createNewAggregate

After pr(https://github.com/StarRocks/starrocks/pull/17447) is merged, multi uts can be supported.

Checklist:

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

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

Bugfix cherry-pick branch check:

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

[x] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 88 / 103 (85.44%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
87
102
85.29%
[342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 354, 355, 356, 357, 436]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/GroupKeyChecker.java
1
1
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 89 / 103 (86.41%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
88
102
86.27%
[342, 343, 344, 345, 346, 347, 349, 350, 351, 352, 354, 355, 356, 357]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/GroupKeyChecker.java
1
1
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 135 / 139 (97.12%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
33
34
97.06%
[342]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
102
105
97.14%
[190, 191, 192]

[FE PR Coverage Check]
:heart_eyes: pass : 135 / 139 (97.12%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
33
34
97.06%
[344]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
102
105
97.14%
[191, 192, 193]

run starrocks_admit_test


Remove "Report" view

Replace necessary functions with temporary class TemporaryReport or something similar.
cc @krand7

Started work on this for issue #781.


Catch up with LSP changes

https://microsoft.github.io/language-server-protocol/specification#version_3_14_0

We have plans to upgrade it latest by end of July.

Is this upgrade still coming?

0.10.0 was released with support of Monaco 0.17.0 and LSP 5.3.0


Fixes UnicodeEncodeError on initial location

Short Description:
When initial location has special characters the current version crashes with a UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 14: ordinal not in range(128).
Fixes:

UnicodeEncodeError when initial location has special characters, e.g. "Paço"

@vieira how well you know Python? I think better solution is to add the utf-8 shebang to all your source files. If you don't know about it, I can merge this and do the proper fix to avoid any more utf-8 problems later.

@douglascamata I might be wrong but I think that will only affect the encoding of the source code itself and any static strings defined there but not what comes in the wire as binary.
I tried putting
#!/usr/bin/env python
# -*- coding: utf-8 -*-

but it did not solve the problem. Is this what you mean?

lgtm.
Please rebase your changes so we can merge it.  Thanks!


Application creation feature - UI and configuration model

This PR implements the UI and configuration model changes required for the Application Creation feature. (See https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1169 for the main feature PR). Unit tests will be added shortly to this PR.
See below for screenshots.

User opens the deploy run configuration and selects a project w/o an application. The deployment is invalid, and the user is prompted to create a project.

User clicks the "click here" link, and this dialog appears. They select a region for their application.

They click OK and the standard intellij loading bar appears.

When app creation is complete, the dialogs disappear and the region of their newly created application is shown in the run config editor. The user can now deploy to their new application.

Nice work! I doubt I''ll take a look at this today, so feel free to work
with Etan to get it merged next week.
On Thu, Dec 22, 2016 at 1:34 PM, Alex Sloan<EMAIL_ADDRESS>wrote:

@aslo https://github.com/aslo requested your review on:
GoogleCloudPlatform/google-cloud-intellij#1179
https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1179
Application creation feature - UI and configuration model.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1179#event-903341039,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HSJzEdChQHTznMI_yy-ViCUztqjLks5rKsKxgaJpZM4LUQR3
.

We seem to have lost test coverage updates on the PR. I'll look into that.

I wonder if this is a regression (notice the white border around "To manually promote...":

This is in 2016.3

I just tested out this scenario:

Open a Flex Project in IDEA
Create a new cloud project, select a region that supports only Standard
-> There is no warning here (I'm not sure if its the right place for it yet though)
Attempt to deploy the app
-> I get some weird errors that vaguely hint at a region error:

How do you think we should handle that case? Where should a warning like that live? Maybe a balloon notification when the user kicks off a deployment?

The error I first showed was actually a billing error. I updated the screenshot to show the actually error which is much nicer. I think we can leave it as is for now.

I can't seem to replicate the white border issue on 2016.3. Is it definitely a regression?

I'm getting white borders around most of these UI elements. I'm not sure whats going on:

Looks really good and the UI seems to work nicely. Pending any updates to my comments (I'm not sure whats up with those borders) feel free to merge.

Regarding the borders, I've only tested on linux, so it could be something that only shows up on OSX. I'll look into it a bit more.

@etanshaul FYI I solved the white border issue by just making all of the offending UI elements non-opaque, instead of just using the default background color.

#1232


"Incertae sedis" and it's children are ignorred if it's the leaf node

In cases like this where the leaf node is "Incertae sedis", that node and all of it's children are ignored

Replicated in col tool. Probably happens for others too

the bug is going to be tricky to fix because of the way the code was written
but there is a simple workaround:
display the tree down to Family or Genus instead of Order


Enhance Responsive Design for Healthcare Platform

Description
Implemented responsive design for the healthcare platform's website. This enhancement ensures that the website adapts seamlessly to various screen sizes and devices, providing an optimal viewing and browsing experience for users. The website now adjusts its layout and content to fit smaller screens, making it easier for users to navigate, read information, and interact with the platform's features on mobile devices.
Related Issues

Closes #505

Type of PR

[x] Feature enhancement

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have commented my code, particularly in hard-to-understand areas.

@varshith257 Please review the changes in the links below. Thankyou!
https://github.com/user-attachments/assets/6b750070-29ff-4c7e-98c7-7d327a82671e
https://github.com/user-attachments/assets/fed15bfc-c997-4718-81a4-abdcef06daba

@Anjaliavv51 Take a look mark approve/request changes

@ishap11 great work , only thing is resolve the conflicts and align the visitor's count according to the screen marked below

@ishap11 still conflicts are not resolved.

@varshith257 @Anjaliavv51 I have submitted a pull request #1007  with my changes.
Please review it and let me know your feedback.


Runtime Docs

Hi! I think runtime configuration documentation is outdated in hexdocs.pm
Here is hexdocs:
https://hexdocs.pm/quantum/runtime.html#content
And here is the one that worked for me:
https://github.com/c-rack/quantum-elixir/blob/master/pages/runtime.md
Thank you so much for Quantum!! I'm using it a lot :D

Hi,
Yes, it is currently outdated. I don't like to create releases of the library only for documentation changes. It will be updated in the next release.
Thanks!
(I'll close this issue with the next release)

Will be released with #243 (v2.1.0-beta.1)


2015-09-30-the-four-principles-of-contextual-inquiries.md

One edit then :shipit: - Jekyll will want the date in the filename like yyyy-mm-dd and you may need to put dashes in the filename where the spaces are, since that'll be part of what is generated for the URL on the page. Thanks!

E.g., should be 2015-09-30-the-four-principles-of-contextual-inquiries.md

Hi Nathan, I updated the name.

:+1: should be deployed live in a couple of minutes by Travis

Oops, looks like the formatting was messed up. I'll take a look.

Thanks!
On Wed, Sep 30, 2015 at 4:50 PM Nathan Evans<EMAIL_ADDRESS>wrote:

Oops, looks like the formatting was messed up. I'll take a look.
—
Reply to this email directly or view it on GitHub
https://github.com/atsid/engineering/pull/27#issuecomment-144538987.

--
David Herring
Sr. User Experience Architect
o:<PHONE_NUMBER>  m:<PHONE_NUMBER>
2051 Jamieson Avenue, Ste 502, Alexandria VA 22314
<EMAIL_ADDRESS><EMAIL_ADDRESS>ATS Inc. • www.atsid.com
D A T A   T O   D E C I S I O N S
Facebook http://www.facebook.com/AppliedTechnicalSystems | Twitter
https://twitter.com/ats_inc | LinkedIn
http://www.linkedin.com/company/applied-technical-systems


Roll Flutter Engine from 2d55e29dfa79 to 5bddd422c741 (7 revisions)

https://github.com/flutter/engine/compare/2d55e29dfa79...5bddd422c741
2023-10-17<EMAIL_ADDRESS>Revert "Fix Platform.script for flutter_tester" (flutter/engine#46981)
2023-10-16<EMAIL_ADDRESS>Roll Dart SDK from 12f6559bd6ed to f3e1cd38e8b0 (1 revision) (flutter/engine#46977)
2023-10-16<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from 6E-cSq679DjzBMcqY... to Y9mDBoH4BSC6pWFXV... (flutter/engine#46974)
2023-10-16<EMAIL_ADDRESS>Roll Skia from 8919fecf15c1 to 751358929d1f (4 revisions) (flutter/engine#46972)
2023-10-16<EMAIL_ADDRESS>[Impeller] GPUTracer for Metal. (flutter/engine#46846)
2023-10-16<EMAIL_ADDRESS>Fix Platform.script for flutter_tester (flutter/engine#46911)
2023-10-16<EMAIL_ADDRESS>Roll Skia from 85c8dca08cbe to 8919fecf15c1 (1 revision) (flutter/engine#46966)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from 6E-cSq679Djz to Y9mDBoH4BSC6
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Change the rtp path / set rtp lead into Error

I use the follow command to set up Vundle.vim
# change the `bundle` to `other_bundle`
it clone https://github.com/gmarik/Vundle.vim.git ~/.vim/other_bundle/Vundle.vim

And, this is my ~/.vimrc :
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/other_bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

Plugin 'kien/ctrlp.vim', {'rtp': 'vim/'}

call vundle#end()            " required
filetype plugin indent on    " required

Now, PluginInstall lead into Error

Your setup is incorrect and will bring you all sorts of trouble.
You are cloning Vundle into some location, then adding that to the rtp but not telling Vundle about in when calling #begin. This will result in a second copy of Vundle being installed, and updated, on the standard location ~/.vim/bundle. And then both are loaded and it can result in all sort of weird problems.
So you have to either store all your plugins in the same place where Vundle is, and you do this by passing the location to vundle#begin, or you remove the Plugin 'Vundle.vim' line so that Vundle does not install a second copy.
Please report back.

The problem still exists.
I use the command to clone
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

And .vimrc:
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
" Plugin 'gmarik/Vundle.vim'

Plugin 'tpope/vim-fugitive'
Plugin 'kien/ctrlp.vim', {'rtp': 'vim/'}

call vundle#end()            " required
filetype plugin indent on    " required
syntax on

It leads to the same error.
The aim of using rtp params is to use the different location of plugins. the latest version cannot support that whereas eithor d690c777f167479a2b9575ab78feb9683991ea42 or  https://github.com/gmarik/Vundle.vim/pull/422  is working.

using vundle#rc('~/some/path') lets you set ~/some/path as a base dir for your bundles.  If I understand you correctly. Unfortunately it's a deprecated approach.

thank @gmarik for the prompt reply. Could you give me a sample that Vundle.vim support different base directories, or a method (like rtp) to locate some plugins outer of the base dir?

@leiming it's in test/vimrc

@leiming you are misusing the rtp parameter of the Plugin command. kien/ctrlp.vim is a regular plugin and the repository is structured to be used directly.
This rtp exists so that you can use Vundle with some repositories that are not themselves a vim plugin but rather contain one in some subdirectory. With rtp we tell Vundle in which directory, relative to the root of the repository, the Vim plugin is. The vim directory you are passing does not exist in kien/ctrlp.vim, therefore you get the missing plugin error.
As stated before, Vundle does not support having plugins in different places.
Please remove that rtp parameter and report back.

Also, @gmarik, vundle#begin has the same interface as vundle#rc so specifying the base for plugins can still be done.

vundle#begin has the same interface as

@jdevera i'm far behind you guys! :) Good catch!

@leiming we're closing this issue, feel free to comment if you have more questions.

Thank @gmarik @jdevera very much.
Would you support name parameter https://github.com/gmarik/Vundle.vim/pull/422#issuecomment-39420036 in future so that I will be compatible with my out-of-date plugin's structure like https://github.com/gmarik/Vundle.vim/pull/422#issue-30569959 ?


Character has SSD indicator on aghost

aghost
everyone can see youre aghosted

they can still examine and see catatonic

they can still examine and see catatonic

This sounds... Intended? If you ghost our of your body normally this would happen still. I don't even think as an admin you should be aghosting and returning to your body in the first place


Added ability to play media files locally (#125)

Just the same way as played from Movies section, but from Files browser.

Looks and works good! Thx!
Nice, that it also works for audio files.

Sorry it took so long. Kinda forgot about this.

No worries - not urgent)


IE11 Popup Issues

Hello -- I'm working Zoid 9.0.48 and am testing a popup component in IE11.  Everything works great outside of IE.  I've also setup a bridge for IE that is serving correctly.  I can launch the component as a popup, however it seems to close immediately for some reason right after it's opened and the .catch handler of render is invoked by just saying Window is closed, even though no user action prompted this.  The popup window remains open but is now disconnected from zoid.  Any ideas as to what I should be looking for to resolve?

I should note that the child window can redirect to any URL (even google.com) and the same behavior is exhibited.  I do see some Access is denied errors in my IE console, but I believe that might be related to some web component polyfill.

@albernhagen thanks for reporting the issue. Do you have a demo you can share? Or some screenshots of the errors you're seeing in IE?

Hey @gregjopa -- I guess this was a case of ask the duck!  When running my local server at localhost, IE11 was putting the site in intranet mode 🤦 .  The PayPal checkout elements guide helped me realize to check for it: https://developer.paypal.com/docs/checkout/troubleshoot/internet-explorer/.  Appreciate you following up so quickly!

@albernhagen Good to hear you got it resolved! 😆 🦆 I'm glad the Troubleshooting IE doc was helpful.


add milne's thomson method to define a complex number

Hi I would like to add milne's thomson method to define a complex number in complex number section
with its 4 cases and 2 each of subcases

@sairish2001 @shrey27tri01 @apekshamanchanda Shall i work on this?


Support Doctrine Embeddables with AttributeLoader

For now, when setting up anonymization with PHP Attributes on Doctrine Entities, embeddables are skipped.
(see #101)
Workaround  is to use yaml config for these use cases.

done with #105,
It will be available in the next major release.