The [name] node is no longer on the Mesh or it's unique ID has changed.

After updating to version 2024.10.2, I had 3 nodes out of 5 nodes reporting an error with the next step being removal of those nodes from Home Assistant. My primary nodes was not listed.
What are my next steps after removing the nodes to return to "normal".
Thank you in advance.

Try reloading the integration. If the API is still reporting the nodes they should be recreated as devices in Home Assistant.

Thank you for the quick response.
I deleted one of the nodes and when I try to re-add it to the system, I get a pop-up asking for primary node IP address, and password, but no ID request.  The action fails since there is no ID being entered or submitted to Linksys.
Thanks again,
Gary
Gary N. Denton
Mobile: +1<PHONE_NUMBER>
Email: @.***

From: uvjim @.>
Sent: Sunday, November 3, 2024 11:08:08 AM
To: uvjim/linksys_velop @.>
Cc: Gary Denton @.>; Author @.>
Subject: Re: [uvjim/linksys_velop] The [name] node is no longer on the Mesh or it's unique ID has changed. (Issue #495)
Try reloading the integration. If the API is still reporting the nodes they should be recreated as devices in Home Assistant.
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjim/linksys_velop/issues/495#issuecomment-2453479607, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BATKJ73A3TP26XLTKCRCNMTZ6ZC6RAVCNFSM6AAAAABRC3H3OKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGQ3TSNRQG4.
You are receiving this because you authored the thread.Message ID: @.***>

You shouldn't need to enter a username because it users the router password which has a well known username. It sounds like you're attempting to use the cloud account details, which you shouldn't be using.

yes - I am embarrassed to say you are correct.  Once I tried the local password, I tried to add a device.  There were no other input questions, but there is a completion pop-up stating "Device already configured".
Again, my apologies.
Gary N. Denton
Mobile: +1<PHONE_NUMBER>
Email: @.***

From: uvjim @.>
Sent: Sunday, November 3, 2024 1:42:11 PM
To: uvjim/linksys_velop @.>
Cc: Gary Denton @.>; Author @.>
Subject: Re: [uvjim/linksys_velop] The [name] node is no longer on the Mesh or it's unique ID has changed. (Issue #495)
You shouldn't need to enter a username because it users the router password which has a well known username. It sounds like you're attempting to use the cloud account details, which you shouldn't be using.
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjim/linksys_velop/issues/495#issuecomment-2453536472, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BATKJ72O2NUEQXNU2GRLXKDZ6ZVAHAVCNFSM6AAAAABRC3H3OKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGUZTMNBXGI.
You are receiving this because you authored the thread.Message ID: @.***>

Yes, if it's already configured it will say that. Rather than re-add (which would involve removing the integration and adding it again) you should be able to just tell it to reload. If a reload doesn't create the devices for the nodes, and the Linksys app shows the nodes as being online, then you'd be best to remove and add it again.

That worked.  It was a case of PEBKAC (problem exists between keyboard and chair).
Thanks.  Okay to close.
Gary N. Denton
Mobile: +1<PHONE_NUMBER>
Email: @.***

From: uvjim @.>
Sent: Sunday, November 3, 2024 2:34:00 PM
To: uvjim/linksys_velop @.>
Cc: Gary Denton @.>; Author @.>
Subject: Re: [uvjim/linksys_velop] The [name] node is no longer on the Mesh or it's unique ID has changed. (Issue #495)
Yes, if it's already configured it will say that. Rather than re-add (which would involve removing the integration and adding it again) you should be able to just tell it to reload. If a reload doesn't create the devices for the nodes, and the Linksys app shows the nodes as being online, then you'd be best to remove and add it again.
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjim/linksys_velop/issues/495#issuecomment-2453551349, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BATKJ73GPZMKCCIPOZ3TI43Z6Z3CRAVCNFSM6AAAAABRC3H3OKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGU2TCMZUHE.
You are receiving this because you authored the thread.Message ID: @.***>


Issue with DataType Handling in OPC Publisher Resulting in BadMonitoredItemIdInvalid Error

OPC Publisher fails to publish nodes with data type mismatches which UA Expert can access. The node ns=0;i=2258 ("CurrentTime") returns a BadMonitoredItemIdInvalid error in the OPC Publisher despite the UA Expert being able to read the value.
To Reproduce
Steps to reproduce the behavior:

Configure OPC Publisher to monitor node ns=0;i=2258.
Observe that no data is published and a BadMonitoredItemIdInvalid error is logged.
Compare with UA Expert, which can access and display the node's value.

Expected behavior
OPC Publisher should tolerate data type mismatches similar to UA Expert or provide a clear indication of how to handle such discrepancies.
Additional context
UA Expert is able to handle the node despite it reporting an invalid data type (Expected OpcUaType_NodeId, Received OpcUaType_Null). This issue affects downstream data processing in our systems and needs to be addressed to ensure proper data collection and management.
We are using: mcr.microsoft.com/iotedge/opc-publisher:2.8.2

we are using the following module: mcr.microsoft.com/iotedge/opc-publisher:2.8.2

Could you try 2.9.2, or is above a typo?

It is not a typo. I will try the newer version. Is it more resilient to bad configurations? I guess the UaExpert somehow catches this. We have the problem to communicate why our solution is not working compared to other tools.

Hi, the 2.8.2 version is very old, and I would want to first try 2.9 as it has a very recent version of the OPC UA stack where this issue might have been fixed.  If not, then could you provide logs of the error that is logged and the surrounding information?

@nikofalke, would you mind testing this with 2.9.3-preview2 tag of OPC Publisher and if it also fails send a snippet of the logs when the error occurrs? If you cannot, then even the log of the issue in the 2.8 publisher might already help.

One more, can you leave off the "ns=0;" part of the node ID just for kicks?

Thank you for the quick replay, I will check with the customer as soon as possible and provide more detailed logs. Is there a migration guide? Some arguments seem not to be supported in 2.9.2 anymore.

There is no migration guide as we aimed to be compatible for the production use cases.  This is an unfortunate exception, where we replaced serilog with Extension logging based on popular demand and their log level names are different (but standard .net log levels).  For Verbose, use "Trace", for "Info" use "Information".

Closing for now, please open when you find the issue reproducing on 2.9.2 (ideally 2.9.3-preview4).  Please send logs and server used.


Connect forms with backend

Connect form to backend as well as also discuss what the form consists of.

@kanbi18 did you mean to unlink #29 from this Issue?


Maintained and working fork

My fork of this repository is maintained and working. It supplies a home manager module to flake-based configurations, as well as packaging for many different themes and extensions. If you are trying to get spicetify working on NixOS, use that.

Thanks a lot. I haven't been active a lot due to personal reasons. Thanks a lot for letting me know! I shall update the readme to point to your fork!


How to dump the weights of the pretrained model

Hi, All
I want to dump the weights of the pre-trained model for those three examples. Is it possible to get these weights without connecting the PYNQ-board? (i.e., stand-alone execution on host CPU only)
Thanks!

Hi YukeWang96, this is indeed possible, and at several different stages depending on what you'd like to do.

If you want to access the weights at PyTorch level (before the FINN compiler optimizes anything) you can do this by downloading the appropriate checkpoints from https://github.com/Xilinx/brevitas/tags -- e.g. https://github.com/Xilinx/brevitas/releases/tag/bnn_pynq-r0 will have the PyTorch state_dict checkpoints for all the BNN-PYNQ network examples.

Same as above but exported to ONNX: see e.g. https://github.com/Xilinx/finn-examples/releases/download/v0.0.1a/onnx-models-bnn-pynq.zip

Further down the compilation flow (e.g. after streamlining and conversion to HLS): If you follow the instructions under https://github.com/Xilinx/finn-examples/tree/main/build these will produce an intermediate_models/ folder under the outputs, which will contain an ONNX file for the model at various steps.


feat: add blacksmith to workflows

Add blacksmith to workflow files

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

Project coverage is 97.70%. Comparing base (7c83db9) to head (f136705).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #275   +/-   ##
=======================================
  Coverage   97.70%   97.70%
=======================================
  Files          20       20
  Lines         480      480
  Branches      116      116
=======================================
  Hits          469      469
  Misses          3        3
  Partials        8        8

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


No connection to backend since 7.11.2017

No connection to backend since 7.11.2017. Provider - Megafon mobile, Russia. Could it be a backend or a provider problem ?

Its likely that the backend it connects to is overwhelmed with the recent surge of users. I'll add an additional option for users to select their custom node.

https://explorer.zensystem.io/ works fine for me, maybe there is another problem ?

Added support for custom insight endpoints https://github.com/ZencashOfficial/zencash-mobile/releases/tag/v0.0.8


Investigate better Link Rot False Positive Detection

TravisCI seems to have difficulty connecting to certain sites; I wonder if there is a setting I'm not using right.

Travis build now passes so site can publish on each change. Still a fair amount of false positives.

a42c630fdfdd884b21a9497f30566764f5904c68 fixed my issues


slog-syslog doesn't handle a stream socket

I have a device that uses SOCK_STREAM socket on /dev/log. The syslog-ng config is snippet is:
source src {
	internal();
	unix-stream("/dev/log");
};

If I try to use slog-syslog on that system, initialization fails with „Protocol wrong type for socket“. The classic C syslog function on that system works well.

I'd be happy to have this fixed, however might take me a while to get into it. If you want I encourage you to investigate slog-syslog source code and try coming up with a PR. Look for help on gitter channel.

I've sent a PR to the syslog dependency, that should fix it I think. However, the author is a bit silent there :-(.

Oh. It is vacation season. Geal is an author of nom and many other popular crates, so I'm sure he's swamped with github notifications all the time. Politely reminding ourselves from time to time, should do. Hi @Geal!

ohai. Taking a look today :)

ok, so there's a version 3.3.0 of syslog including that feature


test/helpers: delete resources using generated manifest before CiliumInstall

