Add Ability to Add custom behavior

Start from the Use-case
I would like to be able to incorporate Lift into my existing pipeline by fully automating my CloudFront distributions. This includes the ability to add custom behaviors for my /api path which I would like to forward to an API gateway-hosted function. The simplest way to do this is to create a custom domain for my api gateway distribution that matches exactly my app URL without creating a DNS entry for it. For example: myservice.acme.com.  By adding the custom domain without a DNS entry, I have added my domain to the allowed values of the origin header for requests hitting the API gateway endpoint. This means I can have a behavior on my cloudfront distribution that remaps all requests to the /api* path pattern to the api gateway internal default invoke URL such as https://${someRandomId}.execute-api.us-west-2.amazonaws.com/. Since the A record for myservice.acme.com is pointing to my distribution, the origin header allows the distribution to make the call this way. You can also accomplish this with some lambda@edge header rewriting, but it's not necessary for this simple setup.
Example Config
service: myService

constructs:
    landing:
      type: single-page-app
      path: ${param:frontendDist}
      domain: ${param:domainName}
      certificate: ${certificate(${self:custom.customCertificate.certificateName}):CertificateArn}
      behaviors:
         -  origin:
              type: Custom
              target: !Ref HttpApiUrl
              OriginProtocolPolicy: https-only
            AllowedMethods:
              - GET
              - HEAD
              - OPTIONS
              - PUT
              - PATCH
              - DELETE
            CachedMethods:
              - GET
              - HEAD
              - OPTIONS
            CachePolicyId: abcd456a-a123-4567-89abc-defgh01234abc
            Compress: False
            DefaultTTL: 30
            FunctionAssociations:
              - arn:aws:cloudfront:::function/MyFunction
            LambdaFunctionAssociations:
              - arn:aws:lambda:us-east-1::function:myFunction:2
            OriginRequestPolicyId: abcd456a-a123-4567-89abc-defgh01234abc
            PathPattern: api*
            ViewerProtocolPolicy: https-only

functions:
  api:
    name: ${self:service}-api
    handler: api.php
    timeout: 28
    layers:
      - ${bref:layer.php-81-fpm}
    description: 'Care Team Ops HTTP API'
    reservedConcurrency: ${param:reservedConcurrencyApi}
    events:
      - httpApi: '*'
    tags:
      service: api

**Modified to highlight a more generic ability to add additional behaviors. These behaviors could be for an api endpoint, image storage, etc for different path patterns and generate/point to additional origin options.
Implementation Idea
Add an additional behavior with path pattern, forwarding all headers, etc to the provided invoke URL.

Hi, this looks similar to #82, is there a difference?

I think the use-case is similar, but I think my idea for implementation is somewhat more generic, though now that I review my "example config", I believe I drifted from my generic ideal. Originally, I was perusing to see if there was an output of the CloudFront distribution created by Lift that I could reference to add a custom behavior resource. However, if I'm reading the AWS CloudFormation documentation correctly, the membership of CacheBehavior objects occurs within the distribution object and there does not appear to be a way to associate a CacheBehavior object after the fact. I believe a better example configuration idea would be
service: myService

constructs:
    landing:
      type: single-page-app
      path: ${param:frontendDist}
      domain: ${param:domainName}
      certificate: ${certificate(${self:custom.customCertificate.certificateName}):CertificateArn}
      behaviors:
         -  origin:
              type: Custom
              target: !Ref HttpApiUrl
              OriginProtocolPolicy: https-only
            AllowedMethods:
              - GET
              - HEAD
              - OPTIONS
              - PUT
              - PATCH
              - DELETE
            CachedMethods:
              - GET
              - HEAD
              - OPTIONS
            CachePolicyId: abcd456a-a123-4567-89abc-defgh01234abc
            Compress: False
            DefaultTTL: 30
            FunctionAssociations:
              - arn:aws:cloudfront:::function/MyFunction
            LambdaFunctionAssociations:
              - arn:aws:lambda:us-east-1::function:myFunction:2
            OriginRequestPolicyId: abcd456a-a123-4567-89abc-defgh01234abc
            PathPattern: api*
            ViewerProtocolPolicy: https-only

functions:
  api:
    name: ${self:service}-api
    handler: api.php
    timeout: 28
    layers:
      - ${bref:layer.php-81-fpm}
    description: 'Care Team Ops HTTP API'
    reservedConcurrency: ${param:reservedConcurrencyApi}
    events:
      - httpApi: '*'
    tags:
      service: api

The implementation would be to simply create a CloudFormation CacheBehavior object definition for the listed behaviors and include them in the distribution. The origin object could first test if origin already existed before attempting to create simply based on target. Additionally, I left most of the default CloudFormation parameter names here just as a quick reference, but I suspect many could be removed and/or renamed to simplify/standardize the config.

@mnapoli. Mentioning you only because I don't remember if GH automatically notifies on issue response.

But now I'm wondering if this is already just covered in the extensions object.

Hi @BenCoffeed, I have to set a server-side website that contains all assets to S3 and then used CloudFront. I need to change the ViewerProtocolPolicy to allow HTTP and HTTPS. Do you have an idea of where the CloudFront config is supposed to be placed?
constructs:
website:
type: server-side-website
assets:
'/css/': css
'/js/': js
'/experiment/': experiment
'/images/': images
'/scss/': scss
'/views/': views

@revanhernandy I see how this looks more like a server-side request. However, in my specific use-case, I'm actually using a fully-functioning single-page application for my front end. I'm not processing or generating any HTML/CSS in lambda. I'm simply using a lambda-powered api to return application/data state for the frontend to display. All of the site rendering happens via a javascript SPA.
However, reading through the server-side docs, I think step 1 would be to add a custom domain so that SSL communication is enabled. See: Adding Custom Domain. Next, I would assume the default behavior would be to allow HTTP and HTTPS but automatically redirect HTTP to HTTPS as I believe this is the default state in AWS. However. . . if you wanted to modify, you would need to use the extensions to modify the distribution. You can reference the CloudFormation CloudFront Distribution Docs to dig in and find the particular settings you need.

@BenCoffeed did you get success adding behaviors? I want to do the same but if I add origins and behaviors, I get "One or more of your origins or origin groups do not exist", and ids between behaviors and origins are correct. So I guess extensions for origin and behavior don't work properly


only 1 class label

how should i define the class index if i have only a single class: {plane (VOC format)}
Currently, I have define VOC_CLASSES = [('plane')] {line 20} and self.class_to_ind = dict(plane=0) {line45} in voc0712.py like this. Is it correct? I can run with this code but my AP is always 0 ,so i'm not sure is this the problem?  It's look weird, isn't 0 should be a background label?

I have the same problem as you.

I use the following parameters to make the loss <4.
Number of objects = 16689
batch_size = 10
Epoch = 500
This works for me.

Have you solved this problem? Thank you!


AutoPlaylistRandom doesn't work

Please tick all applicable boxes.

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

Which version are you using?

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

What type of issue are you creating?

[. ] Bug
[ ] Feature request
[ ] Question

Description of issue
AutoPlaylistRandom function doesn't work I have activated AutoPlaylist and it autojoin the channel but pley the music sequencially
Steps to reproduce

Log file
Please attach your MusicBot log file (located at logs/musicbot.log) to this issue. You can do so by dragging and dropping the file here. If you do not include your log file, you WILL be asked to provide one.
musicbot.log

For it to be random please make sure the AutoPlaylistRandom is set to no, and you've cleared out your queue. Closing due to unable to reproduce.


Uncaught Error: Class 'DOMDocument' not found in nbconvert.php on line 119

Hi Andy,
I would love to use the plugin. Unfortunately, there seems to be an issue. I am using WordPress 5.3 and PHP 7.0.33. When saving a post with the example, I get an error. When I open the post, there is the following error-code:
Uncaught Error: Class 'DOMDocument' not found in /var/www/html/wordpress/wp-content/plugins/nbconvert/nbconvert.php on line 119
nbconvert_getHTMLByID()
wp-content/plugins/nbconvert/nbconvert.php:88
nbconvert_function()
wp-content/plugins/nbconvert/nbconvert.php:13
nbconvert_handler()
wp-includes/shortcodes.php:325
do_shortcode_tag()
preg_replace_callback()
wp-includes/shortcodes.php:199
do_shortcode()
wp-includes/class-wp-hook.php:288
apply_filters()
wp-includes/plugin.php:206
apply_filters()
wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php:1550
prepare_item_for_response()
wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php:472
get_item()
wp-includes/rest-api/class-wp-rest-server.php:946
dispatch()
wp-includes/rest-api.php:429
rest_do_request()
wp-includes/rest-api.php:1539
rest_preload_api_request()
array_reduce()
wp-admin/edit-form-blocks.php:77
include()
wp-admin/post.php:179

Any solution?
Thanks!

Issue was solved by installing php-xml:
sudo apt-get install php-xml
Great Add-In!


FFMPEG video processing error

Dear mot developer,
I got unexpected error when processing video that could be related to ffmpeg package.
When calling the AI service, some video looks to be processed ok by the AI, however the response back from the request call never make it.
After a while, the following log has been observed from the AI:
/usr/local/lib/python3.6/dist-packages/werkzeug/filesystem.py:60: BrokenFilesystemWarning: Detected a misconfigured UNIX filesystem: Will use UTF-8 as filesystem encoding instead of 'ascii'
BrokenFilesystemWarning,
Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/werkzeug/serving.py", line 306, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python3.6/dist-packages/werkzeug/serving.py", line 297, in execute
write(data)
File "/usr/local/lib/python3.6/dist-packages/werkzeug/serving.py", line 278, in write
self.wfile.write(data)
File "/usr/lib/python3.6/socketserver.py", line 803, in write
self._sock.sendall(b)
TimeoutError: [Errno 110] Connection timed out
<IP_ADDRESS> - - [29/Apr/2021 08:43:35] code 400, message Bad request syntax ('\x16\x03\x01\x00{\x01\x00\x00w\x03\x03 Rn8\x1fa\x93o" mI\xe3t\t\xbe\xbf\xe4\xf9\x06 \x850J\xac\x05\xe5\x05\xcc_\x08\xce\x00\x00\x1a\xc0/\xc0+\xc0\x11\xc0\x07\xc0\x13\xc0\t\xc0\x14\xc0')
<IP_ADDRESS> - - [29/Apr/2021 08:43:35] "{w Rn8a\x93o" mI\xe3t	\xbe\xbf\xe4\xf9 \x850J\xac\xe5\xcc\xce\xc0/\xc0+\xc0\xc0\xc0\xc0	\xc0\xc0" HTTPStatus.BAD_REQUEST -
During the processing of the video by the AI, the following (new) message appeared, which might indicate a root cause from ffmpeg:
[swscaler @ 0x555ecf78f640] deprecated pixel format used, make sure you did set range correctly
I appreciate your help.
Kind regards

