unix socket path too long error when using action in self-hosted runner

Behaviour
When using the action with the below config on a self-hosted runner the action fails with the error:
containerd: failed to get listener for debug endpoint: "/home/runner/setup-docker-action-b5a3e375-d6e3-40d4-91f8-bce26addece7/execroot/containerd/containerd-debug.sock": unix socket path too long (> 104)

This only happens in self-hosted runners hosted by runs-on , in Github hosted runners it works just fine.
I suspect this is offending line of code, it uses a uuid.v4 to generate the path name which makes the socket path too long in certain circumstances. A suggestion would be to truncate the UUID to 8 characters to shorten the path length significantly (assuming a unique path name is required at all).
Steps to reproduce this issue

Use a runs-on hosted runner
Use the action

Expected behaviour
Setup docker without exiting with errors
Actual behaviour
The action exited with error code 1
Configuration
The repository and workflow is private
3_Build and push api to ECR.txt
- uses: crazy-max/ghaction-setup-docker@v2
  with:
    daemon-config: |
      {
        "features": {
          "containerd-snapshotter": true
        }
      }

Logs

Download the log file of your build
and attach it to this issue.

I will do, thanks for the quick response!


Add withCompositionLocalProvider to avoid backward writes

This allows us to optimize pausableState, and migrate away from a mutable state to store the last emitted state. We now simply return the returned value, and store it in a simple mutable holder, avoiding unnecessary recompositions due to backward writes.
Unfortunately we had to copy in SaveableStateHolder and tweak it to return a value from SaveableStateProvider.
I've imported PausableStateTest from #1449 and verified that this fixes recompositions for classes which implement equality, and those which don't.

Hmmm, PausableStateTest is causing issues.
If I run it as part of the normal testReleaseUnitTest it ends up timing out. If I run them on their own via :circuit-foundation:testReleaseUnitTest --tests "com.slack.circuit.foundation.PausableStateTest" then they pass 🤷. I can't see any global state, but looking deeper now.

Not sure what's up with CI but ran locally


feat(#635): Remove @line Attribute

In this PR I remove outdated @line attribute from XMIR.
Related to #635.

@yegor256 Suddenly, I can't remove @line attribute, because the following error:
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.43.2:xmir-to-phi (convert-xmir-to-eo) on project jeo-it: 'PhiMojo' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Shift 'com.yegor256.xsline.StLogged@2cc65825' failed: Shift 'com.yegor256.xsline.StClasspath@7bfe9db5' failed: Failed to transform by net.sf.saxon.jaxp.TransformerImpl: Processing terminated by xsl:message at line 79 in add-refs.xsl; SystemID: file:///org/eolang/parser/add-refs.xsl; Line#: 79; Column#: 40 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eolang:eo-maven-plugin:0.43.2:xmir-to-phi (convert-xmir-to-eo) on project jeo-it: 'PhiMojo' execution failed

Seems, that removing line attribute from XSD isn't sufficient to remove it from jeo-maven-plugin

@volodya-lombrozo please, show the full log. In your message, I don't see the error text reported by add-refs.xsl.

@yegor256 Here is the full log:
build.log

@volodya-lombrozo let's try again, when we release eo 0.44.0

@yegor256 ok, I'm waiting for it

@rultor merge

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 11min).


Popen : wrong number of arguments

While redmine (2.6.1) runs  and I can have a look at the repos from the website, it is impossible to clone or push or even click on a Username (Internal Server Error). I am using thin(1.6.3) /nginx.
Here is the dump:
 Corrected Dump...
Listening on /tmp/thin.0.sock, CTRL+C to stop
Unexpected error while processing request: wrong number of arguments (3 for 1..2)
        /usr/local/lib64/ruby/gems/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb:78:in `popen'
        /usr/local/lib64/ruby/gems/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb:78:in `block in service_rpc'
        /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/response.rb:89:in `call'
        /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/response.rb:89:in `each'
        /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/body_proxy.rb:31:in `each'
        /usr/local/lib64/ruby/gems/1.9.1/gems/activerecord-3.2.21/lib/active_record/query_cache.rb:46:in `each'
        /usr/local/lib64/ruby/gems/1.9.1/gems/activerecord-3.2.21/lib/active_record/connection_adapters/abstract/connection_pool.rb:460:in `each'
        /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/body_proxy.rb:31:in `each'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/response.rb:96:in `each'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:114:in `post_process'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:53:in `process'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:39:in `receive_data'
        /usr/local/lib64/ruby/gems/1.9.1/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run_machine'
        /usr/local/lib64/ruby/gems/1.9.1/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/backends/base.rb:73:in `start'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/server.rb:162:in `start'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/controllers/controller.rb:87:in `start'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:200:in `run_command'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:156:in `run!'
        /usr/lib64/ruby/gems/1.9.1/gems/thin-1.6.3/bin/thin:6:in `<top (required)>'
        /usr/bin/thin:9:in `load'
        /usr/bin/thin:9:in `<main>'

I am thankful to any hint, I am not familiar with ruby...

I changed line 78 in /usr/local/lib64/ruby/gems/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb
to
IO.popen(command, File::RDWR) do |pipe|
which seems to work?? I have to check on possible side effects...

which seems to work?? I have to check on possible side effects...

You must not do that. Actually this class is overriden by the plugin (in redmine_git_hosting/lib/grack/server.rb) and your issue looks like https://github.com/jbox-web/redmine_git_hosting/issues/345

Which version of Ruby are you using?

Btw, there is a new release 1.0.1 which fixes the bug on User view.

Support of Ruby 1.9.x has ended so I highly recommend you to upgrade to Ruby 2.1 or 2.0.0.

Fine. I reverted, switched to ruby2, and on git clone I get:
Unexpected error while processing request: wrong number of arguments (3 for 1..2)
/var/lib/redmine/.gem/ruby/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb:78:in popen' 	/var/lib/redmine/.gem/ruby/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb:78:in block in service_rpc'
/var/lib/redmine/.gem/ruby/1.9.1/gems/rack-1.4.5/lib/rack/response.rb:89:in call' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/rack-1.4.5/lib/rack/response.rb:89:in each'
/var/lib/redmine/.gem/ruby/1.9.1/gems/rack-1.4.5/lib/rack/body_proxy.rb:31:in each' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/activerecord-3.2.21/lib/active_record/query_cache.rb:46:in each'
/var/lib/redmine/.gem/ruby/1.9.1/gems/activerecord-3.2.21/lib/active_record/connection_adapters/abstract/connection_pool.rb:460:in each' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/rack-1.4.5/lib/rack/body_proxy.rb:31:in each'
/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/response.rb:96:in each' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:114:in post_process'
/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:53:in process' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/connection.rb:39:in receive_data'
/var/lib/redmine/.gem/ruby/1.9.1/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in run_machine' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in run'
/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/backends/base.rb:73:in start' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/server.rb:162:in start'
/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/controllers/controller.rb:87:in start' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:200:in run_command'
/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:156:in run!' 	/var/lib/redmine/.gem/ruby/1.9.1/gems/thin-1.6.3/bin/thin:6:in <top (required)>'
/usr/local/bin/thin:23:in load' 	/usr/local/bin/thin:23:in '
So, well, if i must not do this, what do I have to do to get this to work???
git error message:
Cloning into 'rcs-ng'...
error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly

Are you sure you're using Ruby2? :
/var/lib/redmine/.gem/ruby/1.9.1/bundler/gems/grack-971b468103ac/lib/grack/server.rb:78:in `popen'

@n-rodriguez : Thanks, turns out, eselect set ruby20 does not seal the deal ;) so now I am running ruby20, redmine_git_hosting 1.0.1 and issue seems to be fixed for me! Thank you once again

You're welcome ;)


Add xxHash example

closes #416

I (hopefully) fixed link error, but unfortunately I can't get cmake-format to work for some reason.
Do I also need to fix the warning? It's fixed in one of a post release commits, so we can simply use it instead of a release tag.

I fixed link error, but unfortunately I can't get cmake-format to work for some reason.

Ok, no worries, I've run the code formatters on my machine.

Do I also need to fix the warning? It's fixed in one of a post-release commits, so we can simply use this instead of a release tag.

I like using release tags here, so for now let's live with the warning and update once there is another release.


Zenith: allow importing go-generated packages

While we want to encourage users to share code using zenith modules, users may still want to use parts of their code from the go ecosystem (cc @aluzzardi, who initially raised this on discord).
The client-side codegen means that types from one module are not interoperable with types from another module. For example, a Container type from module foo cannot be used as an argument to a function that takes a Container in module bar.
@sipsma proposed a solution for this:

Not forcing use of main as a package is fairly straightforward I think (we can just generate a main that imports your other package) and using interfaces is entirely reasonable.

ATM this isn't a huge concern, but I can imagine a user wanting to define a collection of custom "utilities" to pull into multiple modules (though I'm not sure exactly why they might not want to put those into a module).

This is sort of mitigated by https://github.com/dagger/dagger/pull/6680.
But also, from using this regularly, it turns out this isn't really a huge problem - for consuming other dagger code, the right way to do it is to use modules, not to import code directly.


Potential bug in the trading_env.py?

If I understand the code correctly, there is one bug:
Line 123 of the code trading_env.py:
self.posns[self.step] = action - 1
self.trades[self.step] = self.posns[self.step] - bod_posn
Should be
self.posns[self.step] = bod_posn + action - 1
self.trades[self.step] = action - 1
Does the variable self.trade represent the trades, and posns represent the position after the trades are executed?

Just different ways of defining actions. Solved


Restructure and Upgrade Thriver

Thriver was originally built on a much older version of Meteor that promoted a package-based architectural pattern.  However, as Meteor moves toward NPM modules they are moving away from packages.  This pull request restructures the application to a more modern architectural pattern and also upgrades to the latest version of Meteor, all relevant NPM modules, and Meteor packages.  This also resolves a number of existing vulnerabilities.

Some notes:

[ ] The Twitter widget needs to be updated https://twittercommunity.com/t/deprecating-widget-settings/102295
[ ] We need to stop using AutoForm.  It has turned into abandonware and is causing loads of template errors and duplicate ID errors.  That means we need to manually draw all collection-based forms, most of which are administrative in nature.


fix: Correctly exit publish script