This commit fixes a bug introduced in b8716eda879d wherein
while testing during the deployment of cilium using the install manifest
we were removing existing cilium resources from the cluster manually
from a list in CiliumInstall function. This was creating problem when
testing on GKE clusters. The reason being cilium-node-init DaemonSet
was not getting cleaned up resulting in failure of helm template --validate command.
This commit fixes the issue by using DeleteAndWait helper utility with
the generated cilium helm template manifest rather than removing the
resources manually using kubectl from the cluster.
Fixes b8716eda879d "test: generate cilium helm template validating
against k8s cluster"
For context take a look at this comment
NOTE Do Not Merge, checking out some CI changes.
Signed-off-by: Deepesh Pathak<EMAIL_ADDRESS>

retest-gke

Coverage decreased (-0.009%) to 36.643% when pulling bea8c315a1fe9e6b3ebbeacb92d3a21d473977bd on pr/fristonio/fix-gke-tests into ac9732a29a85c97fa4a5b4a7033ca07fef81b0e1 on master.

This has been hot-fixed by https://github.com/cilium/cilium/pull/12725 , but this implementation will be more flexible in the long run.

This has been hot-fixed by #12725 , but this implementation will be more flexible in the long run.

Oh, I seem to have missed this PR. Thanks for this 💯

Closing this in favour of #12725
Will open a new PR with a more robust fix.


Offset settle calls from channel partners

When closing a channel and reaching the end of the settlement window, both channel partners will send a settlement transaction to the blockchain.
As those coincide, only one will go through, while one will be rejected. This could be observed while running the BF1 scenario.

Successful tx: https://etherscan.io/tx/0x08d7125341f12b114d128271f9b37cc4645d825656bee8dc284655e88c083e8b
Failed tx: https://etherscan.io/tx/0x55ac81644439c97447b8bd10c67f6c616e1fdfe6f2ee8c8e46e80739e171eaff

To limit failing transaction we could offset the transactions ending by the partner with the higher address by a number of blocks.

On what criterion should the decision of who settles first be based?

smaller/higher node address would penalize nodes with lower/higher addresses
some channel_id % 2 to calculate which node is first

Any other ideas?

I'd propose to delay auto-settle if:

partner is a PC (e.g. by checking it has Delivery capability); OR
partner is the closing side

The first point is because PC always try to auto-settle early; the 2nd will have LCs agreeing on giving priority to the closing side to settle, since usually they're the ones most/first interested in getting their funds back. The delaying side could still try to auto-settle in e.g. revealTimeout blocks after, if the channel wasn't settled by then.


Issue with caching Gatsby .cache folder

Describe the bug
Getting a build error if caching is enabled for .cache folder in a Gatsby project.
To Reproduce
Steps to reproduce the behavior:

Add .cache to amplify.yml

cache:
    paths:
      - 'node_modules/**/*'
      - '.cache/**/*'
      - 'public/static/**/*'

Build failed with error:
Failed to process image /codebuild/output/src284496123/src/project/.cache/gatsby-source-filesystem/2864d13ac3b594d2252bb53b755dec5e/b49bb9721c3ae1f55a9e7ec02caddb02567d5477_file_name.png Input file is missing

Expected behavior
There should not be a missing file in .cache folder.
Additional context
https://stackoverflow.com/questions/57094634/change-cache-folder-files-paths-from-absolute-to-relative-is-it-possible

@steverandy Can you try delete the app and add it again?

@Joycehao19 we cannot delete the app because we have a production environment already deployed. Is it a necessary step to delete the app to fix the issue?

@stevenrandy you definitely do not need to delete the app. We'll look into this further and get back to you soon.

@swaminator is there any update on this? Thanks.

I am running into the same issue with a standard CodeBuild/CodePipeline set-up.

I would like to point out that I believe this is related to the issue @sirichards is facing here: https://github.com/gatsbyjs/gatsby/issues/17990
It looks like the issue here is that Gatsby uses the absolute path of the previous build to architect .cache. Unfortunately, the absolute path will change with every build.

I've been hacking away at this for several days and finally found a work-around (not a solution).
buildspec.yml
version: 0.2

phases:
  pre_build:
    commands:
      - mkdir -p /build-directory
      - cp -a ${CODEBUILD_SRC_DIR}/. /build-directory
      - cd /build-directory
      - yarn
  build:
    commands:
      - cd /build-directory
      - gatsby build
  post_build:
    commands:
      - cd /build-directory
      - cp -a /build-directory/. ${CODEBUILD_SRC_DIR}
cache:
  paths:
    - 'node_modules/**/*'
    - 'public/**/*'
    - '.cache/**/*'

Gatsby assumes that the absolute path to .cache is consistent between builds. This is not very compatible with CodeBuild since the build directory changes for each build. Because of this, Gatsby isn't able to locate the cached files and throws an error.
For this reason, creating a consistent path and bringing the artifacts there will solve the issue. When the build is done, be sure to bring the new artifacts to the CODEBUILD_SRC_DIR so that they can be cached for next time!

@ganipcanot is this issue fixed now?

@steverandy

I closed it based on age
There is a workaround for now
We are aware of users having issues with gatsby sites and are prioritizing that work

If you want to re-open for tracking purposes feel free.

I can confirm that this setting doesn't work, failing with:
2021-01-04T02:08:24.521Z [WARNING]: !TypeError: Cannot read property 'cache' of undefined

in the building phase

I can confirm that this setting doesn't work, failing with:
2021-01-04T02:08:24.521Z [WARNING]: !TypeError: Cannot read property 'cache' of undefined

in the building phase

Any updates on this? I am having a very similar issue. No matter what the config I can't get Gatsby to use the cached pages.

We are having this same error and the above buildspec doesn't fix it. This is for a local cached build on CodeBuild? The error we get are flavors of:
Can't resolve './../../../src/pages/index.js' in '/codebuild/local-cache/custom/f45810edd0910857.../.cache/_this_is_virtual_fs_path_/$virtual'
@kyleboss when you say "When the build is done, be sure to bring the new artifacts to the CODEBUILD_SRC_DIR so that they can be cached for next time," isn't that what cp -a /build-directory/. ${CODEBUILD_SRC_DIR} is doing? We are using gatsby-plugin-s3 to deploy and not CodeBuild's artifacts, not sure if that matters.

I was getting the above errors because .cache is an alias in codebuild, and the JS was running from the target of the alias. Instead I copied the contents of our three cached folders and then copied them back. I had to use if statements for copy in case the cache folders didn't exist (very first time building). I also had issues copying the whole build-directory folder if the subfolders existed, so I only copied the three folders we're caching. Deployment still takes an extra 5 minutes because of how large our site is, next I want to look into if there's a way to only deploy the modified files.
Here is our buildspec file:
version: 0.2
env:
  git-credential-helper: yes
phases:
  install:
    runtime-versions:
      nodejs: 12
    commands:
      - echo prepare env. Ensure latest version of node is available.
      - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
      - apt-get install -y make apt-transport-https
      - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
      - apt-get install -y yarn
      - yarn global add gatsby-cli
      - echo done with prepare env.
  pre_build:
    commands:
      - echo prebuild site using yarn
      - echo "Checking cache"
      - ls .cache/
      - mkdir -p /build-directory
      - cp -a ${CODEBUILD_SRC_DIR}/. /build-directory
      - rm -f /build-directory/.cache
      - rm -f /build-directory/node_modules
      - rm -f /build-directory/public
      - mkdir /build-directory/.cache
      - mkdir /build-directory/node_modules
      - mkdir /build-directory/public
      - |
        if [ -d ${CODEBUILD_SRC_DIR}/.cache/. ]; then
        cp -a ${CODEBUILD_SRC_DIR}/.cache/. /build-directory/.cache/
        else
        echo ".cache not found"
        fi
      - |
        if [ -d ${CODEBUILD_SRC_DIR}/public/. ]; then
        cp -a ${CODEBUILD_SRC_DIR}/public/. /build-directory/public/
        else
        echo "public not found"
        fi
      - |
        if [ -d ${CODEBUILD_SRC_DIR}/node_modules/. ]; then
        cp -a ${CODEBUILD_SRC_DIR}/node_modules/. /build-directory/node_modules/
        else
        echo "node_modules not found"
        fi
      - cd /build-directory
      - yarn
  build:
    commands:
      - echo build site using yarn
      - cd /build-directory
      - yarn build
      - echo done building
  post_build:
    commands:
      - cd /build-directory
      - echo "Saving cache"
      - cp -a /build-directory/.cache/. ${CODEBUILD_SRC_DIR}/.cache/
      - cp -a /build-directory/public/. ${CODEBUILD_SRC_DIR}/public/
      - cp -a /build-directory/node_modules/. ${CODEBUILD_SRC_DIR}/node_modules/
      - echo syncing to s3 and cloudfront
      - yarn deploy
      - echo after sync to S3
  cache:
    paths:
      - 'node_modules/'
      - 'public/'
      - '.cache/'

@steverandy  do you mind reopening this issue?
This is not fixed.


multibyte bug with display bounds computation