This video is processed correctly: https://storage.googleapis.com/plasticorigin/6250052d-f716-435c-9d71-83ad49347c5e.mp4
This video is NOT processed correctly and raised previously described:
https://storage.googleapis.com/plasticorigin/bf1a60f8-ad7a-4572-ac9c-bf7ff042a301.mp4

After checking, the message:
[swscaler @ 0x55b60ff6d900] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'tmp/tmp_6250052d-f716-435c-9d71-83ad49347c5e.mp4_split/frame_%4d.jpeg':
is also present for working video.
Hence not sure this necessarily come from ffmpeg


"Shelf & Clipboard (Catalog): QSPresetShelves -> Show Entry in  Catalog" crashes QS

Whenever I do the following, QS crashes.  Is this a known issue and is there a fix / workaround?
"Shelf & Clipboard (Catalog): QSPresetShelves -> Show Entry in Catalog"
What is the correct behavior for the above action?
I raised this issue in google groups at http://groups.google.com/group/blacktree-quicksilver/browse_thread/thread/8f5948a9cd367462/fcb26458066195b0?lnk=gst&q=rasivasu#fcb26458066195b0 and got to know that there is a similar bug reported at https://github.com/quicksilver/Quicksilver/pull/678#issuecomment-3908658.

@skurfer first reported this bug. I believe it has to do with the NSClassFromString() method that is called to bring up the preferences, and perhaps the class not existing if the prefs haven't been opened before?


Add secondary rate limit handling (pre-do and hook) and fix rate limit categories

Add check-before-do for secondary rate limit
Add optional hook for secondary limits
Add missing categories for primary rate limits

Notes:

As far as I could see, there is no documented API for runner registration - so I didn't handle this case.

fixes #2633