There is an async/await error in scripts/publish.js which manifested in the TanStack Form repo. This change ensures the script continues to wait for successful promise resolution from the publish function.
I've updated tsconfig to use "module": "ES2022", since this permits top-level await. This has no impact on the types generated by packages.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ca6102b) 41.74% compared to head (f62df97) 41.74%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6647   +/-   ##
=======================================
  Coverage   41.74%   41.74%
=======================================
  Files         179      179
  Lines        7011     7011
  Branches     1419     1419
=======================================
  Hits         2927     2927
  Misses       3713     3713
  Partials      371      371

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Typo in exporting storybook instructions

https://storybook.js.org/basics/exporting-storybook/

"webpack" should be "web app"

Hi @wuweiweiwu, I have submitted a PR #3891 with the typo fixed

@Rantelo Thanks for the contribution!


Generalise an interface for retention in TSDB

The idea is to make the retention decisions via an interface that also allows looking at each block. With this, the time based and size based retention logic would be a single interface for Prometheus and allow external users to inject different interfaces as retention filters.

API for deleting blocks I guess

Interesting approach, but how would that work? If a block is not "ready to be deleted" (because not shipped to the long-term storage yet) how should it work? The API fails and TSDB continuously retry? I would love to hear more thoughts on this 🙏

Even with an API, you would need some control over the retention policy to not delete blocks.

I tend to agree that an pluggable interface would be best here. Refactoring shouldn't be too invasive to make this possible I think.


replace PIL with Pillow

PIL seems to be stuck with Python 2.6. Pillow is a friendly fork offering Python 3 support. Please note that PIL and Pillow can not co-exist in the same environment.
DoD:

PIL replaced with Pillow (for Python 3 support)

done for requirements via 1be7200adacc9d376e075dc959c8d01a0a999cda and subsequent readme changes.


Exchange: Locale settings break input fields

Subject of the issue
International users report that their locale settings break the input fields of the exchange, making it unusable.
Comments:

Im from europe and it helped to change windows regional setting of numbers where you set you decimal from "," to "." and reboot computer

Screenshots

Deliverables

Investigate issue and research possible solutions
Implement best solution

Some users also report that the ETH/sETH swap is off for them, not sure this is related:


Add clarification around statusList and revocation support for Domain Linkage Credentials

closes #24

Please be aware I used the wrong issue nr in my commit message. Double check whether #12 gets closed by accident after merging this PR (should be #24)

@Sakurann PR should be ready for approval


Question: Facebook style pager?

Nice lib.
Have you seen how the facebook app will occasionally have a list of horizontal picture/links. You'll have the main one lined up center, but a picture slightly off screen on the right. Swiping reveals the next picture and now you have 3.
Would I be correct with some sizing settings your lib could mimic that behavior?

Setting a larger padding ？？ i will test it.

Yes, it works well. You just set a large padding, and dont forget this: android:clipToPadding="false".
But you may need to change FlingFactor and TriggerOffset to improve touching experience


Shrink .PNG filesizes

@92lleo This shrinks all the images' filesizes losslessly via ImgBot, which is free to subscribe for FOSS.

Hi @TPS,
thanks for this PR! The images are mainly screenshots for store entries. Nevertheless a good idea. I guess ImgBot acts on every commit and optimizes new images automatically?

@92lleo Exactly that, down to a minimal threshold of savings, & then will put in a PR for the changes.  & don't knock the store images: if they're the same 1s used for F-droid, that's quite helpful for the end user, as well.

@TPS okay, perfect. Can you please remove the commit by imagebot (should create the first PR automatically then?) and squash the addition of .imgbot to one commit?

I actually have to remove the entire ImgBot branch from my fork to get the PR recreated (I believe, from my experience), so I might just scrap this PR & redo, to get that done.
Or, you might just subscribe to ImgBot & have it done directly.

To update the PR you can just edit your master.
In case you care:

The PR is opened to 92lleo:master from TPS:master -> as long as the PR is open, any addition to TPS:master will be shown in this PR.
So to change it, you can interactively rebase your master, remove the commit from imgbot and keep only one of the .imgbot additions.
Then force push to your master -> PR is ready

In case you don't:

I can just do that myself and push the changes, this would result in the git contributing flow being broken (I'd like to keep that). If you don't, we can just close it and I'll add it

In any case:

In case of questions feel free to ask
Thanks for the addition :)

Replaced by #37.


Duplicated migrations of models registered through settings

If I try to migrate the  example project with:
./example/manage.py migrate

I have got following error:
  File "/home/petr/.local/share/virtualenvs/blenderhub_server-izvs0qj4/src/django-categories/.tox/py37-django22/lib/python3.7/site-packages/django/db/backends/utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "/home/petr/.local/share/virtualenvs/blenderhub_server-izvs0qj4/src/django-categories/.tox/py37-django22/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py", line 381, in execute
    return Database.Cursor.execute(self, query)
sqlite3.OperationalError: table "django_flatpage_other_categories" already exists

Tested in py37-django22 TOX environemnt.

The problem is, that the migrations are duplicated from settings and in example/simpletext/migrations. If I remove 0002 and 0003 migration, everything works fine.


Wrapper or examples for tooltip?

It would be cool if there was a react wrapper (or usage examples) for: https://popper.js.org/tooltip-examples.html

It's not something I'm going to implement in this project.

why don't you want to integrate tooltips? I think it's the number 1 use case for popper and right now for react there aren't really decent tooltip libraries
could you at least provide an example on how you would implement a tooltip with react-popper?

@FezVrasta , I believe you'd get a lot of traction for usage if tooltip.js could be used along with this project. There aren't any good alternatives!

Hi guys, please take a look at react-popper-tooltip (this is not an official library).

For anyone interested, I'm going to release in the next few hours the @quid/react-tooltip npm package, along with the existing @quid/react-popover. They do just what the name says 🙃
Feel free to take a look at the PR:
https://github.com/quid/refraction/pull/89
Or at the documentation for the popover:
https://ui.quid.com/#!/Popover


Volume mount error bringing up project for first time

I'm getting this error when running docker-compose up:
Cannot start service guacamole: OCI runtime create failed: container_linux.go:346:
starting container process caused "process_linux.go:449: container init caused
\"rootfs_linux.go:58: mounting \\\"/Users/charliesolomon/guacamole-compose/openid/guacamole-auth-openid-1.1.0.jar\\\" to
rootfs \\\"/var/lib/docker/overlay2/5549e50e504a272b3a4cf55b5ee524ea7818b718c8f5d8c8a4dcd12980e32d19/merged\\\"
at \\\"/var/lib/docker/overlay2/5549e50e504a272b3a4cf55b5ee524ea7818b718c8f5d8c8a4dcd12980e32d19/merged/opt/guacamole/openid/guacamole-auth-openid-1.1.0.jar\\\"
caused \\\"not a directory\\\"\"": unknown:
Are you trying to mount a directory onto a file (or vice-versa)?
Check if the specified host path exists and is the expected type

ERROR: for guacamole  Cannot start service guacamole: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/charliesolomon/guacamole-compose/openid/guacamole-auth-openid-1.1.0.jar\\\" to rootfs \\\"/var/lib/docker/overlay2/5549e50e504a272b3a4cf55b5ee524ea7818b718c8f5d8c8a4dcd12980e32d19/merged\\\" at \\\"/var/lib/docker/overlay2/5549e50e504a272b3a4cf55b5ee524ea7818b718c8f5d8c8a4dcd12980e32d19/merged/opt/guacamole/openid/guacamole-auth-openid-1.1.0.jar\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.```