Hello, well the title is my guess as to what is the reason of the issue.
I was trying to track down why lightspeed wouldn't detect characters that I wanted to jump to.
My conclusion is that the get-horizontal-bounds miscomputes the bounds (I believe) when there are multibyte characters at play. So my theory is that if you have 32 characters and 35 bytes, it'll return bounds of 1-32. But I think other functions count in bytes.
I'm not 100% sure but I believe it's something like that.
And if you have a narrow window, lightspeed will consider a match "out of screen" when it's not.
And I have a reproduction...
If you make a narrow window (let's say 32 characters), then you put like 30 multibyte characters and then for instance a f. Then insert a newline and press Sf to try to jump to the f -- lightspeed won't offer the jump. If you make the window wider (for instance 100 characters), or if you replace the multibyte characters with spaces.. everything will work as expected.
I could reproduce for instance with this text:
经经经经经经经经经经经f
I even split in two windows displaying that text, a narrow one and a wide one -- lightspeed could jump correctly in the wide one, and not in the narrow one.

How I stumbled in that issue.. I wanted to use lightspeed to jump in nvim-tree windows. nvim-tree windows are narrow, and they contain multibyte characters: nerdfont icons for file type, git status and so on.

as a workaround for my use-case I've changed in the generated lua the return value of get_horizontal_bounds like so:
-  return {left_bound, right_bound}
+  return {left_bound, right_bound+5}

And that helps with my issues.


Worker breaks down with execution expired

I am running a Rails app that relies on Sneakers to exchange data between applications. I have noticed that during a worker process, if an operation takes too long the worker breaks down with execution expired. I encounter this issue when I fx. want to connect with some external resource that takes some time to respond, or if I write a large amount of data to my database, which takes some time. Any idea why this happens and how to avoid it?
My worker code is very basic:
class MyWorker
  include Sneakers::Worker
  from_queue "private.my_worker", env: nil
  def work(raw_message)
    begin
      message   = JSON.parse(raw_message)
      response  = HTTParty.post "https://sendgrid.com/api/mail.send.json", :body => {message['email_body']}
    rescue => e
      puts e # prints 'execution expired'
    end
    ack!
  end
end

In my Sneakers initializer, the heartbeat is set to 2:
Sneakers.configure({
  heartbeat: 2,
  amqp: "amqp://#{AMQP_CONFIG['RABBITMQ_USERNAME']}:#{AMQP_CONFIG['RABBITMQ_PASSWORD']}@#{AMQP_CONFIG['RABBITMQ_HOST']}:#{AMQP_CONFIG['RABBITMQ_PORT']}",
})

My bunny.yml looks like this:
default: &default
  RABBITMQ_HOST: '<IP_ADDRESS>'
  RABBITMQ_PORT: '5672'
  RABBITMQ_HEARTBEAT: 640
  CONTINUATION_TIMEOUT: 20000
  FRAME_MAX: 262144

The Rake taks that sets up Rabbitmq contains the following:
connection        = Bunny.new(connection_attrs)
connection.start
channel           = connection.create_channel
exchange          = channel.fanout("public.my_worker")
queue             = channel.queue("private.my_worker", durable: true)
queue.bind("public.my_worker")
connection.close

I don't think that the concrete action that trigger this is all too relevant, but here is the stacktrace of the worker breaking down because of a slow response on my request to the Sengrid API:
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/protocol.rb:155:in `select'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/protocol.rb:155:in `rescue in rbuf_fill'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/protocol.rb:152:in `rbuf_fill'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/protocol.rb:134:in `readuntil'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/protocol.rb:144:in `readline'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http/response.rb:39:in `read_status_line'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http/response.rb:28:in `read_new'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1414:in `block in transport_request'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1411:in `catch'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1411:in `transport_request'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1384:in `request'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51:in `request'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1377:in `block in request'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:853:in `start'
/home/me/.rbenv/versions/2.2.2/lib/ruby/2.2.0/net/http.rb:1375:in `request'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51:in `request'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/httparty-0.12.0/lib/httparty/request.rb:93:in `perform'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/httparty-0.12.0/lib/httparty.rb:486:in `perform_request'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/httparty-0.12.0/lib/httparty.rb:439:in `post'
/home/me/applications/myapp/shared/bundle/ruby/2.2.0/gems/httparty-0.12.0/lib/httparty.rb:522:in `post'
/home/me/applications/myapp/releases/20160208150427/app/workers/my_worker.rb:7:in `block in work'

I've had a similar problem, turns out sneakers' default job time limit is 5 sec. I don't think this is a "sane" default value and it was a pain to figure out what was actually going on.
Adding timeout_job_after: 5.minutes to the config hash solved the problem.
https://github.com/jondot/sneakers/wiki/Configuration

@NIHERASE , tanks for you suggestion. This may be the right one, but I'm not sure it is.
Right now I can't trigger the execution expired exception regardless which timeout_job_after setting I use (which is usual for me - the exception only happens periodically), but if I for example add a sleep(x) line in the worker process it fails when x is higher than my current timeout_job_after variable. But it does not fail with the execution expired exception. Instead it fails with this error:
2016-02-15T10:14:37Z p-61916 t-ousd6eaeg ERROR: [worker-private.my_worker:1:akwf9w][#<Thread:0x007f8bd90f0c50>][private.my_worker][#<Sneakers::Configuration:0x007f8bd90f1c68>] timeout

which is an error that I haven't seen before. So you are right, timeout_job_after does affect how long time a worker process can run, but it does not seem to be the kind of error that I have experienced. Do you agree?

Net::HTTP timeout in a select doesn't seem to have much to do with Sneakers. The stack trace contains a worker implementation and HTTParty/REST client/Net::SSH lines.


Hugo downloads of recent versions nog working

The url scheme has changed

Relates to #443

/*
From the Hugo GitHub release page:
"We have standardised the archive names for the release archives (as you can see
further below). Hugo has since the first version used a rather odd and
non-standard mixed case naming of the archive files (e.g.
hugo_0.102.3_OpenBSD-64bit.tar.gz). We now use the standard GOOS/GOARCH values
as-is, which makes it easier for people to script against. To avoid breakage
when running on Netlify and similar, we create aliases for the most commonly
downloaded Linux-archives on the old format and will continue to do so in the
foreseeable future."
"v0.103.0": [
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_0.103.0_Linux-64bit.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_0.103.0_linux-amd64.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_0.103.0_windows-amd64.zip",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_extended_0.103.0_darwin-universal.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_extended_0.103.0_Linux-64bit.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_extended_0.103.0_linux-amd64.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.103.0/hugo_extended_0.103.0_windows-amd64.zip"
],
"v0.102.3": [
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_0.102.3_Linux-64bit.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_0.102.3_macOS-universal.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_0.102.3_Windows-64bit.zip",
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Linux-64bit.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_macOS-universal.tar.gz",
"https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Windows-64bit.zip"
]
*/


JSLint Too Strict To use

Even spaces in JS code are showing Lint errors. This is dependent on coding style of developer and I feel its gettin gin the way of development.

var sum = 0; var i; function myfunc() {     "use strict";     for (i = 1; i < 10; i += 1) {         sum += i;     } }
It says

Unexpected 'for'.

@kurdtpage
In your brackets.json file:
"jslint.options" : {     "for" : true }
If you're using for in, I believe there's a separate switch for that.  Unless you also set "browser" : true, it will complain that for requires "use strict".

Thanks for the reply. I did know that you can enable for loops in the configuration file, I just think it's a bit strange that using default options means you can't use for loops without an error

thanks a lot


SPIKE: Groundwork to Test/Check the guardrails

Description
To compile a list of the personas from the keycloak SSO roles. Then test systematically what each of these personas can can can not do.
I will need the input from Warren. Not sure if I will also require Avneet.
Additional Info
There's some interesting documentation here https://github.com/canada-ca/cloud-guardrails-aws but we don't want to use Prowler or CloudCustodian, we want to test in CheckPoint CloudGuard CSPM
Deliverables

1st: list of the personas and its permissions (seek the tech team)
2nd: list of all possible permissions (maybe a bit too ambitious but cap to low effort with tech team)
3rd: test plan to verify the happy path: personas can do what they are allowed to base on 1st list
4th: test plan to verify the unhappy path: personas can not do what they are not allowed to base on 2nd list
Get access to ECF AWS Dev CSPM from Julian and explore the rule sets, watch videos, try to understand how they could fit in a test plan.

The results of this spike have been gathered in the following spreadsheet
https://bcgov.sharepoint.com/:x:/t/01368-CPFScrumTeam/ETCQS97bu7VPmr8CaVyl6EAB1MA0dDo6dwo8eJHihbg4GQ?e=WSiaE2


fix: sync on max/min length change

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition
[ ] Tests change

Description

Fixes syncing when min_length or max_length is changed on an option
Changes

Add min/max_length to options_lookup

Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.10.x
[x] I've tested my code

This pr only exists for documentionation, merging


Visual Studio 2017 support ETA

Just checking in to see what the ETA is for adding in Visual Studio 2017 support, as it officially released a few days ago.  Am looking to plan out my own migration to 2017 (from 2010), which of course is predicated on my required 3rd party SDKs supporting it as well.

Already supported in the latest release as the existing "RC" versions of the projects work fine. See Visual Studio 2017.
The main thing I'm still working on is getting VS 2017 versions of my Direct3D game templates Should be next week.

Thanks for the quick response Chuck.  Wasn't sure if there were any changes between RC and the official release that necessitated further inspection on your guys' side.  Sounds like it's goood-to-go...thanks!

The only thing that I really tracked between VS 2017 RC.1 and the VS 2017 RTM of note was a few changes to /permissive- errors. Given that the Windows 10 SDK (14393) isn't actually compatible with /permissive-, I had to use a Windows 10 Creators Update SDK preview. I plan to do another release when that new SDK is finalized.


Question: How does it work with the nuxtjs/content module?

Educate me, please.
I am using the Content module with front-matter, eg:
content/products/product-one.md
---
title: "Product One"
description: "Product description here."
category: "Shoes"
image: "jordan-1.jpg" // content/products/jordan-1.jpg
---

So with this module, would the image be automatically uploaded to Cloudinary and the URL will be set accordingly at build time?
Hope someone will provide an example on the docs. 😊
TIA

Hi @francisceril
Unfortunately this module currently doesn't support uploading automatically to Cloudinary while using it with content module. The new version will include upload :), which will be released this week.
Meanwhile, you can try to do it manually using the content hook and upload using upload url api of Cloudinary. I will post a more detailed example 😄

Hi @francisceril
Please check out https://cloudinary.nuxtjs.org/integrations for the code snippets and instructions of how to use Cloudinary module and content module together in your use case. And don't forget to upgrade Cloudinary module to v1.0.0 :)
Enjoy!


Add PUSH0 opcode

As of the Shanghai upgrade, the PUSH0 opcode was added, but it's not yet listed on evm.codes

are you sure you had the right fork selected?

 are you sure you had the right fork selected?

ahhh yes this was the problem, thanks!

no problem!


Copy File layer Vulnerability

Hi!
where is the correct place to update the stdlib version ?

@Dor-bl I think we need to update Golang version.

@vania-pooh thanks for the quick update. When do you think you can release a new version?

@Dor-bl will do during next few days.


UT_Control Plane - Control message system for running component

This control plane will support receiving messages via JSON/ YAML RPC on a websocket.
The module will open a port and wait for control messages.
Any client module is linked against ut-core will register interest in received message type from the control plane.
Full design of the implementation is yet to be defined but an idea on the server side you would register interest in messages

#define UT_CONTROL_PLANE_MAX_KEY_SIZE (256)
#define UT_CONTROL_PLANE_MAX_KEY_SIZE (64)

typedef struct
{
  char key[UT_CONTROL_PLANE_MAX_KEY_SIZE];
  ut_control_callback_t pCallback;
}CallbackEntry_t;

static callbackEntry_t callbackList[UT_CONTROL_PLANE_MAX_CALLBACK_ENTRIES);
static uint32_t lastFreeCallbackSlot=0; /* Must always be < UT_CONTROL_PLANE_MAX_CALLBACK_ENTRIES */

/* Callback function that will be triggered */
void (*ut_control_callback_t)( char *key, ut_kvp_instance_t *instance );

/* Init the control plane and create instance */
ut_controlPlane_instance_t *UT_ControlPlane_Init( uint32_t monitorPort );

/* pInstance, will be freed on return from the callback */
UT_ControlPlane_RegisterCallbackOnMessage( ut_controlPlane_instance_t *pInstance, char* key, ut_control_callback_t  callbackFunction);

/* Exit the controlPlane instance and release */
void UT_ControlPlane_Exit( ut_controlPlane_instance_t *pInstance );
...

Examples

// Examples of someone calling the registration function
UT_ControlPlane_RegisterCallbackOnMessage(ut_controlPlane_instance_t *pInstance, "hdmicec/command", &myCallback);
UT_ControlPlane_RegisterCallbackOnMessage(ut_controlPlane_instance_t *pInstance, "hdmicec", &myCallback);

On the client side, you would send message e.g.
hdmicec:
  command: hotplug
  port:10
  on: true

rmfAudio:
 a:1
 b:2

sequenceDiagram
      actor Test_Control
      participant Control_Plane
      participant vDevice_Control_Plane
      Test_Control -->> Control_Plane: Request Behaviour
      Control_Plane -->> vDevice_Control_Plane: Platform control to vDevice

Example Socket connection using https://libwebsockets.org/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <libwebsockets.h>

static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) {

    switch (reason) {
        case LWS_CALLBACK_CLIENT_ESTABLISHED:
            printf("Connection established\n");
            break;

        case LWS_CALLBACK_CLIENT_RECEIVE:
            // Message received - assuming JSON format like {"symbol": "AAPL", "price": 155.23}
            printf("Received message: %.*s\n", (int)len, (char *)in);
            // TODO: Parse the JSON for symbol and price
            break;

        // Other events as needed ... (connection closed, etc.)

        default:
            break;
    }

    return 0;
}

static struct lws_protocols protocols[] = {
    { "http-only", callback_http, 0, 0 },
    { NULL, NULL, 0, 0 } /* terminator */
};

int main(void) {
    struct lws_context_creation_info info;
    struct lws_context *context;
    const char *server_address = "YOUR_WEBSOCKET_SERVER_ADDRESS";
    int port = 80; // Or whatever port is used by your provider

    memset(&info, 0, sizeof info);
    info.port = CONTEXT_PORT_NO_LISTEN;
    info.protocols = protocols;

    context = lws_create_context(&info);
    if (!context) {
        fprintf(stderr, "Failed to create libwebsockets context\n");
        return 1;
    }

    // Connect to the server
    struct lws *wsi = lws_client_connect(context, server_address, port, 0, "/", server_address, NULL, NULL, -1);
    if (!wsi) {
        fprintf(stderr, "Failed to connect to server\n");
        lws_context_destroy(context);
        return 1;
    }

    // Event loop
    while (1) {
        lws_service(context, 1000); // Timeout of 1000 ms
    }

    lws_context_destroy(context);
    return 0;
}

Needed to create UT-Control control library, so that it can be cloned and used independently
Need to raise a ticket on RDK-M to create a new repo for the framework of UT-Control (github.com/rdkcentral/ut-control) -> https://jira.rdkcentral.com/jira/browse/CMFSUPPORT-1719
ut-control will contain the following components to break them outside the testing suites

ut_kvp
ut_control_plane
Once the repo is created, create an issue & branch on the repo to support the development work.
This task will then ingest the ut-control as a library in the framework directory

Tasks executed for this issue:

Finalised on libwebsockets as the external library for websockets communication. This is now integrated to ut-core as ut-control-plane. Draft PR: https://github.com/rdkcentral/ut-core/pull/52
created a new repo for UT-Control-library. By introducing this change KVP and control-plane are now a standalone library. PR raised for the same: https://github.com/kanjoe24/ut-control-library/pull/1. Once the new repo from RDK-M is received, same will be pushed to that repo.
Made changes to UT-core to pull apart ut-control-plane and ut-kvp.

Pending Activity:

message received from the client needs to be given to kvp and processed back
new thread needs to be introduced for handling requests
list of callbacks needs to be introduced

Following activities are completed:

new thread introduced for handling requests
list of callbacks added.
KVP module can now receive malloc'd buffer and process

Pending activities:

KVP integration with control plane
Test suite for control plane

ut-control as an independent module is now released.
https://github.com/rdkcentral/ut-control/releases/tag/1.0.0

changes for ut-control in ut-core is under review, in the linked PR.


Tag a release / add Glide dependency manifest for related projects.

An example of a change that could introduce a version mismatch between rest-layer and supporting libraries for end-user, is #62.
Minimum solution
To allow end-users to better cope with minor breaking changes before a rest-layer v1.0, and to improve the ability end-users have for reproducibility, I propose to as a minimum tag a release v0.1.0 following semver conventions.
How to handle breaking changes
According to the semver spec: item 4, versions 0.y.z are for initial development, and anything may break at any time. However, I suggest that for a breaking change pre v1.0.0, MINOR (y) needs to be incremented. I.e. there should be no breaking changes in a PATCH (z) release.
For additional stability only
To futher allow people to minimize the risk of unpredictable behaviour due to version mismatch, I suggest that supporting repositories such as rest-layer-mongo etc., gets a manifest file describing which rest-layer version they require. I suggest this version number to be locked to MAJOR and MINOR pre v1.0.0. E.g. with Glide syntax:
import:
- package: github.com/rs/rest-layer
  version: ~0.1

Until an official Go manifest format is defined, I suggest relying on a Glide manifest.
EDIT: Corrected some mistakes, including referring to a lock of MAJOR and PATCH.
EDIT 2: Added headings.

Link to Glide home page btw: http://glide.sh/

As briefly discussed in #77, we won't add a Glide manifest at this point, but instead wait for the Go team to release an official manifest format.
A Git tag should still be performed. Semver suggests starting at v0.1.0 and increase incrementally from there.

v0.1.0 tagged.

Let's close this for now.


Admins ought to be tied to a conference

Is your feature request related to a problem? Please describe. 👨🏫
Currently, all admins can see everything. This should instead be that users are tied to specific conferences.
Describe the solution you'd like 📝
If I create a conference, then I become an admin of THAT conference. Where I can then overlook all my current participants, as well as add users to manage my conference as well.
However, I should not be able to adjust conferences that I am not an admin (or some other equivalent role)

This no longer aligns with the luttaka-open, as this is too enterprise focused


webp support

You might want to add webp as an output format, GD supports it since php 5.5.

We only require PHP 5.3+, but I suppose supporting WebP if running 5.5 isn't a bad idea.
You're welcome to submit a PR to move this along a bit quicker.


OpenID Connect authentication

This affects MDWHub, Services and Designer.  We can use Google as your initial provider, although we should adhere to standards so that we can support alternative providers going forward.
We need to update AccessFilter.java so that in access.yaml we can specify "oid" as an auth option, along with the parameters needed to configure the provider(s).
Service authentication (if enabled) will use the same pattern.
Designer will authenticate it's connectivity to the server this way as well.

Superseded by #222.


AutoPause does not work in a docker on Synology NAS

Hi there,
I am using the minecraft-server for docker on my Synology NAS. It runs perfect but I just cant get the Auto Pause function to work. The container simply does not recognizes the extra environment. It is not possible to run any commands in this version of docker but it is possible to add environment settings. Those work except for the ENABLE_AUTOPAUSE. When I add this element, the server just starts up as normal but without this feature. Is there someone who recognizes this problem and knows how to solve it?
Kindes Regards.

I don't have experience with Synology and it seems to add an extra complication to Docker IMHO. So let's see if someone else has experience getting autopause running on Synology.

I currently have an instance running on a Synology NAS with auto-pause activated. No problem whatsoever besides it sometimes crash because of this feature (it is expected tho)

Ahh okay! Is it maybe possible for you to share your environment settings? Because my server doesn't recognize the environment setting at all, no mention of an AutoPause proces.

Which server type are you using?

I use Spigot

This works for my with Paper. Set this env. variables:

MAX_TICK_TIME = -1
WATCHDOG = -1

I don't know if this will work for you. Search how to disable Spigot watchdog.

 As standard, the provided Image Synology downloads runs Java8. When I used Java15 in combination with PAPER, the environment settings of AutoPause were already loaded. I am not sure if it would be different with Spigot but I think the Java version solved the problem.
Thanks for the help!


Unable to init enough connections amount! Only 25 from 32 were initialized. Redis server: my-redis-service/<IP_ADDRESS>:6379

In the kubernetes cluster, there is an application service my-auth and a redis service my-redis. Redisson is used in the application service my-auth, and the internal service name my-redis-service is used to connect to redis, but when it starts, the following error is prompted, and redis cannot be connected.
In my-config, you can ping redis or Telnet to redis port,my-config service and my-auth service are in the same cluster and in the same namespace.
Single deployment mode, redis version is 4.0.8.
The kubernetes version is 1.18.6.
The redisson version is 3.7.3
2020-09-27 20:45:22.043  WARN 1 - [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'seqBiz': Unsatisfied dependency expressed through field 'distributedLockTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'distributeLockTemplate' defined in class path resource [com/muyuan/platform/common/config/BaseRedissonConf.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.muyuan.platform.common.ext.redis.DistributedLockFactoryBean]: Factory method 'distributeLockTemplate' threw exception; nested exception is org.redisson.client.RedisConnectionException: Unable to init enough connections amount! Only 25 from 32 were initialized. Redis server: my-redis-service/<IP_ADDRESS>:6379 2020-09-27 20:45:22.050  INFO 1 - [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@5aa6da2: startup date [Sun Sep 27 20:45:03 CST 2020]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6f63b475 2020-09-27 20:45:22.054  INFO 1 - [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@68d8ae27: startup date [Sun Sep 27 20:45:08 CST 2020]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6f63b475 2020-09-27 20:45:22.054  INFO 1 - [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@9880a15: startup date [Sun Sep 27 20:45:08 CST 2020]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6f63b475 2020-09-27 20:45:22.054  INFO 1 - [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@45b96e4c: startup date [Sun Sep 27 20:45:03 CST 2020]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6f63b475 2020-09-27 20:45:22.054  INFO 1 - [           main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@3ba46845: startup date [Sun Sep 27 20:45:07 CST 2020]; parent: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6f63b475 2020-09-27 20:45:22.057  INFO 1 - [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat] 2020-09-27 20:45:22.286  WARN 1 - [ost-startStop-2] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:  java.lang.Object.wait(Native Method)  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)  com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:41) 2020-09-27 20:45:22.314  INFO 1 - [           main] utoConfigurationReportLoggingInitializer : Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug'

in 3.13.3 version amount of simultaneously created connections during pool initialization reduced to 10. Try the latest version


Dialog State Storage Issue in Bot Builder Composer: Impact on Automation and Conversations

I'm using Bot Builder Composer (version 2.1.2) to develop my chat application, and I'm utilizing the .NET versions (netcoreapp3.1/net6.0). During bot automation testing, I encounter occasional issues where dialog states are not stored properly. Consequently, I sometimes receive previous dialogues and trigger different flows. This issue not only affects automation but also occurs during regular conversations.

Are you still experiencing this problem?


dart:io HttpServer allows serving a 304 response with a body

The HTTP spec says 304 responses must not include a body, not even an empty one:

For response messages, whether or not a message-body is included with a message is dependent on both the request method and the response status code (section 6.1.1). All responses to the HEAD request method MUST NOT include a message-body, even though the presence of entity-header fields might lead one to believe they do. All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body. All other responses do include a message-body, although it MAY be of zero length.

But dart:io will serve an empty body if you give it an empty stream:
If I run this:
import 'dart:async';
import 'dart:io';

main() async {
  var requestServer =
      await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4040);
  await for (HttpRequest request in requestServer) {
    request.response.headers.chunkedTransferEncoding = true;
    request.response.statusCode = 304;
    await request.response.addStream(new Stream.empty());
    request.response.close();
  }
}

And then this:
$ printf "GET /index.html HTTP/1.1\n\n" | nc localhost 4040

I see:
HTTP/1.1 304 Not Modified
content-type: text/plain; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
transfer-encoding: chunked
x-content-type-options: nosniff

0

The "\n0\n" is wrong. It's an empty chunked body. It should just be:
HTTP/1.1 304 Not Modified
content-type: text/plain; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
transfer-encoding: chunked
x-content-type-options: nosniff

In dart:io there is no checking of the consistency between the status code and whether a body is allowed or not. The only exception to this is that for a HEAD request any body added to the response is silently discarded (that way the normal serving mechanism can be used for HEAD requests).
In the provided example chunked transfer encoding is set in the header (which is also implicit of content length is not provided). In that case the chunk end must be sent for the receiving parser to be able to parse the response.
I would argue that this response:
HTTP/1.1 304 Not Modified
transfer-encoding: chunked

0

is a response with no message-body. It is chunked encoded but it is empty.
Explicitly setting the content length to 0 in the code will have the desired effect:
import 'dart:async';
import 'dart:io';

main() async {
  var requestServer =
      await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4040);
  await for (HttpRequest request in requestServer) {
    request.response.contentLength = 0;
    request.response.statusCode = 304;
    await request.response.addStream(new Stream.empty());
    request.response.close();
  }
}