I have just realized that the hook must get the client as a parameter (and it's reflected in the tests, where I use the wrong client for the retry). I'll push a fix for that

Hmmm... I'm not sure I'm happy about these changes, and I've got a heavy workload right now. Please give me a week to mull this over.

hey @gal-legit, thanks for the feedback!
I feel you - this PR adds complexity and new behavior to the client, and I don't feel too comfortable with adding this "mess" to the very elegant and clean style of the client.
I think that we can actually benefit from the delay.
During this week, I tackled this issue for the project I'm working on.
It started as a meantime solution, but I now think that taking this approach is probably better,
and it allows us to drop the hook and let the users handle it (somewhat like caching/token).
Check out secondaryRateLimitWaiter here.
If you like the idea of dropping it, I can remove all hook-related stuff from this PR.
Also, if you think that this reference is worth recommending (like the cache/etc.), I can move that secondary rate limit transport to a different repo so that everyone can use it as a plugin.
Obviously, I'll also adjust it to fit general availability (remove the injecter and the log, add support for max-sleep, etc.).
Let me know what you think, and I'll continue from there.
Thanks!

Let me know what you think, and I'll continue from there.

Ah, genius!  I think handling it in an external-to-this-repo RoundTripper is a thing of beauty!
Let's proceed that way, and then this PR could instead point to the external RoundTripper in its examples and/or comments.
Thank you, @gal-legit !

@gmlewis cool! I'll do the separation and update the PR with all the fixes and reference when it's ready.
I should keep the basic handling of the secondary rate limit in the client though. right?
i.e., saving it in the response and handling it in checkSecondaryRateLimitBeforeDo() to prevent remote requests, but with an implementation that looks just like checkRateLimitBeforeDo() so it isn't messy.

Hmmm... would that tie this "go-github" repo to the external RoundTripper repo?
Is there a way to add the functionality without adding an external dependency?

I meant in the context of the PR -- adding the handling to improve the client, regardless of the RoundTripper.
The current implementation of the RoundTripper uses go-github because the hosting project already does (so I didn't mind). The standalone version would parse the header and remove the dependency on go-github. So it shouldn't be tied anyway.

OK, cool... I think I understand, but it will become more clear as I see the PR update.
Thanks again, @gal-legit !  I appreciate your patience and willingness to make this improvement!

I have the new repo ready (https://github.com/gofri/go-github-ratelimit),
gonna have the changes to the PR ready soon

I have the new repo ready (https://github.com/gofri/go-github-ratelimit), gonna have the changes to the PR ready soon

Woohoo!  I gave it its very first GitHub star!  :smile:

@gmlewis
I pushed the new version.
I resolved the comments that are related to the hooks because it's now omitted. Also, I responded to (and applied) the fixes from the other comments.

@gmlewis oops, done

We keep getting linter errors.
level=error msg="Running error: 1 error occurred:\n\t* can't run linter goanalysis_metalinter: inspect: failed to load package : could not load export data: no export data for \"github.com/gofri/go-github-ratelimit/github_ratelimit\"\n\n"

It looks like you need to make a versioned release (0.0.1 maybe?) of your new external package, then update this PR to explicitly pull in that version in the examples/go.mod file to clear up this problem.

It looks like there is a problem on Windows... I think it may have to do with how time comparisons are performed in your test.
    github_test.go:1461: abuseRateLimitErr RetryAfter = 2m3s, want 2m3s
--- FAIL: TestDo_rateLimit_abuseRateLimitError_retryAfter (0.00s)

Please check out time.Equal and see if you can fix this.

@gmlewis
My bad. It was actually a bug in the test:
I meant to test the delta between the expected and actual retry-after is less than a second,
but, I forgot to multiply by time.Second and the comparison was the other way around.
So it actually tested that the delta is bigger than a nanosecond. I guess that the timer has a lower resolution on Win so it caught it.
p.s. it's comparing time.Duration, so AFAIK it should be fine as long as I compare it to time.Second.

My bad. It was actually a bug in the test:

I find it bizarre that only the Windows version of the test caught the issue, and not the Linux build!?!?!?
OK, thanks.  I have to step out but hopefully will get back to this PR later tonight.

LOL, I found it a bit embarrassing for me, being a Linux kernel engineer.
I guess that sometimes having a worse implementation might be good for testing 🤷

being a Linux kernel engineer.

Cool! I'd love to ask you about your favorite distros, but this is probably not the right forum. 😂

Thank you, @valbeat !
Merging.


ci improvements

chore: use cache for npm installs
chore: remove CI=true variable

Btw, it looks like tests are not run automatically:

https://github.com/atomiks/floating-ui/actions/runs/1531878792

Hmm is that a new thing with GitHub Actions requiring approval of PRs 🧐 or maybe it's a setting in the repo...


ZED camera causes ubuntu 18.04 with RX 2080 and CUDA 10.0 to freeze

My setup:
Ubuntu 18.04
AMD Ryzen 2700X
NVidia RTX 2080
nvidia-driver-410
cuda-10-0

Steps to reproduce:
1)
Connect ZED camera
If ZED camera is not detected, try plug/unplug until it is
Try to calibrate camera
if the calibartion window will become unresponding, try restarting calibration
Wait for system freeze

Connect ZED camera
If ZED camera is not detected, try plug/unplug until it is
Try to see video using ZED explorer
if camera is not detected, just wait

Any news?

Hi,
Can you tell the ZED SDK version you are using ?

The latest, 2.8.3, from https://download.stereolabs.com/zedsdk/2.8/ubuntu18 .


FullNode: Remove unused version (unittest)

This method is overridden in unittests (agora.test.Base) and this statement never executes.

Good point, fixed doc


Release version 1.2

Coming from opensearch-build#567, release version 1.2. Please follow the following checklist.
Preparation

[x] Assign this issue to a release owner.
[x] Finalize scope and feature set and update the Public Roadmap.
[x] Create, update, triage and label all features and issues targeted for this release with v1.2.0.

CI/CD

[x] Increment version on main to <IP_ADDRESS>.
[x] Ensure working and passing CI.
[ ] Re(add) this repo to the manifest.

Pre-Release

[ ] Branch and build from a 1.2 branch.
[ ] Update your branch in the manifest.
[ ] Feature complete, pencils down.
[ ] Fix bugs that target this release.

Release

[ ] Complete documentation.
[ ] Gather, review and publish release notes.
[ ] Verify all issued labeled for this release are closed or labelled for the next release.

Post Release

[ ] Create a release tag.
[ ] Suggest improvements to this template.
[ ] Conduct a postmortem, and publish its results.

Replication to 1.2 release manifest: https://github.com/opensearch-project/opensearch-build/pull/902

@ankitkala @saikaranam-amazon Until Friday the 12th at noon PST, any tests that use distribution downloader were running against old bits and need to be rerun.  Can you please see if your team was impacted, rerun the tests, and then mark the tests run as completed in https://github.com/opensearch-project/opensearch-build/issues/954?

Our Integration tests were not impacted because it still uses distribution as INTEG_TEST (Need to move to ARCHIVE).
We're only using distribution download for BWC test which is still failing.

We're only using distribution download for BWC test which is still failing.

Is there an issue that I could track?

Note; Confirmed offline, all the tests have been executed


Wait for Database Server Feature

I use Phinx in container based projects (Moby/Docker) to migrate and seed my (Mysql) database.
A common scenario is that the PHP application container can only seed the database if the database server container is not only running (depends on) but also the database server is up and running.
Right now I check this with a shell script but I think this kind of check fits well into the scope of the phinx commandline untility (migrate and seed come to my mind) which could be implemented as a flag to these commands, e.g.
--wait-for-server <secs>

Please provide feedback. If something like this is of interest. If so I would work out a suggestion about how this could be done in PHP/Phinx.

PR welcome

Closing due to lack of activity or out of scope. If there is new interest, please open a PR.

@othercorey Works for me.


Editor is too wide when it opens

Whenever I finish recording a gif, the editor opens really wide (looks to be 1920 pixels wide, my screen is 2160 by 1080 for comparison)
Here is how wide it opens at currently:

Here is how I think it should open:

Here is a screenshot from version 1.4.2, which shows how I would like it to behave:

The Editor (like the Recorder) will save its own size and position. So, if you resize, the app remembers.

Done. There's now (for v2.9) two related options:

The first one will adjust the window size, as requested by you and the second option will adjust the frame zoom based on the window size.
Also, if you want to adjust the window size after loading, there's a button for that:


Can't build release artifacts due to cibuildwheel issue

Cannot build wheels on Windows due to this error:
https://github.com/pypa/cibuildwheel/issues/1748
https://github.com/pypa/cibuildwheel/issues/1740
Unfortunately, it says it is fixed in v2.16.5, but that is the version we are using.

@keitherskine Have you run into this?  Any ideas?

The #1740 comment indicates it is sporadic for them.  Maybe GH is running different runner versions?

Now I'm getting something else: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/upload-artifact@v3. For more information see:
It appears GH is not being consistent.

I haven't seen this.  To test, I have manually kicked off the artifacts build for tag 5.0.1 (on mkleehammer/pyodbc).  Let's see if it completes successfully.  On my pyodbc fork, I didn't see an error after I updated the versions of the Github Action utilities.

Build run: https://github.com/mkleehammer/pyodbc/actions/runs/7787826214
Takes about 10-15 minutes.

Your build is already past the error I'm seeing: https://github.com/mkleehammer/pyodbc/actions/runs/7769781696/job/21236111461

That build has completed and the zip files of wheels can be downloaded.
The previous build failed but that was based on commit bc5b7c6 which is not tag 5.0.1 (commit f075e33).  Is that the issue?

Meanwhile, the Appveyor build tests for tag 5.1.0 has completed:
https://ci.appveyor.com/project/mkleehammer/pyodbc/builds/49115239

I've uploaded the binaries from your build.  I'm going to close this.  If the new GH workflow is having issues, I'm sure they'll be worked out before we need them again.
/close

Great stuff!  pyodbc appears to work on my M1 now "clean":
(pyodbc) /Users/keith/git/pyodbc $ python -m pip install pyodbc
Collecting pyodbc
  Downloading pyodbc-5.1.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (2.7 kB)
Downloading pyodbc-5.1.0-cp311-cp311-macosx_11_0_arm64.whl (71 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.6/71.6 kB 3.3 MB/s eta 0:00:00
Installing collected packages: pyodbc
Successfully installed pyodbc-5.1.0
(pyodbc) Users/keith/git/pyodbc $ python -c "import pyodbc; print(pyodbc.version)"
5.1.0
(pyodbc) /Users/keith/git/pyodbc $


[Question] Nginx

@bolkedebruin
can this be setup behind a nginx reverse proxy so that is can share the IP address with other websites, i know you can do this with mesh central, but the goals are slightly different
label:question

@bcsanford we have it running behind nginx ingress controller on k8s so should be all fine


[Threat Modeling]  Check if we process personal data in cluster kubeconfig

Reason
We can't store personal data without a reason to be DPP compliant.
Acceptance criteria

[ ] Check if we process personal data in kyma cluster kubeconfig

Here's an example of obfuscated kubeconfig:
apiVersion: v1
clusters:
  - cluster:
    certificate-authority-data: {omitted}
    server: {omitted}
  name: {omitted}
- cluster:
    certificate-authority-data: {omitted}
    server: {omitted}
  name: garden-{omitted}-internal
contexts:
- context:
    cluster: garden-{omitted}-external
    user: garden-{omitted}-external
  name: garden-{omitted}-external
- context:
    cluster: garden-{omitted}-internal
    user: garden-{omitted}-external
  name: garden-{omitted}-internal
current-context: garden-{omitted}-external
kind: Config
preferences: {}
users:
- name: garden-{omitted}-external
  user:
    client-certificate-data: {omitted}
    client-key-data: {omitted}

I don't think that we should consider any of those as personal data and we could close this issue.
WDYT @tobiscr ?

No private data - closing issue as fulfilled.


Undo / Redo Functionality

Adds the ability for the user to undo / redo changes made to the ViewRange and SelectionRange.  Adds buttons to the toolbar for these actions.
Signed-off-by: Will Yang<EMAIL_ADDRESS>

@bhufmann
I'm working on Undo / Redo, and trying to implement CTRL + SHIFT + Z / Y for the keyboard shortcuts.  It appears that CTRL + Z and CTRL + SHIFT + Z keyboard events don't propagate down to trace-context-component.
To explain: I can console log CTRL, CTRL + SHIFT, and even CTRL + SHIFT + [1, Q, E, 3, etc...]in the onKeyDown function in TraceContextComponent.  However, CTRL + SHIFT + Z/Y does not get logged.
Not sure how to move forward.  Could we use a different keyboard shortcut, or only use the buttons?  My guess is that we'd have to make changes in a different repo to enable  CTRL + SHIFT + X/Y.
Code for console logging.

@bhufmann
I'm trying to implement CTRL + SHIFT + Z/Y for the keyboard shortcuts. It appears that CTRL + Z and CTRL + SHIFT + Z keyboard events don't propagate down to trace-context-component.
To explain: I can console log CTRL, CTRL + SHIFT, and even CTRL + SHIFT + [1, Q, E, 3, etc...] in the onKeyDown function in TraceContextComponent. However, CTRL + SHIFT + Z/Y does not get logged.
Not sure how to move forward. Could we use a different keyboard shortcut, or only use the buttons? My guess is that we'd have to make changes in a different repo to enable CTRL + SHIFT + X/Y.

@williamsyang-work I think we should stick to standard keyboard shortcuts for undo/redo. I tried to use onKeyUp instead and the event is triggered for any key that is released after key down. Unfortunately, this is a slight different behavior when using other keys, like on the timeline-chart itself (e.g. shift + arrow key to select states). The timeline-chart adds the events to the canvas of the chart.

@bhufmann
I'm trying to implement CTRL + SHIFT + Z/Y for the keyboard shortcuts. It appears that CTRL + Z and CTRL + SHIFT + Z keyboard events don't propagate down to trace-context-component.
To explain: I can console log CTRL, CTRL + SHIFT, and even CTRL + SHIFT + [1, Q, E, 3, etc...] in the onKeyDown function in TraceContextComponent. However, CTRL + SHIFT + Z/Y does not get logged.
Not sure how to move forward. Could we use a different keyboard shortcut, or only use the buttons? My guess is that we'd have to make changes in a different repo to enable CTRL + SHIFT + X/Y.

@williamsyang-work I think we should stick to standard keyboard shortcuts for undo/redo. I tried to use onKeyUp instead and the event is triggered for any key that is released after key down. Unfortunately, this is a slight different behavior when using other keys, like on the timeline-chart itself (e.g. shift + arrow key to select states). The timeline-chart adds the events to the canvas of the chart.

As per our conversation let's go with the following shortcuts for the undo/redo feature, which are consistent with the Theia/VsCode default shortcuts for undo/redo in code editors:

undo: CTRL+Z
redo: CTRL+SHIFT+Z and CTRL+Y


Initial routing functionality

Great work, thanks for the PR!
I've done some preliminary review at the various integration points. I also took a look at the package hosted as a repo within y'alls organization. I have some additional code review comments, but I'm unsure how y'all would like to integrate this feedback. Do y'all plan to also integrate the package into lnd as a sub-package, or to continue to maintain the code independently within a different repository? My preference would lean towards creating an additional PR which adds the package as a sub-package within lnd, keeping this PR which implements the integration within the daemon.
(As an aside we should switch to using internal packages within lnd for packages we don't expect the outside world to consume.)
On my side, I need to do some final work with the forwarding of the htlcSwitch to ensure it handles multi-hop payments properly, is able to (possibly) fragment payments, and properly maintains it's internal state (the meta-data related to links). Additionally, I need to revisit my Sphinx implementation to add the necessary serialization so the mix-header can be placed in the opaque onion blob within `lnwire.HTLCAddRequest.

Thanks for the review!
We probably add routing as a subpackage to lnd.

I've corrected issues.
Direct integration of tools into lnd will be in the next PR.

Looks Good To Me!

We can add the vendor imports after merging.

The new showroutingtable command hangs for me when I try it. Looking at the logs under trace debugging, I see the message go through, but then get dropped once it reaches the routingMgr.
I debugged the issue a bit, and found that within y'alls current "tools" repo the message sent isn't a pointer so it falls through the switch case in `handleMessage.

Once a commit to the tools repo lands fix the bug described above:

LGTM 👍

As joseph said, I'll push a fix up commit adding tools to the vendoring configuration as a temporary entry so the build returns to passing, while we work on/review the next PR which integrates the tools repo.

Fixed bug in tools. Thanks for finding and explaining it!

Rebased and merged as: https://github.com/lightningnetwork/lnd/commit/f8c851769fb5910763543f0b01d4465b974a0bf9
Thanks!


Add ERC721MCallback extension

New ERC721MCallback extension which allows the owner to specify some callback contracts + methods to be called. Example use case is automatically staking newly minted NFTS.
A list of contracts that should be granted ApprovalForAll can be set via setOnMintApprovals (necessary for staking contracts to transfer NFTs away from minter)
Data for each callback is passed in a minting time via mintWithCallbacks

Merge for audit purpose.


createSend is not a function in onError handler

Expected behavior
Running the http example and pressing the Naughty button should create an error that is sent up to the onError handler, which in its turn should display the error on page.
Actual behavior
The onError handler fails with error createSend is not a function.
Steps to reproduce behavior
Clone main repo, npm install, cd to http example, npm install, npm start and then press Naughty button.

Problem with barracks, seems like the second and third parameters (state and createSend) gets lost here in wrapOnError.

Closing because choo@5 will introduce a new API. See #425 for the merged PR. Thanks!


cloud_controller_ng fails with remote Postgres

This seems related to https://github.com/cloudfoundry-attic/cf-release/issues/159.
If the Cloud Controller uses external Postgres as its database, the deploy will fail. I had to manually create citext extension in the remote database for the deployment to work. I guess this issue was fixed for local Postgres using https://github.com/cloudfoundry-attic/cf-release/issues/159 but never fixed for external Postgres.

This repository is no longer supported. Closing issue.


[feature][doc] Add configs for full-support tls provider and managed cursor compression

Motivation
To align with code PR #14542  , #14569 , and #13740 .
Modifications

Add managedCursorInfoCompressionType to the config section of broker and standalone.
Update the description of tlsProvider to the config section of broker, standalone, and proxy.
Add tlsProvider to the config section of websocket.
Add webServiceTlsProvider to the config section of broker, standalone, and proxy.

Documentation

[x] doc

@nodece @codelipenghui can you pls review this doc PR? Thanks.
CC @Anonymitaet.

Hi @nodece I added docs for https://github.com/apache/pulsar/pull/13740. Can you pls review again? Thanks.

/pulsarbot run-failure-checks


A Secret Reconciler for CertManager

Very very pseudocode:
func (r *SecretReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
    // Get the secret
    var secret corev1.Secret
    if err := r.Get(ctx, req.NamespacedName, &secret); err != nil {
        return ctrl.Result{}, client.IgnoreNotFound(err)
    }

    // Extract certificate details
    cert := secret.Data["tls.crt"]
    key := secret.Data["tls.key"]

    // Send certificate details to external service
    sendCertificateDetails(cert, key)

    return ctrl.Result{}, nil
}

Here's the idea:

cert-manager mints secrets in a protected namespace that none of the worklaods can access.
VSecM watches that namespace.
Operator can define a secret of type cert in VSecM.
Whenever cert-manager mints or refreshes a secret that is assigned to a workload, the workload will receive full details of tha cert.
the cert will data will be stored as a regular struct in memory and serialized to json when sent to workloads.

The benefit of this approach is, we won't have to define certificate Kubernetes Secrets in 10 different namespaces: The secrets can be defined in a single protected namespace; and VSecM can intercept and dispatch those secrets to whomever that needs them.
While the best way to do this is to dispatch the certs via VSecM SDK; some use cases might require the certs to be created as regular Kubernetes secrets too. Especially for legacy apps that are configured to consume a Kubernetes Secret; and cannot easily use things like VSecM Sidecar without significantly modifying their helm charts.


Feature optimization

Added several optimizations to VBO & RenderTarget that reduce bytes per pixel from 36 to 18 (50%) and bytes per vertex from 56 to 28 (50%).

Really good work. But I can't accept this at the moment.
We want to do high level optimization before low level optimization.
This optimization increases the codes complexity in a way that is currently unnessessary.
I'll leave the branch alive so we can merge it during block B, C or D.


Set defaults for tags and unavailability

In resources.py set  tags=[] and unavailability=[] as defaults. After that we can clear up some of the documentation.

Sounds like an easy one, mind if I tackle it? :-)

Please do! :+1:


segmentation code

Hello, I want to ask which segmentation code did you use to train the pseudo-label?

Thanks for following our work, the segmentation code refers to DeepLab v2.

Did you use extra data to separate the background during the inference?


[Bug Report] Extension fails to load / have effect on YouTube with new layout.

Describe the bug
Extension fails to load or take effect on YouTube pages with the new layout. Sometimes it will load after a page refresh, sometimes it won't... It is completely random. Sometimes you can refresh the page 6 times and it still won't load, and then hit refresh again and it's fine. I've tried disabling any other extensions that are running that would affect YouTube pages, eg. ad-block and style related extensions, both have no effect on whether or not Enhancer will load.
To Reproduce
Open any video on YouTube.
Expected behavior
Extension should work as intended.
Desktop (please complete the following information):

OS: Linux
Browser: Firefox
Version: 127.0

@sjclayton I haven't had that issue, I've been testing the new layout with my YouTube premium subscription for a week and haven't had any issues. I can try to reproduce the issue.
What version of the extension are you using?

I use chrome so it is possible the issue is related to firefox

What version of the extension are you using?

Latest

What version of the extension are you using?

Latest

latest being what version... I ask because people have confused this extension for another extension

What version of the extension are you using?

Latest

latest being what version... I ask because people have confused this extension for another extension

Version 1.25.0, people confuse this extension with the old extension of basically the same name that was awesome, and the extension you are developing has the potential to be just as awesome, but YouTube and Google seem to be consistently hampering your ability to actually get there.

What version of the extension are you using?

Latest

latest being what version... I ask because people have confused this extension for another extension

Version 1.25.0, people confuse this extension with the old extension of basically the same name that was awesome, and the extension you are developing has the potential to be just as awesome, but YouTube and Google seem to be consistently hampering your ability to actually get there.

thanks, true at the time of coming up with the name of my extension I didn't know about Enhancer for YouTube but I'll admit it is similar. That they do

@sjclayton can attach logs from the extension when it fails to load, if there are any logs that is.

I'm testing with Firefox version 127 on Windows 10, currently the extension is enabling fine. I don't have a machine to test with Linux unfortunately.

I have encountered the same issue. My device is Windows 11, using the Chrome browser, and the extension version is v1.25.0.
you can see that this is the new YouTube layout, and there is no feature menu here.

When my YouTube returned to the old version of the layout, the feature menu appears.

I used uBlock and some code provided on Reddit, thus reverting the layout of YouTube to the old version.
I hope my description above can help you pinpoint the issue.

I have encountered the same issue. My device is Windows 11, using the Chrome browser, and the extension version is v1.25.0.
you can see that this is the new YouTube layout, the extension do works, because it has remaining time and I can use scroll wheel to control volume, but there is no feature menu.

After I returned my Youtube to the old version of the layout, the feature menu appears.

I used uBlock with some code provided on Reddit, thus reverting the layout of YouTube to the old version.
I hope my description above can help you pinpoint the issue.

@MooWantFree There are a few known bugs with the new layout I have yet to fix.
Not complete
Working:

remember last volume

Remaining time

Pause background players

Loop button

Hide scrollbar

Open transcript button

remove youtube /redirect URLs

shorten youtube video share link

shorts auto scroll

hide shorts

hide live stream chat

hide end screen cards

Video history

Scroll wheel speed control

Scroll wheel volume control

automatic quality

forced playback speed

Playback speed buttons

Volume boost (global + per video)

Screenshot button

deep dark theme

custom css

Broken:

feature menu
maximize player button
Automatic theater mode
open youtube settings on hover
hide translate comment button

Automatic theater mode

here is the working version, two detection methods are used here

API call isTheater_()
compare player/screen width

Activation occurs through emulation of pressing a global key. A few months ago I was digging through the youtube code and discovered that the API had been renamed from setPlayerTheaterMode_() in updateTheaterModeState_() but I don’t remember why I left it. There is also a way to detect and influence via cookies, but it is inert and I have not found a way to trigger the page without updating the page
NOVA.waitSelector('.ytd-page-manager[video-id]:not([player-unavailable])')
        .then(el => {
           if (isTheaterMode()) return;

           NOVA.waitUntil(() => isTheaterMode() ? true : toggleTheater(), 1000);

           function isTheaterMode() {
              return (
                 // (el.hasAttribute('theater') // old
                 (typeof el.isTheater_ === 'function' && el.isTheater_())
                 || approximatelyEqual(movie_player.clientWidth, window.innerWidth, .05)
                 // || (NOVA.cookies.get('wide') === '1') // unreliable inert method
              );

              function approximatelyEqual(num1 = required(), num2 = required(), tolerance_pt = .05) {
                 // Calculate the absolute difference between the numbers
                 const absDiff = Math.abs(num1 - num2);
                 // Get the larger number's absolute value
                 const largerAbs = Math.max(Math.abs(num1), Math.abs(num2));
                 // Check if the absolute difference is less than the tolerance (5%) times the larger number
                 return absDiff < (tolerance_pt * largerAbs);
              }
           }

            function toggleTheater() {
              // Strategy 1 (API)
              // document.body.querySelector('.ytd-page-manager[video-id]').setPlayerTheaterMode_(); // Doesn't work
              // el.updateTheaterModeState_(true);

              // Strategy 2 (Hotkey)
              (typeof movie_player === 'object' ? movie_player : document) // window.dispatchEvent - Doesn't work!
                 .dispatchEvent(
                    // Keyboard code - https://docs.microsoft.com/en-us/dotnet/api/android.views.keycode?view=xamarin-android-sdk-12
                    new KeyboardEvent(
                       'keydown',
                       {
                          keyCode: 84,
                          key: 't',
                          code: 'KeyT',
                          which: 84,
                          // target: document.body,
                          bubbles: true,
                          cancelable: false,
                       }
                    )
                 );

              // Strategy 3 (Emulate button press)
              // document.body.querySelector('.ytp-chrome-bottom .ytp-size-button').click();

              // Strategy 4 (Cookie) (Doesn't work without refreshing the page)
              // document.cookie = 'wide=1;domain=.youtube.com';
              // NOVA.cookie.set('wide', 1, 99);
           }

my code works I just need to fix what is causing it to not work with the new layout

try adding highlight markers Which page elements does the script click on
sizeButton.click();
sizeButton.style.border = '2px solid blue'; // mark for test

I believe the problem is either that the click occurs on another hidden element. or the listener has not yet connected to the button

not sure I haven't even started trying to fix any of the broken features

I'm going to start working on fixing broken features in the new layout later today

fixed:

feature menu
open youtube settings on hover
automatic theater mode
maximize player button

needs to be fix

hide translate comment

Fixed in 742be90


RFE for adding menu and a nav bar in the theme

Hi,
I recently migrated to Hugo from my Pelican blog. I loved this theme a lot , and would love to customize it more for my blog. I am a newbie programmer , and I am not aware so as to how one should start implementing the ideas in to the projects they want to work upon and contribute.
Please guide me so that I can make my contribution to this lovely theme and an amazing project!!
Regards,
Ganesh

Hello @meganeshkadam,
it great to hear that you shifting to Hugo. What enhancement do you have in mind or what problems are you facing?
Please communicate your planned enhancements to the theme before making a pull requests.

I am a newbie programmer , and I am not aware so as to how one should start implementing the ideas in to the projects they want to work upon and contribute.

When working with such themes I would expect basic knowledge in HTML and CSS. Furthermore, basic knowledge of Hugo would be beneficial.

Please guide me so that I can make my contribution to this lovely theme and an amazing project!!

As I said: please give me a goal.
Cheers,
Digitalcraftsman

Are you still considerung to make enhancements to this theme?

No recent activity in this issue, so I'll close it.


consider adding a stepper driver

this will allow us to more prototyping options.
we could possibly use one of the i2c ports to attach an i2c stepper driver such as AMIS 30624

https://www.st.com/en/ecosystems/x-nucleo-ihm03a1.html
Nucleo shield for stepper motor driver

I documented the pin difference between the Nucleo stepper driver and Edwin's board here.
I created separate tabs that just display the pin conflicts, along with my proposed resolution.
The thrust of the idea is to share the SPI bus across uSD and the stepper, with different chip selects.
Alternatively we could just remove the uSD card when testing the stepper motor.
I'd like a review from @verityRF @inceptionev @rkevinwatson to make sure I didn't go crosseyed making the pin charts. I'm particularly susceptible to MOSI/MISO mixups.
https://docs.google.com/spreadsheets/d/1EP9jQYIz0WdIBkeFmQDyeVXeIfuUcTSwAgnJIIQ7mOM/edit?usp=sharing

@sosaysthecaptain

I don't think switching the solenoid control from CN8p21 to CN8p24 is going to work because CN8p24  is on TIM3, which ties the solenoid PWM to the buzzer frequency.  There is a TIM1 output on this pin but it is inverted.  Not sure if that will be a problem but it would be ideal to use a pin with the positive polarity.

Proposed solution: use CN8p24 (PB1) for CC-ID1 and use CN8p12 (PA12/TIM1CH4) for solenoid control.

Please review the attached schematic to confirm the pin swaps
20200423-Issue44review-RespiraWorks-Ventilator-DWG-SCH.pdf

Also please verify, all these pins seem to be on CN10, not CN8

Approved! I updated the spreadsheet linked above, with a new tab 'FINAL' detailing this change.

BTW a clerical error on my part, CN10, not CN8


Error occur when restarting the server after migrating from WSO2AM-2.0.0 to WSO2AM-2.1.0

Description:
After running apim200_to_apim210_gateway_artifact_migrator.sh and restarting the new APIM 2.1.0 instance, the APIs with caching enabled throw the below exception.

Caused by: org.apache.synapse.SynapseException: Specified class for the hashGenerator is not a DigestGenerator. It must implement org.wso2.carbon.mediator.cache.digest.DigestGenerator interface

Suggested Labels:
Bug
Affected Product Version:
AM-2.1.0, AM-2.0.0
Steps to reproduce:
Follow the steps in the attached documentation [1] for Upgrading from 2.0.0 to 2.1.0
Then start the WSO2AM-2.1.0 server
[1] https://docs.wso2.com/display/AM210/Upgrading+from+the+Previous+Release

Specifically it happens on API's that have caching enabled.  Re-publishing the API in 2.1.0 will solve the issue, but would have to be done for each effected API.

This has been fixed


[sqlvm-preview] Set the max CLI core version as 2.0.66

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/limingu/azure-cli-extensions.git@sqlvm#subdirectory=src/$EXT&egg=$EXT"


🚧feat(shortcut-manager): implement functionality

FYI: in du-lib, there's a similar functionality, we call it hotkeys. Not sure if it fits all your needs, but I would recommend giving it a try. It can be found here.
Unfortunately, it's not documented yet, but you can find usage examples in Validation Station and Classification Station. One example would be here.


[BUG] Cannot sign up

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When attempting to sign up with Alby:

Enter email address
Click sign up

The following error appears and makes sign up not possible:
"The change you wanted was rejected.
Maybe you tried to change something you didn't have access to.
If you are the application owner check the logs for more information."
An additional error is seen in a tooltip:
"Connection failed (Alby client was not initialized)"
Screenshots [optional]

Steps To Reproduce

Enter email address
Click sign up

Expected behavior
Sign up should continue to process.
Alby information
Alby version 3.1.1
Installed from: https://addons.mozilla.org/en-US/firefox/addon/alby/
Device information
Linux
Firefox v 1.16.02
Additional context
No response
Are you working on this?
None

thanks for reporting.
Do you by any chance have cookies disabled? Or how long was the "login page" open before you entered the email address and clicked signup?

I encounter this problem too: "Connection failed (Alby client was not initialized)"
I use ads fingerpoint browser

I encounter this problem too: "Connection failed (Alby client was not initialized)"
My Chrome/106.0.5249.103

Hi, could you please send an email to<EMAIL_ADDRESS>and if possible include your IP and ASN number from https://ifconfig.co/ - we can better help you there as this is related to Alby accounts.


Relax test for build requirements from setuptools

Closes #203.

I'm going to merge this without review, since it only touches tests and fixes the CI.


app crashes in ios 17.0

NSTaggedPointerString containsObject:]: unrecognized selector sent to instance 0x870d708058ae1336 .The issue happens while accesing camera .
private var device: AVCaptureDevice? {
   return AVCaptureDevice.default(for: .video)
 }

app is crashing on this line. This crash is happening in a specific project only . In a newly created project camera plugin is working .
[✓] Flutter (Channel stable, 3.16.5, on macOS 14.1.1 23B81 darwin-x64, locale en-GB)
    • Flutter version 3.16.5 on channel stable at /Users/aravindp/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (2 months ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/aravindp/Library/Android/sdk
    • Platform android-33, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.82.0

[✓] Connected device (3 available)
    • Jithins’s iPad (mobile) • 00008030-001C10CA11E3C02E • ios            • iOS 17.3.1 21D61
    • macOS (desktop)         • macos                     • darwin-x64     • macOS 14.1.1 23B81 darwin-x64
    • Chrome (web)            • chrome                    • web-javascript • Google Chrome 122.0.6261.69
    ! Error: Browsing on the local area network for iPhone 13. Ensure the device is unlocked and attached with a cable or associated with
      the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

@JithinPOmanakuttan check if this helps in your case or not. Also check if your project config could be leading to the crash or not.
If not, a reproducible code sample would be helpful to properly address the issue.


[+] Tracking Broken Binaries

This issue should serve as tracker for tracking binaries that don't work despite being promoted/included in the ./formula dir.
This issue should also track a list of binaries that won't work if built statically (--fsle) due to the following reasons:

https://github.com/Zackptg5/Cross-Compiled-Binaries-Android/tree/master/build_script#dns-issues
https://github.com/termux/termux-packages/wiki/Common-porting-problems

Perhaps this can be later added to the readme to warn people or the formulae itself could be modified to not support --fsle.
The list will be based on prebuilt binaries from:

https://github.com/fpliu1214/uppm-package-repository-android-aarch64/releases/latest
My own buildscripts from https://github.com/Azathothas/Toolpacks/tree/main/.github/scripts/arm64_v8a_Android/bins

This comment will be edited based on fixes & solutions suggested.

Broken Binaries

aria2 : https://github.com/fpliu1214/uppm-package-repository-android-aarch64/releases/download/2024.04.29/aria2-1.37.0-android-aarch64.tar.xz

❯ aria2c --help
!# Static Built
Exception caught
Exception: [/home/runner/.ndk-pkg/run/2303/android-34-arm64-v8a/aria2/src/src/Platform.cc:125] errorCode=1 OSSL_PROVIDER_load 'legacy' failed.

!# Dynamic Built android-29-arm64-v8a
CANNOT LINK EXECUTABLE "./aria2c": library "libaria2.so" not found: needed by main executable

util-linux : https://github.com/fpliu1214/uppm-package-repository-android-aarch64/releases/download/2024.04.29/util-linux-2.39.3-android-aarch64.tar.xz

!# It seems due to `--disable-all-programs` configure flag, the entire build process produces no binaries in /bin or /sbin

tmux : https://github.com/fpliu1214/uppm-package-repository-android-aarch64/releases/download/2024.04.29/tmux-3.4-android-aarch64.tar.xz

!# Both static / dynamic build exit with the same error
can't find terminfo database

 !# I found this: https://github.com/tmux/tmux/issues/743 , but no solution worked

Dynamic Only (Static Bin Will Not Work)

axel : https://github.com/fpliu1214/uppm-package-repository-android-aarch64/releases/download/2024.04.29/axel-2.17.14-android-aarch64.tar.xz

https://github.com/axel-download-accelerator/axel/issues/438

Unable to connect to server github.com:443: No address associated with hostname
(null)

!# Dynamic Built android-29-arm64-v8a has certs issues but works with -k | --insecure flag
SSL error: (null)
(null)
!# This is fixed by using SSL_CERT_FILE env variable as stated in the readme

!# Dynamic Built android-29-arm64-v8a
CANNOT LINK EXECUTABLE "./aria2c": library "libaria2.so" not found: needed by main executable

This is a bug, It will be fixed in next release.

!# Both static / dynamic build exit with the same error
can't find terminfo database

run tmux on termux, you could do this:
export TMUX_TMPDIR="$HOME/tmux-tmp-dir"
ln -s /data/data/com.termux/files/home/../usr/lib/terminfo ~/.terminfo

!# It seems due to `--disable-all-programs` configure flag, the entire build process produces no binaries in /bin or /sbin

I split util-linux to several sub packages e.g. libuuid, getopt, etc

The aria2c dynamic build works perfectly, but the static built has dns issues like always:
❯ ./aria2c-static https://bin.ajam.dev/arm64_v8a_Android/tailscale

05/17 11:40:17 [NOTICE] Downloading 1 item(s)

05/17 11:40:17 [ERROR] CUID#7 - Download aborted. URI=https://bin.ajam.dev/arm64_v8a_Android/tailscale
Exception: [/root/.ndk-pkg/run/225417/android-34-arm64-v8a/aria2/src/src/AbstractCommand.cc:351] errorCode=19 URI=https://bin.ajam.dev/arm64_v8a_Android/tailscale
  -> [/root/.ndk-pkg/run/225417/android-34-arm64-v8a/aria2/src/src/NameResolver.cc:60] errorCode=19 Failed to resolve the hostname bin.ajam.dev, cause: No address associated with hostname

05/17 11:40:17 [NOTICE] Download GID#d7714c172a344d74 not complete:

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
d7714c|ERR |        n/a|https://bin.ajam.dev/arm64_v8a_Android/tailscale

Status Legend:
(ERR):error occurred.

aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See '-l' option in help/man page for details.

run tmux on termux, you could do this:

export TMUX_TMPDIR="$HOME/tmux-tmp-dir"
ln -s ~/../usr/lib/terminfo ~/.terminfo

That still doesn't work, I now get
no suitable socket path

I split util-linux to several sub packages e.g. libuuid, getopt, etc

I can only find:
https://github.com/leleliu008/ndk-pkg-formula-repository-official-core/blob/master/formula/libuuid.yml
https://github.com/leleliu008/ndk-pkg-formula-repository-official-core/blob/master/formula/getopt.yml
Are these missing?
addpart
agetty
blkdiscard
blkid
blkpr
blkzone
blockdev
cal
cfdisk
chcpu
chfn
chmem
choom
chrt
chsh
col
colcrt
colrm
column
ctrlaltdel
delpart
dmesg
eject
fadvise
fallocate
fdisk
fincore
findfs
findmnt
flock
fsck
fsck.cramfs
fsck.minix
fsfreeze
fstrim
hardlink
hexdump
hwclock
i386
ionice
ipcmk
ipcrm
ipcs
irqtop
isosize
kill
last
lastb
ldattach
linux32
linux64
logger
login
look
losetup
lsblk
lscpu
lsfd
lsipc
lsirq
lslocks
lslogins
lsmem
lsns
mcookie
mesg
mkfs
mkfs.bfs
mkfs.cramfs
mkfs.minix
mkswap
more
mount
mountpoint
namei
nologin
nsenter
partx
pipesz
pivot_root
prlimit
readprofile
rename
renice
resizepart
rev
rfkill
rtcwake
runuser
script
scriptlive
scriptreplay
setarch
setpriv
setsid
setterm
sfdisk
sulogin
swaplabel
swapoff
swapon
switch_root
taskset
uclampset
ul
umount
uname26
unshare
utmpdump
uuidd
uuidgen
uuidparse
waitpid
wall
wdctl
whereis
wipefs
write
x86_64
zramctl

!# Dynamic Built android-29-arm64-v8a
CANNOT LINK EXECUTABLE "./aria2c": library "libaria2.so" not found: needed by main executable

This is a bug, It will be fixed in next release.

This has been fixed.

run tmux on termux, you could do this:

export TMUX_TMPDIR="$HOME/tmux-tmp-dir"
ln -s ~/../usr/lib/terminfo ~/.terminfo

That still doesn't work, I now get
no suitable socket path

export TMUX_TMPDIR="$HOME/tmux-tmp-dir"
install -d "$TMUX_TMPDIR"
 ln -s ~/../usr/lib/terminfo ~/.terminfo

you should create TMUX_TMPDIR manully.

export TMUX_TMPDIR="$HOME/tmux-tmp-dir"
install -d "$TMUX_TMPDIR"
 ln -s ~/../usr/lib/terminfo ~/.terminfo

Ah yes it works now, thank you!

can only find: https://github.com/leleliu008/ndk-pkg-formula-repository-official-core/blob/master/formula/libuuid.yml https://github.com/leleliu008/ndk-pkg-formula-repository-official-core/blob/master/formula/getopt.yml
Are these missing?
addpart
agetty
blkdiscard
blkid
blkpr
blkzone
blockdev
cal
cfdisk
chcpu
chfn
chmem
choom
chrt
chsh
col
colcrt
colrm
column
ctrlaltdel
delpart
dmesg
eject
fadvise
fallocate
fdisk
fincore
findfs
findmnt
flock
fsck
fsck.cramfs
fsck.minix
fsfreeze
fstrim
hardlink
hexdump
hwclock
i386
ionice
ipcmk
ipcrm
ipcs
irqtop
isosize
kill
last
lastb
ldattach
linux32
linux64
logger
login
look
losetup
lsblk
lscpu
lsfd
lsipc
lsirq
lslocks
lslogins
lsmem
lsns
mcookie
mesg
mkfs
mkfs.bfs
mkfs.cramfs
mkfs.minix
mkswap
more
mount
mountpoint
namei
nologin
nsenter
partx
pipesz
pivot_root
prlimit
readprofile
rename
renice
resizepart
rev
rfkill
rtcwake
runuser
script
scriptlive
scriptreplay
setarch
setpriv
setsid
setterm
sfdisk
sulogin
swaplabel
swapoff
swapon
switch_root
taskset
uclampset
ul
umount
uname26
unshare
utmpdump
uuidd
uuidgen
uuidparse
waitpid
wall
wdctl
whereis
wipefs
write
x86_64
zramctl

only libuuid and getopt sub package is available at this moment.  I will patch util-linux later.

It would be nice to add comments in the formula.yaml and detail what needs to be done to get them working.
Putting all these in the readme is another option but that would clutter it very quickly.

It would be nice to add comments in the formula.yaml and detail what needs to be done to get them working.

I will add a new mapping called cavates:, this message will be displayed when usr run ndk-pkg info-available and ndk-pkg install

and for the binaries if they can work statically etc or not, maybe something like this as an additional field in the formula.yaml

KEY
required?
overview

be_static
optional
Value true OR false (or even yes OR No), shows if a pkg can be built statically + works (after testing)

pkgtype: pie will do the trick.

static-pie is not considered right now.

I only consider traditional static right now. static-pie would be tested later.

I meant as a sort of future proofing, as the pkgtype serves entirely different purpose
Is it possible to have arbitrary foo:bar entries in the formula.yaml?
Would non existing keys break ndk or they would be silently ignored...
I tried to fork this repo to test but alas, Github seems to allow only one fork..

Would non existing keys break ndk ?
Would non existing keys break ndk-pkg

unrecognized keys would be ignored, it would not break ndk-pkg.

Is it possible to have arbitrary foo:bar entries in the formula.yaml? Would non existing keys break ndk or they would be silently ignored...

I can't quite catch this. a bit more clear?

I meant can I add additional entries in formula.yaml which aren't real keys supported by ndk-pkg
can I do this
summary: Run your GitHub Actions locally
git-url: https://github.com/nektos/act
src-url: https://github.com/nektos/act/archive/refs/tags/v0.2.62.tar.gz
src-sha: 2b0231d02d57d5edbcc070b7c4802acf16110a0582ffb40181aaa695f2b7bf5c
license: MIT
install: gow -X main.version="$PACKAGE_VERSION" -o act main.go

summary: Run your GitHub Actions locally
git-url: https://github.com/nektos/act
src-url: https://github.com/nektos/act/archive/refs/tags/v0.2.62.tar.gz
src-sha: 2b0231d02d57d5edbcc070b7c4802acf16110a0582ffb40181aaa695f2b7bf5c
license: MIT
install: gow -X main.version="$PACKAGE_VERSION" -o act main.go
foo: bar #This doesn't actually exist

curl wget aria2 are built with libcares, so fully statically linked executables  can use specified DNS servers. I also add the caveats for these formula.


Sema: Don't talk about @_versioned in diagnostics for default arguments [4.0]

Description: Just a cosmetic fix, don't talk about @_versioned in diagnostics pertaining to default arguments.

Origination: Swift 3.1 added resilience diagnostics for inlineable code, which is not an officially supported feature, but in Swift 4 we switched these checks on for default argument expressions as well, so they should not talk about internal attributes.

Risk: None, hopefully.

Tested: Test updated for new diagnostic strings.

Reviewed by: @jrose-apple

Radar: Fixes rdar://problem/32445206.

@swift-ci Please test

@jrose-apple Can you take a look please?


Set min tls version for search+storage live tests

Updating storage and search live tests as we are also seeing tls violations for the preview test sub from these pipelines.

/azp run net - search - tests

/azp run net - storage - tests


Please update pod version

In 2.2.0, toast will be hidden by keyboard, in the master branch demo will not. test use iOS 13.2.

Any update on this, the master branch podspec specifies 2.3.0 but there is no release for this. Can  you please make a release so that the 2.3.0 pod is available via cocoapods.

@Coeur Could you update release version?

Any news on that? Thanks!

Can you update the pod version? Thanks!

Still waiting for a pod update... using a specific commit for now but not ideal


Unreadable tear sheet

Unreadable tear sheets
I have an issue when running alphalens on my computer and not on Quantopian (because I want to use Tensorflow) and not in a notebook. When i'm trying to plot a tear sheet by using for example :
alphalens.tears.create_returns_tear_sheet(factor_data)

I get a totally unreadable figure because there is to much plot in a single figure :
https://pasteboard.co/J42nAB2.png
So I need to basically rewrite the tear module to be able to plot or save each figure individually .
It would be nice to be able to provide axes to plot on to the tear module methods as it is possible for the plotting module. Or maybe the tears methods could returns an axes/figure list and not show the plots by themselves so we have the option to show or save the separate figures.
EDIT:
By searching in the plotting module, I found the plotting_context() method, maybe this could help ?
Versions

Alphalens version: 0.3.6
Python version: 3.6.9
Pandas version: 0.20.3
Matplotlib version: 3.1.2

Does this help?

@luca-s Yes it did, I can now save the figure.
There is still some source modification to be able to easily configure the save path and name directly from the tears methods but it will work.
Thanks !
It would still be nice to have this feature embedded in Alphalens, but I think my use case is not the most common one :)

I modified the tears module to be able to save the tear sheets instead of plotting them.
I think it might be useful to someone so I'd like to contribute, but as my first contribution on Github, I don't know how  this things works...


train_aug ground-truth Link is broken

train_aug ground-truth
Link is broken

Hi, it seems that the source has been removed from the website. You can try to email bharathh-AT-cs-DOT-cornell-DOT-edu for a new download link.


fix issue #509 in gradle plugin for Java projects

fix gradle plugin for Java projects.
Previous code change has caused a bug in the creation of the java task,
The task was not able to access gradle extension which contains the JsonSchema2Pojo configuration.
The missing configuration resulted in a NullPointerException when calling JsonSchema2Pojo.generate on a null configuration.
Fix: Java task will be created by the gradle plugin immediately when the plugin is applied on the project instead of after project evaluation.
Note: I only removed "project.afterEvaluate {" that surrounds the task creation code.

Great, thanks. I'll merge and release ASAP.
On 22 Feb 2016 20:44, "Rami Baksansky"<EMAIL_ADDRESS>wrote:

fix gradle plugin for Java projects.
Previous code change has caused a bug in the creation of the java task,
The task was not able to access gradle extension which contains the
JsonSchema2Pojo configuration.
The missing configuration resulted in a NullPointerException when calling
JsonSchema2Pojo.generate on a null configuration.
Fix: Java task will be created by the gradle plugin immediately when the
plugin is applied on the project instead of after project evaluation.
Note: I only removed "project.afterEvaluate {" that surrounds the task
creation code.
You can view, comment on, or merge this pull request online at:
https://github.com/joelittlejohn/jsonschema2pojo/pull/510
Commit Summary

fix gradle plugin for Java projects.

File Changes

M
jsonschema2pojo-gradle-plugin/src/main/groovy/org/jsonschema2pojo/gradle/JsonSchemaPlugin.groovy
https://github.com/joelittlejohn/jsonschema2pojo/pull/510/files#diff-0
(42)

Patch Links:

https://github.com/joelittlejohn/jsonschema2pojo/pull/510.patch
https://github.com/joelittlejohn/jsonschema2pojo/pull/510.diff

—
Reply to this email directly or view it on GitHub
https://github.com/joelittlejohn/jsonschema2pojo/pull/510.

I've fixed the compilation errors.
Strangely, they didn't happen when I ran the build on my computer.

@ramib85 could you please rebase these changes into a single commit?

@ramib85 not to worry, I have rebased and merged. Thanks again!


Rotation Handles of Gizmo have wrong color in mode "screen"

While exploring the gizmo behavior on main (to make sure I port it correctly) I noticed that the colors of the rotation handles are switched when selecting the mode "screen":

I think it's correct. The color of the rotation handles are that of the axis around which it rotates. The blue axis is the camera view direction.

I think the confusion may stem from the fact that the rotation-arc is not drawn, and only the axis is shown.


 Your issue was most likely caused by TotemOverlay, which renders a bright red overlay if you have a totem in your inventory but don't have it equipped, and mistakenly thought it was the BrightOrange overlay. Try disabling both modules to see if it really was the BrightOrange module.

oi ok

oi it worked ily


Add support for description on security definition

Is your feature request related to a problem? Please describe.
The consumers of my API are generating their stubs from my swagger file. However, their generation tool is breaking because they expect my swagger file to have a description for the security definition. This is not a mandatory field on the OpenAPI spec but it would be nice to have support for it so I can have it on my swagger file.
Describe the solution you'd like
I want this library to support the option of adding a description to the security definitions.
Describe alternatives you've considered
N/A
Additional context
I did an implementation #1174

This is already on master, so we can close it. Is there any estimative date for the next version release? @ubogdan

I want to release it by the end of the month, but I'm not sure about it since we have only one contribution for this month.


Improve read me

Hi @arpit456jain  , Can you assign this issue to me.

yeah sure go ahead @Abhisheka394


vagrant: Remove workaround to MASQ traffic from k8s2

A leftover from 861c8a901a ("test: Remove workaround to MASQ traffic from k8s2").

This change is

test-me-please

Coverage decreased (-0.01%) to 45.992% when pulling f865736a2e1fe14767f5cd9aaaf30313ea92207d on pr/brb/rm-kube-proxy-workaround into 8e4701762678b94c64befc6354b2a37aac7df01e on master.


Package request: choparp

Project description
choparp is a proxy ARP daemon. It listens for ARP requests on a network interface, and sends ARP replies with a specified MAC addresses when the requested IP addresses matches a user-provided list.
Metadata

homepage URL: https://github.com/quinot/choparp
source URL: https://github.com/quinot/choparp
license: bsd-3clause
platforms: linux

Add a :+1: reaction to issues you find important.

PR: #346415


new method getBTCequivalent() is needed

So far we have a lot of useful methods like getAvailable(), getTotal() , etc
But what is really needed to assess your portfolio is your currency amount equivalent expressed in BTC.
This is what all exchanges do ( poloniex and others)
They show you the amount of currency owned and their equivalents in BTC.
So, I thought maybe a method like getBTCequivalent() can be implemented?

I think that this is not a function for this library. You can just calculate this value by requesting wallet amounts and current exchange rates.

agree


Simaulate Button CLicked

How can I simulate button clicked/pressed programmatically?  I am able to achieve this but I need also to animate the button state to show the pressed image programmatically,
Is this possible?

Hi!
Animating the button states is something I haven't tried, but I'm not actively using Xamarin Forms anymore. My initial thought would be that you would need something different than this library, but then you might also be able to extend the ImageButton to let it do what you want.

For iOS inside the ButtonRenderer...
Control?.SendActionForControlEvents(UIControlEvent goes here)
I've not tried it yet with android.


Fixes & cleanup for publiction

Several fixes of non-passing mite entries
List of fixes:

Missing reaction templates: a balanced reaction is missing the different substrates in the reaction SMARTS. Additionally, the substrate must be stated in dot-notation, while the products must be in a list (e.g. MITE0000035)
Valence Errors: RDKit has issues when changing a chiral carbon into a non-chiral carbon (e.g. MITE0000129)
Substrate/product has only partial stereochemistry information and/or does not match stereochemistry of reaction SMARTS (MITE0000012)
General vs standard aromaticity problems - matching of structures with partially aromatic rings (MITE0000013) -> fixed by removing the offending part
reaction SMARTS formatting errors by Ketcher: Chlorine is not encapsulated in square brackets, leading to formatting errors. Can be fixed by encapsulating chlorine in square brackets ((-[Cl:41]) instead of (-Cl:41)) e.g. MITE0000025. The same goes for other "exotic" atoms, such as fluoride and phosphorous.
Dehydrations: >CH-CH3 to >C=CH2 leads to a pentavalent carbon; can be addressed by stating explicitly 0 hydrogens of the carbon in the product reaction SMARTS [#6:1]=[#6&H0:2]1 (e.g. MITE0000058). Ketcher's [#6:2;h1] notation is not compatible with RDKit.
Aromatic nitrogens in heterocycles: must be declared as [nH:1] instead of [#8:1]. SMILES must also declare these nitrogens as [nH] to allow matches; else, there are kekulization errors (e.g. MITE0000067)
Bond formations with aromatic cycles must declare the hydrogens on the product side explicitly ([#6&H0:26]); else, there are valence errors because RDKit tries to add hydrogens to an already tetravalent carbon (e.g. MITE0000152)

Limitations:

Currently, intramolecular reactions do not work with mite_extras (two reactants encapsulated by parentheses) - reaction SMARTS construction fails
Ketcher's auto-mapping tool has issues with multiple monomer structures (eg. Ala-Ala); this sometimes leads to double indexing

Solves https://github.com/mite-standard/mite_data/issues/10

Solves https://github.com/mite-standard/mite_data/issues/2


Build universal (Python 2 & 3) wheel

This project supports both Python 2 and 3. The wheel it generates should do the same.
Checklist

[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Code follows the standards laid out in the front end playbook
[X] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

@chosak Could you give some testing steps for this, please?

@Scotchester sure:
On the master branch, in a Python 2 environment, replicate the existing Travis behavior by building a wheel that only supports Python 2:
$ python -V
Python 2.7.15
$ python setup.py bdist_wheel

This will generate a wheel file under dist/, at a filename like dist/teachers_digital_platform-1.0.29-py2-none-any.whl.
Then create a new Python 3 environment, and try installing that wheel. You won't be able to:
$ mkvirtualenv --python=python3.6 my-python3-env
(my-python3-env) $ pip install dist/teachers_digital_platform-1.0.29-py2-none-any.whl
teachers_digital_platform-1.0.29-py2-none-any.whl is not a supported wheel on this platform.

(You could also skip the first part and just try installing the wheel from cfgov-refresh optional-public).
Now, rebuild the TDP wheel locally with --universal, as proposed in this PR:
$ python setup.py bdist_wheel --universal

This will generate a wheel named something like dist/teachers_digital_platform-1.0.29-py2.py3-none-any.whl. You should be able to install this into your Python 3 environment:
(my-python3-env) $ pip install dist/teachers_digital_platform-1.0.29-py2.py3-none-any.whl
...
Successfully installed Django-1.11.20 django-haystack-2.8.1 django-js-asset-1.1.0 django-mptt-0.9.0 pytz-2018.9 teachers-digital-platform-1.0.29

Unfortunately you can't really run anything in this repository against Python 3, until cfgov-refresh is upgraded as well. But you can at least install the wheel and verify that it gets installed correctly.


Fix minor typo issues

Fixes the typo detected in #235
Further, fixes problem with math type-setting in the Bayesian inference chapter.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 83.33333% with 2 lines in your changes missing coverage. Please review.

Project coverage is 91.01%. Comparing base (be524ad) to head (c7ab636).
Report is 13 commits behind head on main.

Files with missing lines
Patch %
Lines

src/show.jl
50.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #237   +/-   ##
=======================================
  Coverage   91.00%   91.01%
=======================================
  Files          61       61
  Lines        3891     3894    +3
=======================================
+ Hits         3541     3544    +3
  Misses        350      350

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


Images with same name cannot be compared.

When loading an image with the same name as an already loaded image, it will be overwritten. I wanted to compare images with the same name built in two different environments, but i had to first use the docker tag command to change the name of one of the images before I exported it.

Does using the digest hash work? e.g. debian@sha256:45f2e735295654f13e3be10da2a6892c708f71a71be845818f6058982761a6d3. You can determine the digest for your images with docker image ls --digests <image>.


Up and reachable even if plex is not running

I think this is not the way it should work. I have mine installed locally on a synology nas, and it reports back to be up and running even if plex is not running. I tried the same setup on my mac, and ultimately with my webserver.
I am getting an error is console, that shows
 GET http://xxx.xxx.xxx.xxx:32400/?1455904989253 400 (Bad Request)
the xxx.xxx.xxx.xxx being my local ip address.
Using a website like, http://ping.eu/port-chk/, can actually tell if the port is open or closed.

My Plex Server runs on a different machine (Windowz) than my web server (Mac). So the way I set it up was using my public IP address on document.domain and using the remote access port. It shows its down when I exit Plex on my Windows machine. Can you try this please to see if it works?

yeah i did that as well.. webserver is on my synology nas, plex server is on a mac..
         function checkServer() {             var p = new Ping();             var server = "external.ip.of.mac" //Try to get it automagically, but you can manually specify this             var timeout = 2000; //Milliseconds             var body = document.getElementsByTagName("body")[0];             p.ping(server+":32400", function(data) {                 var serverMsg = document.getElementById( "server-status-msg" );                 var serverImg = document.getElementById( "server-status-img" );                 if (data < 1000){                     serverMsg.innerHTML ='Up and reachable';                     serverImg.src = "assets/img/ipad-hand-on.png";                     body.addClass('online').removeClass("offline");                 }else{                     serverMsg.innerHTML = 'Down and unreachable';                     serverImg.src = "assets/img/ipad-hand-off.png";                 }             }, timeout);         }     </script>
So this is what I have setup.. It works, I can see it being up.. however when plex is closed it still reports up. My port on my router is manually set to open if that means anything to this.

This is how I have mine set up: I grabbed my public IP by searching "What's my IP" on Google. Then I used that on 'var server'. I then went and looked at what port Plex was using, 32000 is the internal one and 1xxx7 was the external one. So I set 1xxx7 on 'p.ping'. If I go to http://My.Public.IP:1xxx7/web it took me to my Plex log in screen.  This is how my website knows if it's online or not.
    function checkServer() {
        var p = new Ping();
        var server = "Public.IP.Adress" //Try to get it automagically, but you can manually specify this
        var timeout = 2000; //Milliseconds
        var body = document.getElementsByTagName("body")[0];
        p.ping(server+":Plex.Remote.Access.Port", function(data) {
            var serverMsg = document.getElementById( "server-status-msg" );
            var serverImg = document.getElementById( "server-status-img" );
            if (data < 1000){
                serverMsg.innerHTML ='UP and reachable.';
                serverImg.src = "assets/img/ipad-hand-on.png";
                body.addClass('online').removeClass("offline");
            }else{
                serverMsg.innerHTML = 'DOWN and unreachable.';
                serverImg.src = "assets/img/ipad-hand-off.png";
            }
        }, timeout);
    }
</script>

Ahhhh ok... so i think i know the issue.. You are using upnp in the backend plex server, not specifying a port for plex to run on,  which would make sense because the port closes when you exit and removes itself from your router (via upnp). I have my port manually configured, and specified as a port forward in my router.

I'm not using UPNP, but I do not use the default 32400 port. I went to Remote Access, Show Advanced and checked Manually Specify Port. I then chose a port and set it up with my router. That's the port I use on the website.

Do you need any more help?

sorry for being delayed, havent had much time.. I did the same thing.. does yours show down when plex is shutdown?

Yes.
The only thing I can think of why it isn't working is because you're on a NAS. Could you try something like installing Plex on your computer, setting up remote access and testing it out there? Only for a test, you wouldn't need to set your HDDs nor anything. Just a blank server.


Update swagger-ui-dist to 3.36.2

Makes sure that the fixes having to do with allOf/oneOf nesting in swagger-js/swagger-ui are also pulled into Swashbuckle.AspNetCore.
Examples of the issues this upgrade fixes:
https://github.com/swagger-api/swagger-js/issues/1362
https://github.com/swagger-api/swagger-ui/issues/5194
https://github.com/swagger-api/swagger-ui/issues/5923
https://github.com/swagger-api/swagger-ui/issues/4672
Also fixes #1905

@domaindrivendev This is my first PR for this repo, if I forgot something to do please let me know and I will fix it :)

@domaindrivendev Anything I can do to speed this up along? The issues this PR fixes is biting us hard atm.

@domaindrivendev Anything I can do to speed this up along? The issues this PR fixes is biting us hard atm.

Looks like the latest is now 3.38.0, can you update to that version, and then I'll accept?

Looks like the latest is now 3.38.0, can you update to that version, and then I'll accept?

Looks like someone else already has a PR for 3.38.0 - closing this in favor of that - #1941

Looks like someone else already has a PR for 3.38.0 - closing this in favor of that - #1941

@domaindrivendev ahh! If that person doesn't react in the coming days I can update this PR :)

@domaindrivendev ahh! If that person doesn't react in the coming days I can update this PR :)


Dev tools abstraction

Dev tools are an essential but poorly-defined part of the game development experience. Designed to allow developers (but generally not end users) to quickly inspect and manipulate the game world, they accelerate debugging and testing by allowing common operations to be done at runtime, without having to write and then delete code. To support a robust ecosystem of dev tools, bevy_dev_tools comes with two core traits: ModalDevTool (for tools that can be toggled) and DevCommand (for operations with an immediate effect on the game world). These are registered in the DevToolsRegistry via methods on App, allowing tool boxes (such as a dev console) to easily identify the available options and interact with them without the need for ad-hoc user glue code.

Co-authored with @matiqo15.
Read it RENDERED here.

This is really cool! A few things:
parse_from_str
first of all why have parse_from_str on modals at all? For commands this is clear, a command has a one-to-one relationship with some string representation, for a modal this is less clear cut, and a parse_from_str feels more like deserialisation. If anything, instead of returning a Self instance, modals could have a react_to_str method but this would step on DevCommand territory.
Also parse_from_str seems to be very un-opinionted, which may be on purpose, but I can see different standards arising, i.e. do we include the dev tool "executable" name as first argument, string separators, how do we interpret quoted strings (i.e. does "arg" ==  arg), I don't think we necessarily should depend on clap directly, but we could have some more abstractions here, I am thinking something along the lines of a smaller https://docs.rs/clap/latest/clap/trait.FromArgMatches.html

First of all why have parse_from_str on modals at all

I've expanded the toolkit example to try and clarify this: you need it to be able to allow for free-form runtime config of these resources. Obviously you could make dev commands for each way you might want to configure the resource, but I was thinking it would be more user-friendly to allow them to just set the struct's values directly.

Also parse_from_str seems to be very un-opinionted, which may be on purpose, but I can see different standards arising

Yeah, I'm not sure of the best way to handle this. I'd like to interoperate with std's FromStr trait, but it really doesn't impose any structure at all.

however if the modal has 20 properties, your console might as well support multi line json haha :P

Yeah, I actually really want to support parsing these objects from the new bsn format at some point!

The RFC looks really good! I really like the good analysis done on usage and what should be classified as dev tools and will be used and what will not. From this analysis comes for me a reasonable and good trait structure.
However, I think the RFC did not address one important issue in my opinion.
Part of the dev tools may want to display debugging information on the screen or get some input from the developer. For example, the fps overlay displays the number of fps in the bottom right corner, and the entity inspector may want to show some editable fields and buttons near the right edge of the screen. Or the realtime statistics render graph will want to display rendering times information somewhere in the static area. And if multiple dev_tools claim the same area of the screen to display, it will be a mess. And obviously dev_tools can and will conflict over displaying information. Accordingly, the question not solved and not asked in my opinion in RFC is "how is it planned to organise the location of the displayed information of dev modules?". (Or how do we start building editor UI from dev tools xDDDD, sorry).

@rewin123 great question! I've added more thoughts on this to both "Rationale" and "Future work" justifying why it's not included currently: https://github.com/bevyengine/rfcs/pull/77/commits/45506d2e923e6ce261790e2f1c69476b6c158c87

On the topic of commands, personally I've come to really like menus like F1 on VScode and ctrl+k on Github.
Personally I like the idea of commands being a feature that has ui inspired from Githubs ctrl+k menu

Then as for features it works like traditional console and have take commands, but it can also provide context. This allows it to provide context relevant info like the file explorer right click context menu or you can search through sub commands/directories.
I'm not sure on the best way it should work. Since it's a hybrid between a console and a context menu, maybe have the user right click and if they have something selected in the scene it can be used by the command.
Imagine your workflow looking something like click on thing, right click to get menu, type command or optionally click on a proposed option. And if you click on an option, it could open more suboptions, etc.

Great suggestion: I love command palettes too, and I've added them as an interesting example of a potential toolbox to consider when designing.

Something else to propose. I've noticed some engines like Godot and Defold don't support multi monitor support.
Since this system will need to define what takes screen space and bevy already comes with multi window support. Maybe make it that there is a tools window and game window?
This would allow for x2 monitor workflows.
You'd have grid slots on the game/main window that can be enabled and disabled, and you can choose what displays where the same as nividias hud layout thing.

Then the second window would be used by other tools that require more screen space. These ones would take the entire window except for a strip at the top which would be a tab browser. This would allow for full window tools, and you can click between their tabs to swap between them like in a browser.
With this setup you now have dual monitor support.
If you wanted single monitor support, you can make the game window a tab. Now it shares the same window as the other tools.

I can imagine a plugin providing a feature like scene editing or animation graph editing.
You'd add the crate to the toml, add the plugin, and via the APIs it would add stuff to the command palette, and it would create a tab in the 2nd window that it uses to display it's stuff.
Something like this would mean the editor runs in game runtime. This makes it very easy for the editor to interact with the game world with little to no new APIs needed.

Yep, definitely an interesting topic to explore (and I'd like multimonitor support too!). I think that's more in the realm of a potential toolkit, rather than the MVP abstraction however.

Thought it may cover the abstraction since the dev tool might need to specify if it uses a tab or grid slot on the game window.

I have the same concern as @rewin123, being someone that has dedicated my time to develop space editor UI, I feel that this solution is great and quite versatile, but doesn't address my main area of work "How this dev tools will be represented in the ui?". Besides what Rewin already elaborated on shared ui locality, I find that accessing dev_tool information and manipulating it in runtime is quite important, but it seems the focus was parsing and enabling, while I would like something more potent on the Reflection side, like hooks to events, systems, etc.

I also feel that storing keys as String is quite bothersome, specially for debugging purposes (HashMap<String, ...> ), this because we cannot easily preview or understand what are the contents, on the other hand, if we stored as TypeId, or something similar, the amount of options we can consider is vastly reduces. For example, String could be anything, but if we have a well organized project, TypeId, would be limited to modules named dev_tools  or settings.

I feels that modals are equivalent to Resources and Command to Events, which is basically how we have implemented dev tools in space editor. I kind of expect a bit more from this kind of thing than what we already have with a tweak., but I dont have any constructive suggestions here.

Yeah, the focus management thing is generally a big open question in Bevy as a whole: see https://github.com/bevyengine/bevy/issues/3570 for more context there. I think it can and should be tackled independently though, and done ad-hoc to start.

I've been experimenting with abstraction for the dev tools for some time now and:

I still don't think type registry is a good idea:

From my understanding iter_with_data would require DevTool to be object-safe otherwise, we would never be able to get it, even as a &dyn Reflect. This is because we would need to use a ReflectDevTool to check whether it is a dev tool.
Even if we made DevTool object-safe, we would still run into problems getting &dyn DevTool from ReflectDevTool without type annotation.
    // New method on `TypeRegistry`
    pub fn iter_with_data<T: TypeData>(&self) -> impl Iterator<Item = (&TypeRegistration, &T)> {
        self.registrations.values().filter_map(|item| {
            let type_data = self.get_type_data::<T>(item.type_id());
            type_data.map(|data| (item, data))
        })
    }

    // Possible implementation of printing name of every tool
    for dev_tool in type_registry.iter_with_data::<ReflectDevTool>() {
        // This is the problem - we need to specify a tool here if we want to get a `&dyn DevTool`
        let reflected = Box::new(DevFlyCamera::default());
        if let Some(tool) = dev_tool.1.get(&*reflected) {
            println!("{:?}", tool.name());
        }
    }

Why shouldn't it be object-safe

We would need to drop FromReflect, and as a result of this, we would run into problems with executing dev commands.

DevToolsRegistry

You don't want dev tools to become a new unbounded framework - but actually, our abstraction can restrict what fits in it. With a type registry, you can always register a type, but whether you would be able to register a tool in our registry is going to be decided by the API of the registry. Would it be opinionated? - yes, but I think it should.

Y'all, am I the only one thinking this spec sounds exactly what an editor is for? Like a temporary solution that alleviates the lack of editor conventions.

Regardless of this classification, dev tools are:
not intended to be shipped to end users
highly application specific
enabled or operated one at a time, on an as-needed basis, when problems arise
intended to avoid interfering with the games ordinary operation, especially when disabled
expansive and ad hoc


macOS 14.2.1 - out of device slots error?

Upgraded from acOS 14.2 to 14.2.1, suddenly I'm getting a pop-up with this message:

Keybase Install Error
We were unable to load KBFS (Fuse kext). This may be due to a limitation in MacOS where there aren't any device slots available. Device slots can be taken up by apps such as VMWare, VirtualBox, anti-virus programs, VPN programs and Intel HAXM.

I vaguely remember seeing the same thing with an upgrade a while back, but I thought this one was fixed. I know I personally haven't seen it in probably a year?
Keybase 6.2.5-20240101042619+3bdf76f84a - macOS Intel
my log id: 675aea95b442dd9b9c16f71c

Did a full reboot, now it's working again.
The only thing I can figure is, maybe the reboot during the OS upgrade process is somehow different from other reboots?
Anyway, this one can be closed.


Add Support For Installation Token Parameters

Add support for passing additional repository ids and permissions when creating a github installation token.
https://developer.github.com/v3/apps/#create-a-new-installation-token

Have worked on this and will be submitting a pull request shortly.

Are you sure we don't already have this functionality?
https://github.com/gmlewis/go-github/blob/master/github/apps.go#L194-L215

Thank you @emoryruscus for bringing this up. We're currently implementing a service that will issue scoped installation tokens, would be great to have #1238 merged into go-github.

@gmlewis I think this one can be closed.

@gmlewis I think this one can be closed.

Closing as fixed by #1238.

Closing as fixed by #1238.


Can I add a single path variable?

This would allow me to make installing Forge much simpler.

As of PR #76 a single path variable is used for the grammar and sample files, but not vendors.


LinkedList Implementation and some problems

LinkedList Implementation and some problems like find loop if exists and remove it are added in DSA folder as mentioned in issue #1

Hi, Anurag
Please follow protocol and rename your file as LinkedListImplementaionByAnurag.java

Hi, Anurag Please follow protocol and rename your file as LinkedListImplementaionByAnurag.java

I have renamed it, could you please merge it to main if everything's right, if not please let me know necessary changes

@Anurag127001 It appears that you are pushing more files, which is not a good practice for adding to a repository. You can add those files in .gitignore causes git to ignore those files. Simply push LinkedListImplementationByAnurag.java for a Pull Request. I hope you understand this.

@Anurag127001 It appears that you are pushing more files, which is not a good practice for adding to a repository. You can add those files in .gitignore causes git to ignore those files. Simply push LinkedListImplementationByAnurag.java for a Pull Request. I hope you understand this.

should i create new branch or create LinkedListImplementationByAnurag.java in main branch and pull request?

@Anurag127001 It appears that you are pushing more files, which is not a good practice for adding to a repository. You can add those files in .gitignore causes git to ignore those files. Simply push LinkedListImplementationByAnurag.java for a Pull Request. I hope you understand this.

should i create new branch or create LinkedListImplementationByAnurag.java in main branch and pull request?

No need to create another branch just add your file in main branch and create pull request.


Fix typespecs

This PR fixes some errors in type specifications.

Noticed these typespec issues too - thanks for fixing!
@smeevil - Can we merge this in?