Export to Import failing on several legacy applications

error reading slug response: malformed HTTP version "Detected" or error reading slug response: malformed HTTP status code "environment" are the results.
debug-info:

https://gist.github.com/99c069f7e7bbd01bc9d4c53bc2c2fcc7
https://gist.github.com/2ca1f86aad523821d14d27cd9cacb708
https://gist.github.com/4286df34b9d2c0dd16927501056883cc
https://gist.github.com/1978e33091413f445b487354d13dc495
https://gist.github.com/90a43769c6315a2d1ff04f6ac9024257

I suspect this is due to the deprecated Cmd / Entrypoint change (looks like a slug is being built rather than downloading a slug).
Investigating.

@temujin9 what version of the Flynn CLI are you using to do the import / export (flynn version), and what is the cluster version you are exporting from?

Flynn CLI version: v20160830.0
Flynn cluster versions: v20160827.0 and v20160830.0 (this has shown up on two clusters, now)

Sorry for introducing ambiguity: the debug info is from the v20160830.0 cluster.

Issue is ongoing with a v20160906.0 source cluster, v20160907.0 sink cluster and v20160907.0 flynn binary.

@temujin9 sorry for the slow response on this one.
So from the error you are getting (i.e. error reading slug response: ...), I assume this is an error you are getting running flynn export? If so, could you perhaps gist the output of flynn release show --json?
Also, are you using external blobstore storage (e.g. S3)?