docker-compose version 1.25.4, build 8d51620a```

Looks like my system thinks that jar file is a directory??
$ ls -lah
total 0
drwxr-xr-x   3 me  staff    96B Mar 27 16:31 .
drwxr-xr-x  12 me  staff   384B Mar 27 16:39 ..
drwxr-xr-x   2 me  staff    64B Mar 27 16:31 guacamole-auth-openid-1.1.0.jar

Looks like my system didn't have wget, so the tar -xvf command in setup.sh created a directory instead of downloading and unzipping a file.


optimize create tpch table statments to achieve higher performance

Proposed changes
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Can you provide some performance changes and conclusions before and after the table conversion?

Can you provide some performance changes and conclusions before and after the table conversion?

I think this may trigger some bucket shuffle join

Can you provide some performance changes and conclusions before and after the table conversion?

Trigger bucket shuffle join for the following joins
orders join lineitem
part join partsupp

The distribution num of lineitem equals to that of orders, so that the buckets of both table are aligned, and good for bucket shuffle.


Integration with GIS QGIS Desktop

Hi to all,
QGIS Desktop (https://www.qgis.org/en/site/) is one of the open source GIS Desktop used by users.
I wonder if duckdb and duckdb_spatial could be excellent addition to both projects. QGIS uses as well GEOS, GDAL and PROJ.
See the repo here: https://github.com/qgis/QGIS
Cheers and congrats to Duckdb project and this new extension.

Hi!
Creating a QGIS toolbox with DuckDB is an excellent idea, but probably not something I'm going to look into for a while until we have some more functionality/optimizations present. But if anybody else wants to give it a shot you have my blessing. While creating a full-blown toolbox might be a lot of work, we should be able to leverage DuckDBs great python bindings for creating a PyQGIS plugin pretty easily.


Undefined symbols

Hi,
great work, thanks!
When I tried to run make in lib, I ran into following errors:
First couple lines of error message:
Undefined symbols for architecture x86_64:
  "tensorflow::DEVICE_CPU", referenced from:
      ___cxx_global_var_init.15 in roi_pooling_op-442fdc.o
      ___cxx_global_var_init.18 in roi_pooling_op-442fdc.o
  "tensorflow::DEVICE_GPU", referenced from:
      ___cxx_global_var_init.20 in roi_pooling_op-442fdc.o
      ___cxx_global_var_init.22 in roi_pooling_op-442fdc.o
 "tensorflow::GetNodeAttr(tensorflow::AttrSlice const&, tensorflow::StringPiece, float*)", referenced from:
      tensorflow::Status tensorflow::OpKernelConstruction::GetAttr<float>(tensorflow::StringPiece, float*) const in roi_pooling_op-be4c40.o
  "tensorflow::GetNodeAttr(tensorflow::AttrSlice const&, tensorflow::StringPiece, int*)", referenced from:
      tensorflow::Status tensorflow::OpKernelConstruction::GetAttr<int>(tensorflow::StringPiece, int*) const in roi_pooling_op-be4c40.o
  "tensorflow::TensorShape::SlowCopyFrom(tensorflow::TensorShape const&)", referenced from:
      tensorflow::TensorShape::TensorShape(tensorflow::TensorShape const&) in roi_pooling_op-be4c40.o
  "tensorflow::TensorShape::DestructorOutOfLine()", referenced from:
      tensorflow::TensorShape::~TensorShape() in roi_pooling_op-be4c40.o
  "tensorflow::TensorShape::TensorShape()", referenced from:
      RoiPoolOp<Eigen::ThreadPoolDevice, float>::Compute(tensorflow::OpKernelContext*) in roi_pooling_op-be4c40.o
      RoiPoolOp<Eigen::ThreadPoolDevice, double>::Compute(tensorflow::OpKernelContext*) in roi_pooling_op-be4c40.o
      RoiPoolOp<Eigen::GpuDevice, float>::Compute(tensorflow::OpKernelContext*) in roi_pooling_op-be4c40.o

Is this related to version of tensorflow I am using or something else? Thanks.

Do I need tensorflow from this repo: https://github.com/zplizzi/tensorflow-fast-rcnn?

I figured it out. Since I am running on Mac, g++ needs this flag -undefined dynamic_lookup

Sorry for my delayed reply.
Very glad to know your problem has been solved!


Save the best submission of user for each question

Currently, only the last submission is being saved, what we want to do is, saving the code in which user scores the highest.

Fixed in PR #48.


Move Witness to primitives

I have no clue how we want to do this if we require an absolute bare bones API. How much API surface are we going to live with on the Witness in primitives?

I think we should just move every method that doesn't take a Script or a Signature.
From https://docs.rs/bitcoin/latest/bitcoin/struct.Witness.html it looks like all the other methods are pretty solid.

Cheers, I'll hack it up.

Done in #3406


NESRGB version - composite video?

Hello,
There must be something I don't understand, but a quick look at the NESRGB version it seems like it only takes composite video, not the RGB from the NESRGB board?
https://github.com/ShawMerlin/NES-Power-Module-Redesign/tree/main/RGB - Genesis 9 Pin Edition
The installed image even shows the RGB pads on the NESRGB are not connected to anything
https://user-images.githubusercontent.com/70423454/226394506-f0109706-81cb-4232-8296-21bb947b9209.png
Shouldn't the Genesis2 mini-din be outputting RGB from the NESRGB, and thus shouldn't this replacement IO board take that as input?
I was looking around for installation videos, and I saw this one from Long Island Retro Gaming, where the board shown takes RGB as well as composite video in: https://www.youtube.com/watch?v=_xz6iy2H0Nw  but the links to that board seem to all be dead...
Thanks in advance.

The Main RGB Pads on the RGBNES are not used when using this board,  You need to use the a differnt location RGBNES to get the RGB before it goes through all the image processing on the RGBNES.  If you hook up to the main RGB Pads, the picture will be a lot darker as Gen2 cables have these image processing in the cable themselves.   Please take al ook at the 7 pin hookup diagram on this picture and let me know if this makes sense.
https://github.com/ShawMerlin/NES-Power-Module-Redesign/blob/main/RGB - Genesis 9 Pin Edition/NESRGB Hookup Instructions.jpg

Ah, interesting, I hadn't seen these wires coming from another place on the NESRGB...
Other installation videos I've seen still use the RGB pads on the NESRGB, but remove the 75ohm SMD resistors (the three next to J9 in that photo you linked) and bridge them. I guess it's 2 ways to fix the same issue. Thanks for explaining! Yes it does make sense.

Thinking about it, I might want to keep the 75Ω resistors in my case, because I'll be connecting my NES with a Genesis2 to BNC cable into my Extron Crosspoint. So there will be no resistors in the Genesis2 cable's SCART head, since I have no SCART head at all :)
Anyways that's specific to my case, I'll see how I decide to do it. Thanks in any case, now I'm just waiting for the board to be in stock on your ebay!


Add auto-update notifications and confirmation

This is mostly a cherry pick of #1831 with small changes to make it work with other changes made so far in 4.x.
Signed-off-by: Sebastian Malton<EMAIL_ADDRESS>Final PR in the auto-updater saga.
Closes #1768

Here is a verification image of the notification styling:

Here is a verification image of the notification styling:

@Nokel81 please resolve conflicts.

@jakolehm done

@aleksfront and @jakolehm please re review, I move some code around to other files so that it is easier to review.

This is not working anymore, the Lens is automatically updating on reopen.
Environment: mac


Update JscsFixAction.java

there was a null pointer exception if a user clicked on the Code tab with no file open

thanks!


Consider how web users can watch/get data for an entire year's simulation

Watching the simulation for an hour (even if it ran that quickly) would not be very exciting, but we should see how we can improve the speed of the simulation in the browser, e.g. by removing the graph.
Ideally end users should be able to get the data for their simulation e.g. by running the model offline and returning the result via the UI (or by email).

An interim solution would be to display the code a user would need to run to run the simulation with the selected parameters in non-webserver mode.


Problem with replaceImage

Hi!
I got interesting behaviour (in demo1) - a very slow performance in dashboards if demomonkey enabled and included replaceImage function in a script. Without it everything works as usual. But with this feature - page loading is a 10 times slower with artifacts in widgets.
!replaceImage(*BORw0KGgoAAAANSUhEUgAAFBAAAAXOCAYAAAB70BrQAAAgAElEQVR4Xu*) = 'https://moorinsightsstrategy.com/wp-content/uploads/2020/05/Cisco-logo.png'

thanks

It looks like the issue comes from "relatively large" images: if there are images in the "hundreds of kilobytes" area the performance gets down drastically until the point everything crashes


Create main.yml

name: Build
on:
push:
branches:
- main
jobs:
build:
runs-on: windows-latest steps:
- uses: actions/checkout@v2 - name: Setup MSBuild uses<EMAIL_ADDRESS>- name: Build with MSBuild run: msbuild /p:Configuration=Debug

changed to debug not release

allow


Bug layout CSS

Can not reproduce this. Are you on the latest version (1.2.5)?

To reproduce it, open Goofy in expanded mode, search for a conversation (left search bar) and collapse Goofy.

Was in version (1.2.4) but after update and now is this way:

It's not the upgrade that affected that, but the number of results the search spawned. Try resizing the window until the left sidebar expands, clear the left search bar and resize it again until it collapses. Does it still happen?

@kalprestito i clear search but continues the error CSS.
OBS: My facebook language is brazilian

Can you take a screenshot in the expanded mode?

@kalprestito

I can see a blank space to the right of the sidebar (as the blue shade for the selected conversation does not expand to the split), it'd seem that's what causing it. However, it doesn't show up for me, so I've got no way of fixing it.
Damn you and your A/B testing, Facebook!

I tried setting my Facebook language to Portuguese (Brazilian), but it doesn't show up for me

This blank space is scroll actived for my macbook pro hahaha

Well, Swift or Objective C check if user have scroll actived?

Ahhh okay, it is so. Steps to replicate, then:

Enable Always visible scrollbars in System Preferences > General
Collapse Goofy
Scrollbar creates visual artifacts

Gonna create a new issue with the collapsing search problem

obsolete


ISSUE-1351: Exclude hadoop-hdfs-2.x transitive dependency

Looks like the version of SR is removed in nexus. I'm now upgrading SR to 0.7.0 as newer HDF versions are depending on that version. After that we can run the CI again.

I'm rerunning CI build to see whether it includes #1353 - if not, please rebase to latest master.

Thanks for the review @HeartSaVioR


Updated the result format of API

Changed the format of result in API:

Added partial_sentence and full_sentence arrays as a part of result
Added source in the form of array in the JSON response

Looks good! This API change breaks the simple interface, so you will have to change the translation.js file as well to accommodate for the newly formatted data.

I tried to fix it, can you check now?

Great, this works. Thanks!


Removes publisher tab from console view.

Tracking publishing has been disabled due to volume
reasons for some time. This stops the tab showing up
in the view.

UI running via docker-compose:

👍

:+1:


1st commit

Improvements made:

Removed the charset="UTF-8" attribute from the script tags as it is unnecessary.
Added the defer attribute to the script tags to ensure scripts are executed after the HTML is parsed.
Changed the label text for the username and password fields to be more descriptive.
Removed the unnecessary id="body" attribute from the body tag.
Adjusted the formatting and indentation for better readability.

Improvements made:

Encoded the current URL using encodeURIComponent() to ensure valid URL construction.
Separated the long URL string into multiple lines for readability.
Used createElement and setAttribute to create the login button element instead of directly manipulating document.body.innerHTML.
Replaced the += operator with appendChild to append the login button to the document body.
Added conditional checks for elements to avoid errors when they are not present.


Update PulumiUP images

Description
Updating images for PulumiUP

Banner
Ad
Meta

Checklist:

[ ] I have reviewed the style guide.
[ ] If blogging, I have reviewed the blogging guide.
[ ] I have manually confirmed that all new links work.
[ ] I added aliases (i.e., redirects) for all filename changes.
[ ] If making css changes, I rebuilt the bundle.

I might be in the minority here, but the "fake buttons on a static image" thing always sort of bugs me, to be honest. I can be okay with one button, but two buttons that aren't really buttons and also look like they do different things, but don't (I'm assuming they both point to the same URL), feels like a bit much to me. Is there some way we could communicate both of these ideas in the same image?

It leads to the PulumiUP landing page, where they do have the two buttons. I understand what you mean, but the ad space is so small that it doesn't really make it user-friendly to add "descriptions" or "explanations" to it, but we do want them to know that they can 1) submit a proposal and/or 2) register.
I'm open to suggestions, if you have ideas.


Add sample for logging

It should be more clear if add sample for logging configuration.

Thank you!


Unsure how to specify foreign keys when receiving AmbiguousForeignKeysError

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the SQLModel documentation, with the integrated search.
[X] I already searched in Google "How to X in SQLModel" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to SQLModel but to Pydantic.
[X] I already checked if it is not related to SQLModel but to SQLAlchemy.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from typing import Optional
from uuid import uuid4

from sqlmodel import Field, Session, SQLModel, create_engine, Relationship

class Account(SQLModel, table=True):
    id: Optional[str] = Field(default=uuid4, primary_key=True)
    institution_id: str
    institution_name: str

class Transaction(SQLModel, table=True):
    id: Optional[str] = Field(default=uuid4, primary_key=True)
    from_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    from_account: Account = Relationship()
    to_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    to_account: Account = Relationship()
    amount: float

sqlite_file_name = "database.db"
sqlite_url = f"sqlite:///{sqlite_file_name}"

engine = create_engine(sqlite_url, echo=True)

SQLModel.metadata.create_all(engine)

account = Account(institution_id='1', institution_name='Account 1')

with Session(engine) as s:
    s.add(account)

Description
When creating a table with multiple relationships to another table I am receiving the AmbiguousForeignKeysError SQLAlchemy error. There doesn't appear to be a SQLModel argument for the foreign key on Relationship. I tried passing the following to SQLAlchemy using Relationship(sa_relationship_kwargs={'foreign_keys':...}), but neither are a SQLAlchemy Column

the SQLModel/pydantic field (a FieldInfo object)
that field's field_name.sa_column (a PydanticUndefined object at this point in initialization)

Not sure how else to pass the right foreign key (possibly using SQLAlchemy's Query API?). Hoping there's a cleaner SQLModel/pydantic way to do this!
Operating System
macOS
Operating System Details
No response
SQLModel Version
0.0.3
Python Version
3.9.5
Additional Context
Full stack trace:
2021-08-24 22:28:57,351 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2021-08-24 22:28:57,352 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("account")
2021-08-24 22:28:57,352 INFO sqlalchemy.engine.Engine [raw sql] ()
2021-08-24 22:28:57,352 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("transaction")
2021-08-24 22:28:57,352 INFO sqlalchemy.engine.Engine [raw sql] ()
2021-08-24 22:28:57,352 INFO sqlalchemy.engine.Engine COMMIT
Traceback (most recent call last):
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 2744, in _determine_joins
    self.primaryjoin = join_condition(
  File "<string>", line 2, in join_condition
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/sql/selectable.py", line 1184, in _join_condition
    cls._joincond_trim_constraints(
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/sql/selectable.py", line 1305, in _joincond_trim_constraints
    raise exc.AmbiguousForeignKeysError(
sqlalchemy.exc.AmbiguousForeignKeysError: Can't determine join between 'transaction' and 'account'; tables have more than one foreign key constraint relationship between them. Please specify the 'onclause' of this join explicitly.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/trippwickersham/Projects/village/gh_issue.py", line 27, in <module>
    account = Account(institution_id='1', institution_name='Account 1')
  File "<string>", line 4, in __init__
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/state.py", line 474, in _initialize_instance
    manager.dispatch.init(self, args, kwargs)
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/event/attr.py", line 343, in __call__
    fn(*args, **kw)
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 3565, in _event_on_init
    instrumenting_mapper._check_configure()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 1873, in _check_configure
    _configure_registries({self.registry}, cascade=True)
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 3380, in _configure_registries
    _do_configure_registries(registries, cascade)
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 3419, in _do_configure_registries
    mapper._post_configure_properties()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 1890, in _post_configure_properties
    prop.init()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/interfaces.py", line 222, in init
    self.do_init()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 2142, in do_init
    self._setup_join_conditions()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 2238, in _setup_join_conditions
    self._join_condition = jc = JoinCondition(
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 2633, in __init__
    self._determine_joins()
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/orm/relationships.py", line 2796, in _determine_joins
    util.raise_(
  File "/Users/trippwickersham/opt/miniconda3/envs/village/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
sqlalchemy.exc.AmbiguousForeignKeysError: Could not determine join condition between parent/child tables on relationship Transaction.from_account - there are multiple foreign key paths linking the tables.  Specify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table.

Let me ask you a question. Does uuid4 belong to the int type?

I ran into this and was desperate for some workaround, so I wrote this gist.
There may be a more clever way to do this, but it seems to work for me.
I haven't tested with the example above, but in theory you should be able to simply run
set_foreign_keys(
    Transaction,
    {"to_account": "to_account_id", "from_account": "from_account_id"}),
)

after the class declaration. I hope this helps!

@trippersham, even more simply, it looks like a very slight modification of your attempt actually works!
from_account: Account = Relationship(sa_relationship_kwargs=dict(foreign_keys="[Transaction.from_account_id]"))

Yah I was trying to do something like this but no glory.  If anyone has an idea of how to create a resuable mixin such as below and get it woking with SQLModel, I'm all ears ....
class UpsertByModelMixin(SQLModel):
    created_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    created_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [created_by_id] })

    updated_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    updated_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [updated_by_id] })

class Team(UpsertByModelMixin, SQLModel, table=True,):
    __tablename__ = 'teams'

    id: Optional[int] = Field(default=None, primary_key=True)
    name: str = Field(max_length=500)

The error it returns when attempting to do anything with Team:
sqlalchemy.exc.ArgumentError: Column expression expected for argument 'foreign_keys'; got FieldInfo(default=PydanticUndefined, extra={'exclude': None, 'include': None}).

@trippersham see https://github.com/tiangolo/sqlmodel/issues/89, where there is a similar problem.
As described in the other issue you should be able to solve your issue setting the primaryjoin instead of the foreign_keys property. ("lazy": "joined" just added for nicer output - see (https://docs.sqlalchemy.org/en/14/orm/loading_relationships.html#configuring-loader-strategies-at-mapping-time))
This should run as-is:
from typing import Optional

from sqlmodel import Field, Relationship, Session, SQLModel, create_engine

class Account(SQLModel, table=True):
    id: int = Field(primary_key=True)
    institution_id: str
    institution_name: str

class Transaction(SQLModel, table=True):
    id: Optional[int] = Field(primary_key=True)
    from_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    from_account: Account = Relationship(
        sa_relationship_kwargs={"primaryjoin": "Transaction.from_account_id==Account.id", "lazy": "joined"}
    )
    to_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    to_account: Account = Relationship(
        sa_relationship_kwargs={"primaryjoin": "Transaction.to_account_id==Account.id", "lazy": "joined"}
    )
    amount: float

sqlite_file_name = "database.db"
sqlite_url = f"sqlite:///{sqlite_file_name}"

engine = create_engine(sqlite_url)

SQLModel.metadata.create_all(engine)

account1 = Account(id=1, institution_id="1", institution_name="Mine")
account2 = Account(id=2, institution_id="2", institution_name="Yours")
transaction = Transaction(id=1, from_account_id=2, to_account_id=1, amount=42)

with Session(engine) as s:
    s.add(account1)
    s.add(account2)
    s.add(transaction)
    s.commit()
    s.refresh(account1)
    s.refresh(account2)
    s.refresh(transaction)

print("account1:", account1)
print("account2:", account2)
print("transaction:", transaction)

Yah I was trying to do something like this but no glory. If anyone has an idea of how to create a resuable mixin such as below and get it woking with SQLModel, I'm all ears ....
class UpsertByModelMixin(SQLModel):
    created_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    created_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [created_by_id] })

    updated_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    updated_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [updated_by_id] })

class Team(UpsertByModelMixin, SQLModel, table=True,):
    __tablename__ = 'teams'

    id: Optional[int] = Field(default=None, primary_key=True)
    name: str = Field(max_length=500)

The error it returns when attempting to do anything with Team:
sqlalchemy.exc.ArgumentError: Column expression expected for argument 'foreign_keys'; got FieldInfo(default=PydanticUndefined, extra={'exclude': None, 'include': None}).

some problemlem fixed ?

Yah I was trying to do something like this but no glory. If anyone has an idea of how to create a resuable mixin such as below and get it woking with SQLModel, I'm all ears ....
class UpsertByModelMixin(SQLModel):
    created_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    created_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [created_by_id] })

    updated_by_id : Optional[int] = Field(default=None, foreign_key="users.id")
    updated_by: Optional["User"] = Relationship(sa_relationship_kwargs={ 'foreign_keys': [updated_by_id] })

class Team(UpsertByModelMixin, SQLModel, table=True,):
    __tablename__ = 'teams'

    id: Optional[int] = Field(default=None, primary_key=True)
    name: str = Field(max_length=500)

The error it returns when attempting to do anything with Team:
sqlalchemy.exc.ArgumentError: Column expression expected for argument 'foreign_keys'; got FieldInfo(default=PydanticUndefined, extra={'exclude': None, 'include': None}).

some problemlem fixed ?

@trippersham see #89, where there is a similar problem.
As described in the other issue you should be able to solve your issue setting the primaryjoin instead of the foreign_keys property. ("lazy": "joined" just added for complete output - see (https://docs.sqlalchemy.org/en/14/orm/loading_relationships.html#configuring-loader-strategies-at-mapping-time))
This should run as-is:
from typing import Optional

from sqlmodel import Field, Relationship, Session, SQLModel, create_engine

class Account(SQLModel, table=True):
    id: int = Field(primary_key=True)
    institution_id: str
    institution_name: str

class Transaction(SQLModel, table=True):
    id: Optional[int] = Field(primary_key=True)
    from_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    from_account: Account = Relationship(
        sa_relationship_kwargs={"primaryjoin": "Transaction.from_account_id==Account.id", "lazy": "joined"}
    )
    to_account_id: Optional[str] = Field(default=None, foreign_key="account.id")
    to_account: Account = Relationship(
        sa_relationship_kwargs={"primaryjoin": "Transaction.to_account_id==Account.id", "lazy": "joined"}
    )
    amount: float

sqlite_file_name = "database.db"
sqlite_url = f"sqlite:///{sqlite_file_name}"

engine = create_engine(sqlite_url)

SQLModel.metadata.create_all(engine)

account1 = Account(id=1, institution_id="1", institution_name="Mine")
account2 = Account(id=2, institution_id="2", institution_name="Yours")
transaction = Transaction(id=1, from_account_id=2, to_account_id=1, amount=42)

with Session(engine) as s:
    s.add(account1)
    s.add(account2)
    s.add(transaction)
    s.commit()
    s.refresh(account1)
    s.refresh(account2)
    s.refresh(transaction)

print("account1:", account1)
print("account2:", account2)
print("transaction:", transaction)

Thanks your code saved me alot of time @ubersan

Can this be added to the official docs ?

The approach that worked for me is a combination of @ubersan and @maresb 's codes, since I needed to have both forward and backward refs available. Here's a minimal model example:
class User(SQLModel, table=True):
    #  other fields here
    documents_created: list["Document"] = Relationship(
        back_populates="created_by",
        sa_relationship_kwargs={
            "primaryjoin": "Document.created_id==User.id",
            "lazy": "joined",
        },
    )

    documents_modified: list["Document"] = Relationship(
        back_populates="modified_by",
        sa_relationship_kwargs={
            "primaryjoin": "Document.created_id==User.id",
            "lazy": "joined",
        },
    )

class Document(SQLModel, table=True):
    """Long form document model"""
    # other fields here ...
    created_by: "User" = Relationship(
        back_populates="documents_created",
        sa_relationship_kwargs=dict(foreign_keys="[Document.created_id]"),
    )
    modified_by: "User" = Relationship(
        back_populates="documents_modified",
        sa_relationship_kwargs=dict(foreign_keys="[Document.modified_id]"),
    )

NOTE: certain queries now needed to be modified, ie, appended with  .unique() at the end cause of the join condition
query = select(User)
user = (await db.execute(query)).unique().scalar_one_or_none()  # previously, no `.unique()` required

class user(SQLModel, table=True):
tablename = "users"
id: Optional[int] = Field(default=None, primary_key=True)
idnumber: Optional[int] = Field(default=None)
name: str = Field(default=None)
email: str = Field(default=None)
created_at: Optional[datetime] = Field(default=None)
updated_at: Optional[datetime] = Field(default=None)
course_participant_relation: List["course_participant"] = Relationship(back_populates="user_relation")

class course_participant(SQLModel, table=True):
tablename = "course_participants"
id: Optional[int] = Field(default=None, primary_key=True)
user_id: int = Field( foreign_key=user.id)
course_id: int = Field(foreign_key=course.id)
group: Optional[str] = Field(default=None)
role: str = Field(default=None)
created_at: Optional[datetime] = Field(default=None)
updated_at: Optional[datetime] = Field(default=None)
user_relation: Optional["user"] = Relationship(back_populates="course_participant_relation")
course_relation: Optional["course"] = Relationship(back_populates="course_with_participant_relation")
participant_evaluator_relation: List["peer_evaluation_record"] = \
    Relationship(back_populates="evaluator_participant_relation",
                 )
participant_evaluator_relation_peer: List["peer_evaluation_record"] = \
    Relationship(back_populates="peer_participant_relation")

class peer_evaluation_record(SQLModel, table=True):
tablename = "peer_evaluation_records"
id: Optional[int] = Field(default=None, primary_key=True)
peer_evaluation_id: int = Field(foreign_key=peer_evaluation.id)
evaluator_id: int = Field(foreign_key=course_participant.id)
peer_id: int = Field(foreign_key=course_participant.id)
evaluation: List[int] = Field(default=[0, 0, 0, 0, 0], sa_column=Column(ARRAY(Integer())))
grade: int = Field(default=None)
modified_by: Optional[str] = Field(default=None)
created_at: Optional[datetime] = Field(default=None)
updated_at: Optional[datetime] = Field(default=None)
peer_evaluation_relation: Optional["peer_evaluation"] = Relationship(
    back_populates="peer_evaluation_record_relation")

evaluator_participant_relation: Optional["course_participant"] = Relationship(
    back_populates="participant_evaluator_relation")
peer_participant_relation: Optional["course_participant"] = Relationship(
    back_populates="participant_evaluator_relation_peer")

this works fine create table with relation ship foreign keys  and all but when i try to insert data it shows error
sqlalchemy.exc.AmbiguousForeignKeysError: Could not determine join condition between parent/child tables on relationship course_participant.participant_evaluator_relation - there are multiple foreign key paths linking the tables.  S
pecify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table.

@trippersham, even more simply, it looks like a very slight modification of your attempt actually works!
from_account: Account = Relationship(sa_relationship_kwargs=dict(foreign_keys="[Transaction.from_account_id]"))

Thanks man!  I've spent about 2 to 3 hours trying to decide this issue.

@trippersham, even more simply, it looks like a very slight modification of your attempt actually works!
from_account: Account = Relationship(sa_relationship_kwargs=dict(foreign_keys="[Transaction.from_account_id]"))

Thanks man!  I've spent about 2 to 3 hours trying to decide this issue.

Pay real close attention to the arguments there.  I had
['Transaction.from_account_id'] not '[Transaction.from_account_id]'

@ohmeow , 2.5 years later, I think I've got a solution to your problem, but it requires a fix in SQLModel (https://github.com/tiangolo/sqlmodel/pull/886/). See the test:
 class CreatedUpdatedMixin(SQLModel):
        created_by_id: Optional[int] = Field(default=None, foreign_key="user.id")
        created_by: Optional[User] = Relationship(
            sa_relationship=declared_attr(
                lambda cls: relationship(User, foreign_keys=cls.created_by_id)
            )
        )

        updated_by_id: Optional[int] = Field(default=None, foreign_key="user.id")
        updated_by: Optional[User] = Relationship(
            sa_relationship=declared_attr(
                lambda cls: relationship(User, foreign_keys=cls.updated_by_id)
            )
        )

    class Asset(CreatedUpdatedMixin, table=True):
        id: Optional[int] = Field(default=None, primary_key=True)

Giving my two cents here. The error is being raised by SqlAlchemy so it seems that SqlModel is missing some features to deal with this case, but, it seems to possible to use SqlAlchemy directly as a workaround. Based on this thread I was able to create both tables with the correct relationship, but, to be honest there's still a issue happening when trying to use those tables. Another thing is, SqlLite doesn't support uuid directly like postgres so you'll need to work with strings.
class Account(SQLModel, table=True):
    id: Optional[str] = Field(primary_key=True)
    institution_id: str
    institution_name: str

class AccountTransaction(SQLModel, table=True):
    id: Optional[str] = Field(primary_key=True)
    from_account_id: str = Field(foreign_key="account.id")
    from_account: Account = Relationship(sa_relationship=RelationshipProperty("Account", foreign_keys=[from_account_id]))
    to_account_id: str = Field(foreign_key="account.id")
    to_account: Account = Relationship(sa_relationship=RelationshipProperty("Account", foreign_keys=[to_account_id]))
    amount: float

sqlite_file_name = "database.db"
sqlite_url = f"sqlite:///{sqlite_file_name}"

engine = create_engine(sqlite_url, echo=True)

SQLModel.metadata.create_all(engine)

Like I said there's still some bugs to that code, when I have some free time i'll try to solve that too.

Only the approach from this comment with the sa_relationship= string and the RelationshipProperty argument with the target class name and foreign keys actually worked for me, and I still had to use the string format for the foreign_keys, e.g.
class OneWithFK:
  example_id: int = Field(foreign_key="target_classes.id")
  example: TargetClass = Relationship(
          sa_relationship=RelationshipProperty(
              "TargetClass",
              foreign_keys="[OneWithFK.example_id]",
          )
      )

This should really be in the docs, since it is not uncommon to have two foreign keys linking to another particularly table. If I open a PR, can we merge this example to the docs?

let me say some shitful words. sqlmodel should do this with a more pythonic way. I only saw ugly codes here.

Minimal test as below, works for me.
from sqlmodel import Relationship, SQLModel, Field, create_engine, Session, select
from sqlalchemy.orm import RelationshipProperty
from typing import Optional

class User(SQLModel, table=True):
    id: int = Field(default=None, primary_key=True)
    name: str

    create_codes: list["InvCode"] = Relationship(
        sa_relationship=RelationshipProperty(
            "InvCode",
            back_populates="create_user",
            foreign_keys="[InvCode.create_user_id]")
    )
    used_code: Optional["InvCode"] = Relationship(
        sa_relationship=RelationshipProperty(
            "InvCode",
            back_populates="used_user",
            foreign_keys="[InvCode.used_user_id]")
    )

class InvCode(SQLModel, table=True):
    id: int = Field(default=None, primary_key=True)
    content: str = Field(index=True)
    create_user_id: int = Field(index=True, foreign_key="user.id")
    used_user_id: int | None = Field(foreign_key="user.id")

    create_user: User = Relationship(
        sa_relationship=RelationshipProperty(
            "User",
            back_populates="create_codes",
            foreign_keys='[InvCode.create_user_id]'))
    used_user: Optional['User'] = Relationship(
        sa_relationship=RelationshipProperty(
            "User",
            back_populates="used_code",
            foreign_keys='[InvCode.used_user_id]'))

engine = create_engine("sqlite:///./test.db")

SQLModel.metadata.create_all(engine)

def create_db():
    with Session(engine) as session:
        user1 = User(name="user1")
        user2 = User(name="user2")
        session.add(user1)
        session.add(user2)
        session.commit()

        invcode1 = InvCode(content="invcode-1-samplestr",
                           create_user=user1, used_user=user2)
        invcode2 = InvCode(content="invcode-2-samplestr", create_user=user1)
        session.add(invcode1)
        session.add(invcode2)
        session.commit()

def read_user():
    with Session(engine) as session:
        user1 = session.exec(
            select(User).where(User.name == "user1")
        ).one()
        print(user1.create_codes)

if __name__ == "__main__":
    create_db()
    # read_user()

Thanks for all the examples. It helped me realize how to fulfill my use case - two entities making a trade and capturing that in a join table, as there is a possibility of more than 2 partners in a single trade. (I'll be adding in assets later and that would also likely confuse the situation.
Here's the code I came up with:
class TradeTeamLink(SQLModel, table=True):
    trade_id: int = Field(default=None, primary_key=True, foreign_key="trade.id")
    sending_team_id: int = Field(default=None, primary_key=True, foreign_key="team.id")
    receiving_team_id: int = Field(default=None, primary_key=True, foreign_key="team.id")

    trade: "Trade" = Relationship(back_populates="team_links")
    sending_team: "Team" = Relationship(
        sa_relationship=RelationshipProperty(
            "Team",
            back_populates="sent_trades",
            foreign_keys="[TradeTeamLink.sending_team_id]")
    )
    receiving_team: "Team" = Relationship(
        sa_relationship=RelationshipProperty(
            "Team",
            back_populates="received_trades",
            foreign_keys="[TradeTeamLink.receiving_team_id]")
    )

class Team(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    name: str
    city: str
    full_name: str
    acronym: str = Field(unique=True)
    sent_trades: list["TradeTeamLink"] = Relationship(
        sa_relationship=RelationshipProperty(
            "TradeTeamLink",
            back_populates="sending_team",
            foreign_keys="[TradeTeamLink.sending_team_id]")
    )
    received_trades: list["TradeTeamLink"] = Relationship(
        sa_relationship=RelationshipProperty(
            "TradeTeamLink",
            back_populates="receiving_team",
            foreign_keys="[TradeTeamLink.receiving_team_id]"
            )
    )

class Trade(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    trade_date: datetime.date = Field(default=datetime.date.today())
    status: str = Field(default="Proposed")
    team_links: list[TradeTeamLink] = Relationship(back_populates="trade")

Considering this is an extremely common database scenario (i.e., 1 user with a billing address and shipping address both connecting to an address table) and that sqlalchemy can solve this very easily... https://docs.sqlalchemy.org/en/20/orm/join_conditions.html#handling-multiple-join-paths
Surely there is some need for this to be handled within SQLModel somehow?
This is a pretty basic feature and definitely has me questioning using SQLModel.  And so many things that seem to rely on annotations not being imported from __future__ which is a little scary

When using SQLModel with multiple foreign key relationships between two tables, you may encounter an AmbiguousForeignKeysError. This occurs when SQLAlchemy can't automatically determine which foreign key to use for a relationship.
Error Message:
Copysqlalchemy.exc.AmbiguousForeignKeysError: Could not determine join condition between parent/child tables on relationship User.leave_requests - there are multiple foreign key paths linking the tables. Specify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table.
Solution:
The fix involves explicitly specifying the foreign keys and join conditions in the model definitions. Here's how to resolve it:
In the model with multiple foreign keys pointing to the same table (e.g., LeaveRequest), keep the relationship definitions simple:
class LeaveRequest(SQLModel, table=True):
    user_id: Optional[int] = Field(default=None, foreign_key="users.id")
    approved_by: Optional[int] = Field(foreign_key="users.id")
    # ... other fields ...

    user: "User" = Relationship(back_populates="leave_requests")
    approved_user: "User" = Relationship(back_populates="approved_leave_requests")
    # ... other relationships ...

In the referenced model (e.g., User), explicitly specify the foreign keys and join conditions:
class User(SQLModel, table=True):
    # ... fields ...

    leave_requests: List["LeaveRequest"] = Relationship(
        back_populates="user",
        sa_relationship_kwargs={"foreign_keys": "[LeaveRequest.user_id]"}
    )
    approved_leave_requests: List["LeaveRequest"] = Relationship(
        back_populates="approved_user",
        sa_relationship_kwargs={
            "foreign_keys": "[LeaveRequest.approved_by]",
            "primaryjoin": "User.id == LeaveRequest.approved_by"
        }
    )
    # ... other relationships ...

This approach clearly defines which foreign key should be used for each relationship, resolving the ambiguity for SQLAlchemy.
Key Points:
Use sa_relationship_kwargs to specify foreign_keys and primaryjoin when needed.
Define these on the "many" side of a one-to-many relationship (usually the referenced model).
Ensure that the back_populates attributes match on both sides of the relationship.
By following this pattern, you can establish multiple relationships between the same tables without encountering the AmbiguousForeignKeysError.

Just use
class Account(SQLModel, table=True):
    ...other fields
    account_from_transactions: List["Transaction"] = Relationship(
        back_populates="from_account",
        sa_relationship_kwargs={"foreign_keys": "Transaction.from_account_id"},
    )
    account_to_transactions: List[""]"] = Relationship(
        back_populates="to_account",
        sa_relationship_kwargs={"foreign_keys": "Transaction.to_account_id"},
    )

class Transaction(SQLModel, table=True):
    ...other fields
    from_account_id: int = Field( nullable=False, foreign_key="account.id")
    to_account_id: int = Field(nullable=False, foreign_key="account.id")

    from_account: Acount = Relationship(
        back_populates="account_from_transactions",
        sa_relationship_kwargs={"foreign_keys": "Transaction.from_account_id"},
    )
    to_account: Acount = Relationship(
        back_populates="account_to_transactions",
        sa_relationship_kwargs={"foreign_keys": "Transaction.to_account_id"},
    )

Hope this will work for you,
I got an another problem
while we list down the Transaction,
How to join the Account for both of the fields
thanks for the answers.


add concurrent student sync, instructor sync, assignment sync. sync students and instructors simultaneously

minor merge conflict merging develop into your branch with imports in lms_sync_service - just resolved it here while I was reviewing the PR

Locking issue occurs when trying to concurrently commit. Probably problematic in other areas as well...

I think I saw a lot of 400s elsewhere in user exceptiosns and wanted to make it consistent, but honestly 409 is probably more appropriate. I need to review our 400 vs 409 usage a bit more thoroughly, since although interchangeable don’t serve the same purpose semantically
Get Outlook for iOShttps://aka.ms/o0ukef

From: Tyler Cheek @.>
Sent: Friday, August 30, 2024 1:49:03 PM
To: helxplatform/eduhelx-grader-api @.>
Cc: Roupe, Griffin @.>; Author @.>
Subject: Re: [helxplatform/eduhelx-grader-api] add concurrent student sync, instructor sync, assignment sync. sync students and instructors simultaneously (PR #77)
@Hoid commented on this pull request.

In app/core/exceptions/user.pyhttps://github.com/helxplatform/eduhelx-grader-api/pull/77#discussion_r1739197155:

@@ -1,7 +1,7 @@
from .base import CustomException

class UserAlreadyExistsException(CustomException):

code = 409

code = 400

I prefer using 409 here, but if you want to change it to 400 I think that's fine we should just delineate between UserAlreadyExistsException and DataConflictException or something like that. The DataConflictException would be the one that returns 409 and would be returned if the client tries to change a resource in a way that's incompatible, such as updating a submission to be open before the published date, or once we have a job queue, I think it'd be useful to return a 409 if the client tries to submit another request for a job where one is already in the queue (and only one is allowed at a time).
But my vote is just to do all of the above and also keep this to be a 409 because a UserAlreadyExistsException to me feels like a subclass of the DataConflictException.
—
Reply to this email directly, view it on GitHubhttps://github.com/helxplatform/eduhelx-grader-api/pull/77#pullrequestreview-2273184776, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHRKQOOSABKDK26IETZCNYLZUCWA7AVCNFSM6AAAAABNGMDUFSVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDENZTGE4DINZXGY.
You are receiving this because you authored the thread.Message ID: @.***>

Locking issue occurs when trying to concurrently commit. Probably problematic in other areas as well...
PushRejected Error: exit status 1 - remote: * Checking 1 references
remote: Checked 1 references in total
remote: error: cannot lock ref 'refs/heads/main': is at 3aa5591dad0c73aac749626ed3c43afbca3b009e but expected 681fd19ebb8bb9537b422392da852aac4551a8b1
To /data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git
 ! [remote rejected] e87bd1bafa82b74df42f25b36e6aec35667fc598 -> main (failed to update ref)
error: failed to push some refs to '/data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git'
 - remote: * Checking 1 references
remote: Checked 1 references in total
remote: error: cannot lock ref 'refs/heads/main': is at 3aa5591dad0c73aac749626ed3c43afbca3b009e but expected 681fd19ebb8bb9537b422392da852aac4551a8b1
To /data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git
 ! [remote rejected] e87bd1bafa82b74df42f25b36e6aec35667fc598 -> main (failed to update ref)
error: failed to push some refs to '/data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git'
: remote: * Checking 1 references
remote: Checked 1 references in total
remote: error: cannot lock ref 'refs/heads/main': is at 3aa5591dad0c73aac749626ed3c43afbca3b009e but expected 681fd19ebb8bb9537b422392da852aac4551a8b1
To /data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git
 ! [remote rejected] e87bd1bafa82b74df42f25b36e6aec35667fc598 -> main (failed to update ref)
error: failed to push some refs to '/data/git/gitea-repositories/eduhelx_spring_2024-dev-instructors/eduhelx_spring_2024-dev-class-master-repo.git'

Is this locking issue still happening?

Is this locking issue still happening?

Since we're batching our repo modifications into a single commit there should be no locking anymore.


internal/document: include natively support for frontmatter

This change includes native support for frontmatter in document.Document. It consolidates operations on frontmatter and encapsulates the details behind Document's API.
It's a prep work for the refactoring of how the idea of projects is implemented.
Testing

[ ] Verify if there is no breaking change, or the breaking change is accepted, in terms of parsing and serializing frontmatter.

Todo

[ ] Most of the tests from editorservice/service_test.go should be moved to editor_test.go. From the editorservice perspective, they only test proper passing of parserv1.DeserializeRequestOptions, but their content validates editor.Deserialize()'s logic.

Thanks @adambabik. @pastuxso if you want to take a first review pass. I'll go over it as well.

Looked over the code which looks 👍 . However, I want to do a bit more integration testing (next 24h) before approving for merge.

It's a prep work for the refactoring of how the idea of projects is implemented.

Could you share more something about this idea? looks like related to its architecture, it will be very helpful to me :wink:.

It's a prep work for the refactoring of how the idea of projects is implemented.

Could you share more something about this idea? looks like related to its architecture, it will be very helpful to me 😉.

It's a pre-cursor to the pre-cursor (some recursion) to be able to have Project-mode (read blog https://runme.dev/blog/tasks-over-files-in-runme-cli) in other places that is not just the CLI. The plan is to move it into the gRPC layer so that the CLI and different parts (explorer, tasks) of the extension can use a unified API. Turns out there's a lot of coupling to undo for that to be viable, @pastuxso.

It's a prep work for the refactoring of how the idea of projects is implemented.

Could you share more something about this idea? looks like related to its architecture, it will be very helpful to me 😉.

@sourishkrout explained it well in https://github.com/stateful/runme/pull/431#issuecomment-1819358423. Overall, this change is not necessarily fixing any big coupling between the projects implementation and the rest of the program, just a small one, but more is coming.
The steps are as follows:

Get https://github.com/stateful/runme/pull/433 merged which brings internal/project into the CLI; unused for now.
Implement the projects gRPC service based on internal/project.
Validate the service in the extension.
Replace pkg/project usage in the CLI with internal/project.
Expose only necessary details of internal/project in pkg/project, so that the CLI, service, and other programs depending on runme use the same logic.


Where ends my virtual EEPROM? Where starts my sketch?

Hi everybody,
 now in my project I want to store lots of configuration data, and my sketch iv very big.

So...I am very scared....because I don't know if my configuration overwrite the code or if the code overwrite configuration data.
Are there struments to check it?!?
Thanks

You can perform an assembly dump of your compiled sketch to see where your sketch begins and ends.  If you are using the Arduino IDE with your Due:

Find your ARM compiler folder.  For me on Win10x64, this was located at "C:\Users{MyUserName}\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/".

Find the temp folder where the IDE places your compiled sketch.  This will be a path with a big long hex number in it, and it can be found by looking at the stream of command lines in the compiler output window.  For the sketch I am currently working on, this is located at "C:\Users{MyUserName}\AppData\Local\Temp\build18d60ba4755531006dd9df0e89f991f0.tmp".

Open a command prompt in the temp folder found in step 2.  In Win10, this can be done by navigating to the folder in File Explorer, and then shift-right-clicking the window background and choosing the "Open Command Prompt Here" option.

Construct a command line to dump the assembly listing from the path found in step 1 and the name of your sketch, and run it in the command prompt window.
Example (all on one line):
"C:\Users\{MyUserName}\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-objdump" -S MySketch.ino.elf > MySketch.asm
You may want to save this command line for later use.  It should stay the same for the lifetime of your sketch.

Open the resulting .asm file in your favorite text editor.  From there you can see the addresses where your compiled program will be located when uploaded in the leftmost 8 columns.

80000 is the start of flash. fffff is the end of flash.  By default, the library starts writing at c0000,  At the end, you will see locations starting with 20070000, that gets placed in RAM on load.
You can learn a LOT by studying your assembly listing.  It tries its best to match up your source code to the assembly instructions generated, but it won't be 100% perfect.

Hi,
I am posting this question to understand how do we decide the address of the location 0 if we use this library.
If the address of flash starts from 80000, if we read the location dueflashstorage.read(0), which address location does it read from? And it it points to 80000, then this location would have the first instruction of the loaded program.
Regards,
P

Question answered. Closing.


How to Grant Permissions?

i have written
.possiblePermissions(new String[]{Manifest.permission.CALL_PHONE, Manifest.permission.READ_SMS})                         .neededPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.READ_EXTERNAL_STORAGE})
Now when i click Grant Permission the snackbar says please grant needed permission
How should i do that ?

It only manages to get the  that is passed in String[]

Have you solved your problem?


Weird type mismatch

I don't know which (unsigned/signed) you want to use, but it seems that the types don't agree and couldn't compile without making these changes. Using Devuan (wlroots 0.15 from debian expiremental).

Thanks for the PR, it seems the wlroots version I was developing against had (at least) one additional commit compared to Debian experimental: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/92d137c78ac05b565bfa06b5659aea52992e0dd7


allow overriding wizards

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)
Closes #2470

/retest


make stub building opt-in

https://github.com/christopher-hesse/blobfile/blob/master/setup.py#L67 should be hidden behind some env var or similar to avoid users accidentally running that

This only affects pip install not pip install -e.


fix: version testing title

:tada: This PR is included in version 1.37.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Compared to the official whisper, the accuracy of the GUI is reduced

Which OS are you using?

OS: [e.g. iOS or Windows.. If you are using Google Colab, just Colab.]
Linux Ubuntu Cude

The same file has much higher accuracy with the official version, is this related to the modified version of whisper?

Hi, I've just compared whisper and faster-whisper using some samples, but they produced the same results.
Could you provide more information to reproduce? For example, samples you used ( such as YouTube URLs ) and  which model you used.

This might be related to #123, which involved using the wrong version of pytorch, but it was fixed in #124.
If you encounter a similar issue again, please feel free to re-open!


Dynamic formatter configuration broken (v0.36)

I define my formatters dynamically in my Rakefile to get different output when the check runs on a developer machine vs. a build machine.
This used to work in v0.35.1:
RuboCop::RakeTask.new(:rubocop) do |t|
  t.formatters = %w(files)
  t.formatters << %w(html --out build/rubocop/rubocop.html)
end

And with v0.36 is fails with an error:
$ bundle exec rake rubocop
Running RuboCop...
no implicit conversion of Array into String
C:/Ruby/lib/ruby/2.2.0/optparse.rb:378:in `match'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:378:in `parse_arg'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:531:in `parse'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1395:in `block in parse_in_order'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1383:in `catch'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1383:in `parse_in_order'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1377:in `order!'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1469:in `permute!'
C:/Ruby/lib/ruby/2.2.0/optparse.rb:1491:in `parse!'
C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.36.0/lib/rubocop/options.rb:18:in `parse'
C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.36.0/lib/rubocop/cli.rb:24:in `run'
...

I added some debug output before options.rb:18 (puts args.inspect):
["--format", "files", "--format", ["html", "--out", "build/rubocop/rubocop.html"]]

t.formatters is an array of strings, not an array of arrays of strings.
You can use t.formatters.concat(%w(html --out build/rubocop/rubocop.html)).
Maintainers, please close.

Maintainers, please do not close.
@alexdowad The problem with concat is that rubocop prepends --format in front of every array element.
RuboCop::RakeTask.new(:rubocop) do |t|
  puts RuboCop::Version.version
  t.formatters = %w(files)
  t.formatters.concat(%w(html --out build/rubocop/rubocop.html))
end

rubocop v0.36:
$ bundle exec rake rubocop
0.36.0
Running RuboCop...
["--format", "files", "--format", "html", "--format", "--out", "--format", "build/rubocop/rubocop.html"]
No formatter for "--out"
C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.36.0/lib/rubocop/formatter/formatter_set.rb:84:in `builtin_formatter_class'
C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.36.0/lib/rubocop/formatter/formatter_set.rb:56:in `add_formatter'
...

rubocop v0.35.1:
$ bundle exec rake rubocop
0.35.1
Running RuboCop...
["--format", "files", "--format", "html", "--format", "--out", "--format", "build/rubocop/rubocop.html"]
No formatter for "--out"
C:/Ruby/lib/ruby/gems/2.2.0/gems/rubocop-0.35.1/lib/rubocop/formatter/formatter_set.rb:93:in `builtin_formatter_class'
...