produces:
HTTP/1.1 304 Not Modified
content-type: text/plain; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
content-length: 0

With content length set, the number of bytes added to the response body is checked, and adding the empty stream is (of cause) supported as it generated no body bytes.
If we where to add more logic to the status code for responses we could perhaps set the content length to 0 when a status code which MUST not include a message-body is send. Making these three equivalent:
request.response.statusCode = 304;
await request.response.addStream(new Stream.empty());
request.response.close();

request.response.headers.chunkedTransferEncoding = true;
request.response.statusCode = 304;
await request.response.addStream(new Stream.empty());
request.response.close();

request.response.contentLength = 0;
request.response.statusCode = 304;
await request.response.addStream(new Stream.empty());
request.response.close();

And making these a server side error
request.response.statusCode = 304;
await request.response.addStream(new Stream.fromIterable([[65,66,67]]));
request.response.close();

request.response.contentLength = 3;
request.response.statusCode = 304;
await request.response.addStream(new Stream.fromIterable([[65,66,67]]));
request.response.close();

In the provided example chunked transfer encoding is set in the header (which is also implicit of content length is not provided).

Oh, sorry, I didn't mean to leave that line in. Even without it, the result is the same:
import 'dart:async';
import 'dart:io';

main() async {
  var requestServer =
      await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4040);
  await for (HttpRequest request in requestServer) {
    request.response.statusCode = 304;
    await request.response.addStream(new Stream.empty());
    request.response.close();
  }
}