I am not using external blobstore.
I thought that error was from the import, but sure enough it is the export.
{
  "id": "a3df1545-cfa0-47d8-b1bd-62362a366b14",
  "artifacts": [
    "356f806b-8fb7-4997-9966-375e1f1a6781",
    "926deb6f-dd33-4bdb-8458-2943b5d97d40"
  ],
  "env": {
    "FLYNN_APP_NAME": "firebird-teamcity-radiator",
    "FLYNN_APP_SCOPE": "firebird",
    "FLYNN_CLUSTER_NAME": "flynn-ci-us-east-1",
    "FLYNN_NEXUS_REGION": "us-east-1",
    "FLYNN_NEXUS_UNIVERSE": "ci",
    "SLUG_URL": "http://blobstore.discoverd/91888de0-2a4c-4edd-a3f7-bf68ff2c23fa.tgz"
  },
  "meta": {
    "git": "true"
  },
  "processes": {
    "web": {
      "args": [
        "/runner/init",
        "start",
        "web"
      ],
      "ports": [
        {
          "port": 8080,
          "proto": "tcp",
          "service": {
            "name": "firebird-teamcity-radiator-web",
            "create": true,
            "check": {
              "type": "tcp"
            }
          }
        }
      ],
      "resources": {
        "cpu": {
          "request": 1000,
          "limit": 1000
        },
        "max_fd": {
          "request": 10000,
          "limit": 10000
        },
        "memory": {
          "request":<PHONE_NUMBER>,
          "limit":<PHONE_NUMBER>
        }
      },
      "cmd": [
        "start",
        "web"
      ],
      "entrypoint": [
        "/runner/init"
      ]
    }
  },
  "created_at": "2016-06-22T20:41:47.058458Z",
  "artifact": "356f806b-8fb7-4997-9966-375e1f1a6781"
}                                                                                ```

(Additionally, the export hangs for a long time after that, and refuses to die with Ctrl-C, only dying when I background and kill -9 it.)

Ok thanks, can you also run this:
$ flynn -a controller pg psql -- -c "SELECT uri FROM artifacts WHERE artifact_id = '926deb6f-dd33-4bdb-8458-2943b5d97d40'"

Sorry for the delay.
                                   uri
--------------------------------------------------------------------------
 http://blobstore.discoverd/52803ee1-b210-4203-b01e-9158f51cb434/slug.tgz
(1 row)

Import & export is the currently the best way to work around the root cause of #3413 in the short term, making this a higher priority.

@temujin9 ok, so does that slug exist? Try running:
$ flynn run curl -s -o /dev/null -w '%{http_code}\n' http://blobstore.discoverd/52803ee1-b210-4203-b01e-9158f51cb434/slug.tgz

It should print 200.

Yep, it did:
Detected 512 MB available memory, 512 MB limit per process (WEB_MEMORY)
Recommending WEB_CONCURRENCY=1
200

@temujin9 aha! That output before the 200 is what is causing the issue, I assume this is a Nodejs app?

So to get this app to export, you should unset the LOG_CONCURRENCY environment variable and then try running the export again.
I'll come up with a proper fix.

LOG_CONCURRENCY is not set (per flynn env).

@temujin9 how about flynn env -t web? I am working on a proper patch now anyway.

FLYNN_APP_NAME=firebird-teamcity-radiator
FLYNN_APP_SCOPE=firebird
FLYNN_CLUSTER_NAME=flynn-ci-us-east-1
FLYNN_NEXUS_REGION=us-east-1
FLYNN_NEXUS_UNIVERSE=ci
SLUG_URL=http://blobstore.discoverd/91888de0-2a4c-4edd-a3f7-bf68ff2c23fa.tgz

(Those FLYNN_ are our internal info.)

What if I explicitly set LOG_CONCURRENCY=false?

@temujin9 I suspect the app in question was built using an old version of the Nodejs buildpack which just prints those lines regardless of LOG_CONCURRENCY (i.e. before this commit).
I have proposed a fix in #3419, are you able to wait until that is released, restore to a new cluster and then do the export? If not I can write a program which will export the legacy app.

@temujin9 fixed merged in #3419, should make it into a release tonight.

Wonderful, thanks!

That fixed it; thanks again.

This is back, as of v20161115.0.

Correction: it is back as of v20161102.0. I forgot the problem was in the exporting cluster.

@temujin9 what version of the CLI did you use to create the export? Are you getting exactly the same errors?

CLI version is automatically updated, so it was probably v20161115.0 at the time.

@temujin9 fixed (again) in #3703.


Linter-gcc not working / not even displaying messages in console

Checklist

[x] Check that you have the GNU C Compiler installed by typing gcc --version into a terminal.
[x] If you don't have the linter package installed, either update to the latest version of linter-gcc or install linter directly with apm install linter.
[x] Ensure that you are using a valid grammar - either C/C++/C++14
[x] Ensure that you have read all the relevant information in the wiki, particularly the Common Issues page.

Issue (including debugging messages):
Hey,
I have installed the latest versions of linter, linter-ui-default and linter-gcc. I am using:
Atom    : 1.34.0
Electron: 3.1.1
Chrome  : 66.0.3359.181
Node    : 10.2.0

I have also installed the latest gcc-compiler extension to enable me to compile c++ programs within atom. When I compile my C++ programs, which I have purposefully ridden with a bunch of errors, the linter shows no errors. The linter simply does nothing.
I have checked show debugging messages, and there are no messages regarding linter or linter-gcc in the developer console.
I do however repeatedly get this warning in the console:
fs.js:958 (electron) The 'lstatSyncNoException' function has been deprecated and marked for removal.
whenever I perform pretty much any action in atom, however, this may not be related at all, as this warning is displayed regardless of whether or not linter and linter-gcc is installed.
I would greatly appreciate it if you could help me out with this, as I find this to be a great package.

Did you end up figuring out what was wrong? I seem to be having the same issue

I suggest you switch to a previous version of Linter-gcc, at least until the release version is fixed,
There is a fork at this url, https://github.com/tvincent056/linter-gcc2, got pretty much all the current features but quite slower than the release.


Format for library extensions

One of the items in the current readme is Improved support for Library extensions. Apologies if I've missed this in the existing docs anywhere, but is there a current preferred method for publishing these libraries?
To clarify, this is not a set of functions which form a Data Connector, but instead a group of general use functions designed to extend the standard M Library (for use within data connectors and queries). At the moment I'm wrapping these in a query which returns a record, with each item mapped to the published functions (see https://github.com/acaprojects/m-tools). Is there an alternative preferred method?

Hey!
Sorry for the late reply on this. My name is Miguel Escobar and I'm a new Product Manager for the Power Query SDK.
We completely understand the use case, but at the moment we don't have way to distribute these sorts of extensions.
Nevertheless, we highly recommend that you post your idea on the official Power BI ideas site.
Thanks!


Convert tuples from *args into lists in schemas

Closes #427

Codecov Report

Merging #431 (ef49993) into main (e0008e9) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #431   +/-   ##
=======================================
  Coverage   95.50%   95.50%
=======================================
  Files          90       90
  Lines       10735    10735
  Branches       10       10
=======================================
  Hits        10252    10252
  Misses        482      482
  Partials        1        1

Impacted Files
Coverage Δ

pydantic_core/core_schema.py
99.32% <100.00%> (ø)

Continue to review full report in Codecov by Sentry.

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

@samuelcolvin is there a good reason to use list instead of tuple as the types of these fields? I'm fine either way (as long as these utility functions produce something compatible).
If there's no good reason to change the annotation from list[T] to tuple[T, ...] in the definitions of these types, I'm in favor of merging this.

Might be more performant to change the annotations and validators to except a tuple, that way there's no conversion required.

@samuelcolvin is there a good reason to use list instead of tuple as the types of these fields? I'm fine either way (as long as these utility functions produce something compatible).
If there's no good reason to change the annotation from list[T] to tuple[T, ...] in these various CoreSchema TypedDict subclasses, I'm in favor of merging this.

just seen this, almost certainly not.

This is in schema generation, I don’t think the performance hit is a big deal.
I think lists are more universal than tuples across language boundaries. Tuples can be a bit weird at least type system wise with their ability to be positional or varadic. They’re also easier to grok if just printed out, for me at least.
either way, we should pick one, no point in mixing them in our schema.

performance of generating schema still matters a bit. On balance I'd rather use tuples consistently in pydantic core schema, mostly to avoid converting back and fourth like this.

(to be clear, this is low priority for me, but if we're changing it, we should change it to be right)

I mean it’s your call but I think if we’re worrying about the cost of converting tuples to lists we’re definitely over optimizing.

in the specific case of union_schema, it looks like pydantic starts with a list, then *args converts it to a tuple, then this code converts it back to a list.
I think the correct solution is probably to change the signature of union_schema to take a last as an argument.

If that’s how it’s mostly used that does seem like a good idea. But again I think converting between these two is quite performant to the point where it might be insignificant in comparison to all the other things we do (including reflection) during schema building. I would worry more about the other pros/cons here.

please review


Deploy secrets on new kubernetes cluster

Deploy the secrets on the new cluster before deploying the satellite distribution of identifiers.org

Done


Provides XPathContext to extend the query capabilities of XPath

Fixes #144
I've been looking for ways to extend xpath query capabilities, and I think it's very necessary.
I raised this question at the beginning of last year. But I'm sorry, this solution comes too late.
Some classes was first released in Dawnx library, I improved it to make it easier to use, and it is now available to HAP under the MIT License.

Hello @zmjack ,
Your current code cause some problem with licensing.
The code is taken from Dawnx with is Apache 2.0: https://github.com/zmjack/Dawnx/blob/master/LICENSE.md

OK, I re-uploaded and renewed its license.
Before that, the version on github was not the latest.
Now, it's using the MIT license.


Fix typo in descending sort order example

looks like in liquid the correct parameter to reverse sort on a for loop is reversed, not reverse. Added the errant D.

Appreciate it! This was also reported and merged in https://github.com/11ty/11ty-website/pull/1001


MM-36942: Set focus on textarea when Edit is clicked

Summary
When the Edit button is clicked in the Retrospective tab of a playbook, the respective textarea will be focused
Ticket Link
Fixes #18510
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

Thanks for participating in Hacktoberfest! You can claim your sticker set here: https://get.printfection.com/hacktober21/4144583267 @b4sen


(HIGH PRIORITY) 3D Object Tracking

We need 3D object tracks to send to world modelling
Potential Implementation:
https://github.com/ZHOUYI1023/awesome-radar-perception?tab=readme-ov-file#Velocity-Estimation
June 13 2024

Have tracked objects working in Nuscenes!
Working on integrating actual detections from the perceptions pipeline (blocked by 2D to 3D(

June 27 (Skipped a week for midterms)

Steven's node not working properly
Kishore reimplemented AB3DMOT in a new ROS node which functions properly with synthetic data? Still need to test with nuscenes?

July 4

Outputs look good
Can't integrate with 2D to 3D yet since it doesn't build but we need the node for the specific message type
Building the visualizer node locally
Integrate into a pipeline soon and do e2e testing

July 11 2024

CAM bag was recorded for testing 2D to 3D
We need to record a bag for CAM to get 2D detection arrays for testing 3D DET node
Visualizer will be done in the next few days
Will be wrapped up soon!

July 25 2024

Core node is done just needs to be tested

Tasks in progress for 3D Tracking:
Record ros bag of 2D to 3D converter
Create visuals with opencv
Test tracking with visuals on ros bag

Meshva's Ros bag was unavailable so testing was put on hold
New ros bag recording was put on hold because of an error with QoS profiles (fixed
A new ros bag with 2d detections will be recorded by EOD today
Build error with Meshva's 2d to 3d node (dependency issue as of now)
3D markers are currently not working directly with foxglove
Attempting to use the message converter extension shown here: https://foxglove.dev/blog/using-message-converters-to-display-3d-markers-in-foxglove-studio to display 3D markers

2d to 3d node needs more attention or we need to switch to monocular depth estimation instead
3D bounding boxes aren't being draw accurately
Converted nuscenes data set to ros bag instead to continue testing of tracking node
Working on creating a config for processing nuscenes data
Will be using visualization_msgs/msg/MarkerArray as the message type to visualize 3d tracks in foxglove

Need to play around with transforms and adjust accordingly to visualize 3d bounding detections with 2d_3d node
3D bounding boxes are now drawn using visualization_msgs/msg/MarkerArray with Nuscenes data set
Node has been configured to handle nuscenes data for tracking out
Need to work with transforms from map view to base link as tracked objects are appearing as stationary in some cases
Should also implement an option to track with OpenCV rather than nuscenes and publish the annotated image


transpiler returns dag

When transpiler() is called with a pass manager, the "new way" is used. This PR, under this new way, makes transpiler to return the tuple (dag, propertyset), where dag is the last transformed dag (which is not necessarily the same as the dag used in the parameter, because #897) and propertyset is the last state of the property set.
Fixes #1068

I think we should hold off on returning property_set until we can have a mechanism for including the properties inside qobj. Right now it just gets ignored.
This would require more thought, and I would rather just have a 2-line fix that closes #1068 for now.
The reason is that in reality, a Qobj can be built just from the dag (i.e. none of the required fields of qobj correspond to property_set items, such as layers or layout). But including them in the Qobj header may be useful. But we would need a mechanism to ensure that the property_set is up-to-date with the latest dag transformations, and that all versions of mapper pass update such property sets.

Title changed. PR only returns the DAG.


Add support for Configs

https://docs.docker.com/engine/api/v1.31/#tag/Config
API looks very similar to secrets

Done, it's in master :)

Will update when published.

Awesome. Thanks for the quick work!

Any thoughts on when this will be published?

Published in v2.5.1


initailize and finalize profiler in MAPL

Initailize and finalize  global profiler in MAPL initialize and finalize
Description

Related Issue

Motivation and Context

How Has This Been Tested?

Types of changes

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

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x ] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

@mathomp4 Would you please test  this PR for me that the issue #1244 can be addressed by this PR?

@mathomp4 , Any special g5_module for me to test if those types and op get freed successfully?

This message " [WARNING] yaksa: 3 leaked handle pool objects" disappears.  So the types are freed at the end


New Note Button Doesn't Generate a Blank Note

Issue Description:
Steps to Reproduce:
Open the notty application.
Click on the "New Note" button.
Write Something on the Note.
Get Back to home.
Open that note and make any change.
Quickly get back to home and create a new note.
Observe that the new note is pre-filled with the content of a created note.
Expected Behavior:
Upon clicking the "New Note" button, a clean and fresh note should be created, ready for the user to input new content.
Actual Behavior:
Instead of getting an empty note, the new note is pre-filled with the content of a note that was created before.
Screenshots:
https://github.com/Dhravya/notty/assets/52105266/b341b719-e7f1-48f7-ad8c-0f42bcb7ad02

hey, thanks for this issue. Can you please check what the ID of the old note and a new note is?
This happens because the new note button counts the current number of notes and add one to it. A new note is automatically created when someone visits /note/ID. but because it did not get the correct number of notes, it's showing the last created note


Datacursor?

Include https://pypi.python.org/pypi/mpldatacursor in plots?

Better thinking about it, I do not find relevant any longer. Can still include it if anyone feels the need for it.


Language Switcher

Language Switcher
Now the website has two languages: Portuguese and English, together with a new language switcher!!

Merging the updates


Disable animation effects

Hi!
I'm building a web application that should be used both on mobile and desktop web browsers.
This application makes use of the ImagePreview and ImageExifOrientation plugins to improve usability.
The issue i encounter is with smartphones; nowadays the camera is always decent and image file sizes are huge, but the cpu performance isn't good enough to keep a smooth experience running.
The combination of image previewing + image sizes from mobile camera's are huge + animations + device rotations .. makes Chrome (test browser) on some (low and mid-range) mobile devices consistently crash. This is not an issue with FilePond per se, but i'd like to make my application as performant as possible because support for low-end smartphones is necessary.
Is there a possibility to disable filepond animations through config planned? I looked into the source but there is no 'set this to false and be done with it'.
Maybe a plugin that dynamically disables animation features when a certain amount of megabytes is exceeded would be cool.
Since i'm also using the POST functionality, would it be a good idea to build a plugin that downloads a matching thumbnail for the recently pushed image and previews that thumbnail? Would this even improve rendering performance / prevent crashes?
At the moment i have disabled the ImagePreview plugin but i'd like to re-enable it again later.
Please let me know what you think, thanks!

Hi,
First, please test this in a blank page with only FilePond running to determine if FilePond is indeed the cause of the crash, which is very much possible I don't want to point fingers. 😊
If so, there are a couple things you could do to determine if a device is "slow":

You can either write a script that measures the performance of the device by running a certain CPU intensive script.

You test features, define a set of features you require the device to have. FilePond does this already but you could make a more precise selection to filter out slow devices.

Detect old webviews by looking at the useragent string.

Unfortunately, it's currently not possible to disable animations. This is on my todo list, as it might be useful for accessibility purposes as well (motion sickness).
So when a slow device is detected you could:

Not load FilePond and fall back to a file input, this best aligns with your goal to support as many devices as possible as there are going to be devices that will be to slow to do GPU animation.

Register the Image Preview plugin conditionally, so only register it when a "fast" device has been detected.

Hi,
Thanks for the quick reply!
I have no evidence from testing that FilePond is the actual issue. The only lead is that crashes happen somewhere within the browse-select-upload-display-repeat flow with device rotations in between.
I understood that it's pretty hard to pinpoint a root cause because of fragmentation of versions/hardware/apps/OEM drivers/etc. within the Android market. I also need to learn more about dissecting performance flame graphs.
Taking your suggestions into consideration I feel like moving into a big grey zone where a matrix of features vs device capabilities determine the experience. This fragmentation is something I'd like to avoid (or at least abstract) because of my lack of skill, mostly.
So currently I'm keeping my situation black/white where I purposely reduce functionality to induce as little problems as possible.
Although a perfectly valid suggestion, falling back to default file input is a step too far. :p
I haven't encountered any other javascript tools which focus on multiple file upload and pluggable architecture the way FilePond does. I'll eventually figure out what to do about the mentioned crashes.
Thanks for working on the project! I really like it.

Thanks @Bert-Proesmans, I very much appreciate the feedback.
Do let me know when you have more info on this, happy to assist.


Add dialog to manage schema templates.

Closes #5280.
To validate the schema templates that are imported by the user, I considered using a JSON schema (like we do for Wikibase manifests). I tried generating the JSON schema automatically from the Java classes using jsonschema-generator but it does not quite work out of the box and has no guarantees to be completely faithful to Jackson deserialization. So I went for a simpler approach of introducing a new command which parses a schema template in the backend, and reports the status to the frontend.
The UI is not beautiful and style changes would be welcome. I did not add support for exporting multiple templates at a time because it would require bundling up in some archive, and that is not something I would want to do generate in the frontend directly.

Thanks a lot for the thorough review!

'Save new...' could just be 'Save...' since you can save new or save existing. (Also update header to 'Save schema template')

That would also work, but I think @lozanaross had some precise thoughts about the naming of this button to distinguish it from the "Save schema" button.
In my opinion, whether "new" is there or not, this might still be a bit unclear for users (even if the button is next to the selection of templates). I think I would need something like "Save current schema as template" to emphasize the relationship to the contents of the schema editor below, but that is quite verbose…

I would pull 'Manage schema templates' out of the 'Save' dialog.

I agree it feels weird to have to go through the Save dialog for that. Would you add it as a button in the schema editor (next to the button that currently says "Save new…")? Or in the extension menu perhaps?

Thank you both for all the comments (note -  still have not seen what this PR does UI-wise - screenshots would be handy).
After running some more user testing sessions last week, I've noticed the following:

People have pretty different mental models of what schema is vs schema template. It gets hairy when we also start thinking about structured data templates vs wikitext templates...
"Save new..." indeed does not work. I agree it should probably be just "Save..." although it's potentially a bit unclear.
I realized that schema templates are not just templates (that is if we agree that something called template is more typically assumed to be "unfilled" - with properties, but no values), they are like what we currently call schemas, but more powerful, because they can contain a mix of filled / unfilled statements, wikitext, and more... So we lose the "usefulness" of schemas alone - i.e. why would a user want to save, import or export a schema, when they can do all that and more with a template which is the same, just more powerful.
The above leads me to think that:

We should bring back one of my earlier designs where I called the button that now says "Save schema" something like "Save progress" or "Save schema progress" because this save can be automatic as well (like auto-save) and the use-case is more about not losing your progress while building a schema for a specific project than saving something that will be transferrable.
For all other needs, users can just use schema templates, and if we call the previous button "progress", then we may even be able to scrap the term "template", why not just call them schemas.
Lastly, what is currently "Import / Export" schema options from the Extensions dropdown is superfluous if we introduce management dialog for schema templates (or just schemas) - I don't see the need to import or export a schema if you can do that for a template, which as stated above is more powerful. We can indeed add the Manage schema templates (or just Manage schemas) dialog as an item accessible directly from the Extensions dropdown, but I have to say users never find that menu intuitive, so it should be there and probably also still in the "Save..." dialog, too. So accessible from two points, may be not in line with other sections of OpenRefine, but would be nice for users.

I will lay this all out in more detail in a report after all user testing is complete this week. But let's also discuss here if the above is unclear.

Thank you both for all the comments (note - still have not seen what this PR does UI-wise - screenshots would be handy).

Here is one (but I would really like to ensure you can try out a PR on your machine, so that you can have the full user experience - let me know if you need help to set this up):

We should bring back one of my earlier designs where I called the button that now says "Save schema" something like "Save progress" or "Save schema progress" because this save can be automatic as well (like auto-save) and the use-case is more about not losing your progress while building a schema for a specific project than saving something that will be transferrable.

Let's leave this for a separate issue since this can be changed independently from this PR.

For all other needs, users can just use schema templates, and if we call the previous button "progress", then we may even be able to scrap the term "template", why not just call them schemas.

I think calling those schemas would work. We can then distinguish from complete and incomplete schemas when needed (which is already something we do since #5131).

Lastly, what is currently "Import / Export" schema options from the Extensions dropdown is superfluous if we introduce management dialog for schema templates (or just schemas) - I don't see the need to import or export a schema if you can do that for a template, which as stated above is more powerful.

Yes I think it makes sense. Some users might find it a bit annoying (because applying a schema to a project will require extra steps, and same for the export), but it is probably worth it for the sake of simplifying the UI.
That does require some changes to this PR because at the moment importing a schema exported from a previous version of OpenRefine as a schema template in 3.7 will not work (because of the missing name). But I can introduce a workaround for that.

We can indeed add the Manage schema templates (or just Manage schemas) dialog as an item accessible directly from the Extensions dropdown, but I have to say users never find that menu intuitive, so it should be there and probably also still in the "Save..." dialog, too. So accessible from two points, may be not in line with other sections of OpenRefine, but would be nice for users.

I think it is fine to have a dialog accessible from multiple places. We already have that for the Wikibase upload dialog, accessible both from the global Export menu and the Wikibase extension dropdown, for instance.

So I have renamed schema templates to just schemas and simplified the extension menu (removed import/export and replaced by the schema templates):

I feel like it's a nice usability gain, thanks @lozanaross!

So I have renamed schema templates to just schemas and simplified the extension menu (removed import/export and replaced by the schema templates):
I feel like it's a nice usability gain, thanks @lozanaross!

Very nice! I would say maybe final small change - move "Manage WB account..." below the line & above "Upload..." because Manage schemas should be closer to Edit schema & the account login is anyway more handy for upload I think...

Here is one (but I would really like to ensure you can try out a PR on your machine, so that you can have the full user experience - let me know if you need help to set this up):

OK, agreed, I'll try it w/ GH desktop app and see if I manage. Shall I then make a separate issue if I have small tweaks for this particular dialog window?

Let's leave this for a separate issue since this can be changed independently from this PR.

OK, I will make the issue (maybe after the user testing report is complete).

I think calling those schemas would work. We can then distinguish from complete and incomplete schemas when needed (which is already something we do since #5131).

Sounds good.

Yes I think it makes sense. Some users might find it a bit annoying (because applying a schema to a project will require extra steps, and same for the export), but it is probably worth it for the sake of simplifying the UI.

To be honest all Wikimedia users I've spoken with didn't really understand the schema concept very well (including myself), so I doubt there will be many users who used this functionality extensively to be annoyed once we change it.

That does require some changes to this PR because at the moment importing a schema exported from a previous version of OpenRefine as a schema template in 3.7 will not work (because of the missing name). But I can introduce a workaround for that.

OK, great.

I think it is fine to have a dialog accessible from multiple places. We already have that for the Wikibase upload dialog, accessible both from the global Export menu and the Wikibase extension dropdown, for instance.

Great, good to know. I may have accidentally navigated users away from Export, because I thought you can only upload via the extension dropdown 🫣

This is getting stale, so merging it. Further tweaks can be suggested in follow-up issues.

@wetneb @lozanaross @trnstlntk Curious, do you know where folks are saving schema templates for collaboration? Is it under individual WikiProjects?


Add OPNFV Project Setup and Templates

Summary
Add OPNFV Project Setup and Templates to the EasyCLA system.
Background
This is an onboarding activity.  The first steps are to create the project, set up the project manager and establish the templates.
Tasks

[x] Create the project in PROD
[ ] Setup the initial project managers
[x] Upload/customize the CCLA and ICLA templates

Acceptance Criteria
Project is set up, managers configured and templates uploaded, reviewed and approved.
References
OnBoarding Status Page: https://confluence.linuxfoundation.org/display/PROD/Project+Onboarding+Details+and+Status

Tasks completed:

the foundation is set up already
CLA group is set up and complete
Uploaded PDFs to S3

Up next, @WillsonHG will add/update companies in PROD to ensure the CLA managers are on the company ACL.


Fix deploy of node in group

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

As described in this issue, changing node's group make the node restarted on deploy regardless of node deployment mode.
This PR tries to prevent nodes that only change groups from restarting.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

The original issue describes the problem that:

start with NodeA in a Group
Add NodeB to Group
Do modified nodes type deploy
NodeA and NodeB are restarted

The expected behaviour is that only NodeB would get restarted in that case.
Can you clarify what this PR does? From your description, it sounds like you have changed it so that neither NodeA or NodeB will get restarted.

As described in the original issue, NodeB (delay/trigger) is not restarted.
They continue running.

Coverage decreased (-0.003%) to 67.674% when pulling 1be337fbc50eb4ee2337f20372dc2963bf46a454 on node-red-hitachi:fix-node-deploy-with-group-change into f5da2eb633a46184fbdbae5917ca01af9b07780b on node-red:dev.

As described in the original issue, NodeB (delay/trigger) is not restarted.
In the original issue, NodeA is the delay/trigger node that is being restarted when NodeB is added to the same group.

The fix you are proposing will ignore any changes of a node's group when doing a nodes type deploy. That is not what is needed.
If a node changes the group it is in, then it should be restarted with all types of deploy.
The reported issues claims that all of the other nodes in the group are also being restarted - and that should not be happening.

I seem to have misunderstood the request.
I will consider a fix.

I think I have updated the fix according to your suggestion.

Indeed, there are some cases when all nodes in a group get re-deployed, even when just changing the group's size. I didn't know if this was the expected behaviour.
If have posted my findings on Discourse last week, where this problem arised in a discussion about the inject node.
https://discourse.nodered.org/t/this-flow-is-generating-interesting-files/40637/7?u=kuema

If have posted my findings on Discourse last week, where this problem arised in a discussion about the inject node.
https://discourse.nodered.org/t/this-flow-is-generating-interesting-files/40637/7?u=kuema

In the current implementation, changing the properties of a group is considered indirectly propagate to contained nodes.
I think this PR will fix the problems.

Thanks @HiroyasuNishiyama
I think this fix is good for now, but we may need to look again in the future.
At the moment, groups do not have any affect on the runtime. In the future, we will allow groups to hold meta-data about the nodes inside the group. Changing the meta-data of a group should mark the contents of the group as dirty and needing redeploying.


Duplicate in production ( Laravel Vapor )

Hello guys! something weird is happening.
Working super super nice in local as allways, when we deploy in production, using laravel vapor + serverless this is what I see:

As you see is duplicated 3 times, this happend with all commands.
I try creating custom custom provider, or just using default livewire-ui-spotlight.php
Any ideas?
`<?php
return [
/*
|--------------------------------------------------------------------------
| Shortcuts
|--------------------------------------------------------------------------
|
| Define which shortcuts will activate Spotlight CTRL / CMD + key
| The default is CTRL/CMD + K or CTRL/CMD + /
|
 */

'shortcuts' => [
    'k',
    'slash',
],

/*
|--------------------------------------------------------------------------
| Commands
|--------------------------------------------------------------------------
|
| Define which commands you want to make available in Spotlight.
| Alternatively, you can also register commands in your AppServiceProvider
| with the Spotlight::registerCommand(Logout::class); method.
|
 */

'commands' => [
    App\Spotlight\SearchVehicle::class
],

/*
|--------------------------------------------------------------------------
| Include CSS
|--------------------------------------------------------------------------
|
| Spotlight uses TailwindCSS, if you don't use TailwindCSS you will need
| to set this parameter to true. This includes the modern-normalize css.
|
 */
'include_css' => false,

/*
|--------------------------------------------------------------------------
| Include JS
|--------------------------------------------------------------------------
|
| Spotlight will inject the required Javascript in your blade template.
| If you want to bundle the required Javascript you can set this to false,
| call 'npm install fuse.js' or 'yarn add fuse.js',
| then add `require('vendor/livewire-ui/spotlight/resources/js/spotlight');`
| to your script bundler like webpack.
|
 */
'include_js' => true,

];
`

Any chance you are using Laravel Octane?

Hello @PhiloNL yes! using Laravel Octane, is because of this ?

Yes, the following is creating a memory leak: https://github.com/wire-elements/spotlight/blob/master/src/Spotlight.php#L20
I think changing it to the following will fix it:
    public static function registerCommand(string $command): void
    {
        tap(new $command, function (SpotlightCommand $command) {
            self::$commands[$command->getId()] = $command;
        });
    }

I'll see if I can test this later this week.

Let me know if I can help testing it, thanks !

Any update?

can I pass our prefer id value to SpotlightCommand
currrently its look like
public function getId(): string
{
    return md5(static::class) . $this->name;
}

redirect to same route while using single command using loop
foreach(Helpers::get_dashboard_pages_list() as $page) {
      \LivewireUI\Spotlight\Spotlight::$commands[] = new \App\Spotlight\RedirectToSpotlightCommand($page);
    }

class RedirectToSpotlightCommand extends SpotlightCommand
{
    protected string $name;
    protected string $description;
    protected string $pageUrl;
    protected array $synonyms;
    protected bool $shouldBeShown  = true;

    public function __construct($args)
    {
      // $name, $description, $pageUrl, $synonyms=[]
      $default_args = [
          'name' => 'random-' . rand(1111, 9999),
          'description' => 'random-' . rand(1111, 9999),
          'pageUrl' => '/',
          'synonyms' => [],
      ];
      $args = array_merge( $default_args, $args );
      extract( $args );
      $this->name = $name;
      $this->description = $description;
      $this->pageUrl = $pageUrl;
      $this->synonyms = $synonyms;
    }

    public function execute(Spotlight $spotlight)
    {
        $spotlight->redirectRoute($this->pageUrl);
    }

    public function shouldBeShown(): bool
    {
        return true;
    }
}


.NET 7: Code sample for Microsoft.AspNetCore.Http.TypedResults

See Typed results for minimal APIs
Put the code in aspnetcore\fundamentals\minimal-apis\misc-samples\typedResults and remove the Readme.txt file.

working on this


HHH-13777 UnsupportedOperationException is thrown for MappedSuperclas…

…s if the id is declared on subclasses
https://hibernate.atlassian.net/browse/HHH-13777
@sebersole any advice for a better name than isNotDeclaredIdentifierDescriptorLegal() is really appreciated.

#isMissingIdentifierLegal ?
Anyway, I think the solution looks good

or how about flipping the logic and have #isIdMappingRequired

I like it, I'll make the change and push it. Thanks

applied Steve suggestion and pushed


Installation failure on Fedora 39 and Python 3.12.2

Description of the issue
I am trying to install the tool on any of the two proposed ways, but both fail.
Issue-Type (put a x sign in the square brackets)

[X] bug report
[ ] feature request
[ ] Documentation improvement
[ ] Other

Checklist

[X] Running latest version of code.
[X] This issue has not been reported earlier.

Your environment

OS
Python Version
Release tag/commit of the code

Fedora 39
Python 3.12.2
Expected behaviour
What should happen?
I am able to run the tool
Actual behaviour
What is actually happening?
I get the errors described
Steps to reproduce

git clone <>
Run any of the two approaches specified in the documentation from the cloned directory.

Any extra info ( for eg. code snippet to reproduce, logs, screenshots etc. )
After running make, I get:
echo "__version__ = \"0.1.3-2-g14bbc70\"" > aiven_db_migrate/migrate/version.py

After running "pip install .", I get:
Defaulting to user installation because normal site-packages is not writeable
Processing /home/<redacted>/python/aiven-db-migrate
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [34 lines of output]
      Traceback (most recent call last):
        File "/home/rafa/.local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/rafa/.local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/rafa/.local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 487, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 13, in <module>
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
                                       ^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 314, in __init__
          self.metadata.version = self._normalize_version(self.metadata.version)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 350, in _normalize_version
          normalized = str(Version(version))
                           ^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-__768b88/overlay/lib/python3.12/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__
          raise InvalidVersion(f"Invalid version: '{version}'")
      setuptools.extern.packaging.version.InvalidVersion: Invalid version: '0.1.3-2-g14bbc70'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

When trying to run the module directly, I get:
Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 112, in _get_module_details
  File "/home/<redacted>/python/aiven-db-migrate/aiven_db_migrate/migrate/__init__.py", line 3, in <module>
    from .pgmigrate import PGMigrate, PGMigrateResult  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/<redacted>/python/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 5, in <module>
    from aiven_db_migrate.migrate.pgutils import (
  File "/home/<redacted>/python/aiven-db-migrate/aiven_db_migrate/migrate/pgutils.py", line 7, in <module>
    import psycopg2
ModuleNotFoundError: No module named 'psycopg2'

Manually installing "psycopg2-binary" fixes the module usage, but not the installation.


Why is megachange.is a scam site listed in the site as a merchant?

This site is a known scammer with complains all over the internet. He stole 31 dollars from me (I was lucky to send only the minimum amount).
Here are some of the links to complains:
https://bitcointalk.org/index.php?topic=2946755.0
https://www.trustpilot.com/review/megachange.is
https://alternativeto.net/software/megachange-is/reviews/

Well, the amount of complaints cannot be ignored. Merchant listed on our website are not endorsed by the community in any way, but in cases like this, where the scam seems objective, i think there are all the basis to remove them from our list. opened #883
Thanks @sakibarifin :)
+merchant removal
+in progress


raidboss: DSR fix#4664 track p6/p7 by ability trigger

fixes #4664
Removes the P6 and P7 regex captures from DSR Phase Tracker as they are not casted abilities.
Adds DSR Phase Tracker P6/P7 to capture network abilities for the p6/p7 ids.
Changes regex to match Shockwave as indicator for p7.

Thank you!


Make the Submit button easier to notice

This patch addresses one part of the plan proposed in #116 by making the Submit button in the self-assessment form bigger and better placed, and adding one more button below the primary section of the form.

Thank you for the swift response!


build(deps): bump actions/checkout from 4.2.1 to 4.2.2

Bumps actions/checkout from 4.2.1 to 4.2.2.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ...

Replaces #761
Dependabot doesn't get a write token by default.  https://github.com/dependabot/dependabot-core/issues/3253


Epic: remove globals from the AI

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Globals are causing a lot of unpredictable, ugly behaviour
We need to get rid of the globals as soon as possible. Passing worlds by argument, for example. This way we get reproducible, testable behaviour.
Non-exhaustive incomplete list:

[ ] World

[ ] Field

[ ] Coaches

[ ] RobotDealer

Feel free to add to this list if you see any more

You should probably specify which globals are problematic and what your plan is. This is very vague ;)

Yes, good idea. I only know a few, that's why I left it vague. I'll add those I know of. If anyone knows any more, feel free to modify this list!


Use with Formik

Can't use with Formik "from the box"

Can you please specify it more in-dept ... you can also send a screenshot to be more specific.

I've created a wrapper component, something like this
const FormikInput = (props: IFormikInput) => {
  const { label, form, field, keepreact } = props
  const is_error = form.touched[field.name] && form.errors[field.name]

  return (
    <>
      {label && }

      <TextInput
        {...field}
        {...keepreact}
        handleOnChange={field.onChange}
        color={is_error ? 'error' : keepreact.color}
      />

      {is_error && (

          <ErrorMessage name={field.name} />

      )}
    </>
  )
}

And I can't use {...field} props because they are not passed, as i understood (may be i'm wrong)

Also reseting input value is not working (even without formik)
Can be reproduced
const App = () => {
  const [value, setValue] = useState<string>('')

  return (

      <TextInput value={value} handleOnChange={(e) => setValue(e.target.value)} />
      <Button size="sm" onClick={() => setValue('')}>
        Reset value
      </Button>

  )
}

export default App

Pressing "Reset value" button will not reset field value

On which dir is this code written  or which branch ?

That's just an example of my code, how i tried to use keep-react input with formik Field


Any allocator, except buffer_allocator, inhibit move constructor of vector

A boost::compute::vector that does not use boost::compute::buffer_allocator (as for example boost::compute::pinned_allocator) can't use its move constructor. Inspect with a debugger the actual constructor that is called here:
compute::vector<int, compute::pinned_allocator<int>> a(100);
compute::vector<int, compute::pinned_allocator<int>> b(move(a));   //copy constructor
compute::vector<int> c(100);
compute::vector<int> d(move(c));   //move constructor effectively called

I get this behavior with g++ 5.1.1. Actually ,gdb shows for the b(move(a)) call the first line of the class when stepping into the constructor, which is usually what happens when the default synthesized copy constructor is called.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27160438-any-allocator-except-buffer_allocator-inhibit-move-constructor-of-vector?utm_campaign=plugin&utm_content=tracker%2F402515&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F402515&utm_medium=issues&utm_source=github).

I found the problem. There are several places in vector.hpp where you declare other vector arguments as vector<T>. This is different from type vector within the class scope, because the Alloc template still takes the default value, which is in fact buffer_allocator. See this ideone. This means that any function with this mistake incurs in a copy through a default synthesized copy constructor, if an allocator different than buffer_allocator is used. I should say also that this is not just a performance problem (e.g. you get a copy construction but then everything runs fine), because I kept getting crashes, probably because of some misplaced clRetain* and clRelease* calls.
I fear that I have seen this kind of mistake somewhere in the codebase, and a proper fixing will require some thought on how to handle operations between vectors with different allocators, so I leave patch crafting to you. For now, I use this for vector.hpp: https://gist.github.com/pisto/dd4f0dea133e03e618ba

I confirm. PR in process.

I think it can be closed, see https://github.com/boostorg/compute/pull/525.

Should be fixed. Please also consider auditing copy construction or assignment, it crashed for some reason. Also there's no clear definition of what happens when moving/assigning between vectors with different allocators. The STL tends to have an overly complicate approach on these things imo, so I don't think it's a very good idea to follow it.

@pisto In current implementation (after merging https://github.com/boostorg/compute/pull/525) you can not use move operator between vectors with different allocators. Nut sure if it's needed. Assignment operator works correctly between vectors with different allocators.
When did it crashed? Before https://github.com/boostorg/compute/pull/525 or after? I'm asking because I also kept getting crashes before https://github.com/boostorg/compute/pull/525 when using moving ctor with Alloc =pinned_allocator<T> , but none after.

Well the problem there was that the copy assignment was called instead of move. It also happened that the copy assignment made the program crash, probably because of a bad clRetain()/clRelease() sequence. That patch fixed selecting the move assignment, but I don't think it fixed copy assignment itself. Can't test now, but I don't see why it should work now.


Refactor node initial pose (move to constant data).

Partially replaces #541, depends on #567.

Why is this depending on #567? Seems completely orthogonal to me. If you remove the unrelated changes, I'm happy to review earlier. Otherwise, I'll wait until #567 is merged.

Okay, I can rebase this on top of master.

Done.


Create selenium tests that capture screenshots of search results

Related to creativecommons/cccatalog-api#311.
@kgodey, do you have any suggestions for test search terms?

Here are suggested search terms in addition to what you have already.
Suggested search terms reported as low quality:

weather (reported as inappropriate)
Andrew Jackson (reported as inappropriate)
maps of the Atlantic
wildlife
reading
Syrian women
medicine
health
periodic table
aardvark
children playing
nurse
basketball team

Suggested search terms based on frequently searched terms:

music
computer
technology
car
books
video
beach
flower
food
tree
people
nature
money
house
school

@kgodey I added the search terms you listed and also updated the script to capture the second page of results.
@brenoferreira I spent a few minutes setting up Docker before realizing this isn't a good fit for it. It requires a live Firefox GUI, which means X11 needs to be running. I could probably rig up X11, X forwarding, and remote desktop to completely containerize this, but it would take a few days of work. It may be best to instead follow the README and install the two dependencies manually so you can run it natively (geckodriver and pipenv)

@aldenstpage ah, right. Could you instead add a small script that installs the dependencies and gets the tests ready for execution? Also, add an npm script to package.json that runs these tests, similar to the unit tests there: https://github.com/creativecommons/cccatalog-frontend/blob/develop/package.json#L11

@brenoferreira I've added some NPM scripts. Installation of geckodriver and pipenv are platform dependent, so I'm reluctant to include a script for it, but these particular scripts should work on your machine.

That step is executed with pipenv run
On Mon, Jul 22, 2019, 10:55 AM Breno Ferreira<EMAIL_ADDRESS>wrote:

@brenoferreira commented on this pull request.
In package.json
https://github.com/creativecommons/cccatalog-frontend/pull/417#discussion_r305889097
:

@@ -9,6 +9,8 @@
"dev": "webpack-dev-server --https --inline --progress --config build/webpack-dev-conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest-conf.js --coverage",

"qa-install": "brew install geckodriver && brew install pipenv",

Shouldn't this include && cd test/selenium-webdriver && pipenv install?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/creativecommons/cccatalog-frontend/pull/417?email_source=notifications&email_token=AGEJID6BKT2Q3HSGSSOMLO3QAXC45A5CNFSM4H3WD2EKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB7E2CRI#pullrequestreview-264872261,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGEJID3KVA5C4EIJRSJMCILQAXC45ANCNFSM4H3WD2EA
.


from autograd.numpy import * causes code to fail

Adding from autograd.numpy import * below import autograd.numpy as np causes the following code to fail (AttributeError: 'float' object has no attribute 'exp'). Adding it above doesn't cause any problems.
import autograd.numpy as np   # Thinly-wrapped version of Numpy

## Comment out the following line of code and everything works.
## Moving it above the `import autograd.numpy as np` also works.
from autograd.numpy import *

from autograd import grad

def f( x ):
    x = np.maximum( 1.5, x )
    print type(x)
    return np.sum( np.exp( 2*x ) )

grad_f = grad(f)
x = np.linspace(1,2,25).reshape(5,5)
# x = 1.0
print f(x)
print "Gradient of linspace(1,2) is", grad_f(x)

Thanks for finding this.
The problem was that from autograd.numpy import * re-binds the name np to the unwrapped numpy (i.e. the underlying numpy rather than autograd's wrapper). Ultimately that's becausethe autograd/numpy/numpy_wrapper.py file uses the unwrapped numpy under the name np, and autograd/numpy/init.py does a from .numpy_wrapper import *.
To fix this importing issue, we can just prevent the line from autograd.numpy import * from clobbering the np name. One way to do that would be to define an __all__ variable in autograd/numpy/init.py or autograd/numpy/numpy_wrapper.py which excludes the name np. However, we'd then have to generate a list of all the names we do want to include, which seems unnecessary.
Another solution, which I just pushed, is to use the name _np in numpy_wrapper.py. Names that start with underscores are excluded from imports of the form from autograd.numpy import * because Python convention is that they're private.


Update Readme for WebApp

Motivation:

There is no file called ./launch_webapp I assume this is supposed
to be .launch_flask

Duplicate of #17


Using addons:open without specifying a remote produces crazy output

My project has two heroku remotes (for prod and stage). If I run heroku addons:open papertrail without specifying a remote (-r) or application (-a), it takes a long time to respond, then dumps out almost 2MB of output like this to STDERR:
 ▸    Ambiguous identifier; multiple matching add-ons found: advising-ably-1084,
 ▸    advising-ably-3080, advising-ably-3642, advising-ably-3963,
 ▸    advising-ably-4425, advising-ably-4616, advising-ably-4666,
 ▸    advising-ably-4934, advising-ably-4942, advising-ably-5037,
 ▸    advising-ably-5280, advising-ably-6091, advising-ably-6833,
 ▸    advising-ably-7363, advising-ably-7729, advising-ably-8296,
 ▸    advising-ably-8411, advising-ably-8773, advising-ably-8994,
 ▸    advising-ably-9189, advising-ably-9682, advising-amply-1714,
 ▸    advising-amply-1961, advising-amply-3120, advising-amply-3131,
 ▸    advising-amply-3154, advising-amply-3335, advising-amply-3486,
 ▸    advising-amply-3858, advising-amply-4051, advising-amply-4345,
 ▸    advising-amply-4423, advising-amply-5316, advising-amply-6191,
 ▸    advising-amply-6568, advising-amply-6631, advising-amply-7650,
 ▸    advising-amply-7917, advising-amply-9323, advising-amply-9742,
 ▸    advising-amply-9814, advising-amply-9848, advising-amply-9887,
 ▸    advising-aptly-1285, advising-aptly-1469, advising-aptly-1524,
 ▸    advising-aptly-1788, advising-aptly-2459, advising-aptly-2559,

etc.
It should say probably say something like "please specify a remote or application".

@heroku/add-ons

Hi @sbleon, this turned out to be a bug in the API code that resolves papertrail to add-ons you have access to. papertrail is unambiguous for a specific app but across your entire account you might have more than one, so we show this ambiguous error if we can't determine the specific instance you desired across all your apps. In this case, a bug in the resolver was searching across all papertrail instances in our system. It has since been fixed and you shouldn't experience this issue anymore.

Thanks, @bjeanes!
On Thu, Apr 14, 2016 at 10:22 PM, Bo Jeanes<EMAIL_ADDRESS>wrote:

Hi @sbleon https://github.com/sbleon, this turned out to be a bug in
the API code that resolves papertrail to add-ons you have access to.
papertrail is unambiguous for a specific app but across your entire
account you might have more than one, so we show this ambiguous error if we
can't determine the specific instance you desired across all your apps. In
this case, a bug in the resolver was searching across all papertrail
instances in our system. It has since been fixed and you shouldn't
experience this issue anymore.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/heroku/heroku-cli/issues/254#issuecomment-210255880


Creating time description task

Thanks for making this proposed task. In its current form, the task is not substantial enough to send out for review, or to merge. You might want to check out the review criteria.
I'm going to close this PR for the moment, but we would be excited to receive a more substantial task submission!


Update offline-looping-and-monitoring.md

These changes attempt to consolidate and reorder the first portion of the xDripAPS instructions. They are relatively minor changes, but I believe it ready more clearly. Also, when following the existing doc I consistently inserted my OpenAPS rig hostname (instead of my online Nightscout instance api_secret) where the instructions asked for <api_secret>. Maybe others are more attentive, but I think my revisions will make the doc more specific in this regard.

LGTM but will wait for a second thumbs up from @colinlennon or someone who's been using xdripAPS before merging. Thanks!


Laplace Transform and Inverse laplace Transform for 2D images

@runame @aleximmer I am wondering if there is any implementation of Laplace Transform and Inverse Laplace Transform available for 2D data (i.e., images). For example, a batch of N input sequence of D can be reshaped into a 2D image with width of W and height of H and then 2D FFT is applied in both directions and then after processing it in the frequency domain, will be transformed back to the spatial domain using Inverse FFT, the pytorch deep learning library had the functions as follows:
    # x: (B x N x D)  the token features, B x H x W x D (where N = H * W), B: batch size
    # K: the frequency-domain filter, H x W_hat x D (where W_hat = W // 2 + 1)
    X = rfft2(x, dim=(1, 2))
    X_tilde = X * K
    x = irfft2(X_tilde, dim=(1, 2))

Is there any similar implementation for Laplace Transform in Laplace Library?
Or is there any way to obtain such Laplace Transform for 2D images with current functions available in Laplace?
Thanks

@qm-intel I think this is a misunderstanding. Our library provides implementations of Laplace approximations and not Laplace transforms.

@aleximmer Thanks for mentioning it


Resolves SparkleXrm issue #93

Resolves: ConnectionUI lookup of new record doesn't work with specific quickfind FetchXML
Be sure to initiate View property when parsing link-entity element.

Sorry, getting to know how GitHub works. Seems that this Pull Request added latest commit which solves: ConnectionUI throws System.FormatException when Currency/Int/Float/DateTime fields are used. #95


Self-host is exposed to the internet

I'm self-hosting because I just want to be able to have the premium features for myself, I configured it to be "premium" by default.
Problems:

Local environment means the button responses won't work.
Placing an additional OAUTH login-wall from a provider like Google in front of the production environment's public domain means the button responses won't work.
Anyone who can figure out my domain is able to access the website and use the premium features, including being able to send messages through webhooks without Discord login.
Custom-bot doesn't work with public environment.

Solutions:

Restrict access to only the server the bot is in.
Require bot to be in the server if wanting to use a webhook with limited features.
Optional env variable to specify; User ID so that only the owner Discord ID can use it once signed in, Guild ID.

You realise that you are openly asking me how to circumvent paying for the premium features? 😅

Local environment means the button responses won't work.

You can use buttons just fine without exposing the service to the internet. The bot receives interactions over the gateway unless you have a custom bot configured.

I thought I needed the second custom bot to have the buttons because I saw a non-open source project work in this way (has some features that this project doesn't but this project overall does everything better and has unique features the other doesn't have) and the fact this project needs only ONE BOT, is a huge bonus, I deleted the custom bot and now I don't have to have my instance of embed generator exposed to the internet, and the AI still works :)

Glad it works now :) Out of curiosity what is the other project you were talking about?

They are very minor features, and they are missing a lot of stuff Embed Generator has.
DotNotify - not open-source, schedules announcements / reminder embeds/messages with options:

Hourly
Daily
Weekly
Bi-weekly
Monthly
One-time

Then there's DiscoHook which has the main-site open-sourced, no clue about the "helper" bot that's mandatory and you also need the chrome extension, less features then embed-generator, and it requires a second helper bot if wanting to add extra functions to embeds, most notable features are with second bot + extension:

Reaction-emoji support
Can also schedule messages but not as great as DotNotify which also allows you to implement UNIX timestamps instead of leaving the editor and going to a UNIX generator
visually see the roles / channels / users (extension needed)

Overall, the other bots out there, are severely lacking A LOT OF FEATURES that your project has and with the exception of DotNotify, the setup process is annoying because of it requiring 3 things, which I have now seen is not necessary:

Main bot
Second bot
Browser extension

Thanks for the info! Always good to know which other options are out there and I haven't heard of DotNotify before 👍
Implementing scheduled messages / announcements is on my list #108
If you want to support the development of Embed Generator consider subscribing to Premium even if you self host :)

@gibberishgithub Scheduled messages are now available :)


Location Aware Resources - Map Interface

Some, but not all, Resources will be offered at a certain location.  We need to include the ability to associate hard locations about a resource and incorporate this into a map interface that allows users to easily see resources that are near them.
A few things this ticket should not cover:

Searching based on location.  I suggest we offer a map only.  The search interface would become convluted with contrary options because not all resources have locations, and some resources may be offered in many different locations.  A map would convey this aspect clearly and concisely.
For our initial effort, a location is a fixed point with no diameter.  A local class might have a small audience, but a conference might cover a larger area.  We won't try to handle this in the first release.

Feature added in PR #124 - Awesome work, @ajlouie :star:
We do plan to tackle the issue of locations without set street addresses before launch as a separate issue.


test: GtfsTripTableLoader class

closes #570
Summary:
This PR provides additional unit test for GtfsTripTableLoader class
Expected behavior:
No code change, tests should pass
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: -new feature short description-" (PR title must follow the conventional commit specification)
[x] Linked all relevant issues
~[ ] Include screenshot(s) showing how this pull request works and fixes the issue(s)~

Closing as a trivial test to avoid artificially inflating the code base.

Closing as a trivial test to avoid artificially inflating the code base.


Compress Send Screens

Description
Compress send screens into more common parts to remove duplication of code.

All UTXOs are now in one send screen.


Omit PHP attributes from class/method context.

Bug: The context line shows PHP 8 class or method attributes instead of the class/method definition. This PR is an attempt to fix that.
Before:

With this PR:

:TSPlayground

Test code:
<?php

use Attribute;

#[Attribute(Attribute::TARGET_CLASS)]
class ClassAttr { }

#[Attribute(Attribute::TARGET_METHOD)]
class MethodAttr { }

/**
 * hello
 */
#[ClassAttr]
class Inventory
{
	/**
	 * @throws \Exception
	 */
	#[MethodAttr]
	public static function testasdf(array $args): void
	{
		// asdf
	}
}

This should be mitigated by fixing the multi-line nodes issue, but I'll merge as is because I currently don't have enough time to fix it.


dropdown never closes - security policies may prevent inline styles

so i tried live_select again and the dropdown does not close indeed.
phoenix 1.7, live_view 0.18, but my empty test project had the same stuff and no problem there.
i downloaded the lib and connected the local version to my app to debug.
it seems when it comes down to it the @hide_dropdown variable is set correctly, but the display: none; doesn't end up in the HTML.
Here's an image where i print the var out. this is with initial options only, no interaction.

another interesting thing i noticed was that the initial HTML coming from the server does in fact have style="display: none;" included, but then the websocket gets two updates immediately and the second one has an empty class and style for this element. which is another confusing part, because the class does end up with appropriate classes so why doesn't style?
this is my thought process so far. i have no idea what it is in my app that is causing this. i thought perhaps you've got ideas where to look?
edit: i'm placing random values in places and it seems like none of the style attributes in the whole component get shown on page. not sure what this may or may not mean.
edit2: experimenting with raw style values it seems that it's not the LiveView websocket update that empties the style. so maybe javascript, but my project has barely any JS at all. new suspect: a library.

okay i've confirmed the bug is not to do with this library, but my own app somehow. no styles anywhere get saved.

hmm.. so i've found the solution to my issue. and it's about security, so I'll open this again and let you close it so i can be sure you've read it at least.
i tracked the issue all the way down to my third commit in the project. that's when i installed Sobelow and it told me that my Content-Security-Policy wasn't set properly. So I googled areound and set it to the recommended default:
plug :put_secure_browser_headers, %{"content-security-policy" => "default-src 'self'"}

clearly i don't know much about it since this is what disallows inline stuff, like the style attribute. now I added 'unsafe-inline' to it and live_select works again. mind you - nothing else was broken in the app so i guess no need to use it really.
i don't know how dangerous unsafe-inline is honestly, but you may want to consider not using style for the functionality. and seeing this did make me wonder why you didn't just use an if case?

thanks @KristerV for sharing this. It's very interesting.
I wasn't aware that security policies might forbid inline styles - this is really good to now. Damn security! 😆
This needs to be changed.

why you didn't just use an if case?

Good question! 😄 Looking at the code for the dropdown, yeah, an if seems to be the obvious solution. To be honest, I don't remember why I chose to use inline styles instead. However, I'm pretty sure I must have had a reason (although the reason might not be relevant anymore). Maybe something wasn't working with if so I tried the inline style and I never revisited the decision.
I'm using linline styles also here instead of a hidden input because of bug in LV (now fixed, but maybe not released yet, and anyway the library should work with older versions as well). This might be trickier to change, though.
I will try to remove inline styles ASAP. Thanks again!

I would imagine one benefit of inline styles is that if the options don't change then opening and closing the dropdown will just have much less network traffic.
I think doing the same with classes is still fine. If it works. Tailwind doesn't play to well with overwrites.
On Thu, Feb 2, 2023, at 21:40, Max wrote:

thanks @KristerV https://github.com/KristerV for sharing this. It's very interesting.
I wasn't aware that security policies might forbid inline styles - this is really good to now. Damn security! 😆
This needs to be changed.

why you didn't just use an if case?

Good question! 😄 Looking at the code for the dropdown, yeah, an if seems to be the obvious solution. To be honest, I don't remember why I chose to use inline styles instead. However, I'm pretty sure I must have had a reason (although the reason might not be relevant anymore). Maybe something wasn't working with if so I tried the inline style and I never revisited the decision.
I'm using linline styles also here https://github.com/maxmarcon/live_select/blob/main/lib/live_select/component.html.heex#L52 instead of a hidden input because of bug in LV (now fixed, but maybe not released yet, and anyway the library should work with older versions as well). This might be trickier to change, though.
I will try to remove inline styles ASAP. Thanks again!
—
Reply to this email directly, view it on GitHub https://github.com/maxmarcon/live_select/issues/16#issuecomment-1414345225, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAU7RHXQNAXIFPSODFOQ66LWVQLSTANCNFSM6AAAAAAUPA4Z6M.
You are receiving this because you were mentioned.Message ID: @.***>

Btw, I thought this should be an issue for LV as well, because it uses inline styles too, for example to make elements disappear with the JS.hide command.
However, I tested it and JS.hide works even with your restrictive security header.
I suspect they must be doing it this way on the client side: document.querySelector("div").style.display = "none";
as documented here:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src

BTW: I tested using if instead of the inline style. It doesn't work: you can't select any entry. So there was a reason :)
I suspect it hast to do with events firing for the selected element when the element in the dropdown is no longer there (because of the if)
I will inviestigate

I suspect they must be doing it this way on the client side:

and so the rabbit hole deepens. interesting stuff.

events firing for the selected element when the element in the dropdown is no longer there

not sure what you mean here. you click on an item in the dropdown, then the event fires, handler does stuff and changes state, then dropdown disappears. is this not how it goes?

not sure what you mean here. you click on an item in the dropdown, then the event fires, handler does stuff and changes state, then dropdown disappears. is this not how it goes?

yes my speculation turned out to be wrong. It wasn't working because of some JS thingy that had to be adpated (event handlers trying to attach to nonexistent elements).
Now it works. However, I'm using inline styles in a few other places and I will have to change those too (setting position: relative for the "x" clear button and hiding the text input that contains the value of the selection)
I can do it via JS but it sucks, because on page load the user will see the element that's supposed to be hidden until JS kicks in. Same happesn when LV patches the DOM.
I see no way around this problem other than adding some CSS for the component (which I wanted to avoid).
I would be nice if there was a way to provide scoped CSS for components, but I couldn't find anything that does that so far (apart from maybe the Surface library)

Scoped css? Tailwind itself is scoped. Can't you use that?
Or if you need custom classes then prefixing them with live_select_whatever is an option.
On Fri, Feb 3, 2023, at 10:25, Max wrote:

not sure what you mean here. you click on an item in the dropdown, then the event fires, handler does stuff and changes state, then dropdown disappears. is this not how it goes?

yes my speculation turned out to be wrong. It wasn't working because of some JS thingy that had to be adpated (event handlers trying to attach to nonexistent elements).
Now it works. However, I'm using inline styles in a few other places and I will have to change those too (setting position: relative for the "x" clear button and hiding the text input that contains the value of the selection)
I can do it via JS but it sucks, because on page load the user will see the element that's supposed to be hidden until JS kicks in. Same happesn when LV patches the DOM.
I see no way around this problem other than adding some CSS for the component (which I wanted to avoid).
I would be nice if there was a way to provide scoped CSS for components, but I couldn't find anything that does that so far (apart from maybe the Surface library)
—
Reply to this email directly, view it on GitHub https://github.com/maxmarcon/live_select/issues/16#issuecomment-1415455551, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAU7RHUMFLXTXNWFLLESNQTWVTFG5ANCNFSM6AAAAAAUPA4Z6M.
You are receiving this because you were mentioned.Message ID: @.***>

Scoped css? Tailwind itself is scoped. Can't you use that?

The component needs to work also without tailwind. That's why I was using inline styles instead of tailwind classes :)

Or if you need custom classes then prefixing them with live_select_whatever is an option.

Yes, of course. But the big question is how to distribute these classes. I wouldn't want to ask the user to add extra CSS to their application manually - more installation hassle. It would be nice if LV provided a way for components to bring their own scoped CSS - something you can define as part of the code of your components. I'm pretty sure all modern JS frontends have this feature, and in the LV world Surface has it too.

Oh yes, good point.
How does surface do it?
I'm traveling now, can't check anything for a while.
On Fri, Feb 3, 2023, at 11:12, Max wrote:

Scoped css? Tailwind itself is scoped. Can't you use that?

The component needs to work also without tailwind. That's why I was using inline styles instead of tailwind classes :)

Or if you need custom classes then prefixing them with live_select_whatever is an option.

Yes, of course. But the big question is how to distribute these classes. I wouldn't want to ask the user to add extra CSS to their application manually - more installation hassle. It would be nice if LV provided a way for components to bring their own scoped CSS - something you can define as part of the code of your components. I'm pretty sure all modern JS frontends have this feature, and in the LV world Surface has it too.
—
Reply to this email directly, view it on GitHub https://github.com/maxmarcon/live_select/issues/16#issuecomment-1415590054, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAU7RHRXOAIQMCYWQCM74XLWVTKXLANCNFSM6AAAAAAUPA4Z6M.
You are receiving this because you were mentioned.Message ID: @.***>

Yeah safe travels and don't worry! If you come up with some idea, let me know. I'll look deeper into this when I find some time.
Thanks for your interest.

Hi @KristerV . I believe I fixed the problem. If you have time, you can try your application with strict security policies enabled against the main branch. Let me know if it works.

tested and works! good job.
i went looking around the diff to see how you've worked around this and overall looks great, just couldn't quite figure out why you're putting the lear button styles each update?

thanks for testing!

isn't once (on mount) enough?

Unfortunately not. On mount there could be no selection yet, and so no clear button to style. So I have to look for a button and apply the styles on each DOM patch event.

closed with d6a63b2f4775f8e494e2938dadbe1e9404b414f0


invalid memory address or nil pointer dereference

rtsp-simple-server v0.12.2
My system is Ubuntu 18.04.5
I need to publish more than 2000 threads to the server
I have an error:
2021/01/24 21:58:16 [1009/614/0] [client <IP_ADDRESS>:44922] connected
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x7e57f0]
goroutine 39 [running]:
github.com/aler9/rtsp-simple-server/internal/client.(*Client).log(0xc008f468c0, 0x952506, 0x9, 0x0, 0x0, 0x0)
/s/internal/client/client.go:187 +0x30
github.com/aler9/rtsp-simple-server/internal/client.New(0x2136, 0x2540be400, 0x2540be400, 0x0, 0x0, 0x0, 0xc000182870, 0xc0001d41b8, 0xc00018c1c0, 0xc0001d2050, ...)
/s/internal/client/client.go:170 +0x21a
github.com/aler9/rtsp-simple-server/internal/clientman.(*ClientManager).run(0xc0001d4140)
/s/internal/clientman/clientman.go:104 +0x4b7
created by github.com/aler9/rtsp-simple-server/internal/clientman.New
/s/internal/clientman/clientman.go:82 +0x1b3

Hello, please use the latest version (v0.13.3) and let me know if the bug is still present.

Hello, please use the latest version (v0.13.3) and let me know if the bug is still present.

2021/01/27 18:35:05 [I] [0/0/0] rtsp-simple-server v0.13.3
System: Ubuntu 18.04.5
I can add 2000 clints with jpegenc.
I also have an error:
2021/01/27 18:32:58 [I] [1011/0/0] [client <IP_ADDRESS>:38418] connected (plain)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x7f394d]
goroutine 21 [running]:
github.com/aler9/gortsplib.(*ServerConn).NetConn(...)
/go/pkg/mod/github.com/aler9/gortsplib@v0.0.0-20210119134354-d9b819e85e9b/serverconn.go:242
github.com/aler9/rtsp-simple-server/internal/client.(*Client).log(0xc00185fc80, 0x1, 0x95f8aa, 0xe, 0xc000236db0, 0x1, 0x1)
/s/internal/client/client.go:131 +0x2d
github.com/aler9/rtsp-simple-server/internal/client.New(0xc000236e00, 0x216a, 0x2540be400, 0x0, 0x0, 0x0, 0xc000094930, 0xc0000ae2a8, 0xc0000a2180, 0x0, ...)
/s/internal/client/client.go:109 +0x1ae
github.com/aler9/rtsp-simple-server/internal/clientman.(*ClientManager).run(0xc0000ae240)
/s/internal/clientman/clientman.go:113 +0x5bc
created by github.com/aler9/rtsp-simple-server/internal/clientman.New
/s/internal/clientman/clientman.go:77 +0x19a
System: Windows 10
I added 3000 clients with jpegenc.
This error does not exist.

2021/01/27 18:35:05 [I] [0/0/0] rtsp-simple-server v0.13.3
System: Ubuntu 18.04.5
I can add 2000 clints with jpegenc.
I also have an error:
2021/01/27 18:32:58 [I] [1011/0/0] [client <IP_ADDRESS>:38418] connected (plain)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x7f394d]
goroutine 21 [running]:
github.com/aler9/gortsplib.(*ServerConn).NetConn(...)
/go/pkg/mod/github.com/aler9/gortsplib@v0.0.0-20210119134354-d9b819e85e9b/serverconn.go:242
github.com/aler9/rtsp-simple-server/internal/client.(*Client).log(0xc00185fc80, 0x1, 0x95f8aa, 0xe, 0xc000236db0, 0x1, 0x1)
/s/internal/client/client.go:131 +0x2d
github.com/aler9/rtsp-simple-server/internal/client.New(0xc000236e00, 0x216a, 0x2540be400, 0x0, 0x0, 0x0, 0xc000094930, 0xc0000ae2a8, 0xc0000a2180, 0x0, ...)
/s/internal/client/client.go:109 +0x1ae
github.com/aler9/rtsp-simple-server/internal/clientman.(*ClientManager).run(0xc0000ae240)
/s/internal/clientman/clientman.go:113 +0x5bc
created by github.com/aler9/rtsp-simple-server/internal/clientman.New
/s/internal/clientman/clientman.go:77 +0x19a
System: Windows 10
I added 3000 clients with jpegenc.
This error does not exist.

Hello, can you post your GStreamer pipeline in order to allow me to replicate the issue? thanks

Hello, can you post your GStreamer pipeline in order to allow me to replicate the issue? thanks

Hello aler9:
Just did some testing and the crash can still be triggered quite easily with 0.15.0.
Regards

@eLvErDe the issue should be fixed, it was caused by two problems

the server didn't reported errors when accepting clients
the server didn't touched a limit on the maximum number of open connections (file descriptors), that defaulted to 1024 on Ubuntu 18.04

Please try the attached nightly release, try to connect a big number of clients (in my case, i tested with 1500) and let me know if it works.
rtsp-simple-server_v0.15.0-14-g3243510_windows_amd64.zip
rtsp-simple-server_v0.15.0-14-g3243510_linux_arm64v8.tar.gz
rtsp-simple-server_v0.15.0-14-g3243510_linux_arm7.tar.gz
rtsp-simple-server_v0.15.0-14-g3243510_linux_arm6.tar.gz
rtsp-simple-server_v0.15.0-14-g3243510_linux_amd64.tar.gz
rtsp-simple-server_v0.15.0-14-g3243510_darwin_amd64.tar.gz

Hey,
Thanks a lot for addressing the issue! Sadly it is not starting anymore:
rtsp-simple-server[255537]: ERR: invalid argument
But already knew it would end up like this: You're not allowed to raise RLIMIT yourself, only root can do this, and when running as a systemd service, even as root, this is not permitted either.
Imho you should attempt to raise and log a warning if this is not possible.
Regards, Adam

Adding LimitNOFILE=infinity in systemd file works, I guess it somehow inhibits the call you're attempting

@eLvErDe i edited the patch to TRY to raise ulimit, and not to fail in case of errors. Anyway, the server now reports error during accept(), let me know if there's something else that can be done.
rtsp-simple-server_v0.15.0-14-g6acc1f9_windows_amd64.zip
rtsp-simple-server_v0.15.0-14-g6acc1f9_linux_arm64v8.tar.gz
rtsp-simple-server_v0.15.0-14-g6acc1f9_linux_arm7.tar.gz
rtsp-simple-server_v0.15.0-14-g6acc1f9_linux_arm6.tar.gz
rtsp-simple-server_v0.15.0-14-g6acc1f9_linux_amd64.tar.gz
rtsp-simple-server_v0.15.0-14-g6acc1f9_darwin_amd64.tar.gz

Thanks, I'll try to get some feedbacks but you might need to wait until Monday to get a complete one.

I think I'm getting the same problem, it's not triggered by something specific, it works for a while with about 100 sources and after a few hours it crashes. RAM and CPU usage never exceed 50%. But after crash the CPU stays at 100%.
2021-03-20T22:20:33.899520093Z error: invalid memory address or nil pointer dereference
2021-03-20T22:20:33.903603146Z segmentation violation code=0x1 addr=0x10 pc=0x6f181a]
2021-03-20T22:20:33.906150629Z [running]:
2021-03-20T22:20:33.908177732Z 0xbb796a53d9f, 0xcb1800, 0x0, 0xc024904f00, 0x5, 0x200e)
2021-03-20T22:20:33.909469592Z github.com/aler9/gortsplib.(*ClientConn).backgroundPlayTCP

I would say, more important that solving this particular crash is making sure that the process exits on unrecoverable errors. In my case the process just hangs so docker does not know to automatically restart.

I had the same problem running v0.14 Have updated to the nightly release v0.15-14, and set up a loadtest of 2000 subs pulling a 64kb audio stream. Server is running on a E2 2vCPU, 2Gb Mem. Incredible performance.

Hello,
No more crashes with the GIT version for us, thanks !

added in v0.15.1:

the server try to raise the maximum number of open files
even in case of errors, the server doesn't crash, but print errors

@aler9
The problem is not solved in 0.15.4, I am still getting exactly the same error. The process hangs with CPU at 100%.
2021-04-11T08:50:52.546331155Z [I] [57/0/25] [client A.B.C.D:54120] is reading from path 'path123', 1 track with tcp
2021-04-11T08:50:52.551534607Z error: invalid memory address or nil pointer dereference
2021-04-11T08:50:52.552695839Z segmentation violation code=0x1 addr=0x10 pc=0x6f481a]
2021-04-11T08:50:52.553570163Z [running]:
2021-04-11T08:50:52.557716154Z 0x8edfa007d14e, 0xcc5880, 0x0, 0xc00da32800, 0x5, 0x2710)
2021-04-11T08:50:52.559239354Z 0xc002159c10)
2021-04-11T08:50:52.560232505Z github.com/aler9/gortsplib.(*ClientConn).backgroundPlayTCP

@dorinclisu this is a segment violation but it's unrelated from this issue, open a dedicated issue and describe how to replicate

Opened here https://github.com/aler9/rtsp-simple-server/issues/348


T2

T1 ACCOUNT :  4XgbW1qRxFiUtcZW2B9G8q9k2ThJpn5yn1ibrEjC5qbyDhEmVf
T2 ACCOUNT : 3AXrqVzeFibTJsKGFTonjCjTrM7Vv342W498REQ59L563afZc8

rejected:B1
It looks like you are trying to submit B1, however it seems like the following submission criteria are problematic:

Logs are missing
We’ve thus marked B1 as rejected, however if this is a mistake, please upload the log summary and we can re-review.

rejected:B1
It looks like you are trying to submit B1, however it seems like the following submission criteria are problematic:

Logs are missing
We’ve thus marked B1 as rejected, however if this is a mistake, please upload the log summary and we can re-review.

NODE_ID :04da7a8399c95de4
Note: https://github.com/Concordium/Testnet3-Challenges/issues/1250 Some of the logs could not be retrieved due to an error in this link. Other server logs that it worked for 30 days were also uploaded.
concordium-testnet-system-report.log
concordium-testnet-node-49a1f4b52e705f31a96d3ac7585f11f51de6a4538d142a85a571c414507dcd5d.log
auth.log.2.gz
concordium-testnet-node.log
auth.log.3.gz
auth.log.4.gz

rejected:B1
It looks like you are trying to submit B1, however it seems like the following submission criteria are problematic:

Logs are missing
We’ve thus marked B1 as rejected, however if this is a mistake, please upload the log summary and we can re-review.

NODE_ID :04da7a8399c95de4
Note: https://github.com/Concordium/Testnet3-Challenges/issues/1250 Some of the logs could not be retrieved due to an error in this link. Other server logs that it worked for 30 days were also uploaded.
concordium-testnet-system-report.log
concordium-testnet-node-49a1f4b52e705f31a96d3ac7585f11f51de6a4538d142a85a571c414507dcd5d.log
auth.log.2.gz
concordium-testnet-node.log
auth.log.3.gz
auth.log.4.gz

pending:T2
account:screenshot-TBC
reason:We cannot fully verify this submission. Please assist us in typing out the account addresses for T2 in full as text in a comment on this PR. Thank you!
@donadel01

pending:T2
account:screenshot-TBC
reason:We cannot fully verify this submission. Please assist us in typing out the account addresses for T2 in full as text in a comment on this PR. Thank you!
@donadel01

beklemede: T2
hesabı: ekran görüntüsü-TBC
nedeni: Bu gönderimi tam olarak doğrulayamıyoruz. Lütfen bu PK ile ilgili bir yorumda T2 için hesap adreslerinin tamamını metin olarak yazmamıza yardımcı olun. Teşekkür ederim!

https://github.com/donadel01/Testnet3-Challenges/tree/main/Transactions/T2

beklemede: T2
hesabı: ekran görüntüsü-TBC
nedeni: Bu gönderimi tam olarak doğrulayamıyoruz. Lütfen bu PK ile ilgili bir yorumda T2 için hesap adreslerinin tamamını metin olarak yazmamıza yardımcı olun. Teşekkür ederim!

https://github.com/donadel01/Testnet3-Challenges/tree/main/Transactions/T2

confirmed:T2
account1:4XgbW1qRxFiUtcZW2B9G8q9k2ThJpn5yn1ibrEjC5qbyDhEmVf
account2:3AXrqVzeFibTJsKGFTonjCjTrM7Vv342W498REQ59L563afZc8

confirmed:T2
account1:4XgbW1qRxFiUtcZW2B9G8q9k2ThJpn5yn1ibrEjC5qbyDhEmVf
account2:3AXrqVzeFibTJsKGFTonjCjTrM7Vv342W498REQ59L563afZc8


Some changes are needed to install k8s

Enhancement
Some changes are needed to install k8s as we need the following VARS defined within the vars_host/<vm_name> file
ip_address: <IP_ADDRESS>
public_ip_address: <IP_ADDRESS>
ansible_ssh_port: 47286

This issue included other tasks such as adding become: yes to ansible tasks that required being ran using root. This was required now that root is not used by default user in ansible playbooks.


Package imports and relative imports don't resolve to the same type anymore

Dart VM version: 2.0.0-dev.69.0 (Tue Jul 17 14:57:16 2018 +0200) on "macos_x64"
macOS mojave

When to different files include the same file, once with import "package:mylib/test.dart"; and once with import "test.dart"; the dart runtime doesn't recognise the classes to be identical anymore.
// lib/test.dart
class Foo {
}

// lib/a.dart
import 'test.dart';
Foo getFoo() => new Foo();

// lib/b.dart
import 'package:mylib/test.dart';
import 'a.dart';

main() {
  Foo foo = getFoo(); // This fails
}

Error:
Error: A value of type '#lib1::Foo' can't be assigned to a variable of type '#lib2::Foo'.
Try changing the type of the left hand side, or casting the right hand side to '#lib2::Foo'.

dup of #33076