@alexdowad The problem with concat is that rubocop prepends --format in front of every array element.

OK. Thank you for pointing this out. In that case, you can use t.options instead.
t.formatters is just a shortcut for adding strings with --format prepended to options. It is intended to receive an array of strings, each of which is a formatter name.

@agross Is your problem resolved?

@alexdowad I'm waiting for feedback of the maintainers. I'd like to learn how they think about my approach that was valid for 0.35.1, but broke in 0.36.

Here's what I think. The --format and --out options are closely tied together, so it's better if we can support @agross's way of defining the options the way it worked in v0.35.1. This should also be documented in the README.
We need to revert the change of this line.

Sure, that's cool.

Thank you!


[AIRFLOW-309] Add requirements of dependencies to docs

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-309

Per Apache guidelines you need to create a Jira issue.
This is just a simple document fix, so no additional tests are required.

[Current coverage][cc-pull] is 64.24%

Merging [#1647][cc-pull] into [master][cc-base-branch] will increase coverage by 0.01%

@@             master      #1647   diff @@
==========================================
  Files           122        122
  Lines          8562       8562
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           5500       5501     +1
+ Misses         3062       3061     -1
  Partials          0          0

Powered by Codecov. Last updated by [c08b022...411124f][cc-compare]
[cc-base-branch]: https://codecov.io/gh/apache/incubator-airflow/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/apache/incubator-airflow/compare/c08b02229cae32fc4f325332be83f927eb7da476...411124fd72b2267c1e84fe99f90a341d3a8b059c
[cc-pull]: https://codecov.io/gh/apache/incubator-airflow/pull/1647?src=pr


Improve Platform MessagePool support.

Platform message pool support is designed to allow OpenThread the option of operating with a message pool that is owned and managed by the platform.  This can be useful when multi-threaded systems need to allocate messages or when the system desires to allocate messages dynamically (heap) rather than from a static pool.

With this change the static message pool can be completely removed from OpenThread in favor of a platform defined pool. The variable counter of free messages is no longer passed from OpenThread to the platform.

 Last update 02712ff...84de3a9


📝 Docs: README.md package.json link hardcodes v9 (Legacy)

https://github.com/TechNickAI/package.json-validator/blob/8d382f6b18e21503c22867fe241899ae1478dae8/README.md?plain=1#L8
v9 / https://docs.npmjs.com/cli/v9/configuring-npm/package-json is old. The README.md should point to https://docs.npmjs.com/cli/configuring-npm/package-json, so the current/latest version number is added automatically on the npmjs side.

Fixed in #666791a46c53301cbb22933e9d094e139f64aecb.


Fixed bug #48 - cannot mock an array

When registering a module, uses define(name, deps, callback) instead of define(name, callback).
This allows one to mock a module returning an array.
Indeed, if an array is passed as the second parameter, Require will assume it references dependencies and  will try to load them.

Can't you just use Squire.helpers.returns(myMockArray)?


Trailing white spaces after variable names are not stripped

Minimal example:
LOD #1
STO X
HLT
If there is a space after the variable name 'X ' it is interpreted as a new variable

.

This issue has been solved in the new version available here.
Thank you


Distributed sessions: Keep track of modified attributes using a hashcode

Current Behavior:
Each session keep track of the accessed attributes and only saves to the Datastore those attributes.
New behavior:
The session would keep track of the modified attributes using a hashcode.

The hashcode could be stored in the same Datastore entity as the attribute.
The hashcode would be computed during the serialization of the attributes.
Only the attributes with a hashcode which differs from the loaded hashcode would be sent to the Datastore.

There is a potential anomaly that can happen with the new behavior.
Lets say you have two bank accounts A and B, each of which has $100, and the bank requires the combined balance A+B to be greater than zero. Then you initiate two concurrent requests to withdraw $100 from A & B. Each request starts by reading (A = 100, B = 100), and after subtracting 100 from A or B respectively, verifies that the combined balance is greater than 0 before writing back to the database. However, after both transactions write the result back (A = 0, [B=100]) and ([A=100], B=0), the state in the database is (A = 0, B = 0), with the combined balance of $0 in violation of the requirement.
With the current behavior, you would end up with either (A = 100, B = 0) or (A = 0, B = 100), which would not violate the constraint, but would lose one of the withdrawals.
That being said, I'm not sure which is better.


socket test script

It passes unexpectedly for me on my dev machines, but fails on Travis (Ubuntu Precise?) last I checked.

See https://travis-ci.org/luaposix/luaposix/jobs/51387861 : one appears to be passing, but not the other (unless I am misreading the log).


Update sbt-tpolecat to 0.1.16

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.davidgregory084", artifactId = "sbt-tpolecat" } ]

labels: sbt-plugin-update, semver-patch

Superseded by #123.


Fix isFollowed property type of Kusto.ReadWriteDatabaseProperties

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Fixes https://github.com/Azure/azure-rest-api-specs/issues/9450

You don't have permission to trigger SDK Automation.
Please add yourself to Azure group from opensource portal if you are MSFT employee,
or please ask reviewer to add comment *** /openapibot sdkautomation ***.
Please ask<EMAIL_ADDRESS>(or NullMDR in github) for additional help.

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

Can one of the admins verify this patch?

Hi,
@jrauschenbusch - we will use my PR
https://github.com/Azure/azure-rest-api-specs/pull/9500
I will let you know when a new version of GO client will be released.

@NullMDR please review https://github.com/Azure/azure-rest-api-specs/pull/9500 instead


metrics service: fix wrong argument arrange on MetricsServiceSink

Signed-off-by: Shikugawa<EMAIL_ADDRESS>
Commit Message: This is the follow up of this change. https://github.com/envoyproxy/envoy/pull/16125
We are passing arguments invertedly to MetricsServiceSink.
https://github.com/envoyproxy/envoy/blob/main/source/extensions/stat_sinks/metrics_service/grpc_metrics_service_impl.h#L122
Additional Description:
Risk Level: Low
Testing: N/A
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

/wait

/wait


Update to Glimmer

Since Ember Octane was released in 3.15 (11 minor versions ago!), I think it is reasonable to convert the components in this addon to Glimmer components.
While for users in 3.15 and above this shouldn't be a breaking change, it would be for users on order versions, so we might want to bump the version number after this.
Thoughts?

@ronco is this something you'd be ok to merge?

@rwjblue is this something you could merge/release?

@rwjblue I believe it should be good now

we have both a package-lock.json and a yarn.lock. It's probably my fault I run npm install.

Ya, I've fixed that specific issue (moved to using npm only) and finally got CI to run properly again, but need to spend some time to dig into why things are failing to render as expected.
I think it might be due to ec94519 (#94), but I'm not sure.

Yippie!!!

Released in https://github.com/ronco/ember-cli-head/releases/tag/v2.0.0


[Help] How to export the pointcloud

@javieryu Thank you for your work. It meets an issue with exporting the pointcloud. I look forward to your favorable reply.

I have very little experience working with the exporter script. From what I can tell you have at least one obvious problem, and that is that you are using the wrong version of Nerfstudio for NerfBridge. It appears that the line that raises an error is from a more recent version of nerfstudio.
See: https://github.com/nerfstudio-project/nerfstudio/blame/d78af5b5699cb343cb46b5163d464e455524040f/nerfstudio/utils/eval_utils.py#L91
To change to the right version, use the following steps to install nerfstudio:
git clone --recurse-submodules git@github.com:javieryu/nerf_bridge.git
cd nerf_bridge/nerfstudio
pip install -e .

That said, it is possible that the export script will not work regardless of if you change your nerfstudio version. I haven't tested this functionality, and my guess is that it would likely require modifying the exporter.py script in nerfstudio.

Thanks for your reply.

@DapengFeng Have you been able to export the mesh or pointcloud using the ROS1 or ROS2 version of the nerfbridge


Drawer closes when I click on a button inside it

Describe the bug
I have a Drawer with multiple buttons inside it. None of them are programmed to close the drawer but when I click on any of them the drawer closes.
Reproduction
Here's my code (+page.svelte):
<Drawer.Root bind:open={$isDrawerOpen}>
	<Player {musics} {length} cover={album.cover} {raf} />
</Drawer.Root>

And the child component that contains the drawer content (player.svelte):
<Drawer.Portal>
	<Drawer.Overlay class="fixed inset-0 bg-black/40" />
	<Drawer.Content
		class="hidden md:grid bodrer-t-gray-5 fixed bottom-0 left-0 right-0 grid grid-cols-[2fr_2fr_5fr_1fr] items-center justify-between gap-4 rounded-t-md border-t bg-gray-1 px-4 py-6"
	>
		<div class="flex items-center gap-2">
			<Button
				intent="ghost"
				size="icon"
				on:click={() => prevTrack(musics, length)}
			>
				<SkipBack />
			</Button>
			<Button
				intent="primary"
				rounded="full"
				size="icon"
				on:click={() => playPauseTrack(raf)}
				disabled={$isLoading}
			>
				{#if $isLoading}
					<Loader2Icon class="animate-spin" />
				{:else if $isPlaying}
					<Pause />
				{:else}
					<Play />
				{/if}
			</Button>
			<Button
				intent="ghost"
				size="icon"
				on:click={() => nextTrack(musics, length)}
			>
				<SkipForward />
			</Button>
			<Button intent="ghost" size="icon">
				<Heart />
			</Button>
		</div>
	</Drawer.Content>
</Drawer.Portal>

None of the buttons change the value of $isDrawerOpen so I don't understand why it still closes the drawer.
Logs
No response
System Info
System:
    OS: Linux 6.6 Ubuntu 23.10 23.10 (Mantic Minotaur)
    CPU: (12) x64 12th Gen Intel(R) Core(TM) i7-1255U
    Memory: 4.68 GB / 15.33 GB
    Container: Yes
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.10.0 - /usr/local/bin/node
    npm: 10.2.5 - /usr/local/bin/npm
    pnpm: 8.13.1 - /usr/local/bin/pnpm
  Browsers:
    Chrome: 120.0.6099.109
  npmPackages:
    @sveltejs/kit: ^2.0.0 => 2.5.1
    bits-ui: ^0.19.7 => 0.19.7
    svelte: 4.2.12 => 4.2.12
    typescript: ^5.0.0 => 5.3.3
    vaul-svelte: ^0.3.0 => 0.3.0

Severity
annoyance

try to add high z-index to the div wraper of the button

It's possible the drawer thinks it is getting "dragged" enough and triggers the close.  You could also try adding the [data-vaul-no-drag] attribute to the buttons and see if that helps.


Is there any method to make DCN run on CPU?

Hi @mao-jy
Currently, there is no efficient CPU implementation of DCN. But community contribution is always welcomed!

Hi @mao-jy
Currently, there is no efficient CPU implementation of DCN. But community contribution is always welcomed!

Thanks for your answer!


ngStorage.js:193     Uncaught TypeError: Cannot read property 'slice' of null

If ideal so much time (>5 minutes) then open another tab of any link in navbar then another tab is coming blank and previous tab in terminal that is exception throught.

Also if current browser (crome) ideal more then 5 minutes then refresh current tab also coming blank

if (storageKeyPrefix === event.key.slice(0, prefixLength)) {
$window.addEventListener && $window.addEventListener('storage', function(event) {
if (storageKeyPrefix === event.key.slice(0, prefixLength)) {
event.newValue ? $storage[event.key.slice(prefixLength)] = deserializer(event.newValue) : delete $storage[event.key.slice(prefixLength)];
                    _last$storage = angular.copy($storage);

                    $rootScope.$apply();
                }
            });

Should be fixed in https://github.com/gsklee/ngStorage/commit/d6daf6bd8305971fe056c0009eb542a5fb2eeff5


are the same tensorflow serving .pb file  with frozen graph .pb file

This template is for miscellaneous issues not covered by the other issue categories.
For questions on how to work with TensorFlow, or support for problems that are not verified bugs in TensorFlow, please go to StackOverflow.
If you are reporting a vulnerability, please use the dedicated reporting process.
For high-level discussions about TensorFlow, please post to<EMAIL_ADDRESS>for questions about the development or internal workings of TensorFlow, or if you would like to know how to contribute to TensorFlow, please post to<EMAIL_ADDRESS>

@Muhammad333 It looks like you haven't used a template to create this issue. Please resubmit your issue using a template from here. We ask users to use the template because it reduces overall time to resolve a new issue by avoiding extra communication to get to the root of the issue. We will close this issue in lieu of the new one you will create from the template. Thank you for your cooperation.


Cache headers

Is there any reasonable way to return and handle HTTP caching headers like Expires, Last-Modified, If-Modified-Since?
I could override part of controller method like here: https://devcenter.heroku.com/articles/http-caching-ruby-rails#stale but I would call for resource twice if cache was missed.
Thoughts, ideas?

:+1: Would love to see this handled automatically by JR since it's so knowledgeable about the data being loaded, it could probably figure out the caching details without much assistance

The tricky part is included resources; if any of them change, then the response as a whole is cache-invalidated. Therefore we have to get at least as far as resolving all included associations before we can determine if the client is already up to date.

It's possible that if they have touching enabled that you don't have to load everything though

Hey everyone, just stumbled on this as I'm looking to get it going in a project of mine.
I think all the relevant information should be available, it's just a question of how to get at it.
I think there's a few quick wins we could handle this for to get quick wins as we figure it all out:

Calls with no included resources
Calls where everything is a cache hit using the caching based into jsonapi-resources
Making it an opt-in feature with the caveat that included resources need to touch the resource they're included in (I think this is a fairly standard caveat in rails caching)

Of course, we might find that in the process of getting those working, we actually have everything we need to do it across the board, and that's even better.
Is there a single code path that both requested and included resources pass through that would make sense to collect "most recent updated_at"? Of course, as I say that, we probably can't assume updated_at, we need to pull in cache_field

+1. This would be an amazing feature in the gem.

Also would love this feature, or even an example for how to set cache headers for all controllers.