I guess dart:io defaults to chunked?

The only exception to this is that for a HEAD request any body added to the response is silently discarded

Yes, my intuition is dart:io should do something similar for 304s. The HTTP spec says they must not have a body, not even an empty one. If dart:io serves a 304 with a body, it's not compliant. That may be because the app is misusing the API, but I don't think it makes sense to pass that mistake on to the network. I would expect dart:io to either silently discard the body, or to raise an error if the body is non-empty.
For usability reasons, I'd like it to not complain if I give it an empty body, and instead just safely treat that as no body.

If we where to add more logic to the status code for responses we could perhaps set the content length to 0 when a status code which MUST not include a message-body is send. Making these three equivalent:
...

And making these a server side error
...

Yes, those look exactly like I would expect it to work. That sounds great to me, and it means shelf would do the right things without any modifications. Right now, for a 304, it adds an empty stream body. It would be nice to not have to special case that in shelf.

HTTP/1.1 304 Not Modified
transfer-encoding: chunked

0

Is not considered spec compliant AFAIK. At least it can cause problems with some proxies which do not expect to get those 5 extra bytes. \r\n\r\n0


Python3 support

The goal for now is to support both python 2 and python 3, using the future pip package when necessary.
so far it's been things like subprocess.check_output no longer return strings, as well as the expect print() differences.
This should fix https://github.com/kieranjol/IFIscripts/issues/292

Party time!

Thank you for the steer, this is brilliant.

For the most part it's just simple things like not having brackets for print statements. I might try to fast-track some upgrades this week..My main worry is upgrading python itself on like 12 computers, OSX/linux/Windows..

Sounds like a good new year job to me :) to use updated copyit on Python3 will I need to update the files referenced at the head also, like ififuncs?  Thanks.

Hi Joanna:
You probably installed ifiscripts via pip? You might be best off uninstalling those for the moment as they might not work so well with python3.
if you did want to test out this branch, you could do the following:
git clone https://github.com/kieranjol/ifiscripts
git checkout python3
./copyit.py path/to/source_dir path/to/destination_dir

Lemme know how you get on with that.. the ./ is very important when running the scripts. You might need to do
python copyit.py instead, depending on your environment.
Any testing on this branch would be greatly appreciated!

Is this the best place to feedback? Happy to try and test these for you 👍
Joannas-MacBook-Pro-2:ifiscripts Joanna$ ./copyit.py /Users/Joanna/Desktop/TestMov /Users/Joanna/Desktop/CopyitMov
Traceback (most recent call last):
File "./copyit.py", line 15, in
from builtins import input
ImportError: No module named builtins
Joannas-MacBook-Pro-2:ifiscripts Joanna$ search builtins
-bash: search: command not found
Joannas-MacBook-Pro-2:ifiscripts Joanna$
Sorry I can't diagnose. One day!

Not sure if the log is interesting to you, it has a report of

2018-11-20T13:27:55 Joanna copyit.py started.
2018-11-20T13:27:55 Joanna eventDetail=copyit.py Script version unavailable as the ifiscripts repository is not installed in $HOME/ifigit/ifiscripts

Everything else seemed very successful

Awesome, you can try to copy a folder too.
I need to sort out that logging too,thanks for sending that on!

Thanks Kieran, that's awesome. And will do ref folder copying. I take it I can test all ifiscripts the same way via this git install? I'll attempt to install the same tomorrow on work computers and make some proper directory copies.
Have you used copyit with LTO? Or something like?

yes, you can attempt them all via this method, though i've updated a few scripts since this pull request.
We used copyit a lot with LTO, but using the -lto argument. This uses gcp, not rsync for the file transfer and it tends to have fewer headaches.
You might need to do
brew install coreutils in order to get access to gcp ..

I have coreutils, but never tried copying with gcp, so I'll have to look into how I'd run that with a python script as well.  I installed a ton of stuff from GNU after hearing Richard Stallman talk at Uni of Lincoln, but never did anything else with it!
20 mov items copied with copyit perfectly. Thanks so much for all this.

I think I might just merge this tomorrow. i think all I need to do is install future on each active workstation. This should bring most scripts up to date and should be python 2/3 compatible, and I can make tweaks in the master branch as I go. The ultimate goal will be to remove the use of future so that python3 will be the only supported version.

Copied a folder overnight with 13 movs at 210GB, all went well and checksums all matched.  The same method of cd into ifiscripts worked fine here at MACE. Took an awfully long time though, but I definitely have an issue with processing speeds on this Mac at the moment - something for me to investigate!  Thanks very much for this route into IFIscripts Kieran, looking forward to trying some others out in coming weeks/months.  👍

That's awesome Joanna - how slow was it? what kind of  transfer speeds were you getting with rsync? it's be great if you could post the log that appeared on your desktop..

I'd consider 33megs a second to be fairly slow,but it probably depends on
your connection to your server and how many simultaneous transfers are
happening. What kind of speeds would you be expecting? Also if you have
preexisting sidecar manifests,you can get a bit of a speed increase as the
initial generating source manifest step is skipped..


Add Mutex::into_inner()

impl<T> Mutex<T> {
    pub fn into_inner(self) -> T {
         ...
    }
}

This is very useful for structures like this:
struct Foo {
     data: Mutex<Bar>
}

impl Foo {
    fn modify(&self) {
        self.data.lock().unwrap().modify();
    }

    fn consume(self) {
        let bar = self.data.into_inner();    // oops! doesn't exist
        bar.consume();
    }
}

Seems like a pretty straightforward thing to add - I'm kind of surprised it's not there already.

We may want into_inner to return LockResult<T>, but other than that I'd also be fine with this. We may also want to go a little further and add:
pub fn get_mut(&mut self) -> LockResult<&mut T>;

because if you have mutable access to a mutex there's no need for synchronization!

This is fixed by rust-lang/rust#29031 with #28968 as tracking issue for stabilization.

Thanks @cristicbz!


Complete feature tests for hiding Publish/Schedule & fix inset prompt

Reviewer:

Review requestor:

I didn't notice your message and merged it 🤦♀


Can I us this to add custom request headers?

I do web testing and for one client I need to add a custom header to all requests to their site, can I configure this to do that for me?
The use case is so I can point all my tools through this proxy and it handles adding the header rather than me having to work out how to do it on a tool by tool basis.
There is no security risk, I know the site, I can use my own CA which is already trusted by my system, cert warnings won't be a problem.

You might be able to do it with the request_header directive?


External controls

I am trying to use a multimedia remote control to control the CarPlay functions and will report back.
PS: the wireless connection works, but has significant delays. Any hints?

Hey @VinceBarns - take a look at decoder.py - this is where the keypresses are interpreted. It'd probably be super straightforward to work the changes in there. I currently get media events from MPV. Not sure if your remote is compatible with that?

Hey @VinceBarns - take a look at decoder.py - this is where the keypresses are interpreted. It'd probably be super straightforward to work the changes in there. I currently get media events from MPV. Not sure if your remote is compatible with that?

Thanks.
So far it only works as a workaround in desktop mode with key mapper (https://github.com/sezanzeb/key-mapper) by mapping the buttons of the multimedia remote control to your assigned keys.
Basic problem: Key codes >255 are not natively recognized and mapped by the system. - this is especially the case in CLI mode.
My goal is to start in CLI mode so I will find a better solution.

Hi!
This is my solution to control CarPlay by the car buttons.
Python script catches button presses on the CAN Bus (Skoda Octavia A5) and emulates keyboard keystrokes. Sometimes you get a few clicks, revision required.
https://youtu.be/C-H0AFtaqCk
#!/usr/bin/python3
import time
import keyboard
import can

try:
    bus = can.interface.Bus("can0", bustype="socketcan")
except OSError:
    print("Cannot find CAN Board")
    exit()

try:
    while True:
        message = bus.recv()
        if (message.arbitration_id == 0x2C1):
            # UP
            if (message.data[2] == 0xAD):
                keyboard.press_and_release("right")
            # DOWN
            elif (message.data[2] == 0x9D):
                keyboard.press_and_release("left")
            # OK
            elif (message.data[2] == 0xCD):
                keyboard.press_and_release("enter")

except KeyboardInterrupt:
    print("keyboard")

@aivs thank you for posting this code. I got it - with some adaptation - working for my Audi RNS-E on a Audi A3 8P. If anyone is interrested in the code for Audi RNS-E, please let me know.
Now what I would like to do is integrate this carplay receiver into my custom car pc solution similar to this one: https://youtu.be/OCIqMNJsGWk
I have the following questions:

How can I assign a button to start / switch to carplay on demand ?
How can I return to my carplay interface using the "manufacturer button" in carplay?

I hope you guys get what I'm trying to achivee.
Thanks all!


Renamed 'TESTOPTS' variable as 'BUILDFLAGS'

Renames TESTOPTS to BUILDFLAGS in hack/codecov.sh to align with the test make target's definition.

/lgtm


Manager Ready: Fable Testing on Manager Portal

After #797 is complete, audit manager portal with Fable.

Scheduled for later this week.


Sharing violation on .journal file

Hello,
We encountered a bug in your library.  Sometimes, this throws a sharing violation-exception at the FFImageLoading.Cache.DiskCache.AppendToJournal().
This is the stack trace:
Unable to retrieve image data
System.IO.IOException: Sharing violation on path /data/data/AppName.Droid/cache/ImageService/.journal
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x0027b] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, System.String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamWriter.CreateFile (System.String path, Boolean append, Boolean checkHost) [0x00022] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize, Boolean checkHost) [0x00061] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
  at FFImageLoading.Cache.DiskCache.AppendToJournal (JournalOp op, System.String key, DateTime origin, TimeSpan ttl) [0x00000] in <filename unknown>:0
  at FFImageLoading.Cache.DiskCache+<AddOrUpdateAsync>c__async0.MoveNext () [0x000f3] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
  at FFImageLoading.Cache.DownloadCache+<DownloadAndCacheAsync>c__async2.MoveNext () [0x00156] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Byte[]].GetResult () [0x00000] in <filename unknown>:0
  at FFImageLoading.Cache.DownloadCache+<GetStreamAsync>c__async1.MoveNext () [0x000f6] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.IO.Stream].GetResult () [0x00000] in <filename unknown>:0
  at FFImageLoading.Work.ImageLoaderTask+<GetStreamAsync>c__async5.MoveNext () [0x0011f] in <filename unknown>:0

This bug seems to be rather rare, with an about 1 in 10 occurance.
Thanks!
Robbe

Weird I never experienced this bug.
Could you give some more hints about your device and how you use the lib maybe?
Also if you manage to upload a repro sample somewhere that would greatly help

Maybe this is related with our caching issue from my previous issue report. I'll fork the repo and try to add the caching key parameter. If the issue is fixed, I'll let you know.

If you make any progress on that I would be very happy to integrate it :smiley:

I'm experiencing the same problem as well.

Can you please write which Android version  & which Xamarin.Android you use?
Also any additional info like a reproducible sample will help to debug this.

Here's my code:
                if (imageLoadingWork != null)
                {
                    imageLoadingWork.Cancel();
                    imageLoadingWork = null;
                }

later ...
                        if (imageUrl != null)
                        {
                            if (shownImageUrl == imageUrl)
                            {
                                // Nothing to do here, we are already showing the correct image
                                ContentImageView.Alpha = 1.0f;
                            }
                            else
                            {
                                // Clear the image and start loading the next one
                                ContentImageView.Image = null;
                                ContentImageView.Alpha = 0.0f;

                                var urlString = imageUrl.ToString();
                                imageLoadingWork = ImageService.LoadUrl(urlString).Finish(work =>
                                    {
                                        if (work.Completed)
                                        {
                                            shownImageUrl = imageUrl;
                                            UIView.AnimateNotify(
                                                AnimationDuration,
                                                0.0f,
                                                UIViewAnimationOptions.CurveEaseInOut,
                                                () =>
                                                {
                                                    ContentImageView.Alpha = 1.0f;
                                                },
                                                null);
                                        }
                                        else if (work.IsCancelled)
                                        {
                                            // Nothing to do here.
                                        }
                                        else
                                        {
                                            // There seems to be a third case here that indicates successful image loading. Handle it as such.
                                            shownImageUrl = imageUrl;
                                            ContentImageView.Alpha = 1.0f;
                                        }
                                    }).Error(e => Console.WriteLine("Failed to load image: " + urlString + " error: " + e))
                                    .Into(ContentImageView);
                            }
                        }

Thanks for the code. If you are able to upload somewhere, or email, the whole sample that would greatly help.
Which Android version & Xamarin.Android please?

This is Xamarin.iOS, iOS 8.4, FFImageLoading 1.1.3, Xamarin.iOS 8.10.1 Business Edition

I don't have an isolated sample I can share right now but I'll try to work one up when I have some free time.

Can you send the stacktrace too please?

Could you tell me if https://github.com/molinch/FFImageLoading/commit/df06d7f9affec22bac91fd5d2cb56371f9bc85c9 fixes your issue?

If you give us some feedback on this so we can deliver a new Nuget package.
Thanks!

Fixed and a new Nuget package has been pushed.


Feature Request: Support vscode.dev

Your extension is one of my favorites and it is greatly missed when I need to use https://vscode.dev.  Is it possible to make the extension compatible with the browser version of VS Code?

Hello, thanks for the lovely feedback. The thing is that VS Code has many limitations, one of the limitations is that it does not give extensions access to the native AST tokens.
https://github.com/microsoft/vscode/issues/177452
So, I implemented third party library (actually it is the source code of Bracket Pair Colorizer 2) for parsing/tokenizing brackets (curly/square/round). And, BPC 2 uses some NodeJS features which does not work in web browser. The biggest problem seems importing onig.wasm from vscode-oniguruma package. I could not convert this flow into web browser environment. I could not get it working. I think I will try some more things, for example maybe downloading the wasm file from online, instead of importing from local space.


Add missing import to SSR part of the README.md

That particular sample didn't include the Route import from react-router

Thanks!


Pre-test issues list: Bugs

[ ] Plan My Trip page controls sometimes unresponsive after Wipe Local Data pressed.  Need to switch tabs and wait
[ ] (seems to appear on multiple pages, semi-randomly)  Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
in ActivityListItem (at ReferenceActivitiesList.tsx:128)

checkbox 1 getting addressed in current work, the second hasn't come up but will make an issue for that if its still a thing.


Draw Mixed Chart

Hello,
I was researching for a way to render both a bar and a line chart using the framework but saw no way other than the "overlay charts" which to me is impractical and inefficient for my project.
If there was a way to "stop" drawing based on conditions that would have allowed me to alter the way elements are drawn.
I saw you a discussion on having a "beforeDraw" and "afterDraw" event which may help me achieve the goal but not sure what happened there.
Is there another way to achieve a mixed chart display?

Unfortunately multitype charts are not supported as of right now.
#1284


mobile: Update InternalEngine::sendHeaders to use Envoy::Http::RequestHeaderMap

This PR updates InternalEngine::sendHeaders to use C++ Envoy::Http::RequestHeaderMap instead of envoy_headers C wrapper type. This helps to reduce the number of indirection as well as unnecessary copies. The JNI code for sendHeaders has been rewritten to use proper Java type, such as Map<String, List<String>> instead of byte[][]. This change also helps to reduce unnecessary copies.
Risk Level: low
Testing: unit tests
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: mobile

/retest

/assign @alyssawilk

/retest

/retest

/retest

/retest

LGTM at a high level. haven't had a chance to look at the JNI code sorry

Sorry I think this one slipped my radar, will review it today.

/retest

/retest

/retest

/retest

/retest


The behavior of Kubernetes Ingress pathType Prefix does not align with Kubernetes docs

Welcome!

[x] Yes, I've searched similar issues on GitHub and didn't find any.
[x] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Consider the following Ingress. We have two paths using Prefix:

Backend: /v1
Frontend: /

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ include "appName" . }}
spec:
  rules:
    - host: {{ include "appName" . }}.{{ .Values.domain }}
      http:
        paths:
          - path: /v1 # Backend
            pathType: Prefix
            backend:
              service:
                name:  {{ include "appName" . }}
                port:
                  number: 80
          - path: / # Frontend
            pathType: Prefix
            backend:
              service:
                name: {{ include "frontAppName" . }}
                port:
                  number: 80

According to Kubernetes Ingress documentation:

/v11 should match Frontend
/v1/something should match Backend

What did you see instead?
In our testing:

/v11 matched Backend

This is not consistent with Kubernetes Ingress documentation.

Kind
Path
Request Path
Matches?

Prefix
/aaa/bbb
/aaa/bbbxyz
No, does not match string prefix

In our case, it is

Kind
Path
Request Path

Prefix
/v1
/v11

which should not match.
What version of Traefik are you using?
v3.0.0
But this is also reproducible on v3.1.6
What is your environment & configuration?
Traefik installed via Helm traefik-28.0.0
Kubernetes v1.28.4
If applicable, please paste the log output in DEBUG level
No response

Hello @charlie0129,
Thanks for the bug report, we will work on it to reproduce it.
If you or another community member would like to build it.
We'll update this issue with our first results.

Sure I can open a PR to fix this.

@nmengin Hi, sorry for mentioning, but is there a possibility that my pull request can get reviewed?


docs(examples): impl Widget for App, SelectedTab

Issue: https://github.com/ratatui-org/ratatui/issues/819
This PR adds:
impl Widget for App, SelectedTab in tabs example.

I tweaked a bunch of things:

changed the border to a custom one that joins against the tab

moved the title to the same line as the tab

made the footer a single line

muted the colors a little

rearranged the order of the code for better reading order

moved the From for Line to SelectedTab::title

moved the colors to SelectedTab::palette()

derived default on App and removed new()

rebased on the current main and brought in Line::centered()

added an AppState enum and moved event handling to App::handle_events()

added quit instructions to footer and remove h/l (these still work, just aren't advertised)

Looks really good! I loved the idea of making tabs connected to the border.
But I'm not sure about tabs locations because they look not centered nor left aligned. I'm not a fan of that positioning. And we could center the text also. I don't know who it calls but centered horizontally and vertically. Not something significant but it may improve the look.
Note: The reason I'm not active for a couple of days is that I'm EXTREMELY busy with the final days of my semester and I'll be turning back to my home country (I was doing an Erasmus program) so I'm setting up for that. I hope I'll become active with issues and PRs again soon. I just wanted to inform you because of my two open PRs.

Looks really good! I loved the idea of making tabs connected to the border.

Glad you like it. I'm a fan of trying to find ways to help push apps towards using fewer box drawing borders. I think it starts with demonstrating nicer looking TUIs and continues into playing with palettes, and default layouts that avoid them.

But I'm not sure about tabs locations because they look not centered nor left aligned. I'm not a fan of that positioning. And we could center the text also. I don't know who it calls but centered horizontally and vertically. Not something significant but it may improve the look. I'll slap two examples up to test it.

I can see that perspective. What about putting the title all the way over on the right, or the tabs on the right? If either of those don't work, then I'll move the title back up above things. My rationale on compressing it on the same line is to help gently demonstrate that apps shouldn't throw away vertical space when they can help it.

Note: The reason I'm not active for a couple of days is that I'm EXTREMELY busy with the final days of my semester and I'll be turning back to my home country (I was doing an Erasmus program) so I'm setting up for that. I hope I'll become active with issues and PRs again soon. I just wanted to inform you because of my two open PRs.

Not a problem in the slightest - I assume that everyone has their own stuff going on and github open source is something that is async. Good luck with your studies. We sometimes update PRs like this to get them over the line like this.

I like both of these:


run_live.py: clone_repo() takes 3 positional arguments but 5 were given

Describe the bug
I try to  use run_live.py  for my test , but get clone_repo() invoke error ,  I checked run_live.py and bm25_retrieval.py , found run_live.py not use correct input arguments for clone_repo.
bm25_retrieval.py
def clone_repo(repo, root_dir, token)
run_live.py :
repo_dir = clone_repo(f"{owner}/{repo}", root_dir, token, False, thread_id)
my command:
python run_live.py --model_name claude-3-sonnet-20240229    --issue_url https://github.com/huggingface/transformers/issues/26706
Steps/Code to Reproduce
bm25_retrieval.py
def clone_repo(repo, root_dir, token)
run_live.py :
repo_dir = clone_repo(f"{owner}/{repo}", root_dir, token, False, thread_id)
Expected Results
No error
Actual Results
Traceback (most recent call last):
File "/home/ec2-user/SWE-Bench/SWE-bench/inference/run_live.py", line 276, in
main(**vars(args))
File "/home/ec2-user/SWE-Bench/SWE-bench/inference/run_live.py", line 195, in main
instance = make_instance(
File "/home/ec2-user/SWE-Bench/SWE-bench/inference/run_live.py", line 104, in make_instance
repo_dir = clone_repo(f"{owner}/{repo}", root_dir, token, False, thread_id)
TypeError: clone_repo() takes 3 positional arguments but 5 were given
System Information
Python 3.10.9  Linux

Tagging @carlosejimenez to address this.

Just pushed commit fe2c907d9b89d535b1c16aba489c0d59b241c1d0 which should resolve this bug. The clone_repo function call should have been updated. Thanks so much for the detailed bug report and catching this!


Get calico/node STs running with etcdv3 and v2 datamodel

@caseydavenport @tmjd BTW we just had a CI pass (except for docs flake) for this PR at https://semaphoreci.com/calico/calico/branches/pull-request-1275/builds/3

Docs CI issue with https://issues.apache.org/jira/browse/MESOS-6567 is apparently temporary - looks like Apache's JIRA is being reindexed.
So, merging even with that failure...


Added Url-shortener

Closes:

Title : Url shortener
Name: :  Aditi Jain
Idenitfy yourself: :  GSSOC

Describe the add-ons or changes you've made 📃
Added url shortener in next js project
Screenshots 📷

Type of change ☑

What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

@Avdhesh-Varshney  please merge my pr


build(deps-dev): remove @vitest/ui

Summary of Changes
Remove @vitest/ui. Webstorm's test with coverage is faster and shows results directly in the IDE. Developers who still need it can install it locally.

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.10.0
GitHub release

Your semantic-release bot :package::rocket:


Apply open CORS to public FT logs

This PR adds open CORS headers for the GCS buckets containing the FT logs.
This change allows "log explorer" web UIs to display information from these logs.
These buckets are already publicly accessible and do not require any form authorisation to access them. (see https://youtu.be/vfAHa5GBLio?t=618 for background.)

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

Please upload report for BASE (main@df8da27). Learn more about missing BASE report.

Additional details and impacted files
@@          Coverage Diff           @@
##             main    #284   +/-   ##
======================================
  Coverage        ?   2.22%
======================================
  Files           ?      21
  Lines           ?    1575
  Branches        ?       0
======================================
  Hits            ?      35
  Misses          ?    1529
  Partials        ?      11

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

Applied


issue when changing from arabic to another language

thanks for the great package,
my app uses 2 languages arabic and english, i'm following the docs and the example, when i change from english to arabic it work without issues,the languange and the slug change, but when changing from arabic to english only the language change and slug keep the same and i get 404 error,
it took me hours trying different things, i added fr-CA and its work without issues changes with english
but i get the issue when changing from arabic to any other language

@mohammadameer which version of Next.js are you using? I am about to release a fix to support the latest version... they release some breaking changes in version 13.4.13

my pacakges versions
"next": "^13.4.12",
"next-multilingual": "^5.0.14",

the issue is not related to arabic, it happen wehn changing from the default langauge to any other language
changed the default to en-US and now when changing to any other route, only the language change without the path

Sorry that you spent so much time troubleshooting this.
It would help of you could share a repository reproducing the issue.
Otherwise my hypothesis is that yout default language is not English. Since Next.js relies on the file path (using English characters), this package was build and tested on that foundation. For this package to work correctly, your file path under the pages directory should match the English slugs.
I think in theory it would be possible to support non English default languages but since we never needed this capability, and no one asked for it so far, it was never investigated further.
If you can share some code it would help me confirm my hypothesis.

No worries, i've mad this simple example where i'm facing the issue
https://github.com/mohammadameer/next-multilingual
and reading your comment again, yes you are right that was the issue, using non english as the default language and also non matching english slug with folder naming
would be great if these info are added to the project readme

You're right I will add a mention.. since honestly this has never been tested or requested because - I can definitely add a warning.
Are you able to unblock yourself and use the package given these limitations? I've honestly always wanted to check how much effort it would be to support this but given that I personally don't need this and the demand doesn't seem there for now, I'm not sure how much time I can personally spend on this right now.
Also if you are interesting into contributing, I'm always happy to get extra help to improve the package.
On another notes I took a quick look at your repository and noticed that you are missing this config in the Next.js config:
experimental: {
    esmExternals: false,
  }

Also If I check this page: https://github.com/mohammadameer/next-multilingual/blob/main/pages/details/index.en-US.properties
Your English slug should match the file system, so for that page you should use details or, if you want to use details page as slug, you should rename the directory to details-pages.
This is the part that has never really been tested - your file system should match your English slugs - or in fact it doesn't have to be English, it can be any language that will be able to use the file system character sets.. which I think are mostly limited to ASCII characters.

FYI I added a clarification in the readme - hopefully this will help
https://github.com/Avansai/next-multilingual/commit/d6c8338986b1fa0f0d592de595a96d1d74f36187

@nbouvrette thank you very much, currently i'm going with making english the default language
i think that should not be an issue with users who came from google search, as google will show correct result that match their intent, correct language and slug
but for users who use the url directly will it detect the language or show the default language
will be very happy to contribute, will need to understand how the package is working

Keep in mind that the default language only applies if you set an homepage that use dynamic locale resolution like our example. The default would only be picked for someone who didn't have Arabic in their OS/Browser preference. You could always override it if you want... the only real requirement really is that you have an English locale on the site to mimic the file system slugs.
I'm going to close this issue for now and please message me on Twitter @nicolasbou if you are serious about contributing and I am even ready to jump on a call with you to help you get started.


CHORE: Add permissions for mergify

What do these changes do?

Add permissions for mergify.
Related issue number

Fixes #xxxx
Check code requirements

[ ] tests added / passed (if needed)
[ ] Ensure all linting tests pass

Draft to test if it works when other workflow yaml files change.


Error <Errno::EACCES: Permission denied @ dir_s_mkdir - /var/log/td-agent>

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.

fluentd or td-agent version : fluentd:v0.12-debian
Environment information : CentOS Linux release 7.1.1503 (Core)
Your configuration : I have used fluentd with docker-compose to run as a container. fluentd.conf file is:

<source>
  @type forward
</source>
<match golang.**>
      type forward
      send_timeout 60s
      buffer_type file
      buffer_path /var/log/td-agent/test11/td-agent.buffer
      buffer_chunk_limit 8M
      buffer_queue_limit 128
      flush_interval 5s
      max_retry_wait 300
      disable_retry_limit
      recover_wait 10s
      heartbeat_type udp
      heartbeat_interval 1s
      phi_threshold 16
      retry_limit 50
      hard_timeout 60s
      <server>
            host 192.170.X.X
            port 24226
            weight 60
      </server>
</match>

This file is used to read docker logs and transfer to another td-agent on an external server.

Your problem explanation : I am getting following error on running docker-compose up:

2017-12-11 05:51:21 +0000 [error]: unexpected error error_class=Errno::EACCES error=#<Errno::EACCES: Permission denied @ dir_s_mkdir - /var/log/td-agent>
And am not able to receive logs in my kibana attached to the td-agent on external server.

/var/log is owned by root:root, fluentd container is running under different user: https://github.com/fluent/fluentd-docker-image/blob/master/v0.12/debian/entrypoint.sh

This seems not fluentd bug, so closed.
At first, fluentd image doesn't create td-agent related directories.

/var/log is owned by root:root, fluentd container is running under different user: https://github.com/fluent/fluentd-docker-image/blob/master/v0.12/debian/entrypoint.sh

Can you explain more about this and how to fix?  Please

I fixed this by adding a couple of lines to my Dockerfile:
RUN mkdir -p /var/log/fluent
RUN chown -R fluent /var/log/fluent

Here's my complete Dockerfile, which adds the s3 plugin:
FROM fluent/fluentd:v1.16-1

# Use root account to use apk
USER root

# below RUN includes plugin as examples elasticsearch is not required
# you may customize including plugins as you wish
RUN apk add --no-cache --update --virtual .build-deps \
        sudo build-base ruby-dev \
 && sudo gem install fluent-plugin-s3 \
 && sudo gem sources --clear-all \
 && apk del .build-deps \
 && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem

COPY fluent.conf /fluentd/etc/

RUN mkdir -p /var/log/fluent
RUN chown -R fluent /var/log/fluent

USER fluent


Upgrade to Sublime Text 4143

Had to adjust the extraction script due to a now different folder name...

Awesome!! Thank you for this work!! =D I'm currently quite low on bandwidth and time right now, but will try to get this landed soon (could be as short as a day, could be as long as a month)

Digging in to review this

Deciding to take a slight detour to capture all the builds in-between. Still planning on landing your PR as the capstone

Alright, lots of new releases out now, including 4143 which includes this PR
Thanks so much for your work here!!


ARM issue and documentation on WAF for Azure Front Door

I could not find a documentation page explaining the use of ARM templates for setting up a WAF policy for Front Door.
I found https://github.com/Azure/azure-quickstart-templates/blob/master/201-front-door-managed-waf-ruleset/azuredeploy.json and https://docs.microsoft.com/en-us/azure/templates/microsoft.network/frontdoors-allversions.
However these pages do not help me to resoIve the following issue:

I want to add a waf policy to a front door in a linked template.
I want to make adding a waf policy optional to make my linked template more generic
therefore, I make the waf policy resource optional using a condition property
since that resource is optional, I cannot make the front door resource depend on the waf policy resource since then the whole front door resource might not be deployed.
I tried to solve this by always creating the front door resource and adding a frontdoor frontend endpoint "modification resource" (code below) that alters the frontdoor frontend endpoint that was created in the frontdoor resource.

However, it seems that you cannot use a Microsoft.Network/frontDoors/frontendEndpoints resource standalone (not as a child resource) to alter a previously made frontend endpoint.
The error I get is: "Put" method is not allowed for this "FrontendEndpointEntityKey" entity. However, according to this Front Door REST API docs page the Put method exists.
The arm code I tried in a similar template to https://github.com/Azure/azure-quickstart-templates/blob/master/201-front-door-managed-waf-ruleset/azuredeploy.json is:
{
    "name": "[concat(parameters('frontdoor_serviceName'), '/', concat(parameters('frontdoor_serviceName'), '-azurefd-net'))]",
    "type": "Microsoft.Network/frontDoors/frontendEndpoints",
    "apiVersion": "2019-04-01",
    "dependsOn": [
        "[concat('Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/', parameters('wafPolicyName'))]",
        "[concat('Microsoft.Network/frontDoors/', parameters('frontdoor_serviceName'))]"
    ],
    "properties": {
        "webApplicationFirewallPolicyLink": {
            "id": "[variables('wafpolicyref')]"
        }
    }
}

cc @tfitzmac since he authored the ARM template reference for this resource type
cc @bmoore-msft as a contributor to the ARM sample I based my code on

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

ID: f9f5dad8-9d50-9233-2fac-b012be2c2394
Version Independent ID: ea42494b-8874-02e1-798f-6a63073d5fe8
Content: Create a web application firewall policy for Azure Front Door by using the Azure portal
Content Source: articles/frontdoor/waf-front-door-create-portal.md
Service: frontdoor
GitHub Login: @KumudD
Microsoft Alias: kumud

@hansmbakker Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@hansmbakker Related: https://github.com/Azure/azure-sdk-for-net/issues/7050

@Adam-Smith-MSFT Please assign this issue to @teresayao . Thanks!

#reassign: @teresayao
@KumudD FYI you can reassign by running the same command :)

Here's the code snippet to add a reference to a WAF policy from an AFD resource:
"frontendEndpoints": [
{
"name": "frontendEndpoint1",
"properties": {
"hostName": "[concat(parameters('frontDoorName'), '.azurefd.net')]",
"sessionAffinityEnabledState": "Disabled",
"webApplicationFirewallPolicyLink": {
"id": "[resourceId('Microsoft.Network/frontdoorwebapplicationfirewallpolicies', parameters('wafPolicyName'))]"
}
}
}
]

Supported methods for frontendpoints:
https://docs.microsoft.com/en-us/rest/api/frontdoorservice/frontdoor/frontendendpoints

#sign-off

since doc is already updated, I added a comment and #sign-off to close the thread. should we contact the person first?

From: Kumud Dwivedi<EMAIL_ADDRESS>Sent: Thursday, November 14, 2019 10:38 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Teresa Yao<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] ARM issue and documentation on WAF for Azure Front Door (#37221)
@Adam-Smith-MSFThttps://github.com/Adam-Smith-MSFT Please assign this issue to @teresayaohttps://github.com/teresayao . Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/37221?email_source=notifications&email_token=ADTPG4DHA2TX5WFSTI5JMPDQTWLLTA5CNFSM4IMFNA32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEC3GZQ#issuecomment-554021734, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADTPG4BR4ZUTJBHGWOEC7WLQTWLLTANCNFSM4IMFNA3Q.

@hansmbakker to close a thread you use #please-close
:)

@victorar thank you for sharing this
@Cuijpie could you look into that with Fahad? We could use it to refactor the Azure Frontdoor template if it works as said.


Why not it use datasource from data-config.xml instead of another property file

Why not it use datasource from data-config.xml instead of another property file

Good question, it is something I thought about doing but decided for a separate datasource to make it more flexible. Since your elevation data might reside in a different DB than your documents DB.