Unable to call CSE if _artifactlocation defined through [deployment().properties.templateLink.uri]

Hi!
Please can you help how solve next issue:
Trying to prepare ARM template for Azure Marketplace publication. In this case as _artifactlocation we should use [deployment().properties.templateLink.uri] value.
When we define fileuri pointed to Azure Storage Blob (where located .ps1) it works great. But if we define [deployment().properties.templateLink.uri] - script successfully downloaded to Downloads foled, but we are getting error: "The argument 'TestScript.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter"
Maybe this is due to the fact that in this case the script is downloaded into folder Downloads\0\0CAA4_5139121DC966459B9CF33017B00D6998_90DAC68278DD879E7655832C5C9FB81163D700FA instead of Downloads\0\testscript.ps1

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

ID: 40aaccb8-19ba-168f-f5bf-65f1f5331541
Version Independent ID: 6cdfd166-633a-50a3-2b45-cde0e991e540
Content: Azure Custom Script Extension for Windows
Content Source: articles/virtual-machines/extensions/custom-script-windows.md
Service: virtual-machines-windows
GitHub Login: @bobbytreed
Microsoft Alias: robreed

Thanks for the feedback! We are currently investigating and will update you shortly.

@litvinolek Are you deploying through portal or comman line?
If you deploying through portal, Please have a look at this remark.
Are you using this(https://github.com/Azure/azure-quickstart-templates/tree/master/100-marketplace-sample) template from Azure Quickstart template? Please confirm.
If not, Can you please share the snippet where where the above value ([deployment().properties.templateLink.uri]) is used.
If you are not using storage account url for the .ps1 script, I think it should be in the same place where your template is stores. If you are using the portal, upload the file also in the same directory level where your template is.
Try this out and let me know

Hi!
Deploy performed through azure portal (I published managed application).
Thanks! I saw this note.
I used my own template not from Quickstart.
I have tried many variants - placed ps1 in same level, placed in scripts folder, placed in nestedtemplates folder and in nestedtemplates/scripts folder)
I configure template based on this best practice: https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md#vm-extensions
This is from my template:
Defined parameters:
"_artifactsLocation": {
"type": "string",
"defaultValue": "[deployment().properties.templateLink.uri]"
  "_artifactsLocationSasToken": {
  "type": "securestring",
  "defaultValue": ""
}

and CSE resource:
{
"name": "[concat(parameters('virtualMachine_name'), '/', 'StartSM')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[resourceGroup().location]",
"apiVersion": "2016-03-30",
"tags": {
"displayName": "SM"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"[uri(parameters('_artifactsLocation'), concat('scripts/Scriptname.ps1', parameters('_artifactsLocationSasToken')))]"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File scripts/Scriptname.ps1', ' ', variables('scriptWebParameters'))]"
}
}
}
In protected settings I tested many combinations:
scripts/Scriptname.ps1
scripts\Scriptname.ps1
./Scriptname.ps1
./Scriptname.ps1
etc...

Hi!
I think the problem in download path. If I correct understand download path that handler check it:
C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.9.5\Downloads\0\scripts
But if I publish template as Managed application - template is uploaded onto blob owned by Azure and in this case download path will be:
C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.9.5\Downloads\0\0CAA4_5139121DC966459B9CF33017B00D6998_A29F4BFA9769C08FA839F5CF753A054EFC907D86\scripts
Main question: how I can get this container name dynamically 0CAA4_5139121DC966459B9CF33017B00D6998_A29F4BFA9769C08FA839F5CF753A054EFC907D86

[3792+00000001] [07/16/2019 04:42:00.30] [INFO] Downloading files specified in configuration...
[3792+00000001] [07/16/2019 04:42:00.38] [WARN] Storage Account Name and/or Key are empty - will try to download files without them
[3792+00000001] [07/16/2019 04:42:00.39] [INFO] DownloadFiles: fileUri = https://prdsapplianceprodam01.blob.core.windows.net/applicationdefinitions/0CAA4_5139121DC966459B9CF33017B00D6998_A29F4BFA9769C08FA839F5CF753A054EFC907D86/scripts/StartSMKV-AllInOne.ps1
[3792+00000001] [07/16/2019 04:42:00.39] [INFO] DownloadFiles: Initializing CloudBlobClient with baseUri = https://prdsapplianceprodam01.blob.core.windows.net
[3792+00000001] [07/16/2019 04:42:00.91] [INFO] DownloadFiles: fileDownloadPath = Downloads\0\0CAA4_5139121DC966459B9CF33017B00D6998_A29F4BFA9769C08FA839F5CF753A054EFC907D86\scripts
[3792+00000001] [07/16/2019 04:42:00.91] [INFO] DownloadFiles: downloadPath does not exist. Creating it
[3792+00000001] [07/16/2019 04:42:00.92] [INFO] DownloadFiles: asynchronously downloading file to fileDownloadLocation = Downloads\0\0CAA4_5139121DC966459B9CF33017B00D6998_A29F4BFA9769C08FA839F5CF753A054EFC907D86/scripts/StartSMKV-AllInOne.ps1
[3792+00000001] [07/16/2019 04:42:00.95] [INFO] Waiting for all async file download tasks to complete...
[3792+00000001] [07/16/2019 04:42:01.17] [INFO] Files downloaded. Asynchronously executing command: 'SecureCommand_0'

Looks like you have tried multiple options. I dont have other options to try from portal. If you are trying from CLi, Then place the file in the same directory and try once.
Lets involve the support now. Please send your subscription id to this email id(AzCommunity@microsoft.com).
i will enable a one time free support case for you.

@litvinolek Did you sent the subscription id?

@litvinolek Did you sent the subscription id?

Hi! Currently I found bad but working solution: moving downloaded script from CSE download folder to Install folder through DSC extension script resource and hardcode this path to commandtoexecute.
But today or tomorrow I will create lightweight arm template for testing and send request for AzCommunity. Thanks for the help!

@litvinolek Did you sent the subscription id?

Hi!
Subscription ID sent!

@litvinolek One time free support is enabled for you and the details to use that are sent to your email.
please post the resolution here after engaging with the support.

@litvinolek We will close this for now but please follow up once you resolve the issue with support or let us know if you need help :)

I'll let you know when problem will be solved.
"let us know if you need help" 💯 🥇

Has this ever been resolved? I am having a similar issue when creating a solution template

Has this ever been resolved? I am having a similar issue when creating a solution template

Hi! No, Microsoft don`t have solution for this case. I found a workaround but it not very convenient.

@mimckitt @jakaruna-MSFT Can this be reopened, or can you please remove this from the documentation if it is not functional? I have been trying to develop a solution template with a scripts folder that won't work because of this.
https://github.com/Azure/azure-quickstart-templates/tree/master/100-marketplace-sample


Feature Request: Notify user when the connection is closed/disconnected

It would be nice to let the user know when the telnet connection has ended/disconnected. Most programs do this. Please add this feature to the program if you can. Thanks!

Title bar should show disconnected when it disconnects.
However I added a dialog which improves the experience. I'll release 0.7.0 in a few days. Need to fix mac builds - something broke in the pipeline.


render is called during or after dispatch depending on how dispatch was called

Depending on how dispatch was called, render method is called after dispatch or during dispatch, increasing total dispatch execution time.
I've created a tiny example project to explain it (look at console logs for operations order):
https://codesandbox.io/s/XoLlRLMxl
In 1st case (plain) we call dispatch directly and have the following order:
action
reducer
dispatch: 0.345947265625ms
render

In 2nd case (promise) we call dispatch from inside promise resolve callback and constantly getting a different order:
action
reducer
render
dispatch: 1.508056640625ms

3rd case (setTimeout) is leading to the same order as 2nd
Probably 2nd and 3rd case are ok and render stuff + dispatch itself taking the same time in total as in 1st case. But when we need to dispatch two or more actions after resolving promise we will get a huge overhead (that's how I discovered this issue). So is it a bug or supposed to be? And if that's ok then could it be controlled somehow?

I'm pretty sure this is related to how React handles events and batches re-renders.  Depending on the source of the event (user interaction vs async event), I think it handles re-rendering sync vs async.  Unlikely there's anything specific about this on the React-Redux side.
Pinging @timdorr , @jimbolla , and @gaearon for confirmation.

We update via setState, which is batched and occurs on the next tick. This is just a matter of enqueuing messages in different orders for that next tick.
This could be solved via redux-thunk/redux-promise, no?

What Tim said. My understanding is that setState will behave differently in React 16, so I don't think there's anything for us to do here.

setState does not change behavior in 16, but will likely do in 17.

//use thunk
const thunkActionCreator=()=>dispatch=>Promise.resolve(dispatch({type:'FOO'}));
const action=getActionSomehow(thunkActionCreator);
action.then(()=>{
    //can I say the updates triggered by action live here, or if the re-render is guaranteed to be completed or not
})

Sorry guys, I am not hassling on purpose. But I think this issue has an important implication which is exactly what I care about :
After dispatch is called if there is a guaranteed way to get the latest UI state. i.e. componentDidUpdate is completed.
As we know, after dispatch is invoked in thunked action creator, we can get the updated state using getState. However, render may not be invoked at all because redux/react will try to batch updates when all the dispatch is called and only trigger once. And batching process depends on how dispatch is triggered, i.e. if dispatch is triggered in an async way such as promise or timeout. The render from the last dispatch SHOULD be completed. I am 99% sure about it, just post here to confirm
@timdorr said I am thinking React in an imperative way. Because he believed I try to do things step
by step rather than specify the state and let React to sort it out.
But, It is a quite common pattern in redux to dispatch another action based on the state updated by the previous action in action creator. Why not dispatch an action based on the UI updated by the previous action? Also, I think we are so close now:  just invoked dispatch in a dummy promise all 0 timeout
What is wrong with the idea? an anti-pattern or an unreliable way which is subject to change in future? @gaearon
By the way, here is a brief of my use case: I need to getBoundingClientRect after the previous dispatch, that is why I care about if render is completed or not

If you need to run after rendering has finished, use the React lifecycle. componentDidUpdate is exactly what you're looking for.
Ultimately, this isn't something for Redux to solve. It's just how React behaves. It's just a matter of looking in the wrong place. You shouldn't look to Redux or connect() to ensure rendering guarantees. That's React's job and it's got lifecycle methods for it.


Feature/sal/#13 add tests

Adds app tests and a github action to run tests

This might be good for a discussion on reviewing PRs. Everything looks great but I don't fully know what's going on, especially with the workflow (githook?) portion of it. Perhaps it's moot because you generally wouldn't be reviewing code from someone more knowledgeable than you. It seems like the testing part of it is working - I can see the test and it returns one successful test when I call Pytest from the command line. The only thing that I wonder is if we should add dev-main to the branches on which we should be calling it, or should it be called on every branch?
# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events
  push:
  pull_request:
    branches: [ main ]

Hey @Scott-Larsen , The test here is not that critical and mostly just added it to test that pytest was working as expected. Here is the documentation for the github actions feature that I added:https://github.com/features/actions?utm_source=google&utm_medium=ppc&utm_campaign=2022q3-adv-WW-Google_Search-eg_brand&scid=7013o000002CdxYAAS&gclid=Cj0KCQiA95aRBhCsARIsAC2xvfzAM0FQD32nwHteOiJVUM7A62g-PrYpC8_RZ8UtkZnEThCrDxPbiPcaAgioEALw_wcB. Two things I noticed:
(1) Specifying dev-main under pull request would trigger the github action twice
(2) Adding dev-main to push wouldn't trigger on this branch, which makes sense since I was pushing to a branch that was based from dev-main and not pushing directly to dev-main.
Also, this is my stab at setting this up so I'm also a NOOB here and any review feedback is welcome.
A couple of next steps that I can think of:
(1) Add action triggers for flake8 and black
(2) Actually utilize the pre-commit-hook that is currently in the main repo to run the checks before commit

This might be good for a discussion on reviewing PRs. Everything looks great but I don't fully know what's going on, especially with the workflow (githook?) portion of it. Perhaps it's moot because you generally wouldn't be reviewing code from someone more knowledgeable than you. It seems like the testing part of it is working - I can see the test and it returns one successful test when I call Pytest from the command line. The only thing that I wonder is if we should add dev-main to the branches on which we should be calling it, or should it be called on every branch?
# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events
  push:
  pull_request:
    branches: [ main ]

Sal, that's a lot of coding; I ned to look at github actions/hooks/testing some before delving into this; next item on my agenda. Thanks for your hard work !!!


Out-File and carriage returns

If I have a program, for example this Go program:
package main
import "fmt"

func main() {
   fmt.Print("North East\n")
   fmt.Print("South West\n")
}

This program produces no carriage returns at all, only newlines. However if I do this:
prog.exe > prog.txt

PowerShell takes it upon itself to add carriage returns to every line. I only want PowerShell to faithfully output what my program created, nothing more. So I tried this instead:
prog.exe | Out-File -NoNewline prog.txt

and PowerShell didnt add carriage returns, but it went ahead and removed the newlines too. How do I do what I am trying to do?

As a workaround, this seems to have correct result:
start -rso prog.txt prog.exe

I just noticed, that the pipe operator | also injects carriage returns. So if you do something like this:
west.exe | east.exe

If west.exe only emits newlines, PowerShell injects carriage returns into the pipe, so east.exe might fail if it is not expecting carriage returns, or if it is expecting binary data.

Right, the pipeline in PowerShell today doesn't transfer stream between native executables, and neither does the redirection for a native executable.

I would ask that you please keep this closed, unless someone is interested to fix it

Close this one as a duplicate of #1908

Since Microsoft doesnt seem interested in fixing this, I found another option. NuShell pipes the commands without adding anything:
D:\Desktop\etc〉.\west.exe | .\east.exe
"hello world"

Compare with PowerShell, which adds carriage return:
PS D:\Desktop\etc> .\west.exe | .\east.exe
"hello world\r\n"

So I am uninstalling PowerShell, and use NuShell from now on.


Find in Folder not working if the folder is excluded in setting

VSCode Version: 1.31.1
OS Version: mac

Steps to Reproduce:

Right click the node_modules folder in left sider bar and selct Find in Folder
Search some text that existed in node_modules folders
Be sure in settings.json, the node_modules need to be excluded
can not search any result.

The version before 1.31.1, also exclude node_modules, but If use Find in Folder and select node_modules, It can search the correct result.

Does this issue occur when all extensions are disabled?: No

Sorry, it is the button of 'Use Exclude Setting' selected, unselected it and the search works fine.
I close this issue by myself.

I'd like to reopen this as the behaviour is not obvious at all. I had to dig around GH to figure this out and almost logged the same bug you just had.
If I go to 'Find in Folder..." specifically, it should definitely find in that folder no matter what the settings say. It's an explicit action.

@CommerceOwl   Yes. You are right, the behaviour of 1.31.1 is not same as previous versions. I agree to reopen this issue.  I will reopen it.

This is harder than it sounds, when exactly should we ignore the exclude settings? What if you search in a folder that only contains .js files, and settings say to exclude *.js? Or if you search in foo and settings say to exclude f*/**? I think that trying to decide which settings apply or don't apply in some scenario will just be even more confusing.

If you search in foo, then foo folder should definitely be searched. Excluding *.js is a bit more tricky.
Instead of talking hypnotically, let me mention the use case that got me to waste a bunch of time trying to debug this.
I have node_modules/ in my .gitignore. I know that node_modules don't appear in regular search and it's beautiful since the folder is greyed out as well. I get that. However, I expected me going to node_modules/draft-js/ and right clicking and going "Find in folder..." should definitely find in that folder or if it's not going to, tell me that instead of misleading me with no results (which I believed it a few times).
So, perhaps if the user engages the Find dialog through "Find in folder..." menu, if there's an explicit path set to ignore that folder, show a message or even disable "Find in folder..." menu?

I think the experience could be improved. Settings are one thing, gitignore is yet another, currently
vscode does not read the gitignore file and ripgrep does not provide a way for us to apply some .gitignore patterns and disregard others.

Never mind about .gitignore. I thought that's what it had picked up and didn't realize it was a hard setting.

If a user explicitly overrides a glob that excludes results, we should either allow the find in folder to be the ultimate source of truth (I think it should be by default, instead of the other way around), or show the user a message indicating "the path you're searching within is excluded by your settings, click the gear icon above to toggle this off temporarily".
As a bonus feature, there are potential conflicts of the "search: exclude" setting, so allowing a user to selectively disable those exclusions when "find[ing] in folder" would be great.

Closing as this issue is stale and the search feature area has had many improvements since 2019. If you feel this issue is still relevant, please create a new issue, with updated information, as this will allow us to have an better discussion about the state of the product at the current moment. Thanks!


Added logger to client

Produces these log messages:
_debugLevel 0:
nothing
_debugLevel 1:
ga4gh.client: POST https://www.googleapis.com/genomics/v1beta2/variants/search

_debugLevel 2:
ga4gh.client: POST https://www.googleapis.com/genomics/v1beta2/variants/search
[dump of Json response]

Issue #130

Looks good, thanks @dcolligan. I've a few minor issues but I think this is generally what we want all right.

@jeromekelleher new commit addresses your concerns

Nice. +1.


IPscanning feature added.

src/ipscanner.py feature added.
Linting issue has been taken care of.
Reading ip ranges from config.json.
Multithreading used src/multi/scanner_thread.py.
Resolves #11 .

Getting a small issue due to multithreading. Please review.

@ishika1727 Please pull @Kashish121's branch and test the functionality locally.

@Kashish121  ipscanner.py prints the same IP address more than one time. Please resolve the issue.

@Kashish121 Make your PR ready to master from develop! ✌


fix: use custom preview page (preview.vue) if exists

Fix issue #100

Thank you so much @tosbatti! I'll check that out soon and try to publish a patch before the end of the week ☺

Hi @lihbr, I tried to do the fix but I broke the tests 😅
I moved app definition, because it was needed also before.
Sorry, I suppose the problem is quite simple, but I can't figure out which is.

Thank you so much @tosbatti! I'll check that out soon and try to publish a patch before the end of the week ☺
I'll check for the test also 😉

@lihbr, I found the problem!!! An additional mock was needed for fs.existsSync, as I added a new call.


Fix README signal sink examples

Signed-off-by: João Lourenço<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6809e10). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #70   +/-   ##
=========================================
  Coverage          ?   97.22%
=========================================
  Files             ?        9
  Lines             ?      577
  Branches          ?        0
=========================================
  Hits              ?      561
  Misses            ?       16
  Partials          ?        0

Continue to review full report at Codecov.

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


Persistent client expiration does not work for clients that went inactive before node has been restarted

Environment

VerneMQ Version: 1.6.2
OS: Red Hat Enterprise Linux Server release 7.6 (Maipo)
Erlang/OTP version (if building from source):N/A
VerneMQ configuration (vernemq.conf) or the changes from the default: persistent_client_expiration=1h
Cluster size/standalone: standalone node

Expected behavior
After setting persistent_client_expiration to some value it is expected to that all clients inactive during that period are removed even after the node restarts.
Actual behaviour
Clients that went inactive before vernemq has been restarted are not removed after the period set in persistent_client_expiration had passed.
Example:

Maybe it is working as intended (in which case it would be nice to have it mentioned in the docu), but I would be very thankful if it was working even after the restart.
Thanks!

@madvadik thanks for opening the issue. This is a bug.
@larshesel We should do something similar like https://github.com/vernemq/vernemq/blob/master/apps/vmq_server/src/vmq_queue.erl when starting up the queue process, maybe here https://github.com/vernemq/vernemq/blob/master/apps/vmq_server/src/vmq_queue.erl#L421?

Hi @madvadik I just created a PR for this (see #1079 ). Would you be able to test if it works for you? Note, we now simply initialize the expiration timeout with the value from the configuration file, so after a broker restart a queue will start the expiration timeout from scratch.


Function does not exist

Laravel Version: 5.4.28
PHP Version: 7.1
Database Driver & Version: MySQL 5.7.12

Description:

The documentation says that str_before exists
But neither in the helper, nor in the class Illuminate/Support/Str.php it does not exist.
Pull Requests not accepted
Steps To Reproduce:
Call function str_before

Will it be supported or deleted from the documentation?

It looks like the helper is only available on dev-master (5.5).

It's been removed from the docs laravel/docs#3448

FYI - This helper still in the docs https://laravel.com/docs/5.6/helpers#method-str-before

The helper indeed exists in 5.6 which is why it is in the 5.6 docs.


[4.1] Fixes fetchOperation awareness for repeatable fields

This is needed with PR #2728

Ah! I was actually thinking about this. It's something I've stumbled upon when fixing select_and_order to work inside repeatable.
Do you see any reason why repeatable would store the array of IDs as a string 1,2,3 instead of a JSON array [1, 2, 3]? I don't think so, and I think it would be cleaner to just use JSON instead of string:

[ ] inside repeatable, for selects, when it populates data-select-options;
[x] inside select_and_order - done; assumes array, but converts string to array if necessary;
[ ] inside select2_from_ajax;
[ ] inside select2_from_ajax_multiple;
[ ] inside the Fetch operation (or I guess we should just NOT merge this PR in this case?);

The way I see it, JSON is cleaner, and it prevents us from using a bunch of explodes and concats everywhere. I prefer json_encode and json_decode any day 😆
What do you think @pxpm ?

PS. I've merged this into https://github.com/Laravel-Backpack/CRUD/pull/2757/files so we have both PRs in one place and can easily test them together. So far so good! Excited to merge them!
But these questions still need answers - refactoring to JSON is something we should do from day one if we decide it's better.

All of the above have been fixed inside https://github.com/Laravel-Backpack/CRUD/pull/2757 - but please @pxpm let me know what your thoughts are about this - maybe I made a bad decision.
I'll close this in favour of https://github.com/Laravel-Backpack/CRUD/pull/2757


Can I somehow add PurgeCSS before inserting code into style tag?

Is there any way to use PurgeCSS to remove unused CSS before putting into style tag?
I used custom framework for responsibility, utilities, etc. But not everything is used, so I want to remove it.

I recommend creating two separate styles for HTML and AMP pages and include them in your layouts instead of nuxt.config.js
HtML layout
...
<style lang="scsss">
@import "~/assets/styles/main-style.css";
</style>

AMP layout
...
<style lang="scsss">
@import "~/assets/styles/amp-main-style.css";
</style>

I can do that, but this not solve my problem with framework, for example grid. I used something like bootstrap grid, so I have classes for creating any type of grid I want. But I want to remove classes that I don't used. This import won't to id.

I'm using nuxt-purgecss and it's working as expected also in AMP pages.

@Zsavajji ohh thank, I need to change mode to postcss and it works.

Just a example how to use:
Yarn add nuxt-purgecss
On nuxt.config.js:
modules: [
'nuxt-purgecss'
],
purgeCSS: {
mode: 'postcss'
},


I'm a little out of context here. Interested in using this command-line CLI tool canvgc in a project. Is that tool being merged into the main canvg project? Does it already exist? Also, what is Painter? Sorry for the 20 questions. :)


How to read .bin scans file of KITTI dataSet

I am working on the KITTI dataset. using libpointmatcher for icp. How can i register .bin files as .vtk files (vtk point cloud)
and
is there a way to convert PointCoud from eigen_scan in the format of .vtk (point clouds)
without saving as .vtk and then loading DP::load(saved_name);
c++
PM::DataPoints point_cloud_from_bin = generateDataPointsToLibPointMatcher(eigen_scan);
newCloud = point_cloud_from_bin;                              // DP::load(saved_name);?????
the scan files are : 000000.bin,000001.bin...etc

Right now, those are the only supported formats:

csv (Comma Separated Values)
vtk (Visualization Toolkit Files)
ply (Polygon File Format)
pcd (Point Cloud Library Format)

New formats are not too hard to add. It is just long to add the unit tests and hunt corner cases.
Do you have an example of c++ code reading point cloud from .bin?


[proposal] Allow query of a key fragment as a document

Is your feature request related to a problem? Please describe.
I'm currently using the web-did-resolver in a custom document loader and it works very well, but i still have to query key fragments separately like so:
  const [did, keyFragment] = url.split('#')

  // fetch document
  const didDocument: any = (await getResolver().resolve(url)).didDocument

  // if a keyFragment of the DID document is queried
  if (keyFragment && didDocument) {

      // TODO allow query of other fields than verification method as well
      const keyFragmentDoc: any | undefined = didDocument.verificationMethod.filter(function(method: any) {
                                                                      return method.id === url || method.id === verificationMethod;
                                                                  })[0];

      if (!keyFragmentDoc)
          throw new jsonldSignatures.VerificationError(
                      new Error(`${verificationMethod} is an unknown key fragment for ${did}`)
                      );

      return {
          contextUrl: null,
          documentUrl: url,
          // deliver keyFragment with the DID doc context
          document: Object.assign(verificationMethodDoc, {'@context': didDocument['@context']}),
      };

  }

  return {
      contextUrl: null,
      documentUrl: url,
      document: didDocument,
  };

Describe the solution you'd like
If the key fragment is specified the resolver should not return the DID document, but the key fragment document. (See code above)
Describe alternatives you've considered
See code above
Moved here from https://github.com/decentralized-identity/web-did-resolver/issues/121

I agree this would be a useful feature. This is part of a bigger concept called DID URL Dereferencing, which is partially explained in the DID Core spec (see here), and partially in the DID Resolution spec (see here). There are also some test cases in the DID Resolution test suite (see here).
There are some things to consider, e.g. the representation of the DID document (JSON-LD or JSON or CBOR etc.) and relative references. In general URI architecture, dereferencing a fragment depends not on the URI scheme (i.e. "did:"), but on the content type of the deferenced primary resource (i.e. the DID document).
Anyway, this is just some background information, and not all the details are "officially" specified yet. In general, +1 to supporting the dereferencing of fragments in DID resolution libraries like this one.


Fix #44 by comparing all fields not just the changed fields

When deserialising it believes that all fields are unset which means a comparison serialise, deserialise, compare always fails. This fixes that by comparing all fields during the equality operator.

Really appreciate the effort, but this is incorrect! Let's work together next time!


Setup instructions not working on Ubuntu 14.04 / develop branch

After a clone on the develop branch I'm hitting the below when running the first instruction. Am I doing something wrong? Any advice would be appreciated
ros-webrtc/test/provision$ ansible-galaxy install -r requirements.yml
 downloading role '---', owned by
Sorry, --- was not found on galaxy.ansible.com.
 downloading role 'nodejs', owned by -%20src%3A%20laggyluke
Sorry, - src: laggyluke.nodejs was not found on galaxy.ansible.com.
 downloading role '0', owned by version%3A%20v0.4
Sorry, version: v0.4.0 was not found on galaxy.ansible.com.
 downloading role 'name%3A%20nodejs', owned by
Sorry, name: nodejs was not found on galaxy.ansible.com.
 downloading role 'ROS', owned by -%20src%3A%20jalessio
Sorry, - src: jalessio.ROS was not found on galaxy.ansible.com.
 downloading role 'name%3A%20ros', owned by
Sorry, name: ros was not found on galaxy.ansible.com.
 downloading role 'com/cmprescott/ansible-role-chrome', owned by -%20src%3A%20https%3A//github
Sorry, - src: https://github.com/cmprescott/ansible-role-chrome was not found on galaxy.ansible.com.
 downloading role 'version%3A%200ddd8ad7c6f27c729537de0ab388194a4be22c3b', owned by
Sorry, version: 0ddd8ad7c6f27c729537de0ab388194a4be22c3b was not found on galaxy.ansible.com.
 downloading role 'name%3A%20chrome', owned by
Sorry, name: chrome was not found on galaxy.ansible.com.
 downloading role 'git', owned by -%20src%3A%20https%3A//github.com/DrTom/ansible-role-chromedriver
Sorry, - src: https://github.com/DrTom/ansible-role-chromedriver.git was not found on galaxy.ansible.com.
 downloading role 'name%3A%20chrome-driver', owned by
Sorry, name: chrome-driver was not found on galaxy.ansible.com.
 downloading role 'git', owned by -%20src%3A%20https%3A//github.com/mayfieldrobotics/ansible-webrtc
Sorry, - src: https://github.com/mayfieldrobotics/ansible-webrtc.git was not found on galaxy.ansible.com.
 downloading role 'name%3A%20webrtc', owned by
Sorry, name: webrtc was not found on galaxy.ansible.com.

what version of ansible are you using?


Tried out Codable and JSONEncoder

but commented out this implementation in the end due to its unnecessary complexity

Codecov Report

Merging #26 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #26      +/-   ##
=========================================
- Coverage    97.7%   97.7%   -0.01%
=========================================
  Files          52      52
  Lines        2834    2829       -5
  Branches      127     127
=========================================
- Hits         2769    2764       -5
  Misses         63      63
  Partials        2       2


Reproducibility Issue

Hi,
I tried to reproduce the results from the paper, but failed to do so.
Below are my attempts at reproducing the results (8 seeds, LHS) vs learning curves from the paper (RHS)

For the tray task, I am plotting "place_success_target Mean", and
for the grasp task, I am plotting "grasp_success Mean",
Do I have to:

Use the reward transformation scheme?
Initialize the policy via BC?

Also,
3. I'd appreciate it if you could clarify which log I have to keep track of for each task, e.g., am I tracking the right thing when I plot the "place_success_target Mean" for the tray task?
Thank you in advance!

Hi,
The metrics you should be looking at are evaluation/env_infos/final/place_success_target Mean and ``evaluation/env_infos/final/grasp_success Mean. Note that the finalhere is important, which is probably what you are missing. Thefinal` bit ensures that the success condition is evaluated at the end of the trajectory (else, it might get evaluated at every timstep of the trajectory and averaged through, which will result in a lower success rate).
Thank you for pointing out this issue. If you can confirm that this fixes your problem, I will add this info to the README.

Hello, now I get the following:

Tray

Grasp closed drawer
I assume the plots reported in the paper used some curve smoothing, but more or less I get the results from the paper!
Thanks for the help :)
One last question, did BC initialization and reward transformation (0,1) -> (4,6) have any positive effect on learning?

Glad you were able to reproduce the results!
I don't think either the BC initialization and the reward transformation were needed in the end -- we played around with them, but they were not required for the final results reported int he paper.


fix missing install headers

Why
https://github.com/xmake-io/xmake-repo/issues/3569
What is changing
Example

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

We can only merge this after you signed the CLA. Thanks.

Done.


Looking for Current Segment Length

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
2.5.11
Please ask your question
Is there a way to get the current segment lengths? Currently we're using this.shaka.getManifest().presentationTimeline.getMaxSegmentDuration(), but i'm not sure it's entirely accurate as segment lengths may not always be the same. Thanks so much!

getMaxSegmentDuration() returns the max segment duration among all segments, so it's not the same as the current segment length.
Are you looking for the current segment duration being played? Or the duration for every segment that gets fetched?
If it's the current segment duration being played:
-- We fetch the segments the append the buffer to MediaSource, so we don't track which segment is being played at the current time.
If it's the duration for every segment that gets fetched:
-- StreamingEngine logs the start time and end time of the segment that gets fetched, and you can calculate the segment duration based on that.
Would that help?


fix: make sure all previews are written to svg and html

Fixes #1786

This change is

This PR will create both an svg and a html preview so all files can be re-processed and the svg (which the 3akai-ux fronetnd asks for) is going to be there.


fix delegate selection set pruning to use parent types/parent type fi…

…elds rather than getFieldDef()
Through some testing - I found that getFieldDef() was not the correct method to use to determine if a field in a delegated selection set is present/can be resolved by the schema being delegated to.

Do we need to add more test cases to cover edge cases with delegateToComponent’s pruning functionality?

I'll add one more test case for delegating from a non-root resolver with pruning, since we have a pruning test case for delegating from a root resolver.


Error: No router instance found. You should only use "next/router" on the client side of your app.

I could repro the issue on stackblitz
What version of this package are you using?
"next": "13.3.0",
"next-translate": "^2.0.4",
"next-translate-plugin": "^2.0.4"
What operating system, Node.js, and npm version?
stackblitz, node v16.14.2, npm 7.17.0
What happened?
I got an error when I change the language.
Ucaught (in promise) Error: No router instance found.
You should only use "next/router" on the client side of your app.

    at getRouter (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/client/router.js:144:15)
    at Object.get (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/client/router.js:155:26)
    at eval (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:104:86)
    at step (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:81:27)
    at Object.eval [as next] (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:30:53)
    at eval (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:23:71)
    at new Promise (<anonymous>)
    at __awaiter (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:9:12)
    at setLanguage (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next-translate/lib/esm/setLanguage.js:100:12)
    at _callee$ (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./app/page.tsx:73:114)
    at tryCatch (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:45:40)
    at Generator.invoke [as _invoke] (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:274:22)
    at prototype.<computed> [as next] (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js:7:28)
    at _next (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js:27:17)
    at eval (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js:32:13)
    at new Promise (<anonymous>)
    at eval (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js:24:16)
    at HTMLUnknownElement.callCallback (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:19200:14)
    at Object.invokeGuardedCallbackDev (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:19249:16)
    at invokeGuardedCallback (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:19313:31)
    at invokeGuardedCallbackAndCatchFirstError (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:19327:25)
    at executeDispatch (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30596:3)
    at processDispatchQueueItemsInOrder (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30628:7)
    at processDispatchQueue (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30641:5)
    at dispatchEventsForPlugins (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30652:3)
    at eval (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30842:12)
    at batchedUpdates$1 (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:23705:12)
    at batchedUpdates (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:27540:12)
    at dispatchEventForPluginEventSystem (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:30841:3)
    at dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:28045:5)
    at dispatchEvent (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:28037:5)
    at dispatchDiscreteEvent (webpack-internal:///(nexttranslateerrornorouterinst-jkmr--3000--b5037fed.local-credentialless.webcontainer.io/app-client)/./node_modules/next/dist/compiled/react-dom/cjs/react-dom.development.js:28010:5)

What did you expect to happen?
Language should change without error.
Are you willing to submit a pull request to fix this bug?
Hell yea, this would be my first open source contribution, I might need a little help thou.

Are you using useRouter? Please provide a reproducible example

Thank you for the quick answer @aralroca

I have extended stackblitz with the provided example in next-translate docs, however it does not change the language with Link tags either. What am I missing @aralroca?

I'm gonna explain. Well, setLanguage has Router provided from next/router which is reprecated in Next.js 13 (I mean, specifically, only in appDir) and should use next/navigation instead. This is why your current stackblitz is not working.

This is how I solved this issue, I created a custom hook
function useSetLanguage() {
    const router = useRouter();
    const pathname = usePathname();
    const searchParams = useSearchParams();

    return (locale: string) => {
        // now you got a read/write object
        const current = new URLSearchParams(Array.from(searchParams.entries())); // -> has to use this form

        current.set('lang', locale);

        // cast to string
        const search = current.toString();
        // or const query = `${'?'.repeat(search.length && 1)}${search}`;
        const query = search ? `?${search}` : '';

        router.push(`${pathname}${query}`);

        return;
    };
}

Which then I use like this:
const MyComponent = () => {
    const { lang } = useTranslation('common');
    const setLanguage = useSetLanguage();

    return (
        <Select
            onValueChange={(value) => setLanguage(value)}
            defaultValue={lang}
        >
      ...
        </Select>
    );
};

And this is where I found this solution: https://github.com/vercel/next.js/discussions/47583#discussioncomment-5449707
@aralroca I can try to make a PR to include this if it makes sense to you 👍

@joaopedrodcf feel free to PR 👌 thanks

@joaopedrodcf is there a way not to include lang as a queryParam and use NEXT_LOCALE cookie?

Didn't have time to create the PR about this sorry @aralroca maybe someone can take it over :/

@meightythree I would say that is possible but I didn't tried it, just remove the part where we see the query params and check the cookie, then you shouldn't need to add the router.push as well, as the url will be the same.

@meightythree I would say that is possible but I didn't tried it, just remove the part where we see the query params and check the cookie, then you shouldn't need to add the router.push as well, as the url will be the same.

Thanks I will take a look and comment again if I succeed!

Hi @meightythree,
I was wondering if you managed to discover a viable solution to utilize the setLanguage feature.

Hi @meightythree
I second the question from @ThijmenGThN
Did you manage to find a solution? 😊

May close the issue for no activity 🙃

I haven't found a solution... started using another package next-international. Sorry it's not the answer you wanted to see.


LavaPlayer YouTube request starting to get rate limited

Hi
I've recently started to run into an issue where YouTube requests made by lava player start running into a 429 TooManyRequests response. This keeps happening even when I stop the bot and start a private instance with almost no traffic. The only way to fix this seems to be by changing the server instance's public IP, then all requests work again even under peak traffic until they don't and then the cycle repeats. Is that part of YouTube trying to shutdown music bots?
[ERROR] 2019-10-15 08:59:25.572 [lava-daemon-pool-info-loader-2-thread-1] UrlAudioLoader - lavaplayer threw an exception while loading track https://www.youtube.com/watch?v=YLHpvjrFpe0
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Loading information for a YouTube track failed.
        at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:43) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:233) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadFromUrlWithVideoId(YoutubeAudioSourceManager.java:323) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadFromMainDomain(YoutubeAudioSourceManager.java:260) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadNonSearch(YoutubeAudioSourceManager.java:330) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItemOnce(YoutubeAudioSourceManager.java:189) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadItem(YoutubeAudioSourceManager.java:128) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItemOnce(DefaultAudioPlayerManager.java:437) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.checkSourcesForItem(DefaultAudioPlayerManager.java:419) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$createItemLoader$0(DefaultAudioPlayerManager.java:218) ~[lavaplayer-1.3.22.jar:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.io.IOException: Invalid status code for video info response: 429
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.determineFailureReason(YoutubeAudioSourceManager.java:401) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.getTrackInfoFromMainPage(YoutubeAudioSourceManager.java:390) ~[lavaplayer-1.3.22.jar:?]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager.loadTrackWithVideoId(YoutubeAudioSourceManager.java:201) ~[lavaplayer-1.3.22.jar:?]
        ... 12 more

You can see the message provided by Google when getting rate limited here: https://www.google.com/sorry/index?continue=https://www.youtube.com/watch%3Fv%3D9Zj0JOHJR-s&q=EgQzD-b4GIv78-wFIhkA8aeDS7PYOFQwMbyfmiCqfdbmr3HKsT6uMgFy#
It says that the rate limit will stop ONLY after all requests have stopped during a short amount of time.
A pull request draft is alreayd open to try to solve this issue: https://github.com/sedmelluq/lavaplayer/pull/232

It also mentions that the response could be caused by detected violation of the terms and services. I fear that might be the case as YouTube is trying to shut down music bots again. I couldn't find any exact specification about after how much time the rate limit should expire, but I once completely shut down and restarted the server, which should be plenty of time for the rate limit to reset, yet the requests were still blocked.

I have stopped requesting data to YouTube for several hours and get unblocked but I don't know the exact elapsed time.

Hi!
You can see the full message and the explanation provided by Google when getting rate limited here: https://www.google.com/sorry/index?continue=https://www.youtube.com/watch%3Fv%3D9Zj0JOHJR-s&q=EgQzD-b4GIv78-wFIhkA8aeDS7PYOFQwMbyfmiCqfdbmr3HKsT6uMgFy#
It says that the rate limit will stop ONLY after all requests have stopped during a short amount of time.
A pull request draft is already open to try to solve this issue: #232

Has this problem been resolved in some way? Or is it possible to provide the value from "Retry-After" header sent from YouTube in the exception message?

Checking the linked PR leads you here.

@Mtik333 The two current solutions are either to stop requesting YouTube videos for an unknown amount of time (generally several hours / days) or to use IP rotation like MCOfficer linked.

@Mtik333 The two current solutions are either to stop requesting YouTube videos for an unknown amount of time (generally several hours / days) or to use IP rotation like MCOfficer linked.

Thanks, I'll try to find out how to use this IP rotation.


Proposal getNetworkProperties

Suggestion for https://github.com/nemtech/catapult-rest/issues/64
Note for SDK devs: Do not implement until REST devs confirm that adding this endpoint is feasible.

@Vektrat The current implementation formats mosaic ids differently to other endpoints:
Example:
*** /network/properties**
currencyMosaicId: "0x621E'C5B4'0385'6FC2"
*** /account/:accountId**
id : "621EC5B403856FC2"
I believe that SDKs devs would appreciate if the currencyMosaicId could be parsed to the standard format.

@fboucquez I'd not add aliases info to this endpoint. Note that /network/properties is just dumping the contents from a file without doing any extra verification.  You could add manually to your node any additional info you want to display, e.g. alias, although it's not recommended to edit the file.
Secondly, another reason not to add it by default is that using the mosaic id is enough to issue all kind of transactions, and does not generate extra receipts. If needed, the alias can still be retrieved by asking it to REST with a second call.
Finally, note that the network / harvest mosaic does not require to be aliased to make the network operative. Some networks could even decide to disable the alias plugin from their networks completely.

@Vektrat The current implementation formats mosaic ids differently to other endpoints:
Example:
* **/network/properties**

currencyMosaicId: "0x621E'C5B4'0385'6FC2"
* **/account/:accountId**

id : "621EC5B403856FC2"
I believe that SDKs devs would appreciate if the currencyMosaicId could be parsed to the standard format.

sadly we are outputting a config file here, which was probably filled by a human, it's one of the caveats of having to fetch a file and show it as is, instead of accessing some kind of endpoint that provides this information to the REST server
i'd leave it as it is now to avoid having a layer of specific parsing, the same happens with values such as 10'000 and 3650d which in my opinion are worse than the mosaicId one
anyway will this endpoint be used by SDKs? i expected this to be used by more specific applications that would access the REST directly (like the fees)


Error on loggedin_accounts function

This is the error
Uncaught TypeError: Cannot read property '1' of undefined

I can't reproduce. Is this still an issue with the latest version?
Because this is an old issue, I'll close this for now, but please re-open and provide more details if you can still reproduce this.


feat: new component search input

Summary
Type

Feature

Summarise concisely:
What is expected?
New component SearchInput that provides a text input with a popover shown under when you start typing.
Relevant logs and/or screenshots

That's a nice feature ! 👏🏽

Thanks to you 😄


MedianProjectionImageFilter broken on 4D image?

Hi, I am trying to concatenate 3D images along the 4th axis using JoinSeriesImageFilter, and the compute their median using MedianProjectionImageFilter, but I get the following error:
>>> img1=sitk.ReadImage('../../rabies_out_updated/7_Cryo_med_f3/bold_datasink/inho_cor_bold//_scan_info_subject_id211.session1.runNone_split_name_sub-211_ses-1_task-rest_acq-EPI_bold/sub-211_ses-1_task-rest_acq-EPI_bold_inho_cor.nii.gz')
>>> join = sitk.JoinSeriesImageFilter()
>>> joined = join.Execute(img1,img1)
>>> median=sitk.MedianProjectionImageFilter()
>>> median.SetProjectionDimension(3)
>>> median.Execute(joined)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cic/desgab/miniconda3/envs/rabies/lib/python3.9/site-packages/SimpleITK/SimpleITK.py", line 17479, in Execute
    return _SimpleITK.MedianProjectionImageFilter_Execute(self, image1)
RuntimeError: Exception thrown in SimpleITK MedianProjectionImageFilter_Execute: ../Code/Common/include/sitkMemberFunctionFactory.hxx:155:
sitk::ERROR: Pixel type: 32-bit float is not supported in 4D by N3itk6simple27MedianProjectionImageFilterE.
>>>

Changing the pixel type does not seem to solve the issue.
>>> join = sitk.JoinSeriesImageFilter()
>>> joined = join.Execute(img1,img1)
>>> sitk.WriteImage(joined, 'temp.nii.gz')
>>> joined = sitk.ReadImage('temp.nii.gz', sitk.sitkInt32)
>>> median=sitk.MedianProjectionImageFilter()
>>> median.SetProjectionDimension(3)
>>> median.Execute(joined)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cic/desgab/miniconda3/envs/rabies/lib/python3.9/site-packages/SimpleITK/SimpleITK.py", line 17479, in Execute
    return _SimpleITK.MedianProjectionImageFilter_Execute(self, image1)
RuntimeError: Exception thrown in SimpleITK MedianProjectionImageFilter_Execute: ../Code/Common/include/sitkMemberFunctionFactory.hxx:155:
sitk::ERROR: Pixel type: 32-bit signed integer is not supported in 4D by N3itk6simple27MedianProjectionImageFilterE.
>>>

Any idea what could be causing this? Thank you, Gabriel D-G

Hello @Gab-D-G,
Unfortunately, the error message is misleading. The problem is that currently the MedianProjectionImageFilter only supports 2D and 3D images, see code below:
import SimpleITK as sitk

image_3D = sitk.Image([32]*3, sitk.sitkUInt8)
image_4D = sitk.JoinSeries([image_3D]*5)
# Change the following line to run with the 4D image
image = image_3D
sitk.MedianProjection(image, image.GetDimension()-1)

As you want it in 4D, please create a feature request for this and we will look into it.

@zivy to clarify here, is this a SimpleITK limitation, or an ITK limitation?

Hi @gdevenyi,
This is a feature/limitation of SimpleITK, which is why I asked for an official "feature request".
The original philosophy/thinking underlying the design of SimpleITK is that for 95% of the work 2D and 3D images/filters are sufficient. This deviates from the original ITK thinking that everything is n-dimensional. By default, expect SimpleITK to support 2D and 3D. Over time, based on concrete needs we have increased dimensionality support for some operations (up to 5D). To keep to our underlying design principles we only increase the dimensionality when there is a specific, concrete need, not for hypothetical use cases.
Beyond the philosophical reasoning, this also increases the binary size when instantiating all combinations of pixel-type and dimensionality using the underlying ITK templates.
Hope this clarifies things.

Thanks, I was aware of the intentional 2D/3D limit, I just wasn't sure it was what applied in this case.


[@rancher/components] Refactor Checkbox

Investigate and correct the usage of value and click behavior in the checkbox component

A checkbox value can either be a boolean or an array. This appears to stem from the fact that any given checkbox can have multiple values (see isMulti). This might be a sign that we are missing something like a checkbox group component
https://github.com/rancher/dashboard/blob/d763a16f05097d7a797e244a1abf8a8f6200d14b/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue#L7-L10

The clicked method appears to be related to the isMulti design. This method appears to mutate value via removeObject and addObject when there are multiple values. I think that if we come up with a more appropriate abstraction for handling multiple checkbox values, then we can stick to emitting events.
https://github.com/rancher/dashboard/blob/d763a16f05097d7a797e244a1abf8a8f6200d14b/pkg/rancher-components/src/components/Form/Checkbox/Checkbox.vue#L73-L107

Could we please write a ticket to remove this use of the component, together with clicked logic?
The component should not be involved in logic from the view.
Originally posted by @cnotv in https://github.com/rancher/dashboard/pull/6073#discussion_r887690682

Some connection to #6787 though some more research is required to sort out what's wrong and how to fix in a clear fashion.


doc: pass server-side data to the client

Added documentation for defining constants in JavaScript scripts using a helper function.

Closed, change was subject to XSS, and no further updates made.


Travis: upgrade rubies

This PR only updates the CI matrix to the latest generally available Ruby versions.

Thanks!


Hash password before save

As it is, the password is saved without hashing and when logging in, the form password is compared with the password hash that was never saved, thus failing to login.

And by the way, congratulations on the book, really good!


HEP: Resource Quota Enahancement [CI SKIP]

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:
Full or partial Quota usage prevents Live Migration of VM when additional VM exceeds Quota.
Solution:
https://github.com/chrisho/harvester/blob/maintenance-resource-hep/enhancements/20230228-resource-quota-enhancement.md
Related Issue:
https://github.com/harvester/harvester/issues/3124
Test plan:

Re-design


Stalebot not running

Hi,
For my repository, https://github.com/jobrunr/jobrunr, I added Stalebot already a couple of weeks ago.
I configured it with the following .github/stale.yml in the master branch.
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
  - pinned
  - security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
  This issue has been automatically marked as stale because it has not had
  recent activity. It will be closed if no further activity occurs. Thank you
  for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

I have an issue from the 5th of May (now 32 days ago, so 2 days stale) which stays open and is not tagged by stalebot.
Am I missing something?

I would really appreciate some feedback on this...

As by wonder, it started working today....


[MRG] handle multiple concatenated broken archives

Recovery algorithm is the following:

json lines are read from a gzipped fIle;
after each successful line read position of a underlying file pointer is remembered. It is tricky because reading is buffered (even if file is opened without a buffer - Python's gzip has its own buffering); we remember a "conservative" estimate of a position.
when error happens we're starting to look for a gzip signature after last successful read position. To do so without loading the whole file in memory mmap is used. Changing file pointer of a GzipFIle is tricky, so a new GzipFile is created, which starts to read the file from a right position (i.e. from the next gzip signature).
after each successful restart "last good position" is also changed. It means this position can only increase or stay the same, and after "restart" position always increases; step (3) uses "last_good_position + 1", so there shouldn't be an infinite loop.

The current implementation likely doesn't work for GzipFile wrapping a BytesIO object; it needs a real file.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   93.93%   93.93%
=======================================
  Files           2        2
  Lines          33       33
  Branches        5        5
=======================================
  Hits           31       31
  Misses          2        2

Continue to review full report at Codecov.

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

Wow, this is much trickier than I imagined, thanks a lot @kmike ! And I never realized how file buffering and tell are related. 👍

Yeah, it was tricker than I thought as well :)
Using GzipFIle.tell and .seek didn't work because they use positions in decompressed stream, GzipFile.fileobj.seek/tell didn't work because files are buffered, so if data is read it doesn't mean it is processed; re-opening these files with buffering turned off didn't work as well, because GzipFile adds another buffer.
I haven't found a way to get an exact position with GzipFile - it seems this could require copy-pasting a lot of code. Also, I noticed that for concatenated gzip files GzipFIle may not necessarily detect a compression failure, and start producing broken json lines instead, so detecting a point where GzipFile fails doesn't necessarily gives a right position to restart decoding from.


Registration

Cannot create pull request

hi @Ryko24, I'm not sure to understand what you mean here? Did you try to open a Pull Request on the package and it didn't work?

Thank you @matbesancon.... my query got answered... I looked for it online.. and found the remedy... actually I am a beginner and was facing some isssue...


Allow branch names containing html tags (closing #1242)

While creating the related issue I wanted to quickly test the solution. A few changes (probably useful) have been made here. Then Paweł assigned the issue to Maciek, so...
@MaciejG604, feel free to take this PR from here if you think you need it (or close it/ping me and Ill close it).

Whoops now config/checker/org.apache.commons.astub doesn't have anything about taintedness :/

Oh, that's something I forgot to mention. Things that are managed by git4idea will keep being displayed wrong and I don't really see any good solution to that. It is because some git4idea functions require you to pass the name of the branch which they later validate against the repo.
So we could either accept this or name all branches in the repo with html-escaped strings, but this has a major drawback - when a user switches back to using git from CLI all their branches will have unexpected names.
Examples:

Branch seen here as <html><b>TEST_33</b></html> could be created by a user as TEST_33, we can then display it always as the user requested, but undearneath its name in git needs to be <html><b>TEST_33</b></html> for git4idea to work properly.

oh, ok then. lgtm


how to use redLock in cluster

I have build the cluster of redis, 3 master, 3 slave. According to the Redlock algorithm: 'It tries to acquire the lock in all the N instances sequentially, using the same key name and random value in all the instances'.'
i think every lock name is must same, it's right?the following is my example, this is right?
Config config = new Config();
config.useClusterServers().addNodeAddress("redis://xxx:7000", "redis://xxxx:7001","redis://xxx:7002", "redis://xxxx:7003","redis://xxx:7004", "redis://xxxx:7005");
RedissonClient redisson1 = Redisson.create(config);
RedissonClient redisson2 = Redisson.create(config);
RedissonClient redisson3 = Redisson.create(config);
RedissonClient redisson4 = Redisson.create(config);
RedissonClient redisson5 = Redisson.create(config);
RedissonClient redisson6 = Redisson.create(config);
String lockName = "test";
RLock lock1 = redisson1 .getLock(lockName);
RLock lock2 = redisson2 .getLock(lockName);
RLock lock3 = redisson3 .getLock(lockName);
RLock lock4 = redisson4 .getLock(lockName);
RLock lock5 = redisson5.getLock(lockName);
RLock lock6 = redisson5.getLock(lockName);
RedissonRedLock lock = new RedissonRedLock(lock1, lock2, lock3, lock4, lock5, lock6);
Thanks!

You shouldn't create 6 Redisson instances in case of cluster usage, just instantiate a single one.
If you want to create 6 locks in cluster you should use a different name for each of them. Something like this:
Config config = new Config();
config.useClusterServers().addNodeAddress("redis://xxx:7000", "redis://xxxx:7001","redis://xxx:7002", "redis://xxxx:7003","redis://xxx:7004", "redis://xxxx:7005");
RedissonClient redisson = Redisson.create(config);
RLock lock1 = redisson.getLock(lockName + "1");
RLock lock2 = redisson.getLock(lockName + "2");
RLock lock3 = redisson.getLock(lockName + "3");
RLock lock4 = redisson.getLock(lockName + "4");
RLock lock5 = redisson.getLock(lockName + "5");
RLock lock6 = redisson.getLock(lockName + "6");
RedissonRedLock lock = new RedissonRedLock(lock1, lock2, lock3, lock4, lock5, lock6);

Keep in mind if you need to bind lock to each of cluster master node you need to specify correct name bounded to corresponding cluster node.

I try it, it's ok! thanks, but i can't understand you said that 'if you need to bind lock to each of cluster master node then you should specify correct name bounded to corresponding cluster node.',  how to specify correct name bounded to corresponding cluster node, can you give me an example? thanks

how to specify correct name bounded to corresponding cluster node? can you give me an example? thanks

It's a tricky part, to do this you need generate a name which valid for slots. Maybe in brute-force way.
For example, we have 3 master nodes in cluster:
1 node has slots [1, 5000]
2 node has slots [5001, 10000]
3 node has slots [10001, 16834]
to fit on 1 node, name should bind to slots between [1, 5000], for example: name89232,
to fit on 2 node, name should bind to slots between [5001, 10000], for example: name38945,
to fit on 3 node, name should bind to slots between [10001, 16834], for example: name01923,
Slots calculation for object's name explained here.

'It tries to acquire the lock in all the N instances sequentially, using the same key name and random value in all the instances'.' your example seem not same key name, why?

It's not possible to use same name on different cluster nodes due to difference in slot numbers each of them has. You'll get an error in this case.

thanks very much. I read this algorithm description again. in your case, the 'using the same key name and random value in all the instances' refer redisson.getLock(lockName + "1"), it is right?

right, but "1", "2"... suffixes are provided just for clarity. In practice you need to use "real" value

ok, thanks

in your case, the 'using the same key name and random value in all the instances' refers redisson.getLock(lockName + "1"), key means 'lockName' and random value means '1', it is right?

@mrniko @yangdailin I don't think it is right. In my opinion, the key means lockName + "1", and the random value is automatically generated by redisson.  The fellow code which is in the RedissonLock generates the random value.
protected String getLockName(long threadId) {
    return id + ":" + threadId;
}

And maybe  it is impossible to use redlock in a cluster. Because the Redlock algorithm declares the precondition. As shown below.

In the distributed version of the algorithm we assume we have N Redis masters. Those nodes are totally independent, so we don’t use replication or any other implicit coordination system.

The notes in a cluster is not totally independent so that it is impossible to use Redlock.
The implement of the Redlock in redisson could be viewed as a variant of the algorithm. It uses different keys in a cluster in replace of the same key in all the instances. But I think the variant might not be exactly equal to the Redlock.
On the one hand, we can't get the key bounded to corresponding cluster node easily.
On the other hand, we can't prove that they are equal in theory.
If we already have the redis cluster, it is wasteful to create additional and independent redis notes just for the Redlock.
@antirez do you have any good ideas for using Redlock in cluster. Should we use another algorithm to implement distributed locks in cluster? We need your help.

@lgxbslgx
Redisson's RedLock allows to use RLock objects belong to different Redisson client hence which could be connected to different Redis setup.

@mrniko thank you for your reply.
So it means we have to use independent redis nodes instead of cluster and the way you described above  is not enough to implement Redlock. Am I right?

@lgxbslgx
Yes, if we're talking about independent nodes.

@mrniko ok, thanks.

so，redisson don't  implement the redlock algorithm

@DarrenJiang1990
It does but you need to locate locks manually.

Hello
Ok, I understand how to lock master nodes in cluster, but I don't understand how to lock slave nodes in cluster manually?
According to the Redlock algorithm we should lock all the instances sequentially, shouldn't we?

I think masters nodes are enough. Since you always write on master

so，redisson didn't implement the redlock algorithm

Not 100% implementaion, since the Redlock definition says "It tries to acquire the lock in all the N instances sequentially, using the same key name and random value in all the instances"
Also, it says "In the distributed version of the algorithm we assume we have N Redis masters. Those nodes are totally independent,"
But still, we can consider RedissonRedLock a redlock implemention.


A better way to create documentation

Maybe Ubuntu Mate Guide could use Asciidoctor instead?

Is there a reason Asciidoctor to create the documentation in HTML5 would be superior to using the same documentation application (yelp) used for MATE Help? Yelp appears to be the standard for help documentation in Gnome/MATE.

The tooling is superior (you can find asciidoc addons for all modern text editors), much easier to write. Docbook is one of the main formats that it produces and yelp is fine with Docbook as I understood. I've been trying to use Pug to contribute to this manual since it's fairly easy to write and convert to mallard but it's still a huge pain compared to asciidoctor tools.

OK, I'll look into converting to the docbook format so that you (and others) can contribute.

Thanks Larry, DocBook at least has this documentation.
The problem is that it's still xml and terrible format for collaboration and source control.
I uploaded the human-readable version here: https://github.com/ojn/ubuntu-mate-guide/blob/master/index.adoc
it is still in early stages and needs alot of cleanup and corrections but once it's done should be suitable to produce PDF and website versions.
For the web vesion one could use https://github.com/asciidoctor/asciidoctor-backends/tree/master/haml/html5
Maybe the same way Taiga is doing it:
https://github.com/taigaio/taiga-doc

one could line up HTML and PDF creation with the Makefile

And actually I would still stress that asciidoc syntax is much much easier to write.
I have not found any good open source tools for working with either DocBook, Mallard or other xml files.
If one would write the guide entirely in asciidoctor the conversion would be as easy as:
asciidoctor -b docbook45 index.adoc
just put this in Makefile:
docbook:
	asciidoctor -b docbook45 index.adoc

and then run:
make docbook
every each time.

As you can imagine @ojn, I have been busy with full-time work and preparing for the Ubuntu-MATE release. Although the 18.04 release will be in the docbook format, I have made some progress toward converting to the asciidoctor format so that we can collaborate using that tool. I've been experimenting with it and I agree it is much easier to read and to use that straight docbook xml.
Getting exactly the same format with asciidoctor as with docbook appears to be possible but is taking some learning on my part. I expect that I should have the conversion completed sometime after the release of 18.04. At that time I'll change the README and we can use asciidoctor for updates to the documentation for 18.10 and beyond. Thanks again for the suggestion. We'll get there!

@goinglinux you have done an amazing job writing this! A worthy addition to an already awesome distro.
I forgot to say that I used https://github.com/asciidoctor/docbookrx/blob/master/README.adoc

that tool isn't finished yet so it produces quite rough output, but still better than rewriting from scratch I guess.
I have done some manual clean up (https://github.com/ojn/ubuntu-mate-guide/blob/master/index.adoc), but its still possibly missing some chunks of bulleted lists and stuff like that. I'm planning to create a web and pdf verisions for 18.04 - the formatting will probably not match the docbook version but it's fine with me and I don't think it's necessary that it is exactly the same dot to dot.

@flexiondotorg I wonder if we can use this repo with github pages to host web and PDF versions of ubuntu mate guide 18.04 at https://ubuntu-mate.github.io ? https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/
I think that html and pdf versions should be quite usefull to lure new users to UM.

I think I'm going to close this. The content is more important than the mark up. Let focus on the content :smiley:


Jenkins job for publish-draft-services script

https://trello.com/c/kCUjDnH4/48-3-3-jenkins-job-for-publish-services
This job should be able to switch roles using the new AWS profile configuration.
I've specified the docker run volume flag -v $HOME/.aws:/root/.aws as per the validate cloudtrail logs job.
The draft-ids parameter has been left out of the script for now, as it refers to a file upload. That parameter is likely to be used on a failure re-run (with a small number of IDs) and should probably be handled manually rather than on Jenkins anyway.

Going to merge and apply this for now - unfortunately it's annoying to test without actually being the jenkins user inside the box (to access the EC2 creds that will allow the jenkins user to switch roles). So I expect to have to tweak this in another PR.


Can't get addon to work

When I install the addon, the stream page ends up loading a blank chat window. I tried completely turning off uBlock Origin in case that was blocking something and it still was not working.
I saw in the code it is using the nightdev chat URL and when I open that up for a specific channel directly, it does work and show chat.

Edit: The popout chat DOES work for me, so it's something about replacing the banned chat page on my end.
If I inspect the chat element in the twitch window vs the popout chat, I can see that the div "chat_box" is empty on the webpage while it has content in the popout chat.
Twitch.tv page on the left, popout chat on the right:

No idea why but it's suddenly working for me today now. I didn't change anything but I had tried many times yesterday without success. Maybe some kind of loading race condition?  Feel free to close the issue if you think it isn't worth investigating.

it's suddenly working for me today now

Is this related to issue https://github.com/tmarenko/twitch_chat_antiban/issues/4 ?

it's suddenly working for me today now

Is this related to issue #4 ?

No, I had made two separate issues for the Alternate player request and then this issue.
This empty div issue was happening in the normal twitch page for me. It was happening for a couple hours when I first installed the addon even after many refreshes. Then I checked the page source and saw that empty div. After that, I gave up for a while and when I came back I opened a twitch channel I was banned on again and then suddenly the chat successfully loaded. Ever since then it has always worked for me now.


Only 40 results, is there a pagination ?

The pagination is by default on the function search_all
could you please send an example of your search, I'm getting 200+ results with these parameters:
currency = "USD"  # Currency for the search
check_in = "2025-01-01"  # Check-in date
check_out = "2025-01-04"  # Check-out date
ne_lat = 26.244992525492258  # North-East latitude
ne_long = -80.20554283078371  # North-East longitude
sw_lat = 26.052735877248157 # South-West latitude
sw_long = -80.39148365866907  # South-West longitude
zoom_value = 12  # Zoom level for the map

I didn't find any function named search_all, but rather 'get' > Below the code I used :
import json
from pyairbnb.search import get
Define search parameters
currency = "USD"
check_in = "2025-01-01"
check_out = "2025-01-04"
ne_lat = 26.244992525492258
ne_long = -80.20554283078371
sw_lat = 26.052735877248157
sw_long = -80.39148365866907
zoom_value = 12
cursor = ""
api_key = "my_api_key"
proxy_url = ""
Fetch results using the get function
try:
results = get(
check_in, check_out, ne_lat, ne_long, sw_lat, sw_long, zoom_value, cursor, currency, api_key, proxy_url
)
# Parse the results if it's a string
if isinstance(results, str):
    results = json.loads(results)  # Parse JSON string into a dictionary

# Extract listing names
listing_names = []
search_results = results.get("searchResults", [])  # Safely access the search results
for result in search_results:
    listing = result.get("listing", {})
    if "name" in listing:
        listing_names.append(listing["name"])

# Display listing names with rankings
if listing_names:
    for rank, name in enumerate(listing_names, start=1):
        print(f"{rank}. {name}")
else:
    print("No valid listings found.")

except Exception as e:
print(f"An error occurred: {e}")
And this is the result I got :

Self checkin Private master room / private bath
Local attractions nearby Room4/
17min from FLL- AP
Welcome at Quiet ROOM for REST
Miami home near Sawgrass
Charming Home with Private Balcony.
Peaceful Private Room Retreat
Walking Distance to Sawgrass Mall
Best Tourist Destination, Close to SawgrassMall
SawgrassMallHome
Luxury Villa Heated Pool +Pickleball/BKB/Soccer CT
Spacious! In room TV/min to Beach/Shopping&Airprt
Steps to Hardrock! Managed by BNR Vacation Rentals
Blue Room in Garden Estate House
Cozy, relaxing & beautiful condo for two.
Exquisite Pineapple Townhouse Steps from Sawgrass
Delightful room ❤-near Sawgrass w/private bathroom
Cosy Room for Rent
Impecable min airport/beach/shops
Stylish New Hotel!
Single Travelers feel safe in my home!
Spacious and comfortable room
SAWGRASS MILLS MALL BEAUTIFUL ROOM
Stay & Shop Till You Drop!
Coliving Nordic Room3
A piece of Jamaica in Ft Lauderdale
Adorable 1-bedroom suite with free parking.
Private bdrm&bath/own entrance
Comfy home w/ Sunset+Pool & lake
Spacious Suite w/t Queen Bed no balcony
Villa Joy
SAWGRASS BEAUTIFUL ROOM WAKING DIST TO MALL
Private Calm Guesthouse/ Sunrise
Habitación bella con todo
Spacious 3BR Family-Friendly Home Near Attractions
Luxury+ Fun | Heated POOL | Games | 15 min to FLL
Charming 2BR Lakefront Cottage in Davie near Beach
Relax and Unwind! Kitchenette, Pool, FREE Parking!
2/2 Accommodation in Sunrise, Florida
Cozy Comfy Private Master Suite in the Burbs
Tia's Place - 1

you need to use search_all  function, for example:
import pyairbnb
import json

# Define search parameters
currency = "USD"
check_in = "2025-01-01"
check_out = "2025-01-04"
ne_lat = 26.244992525492258
ne_long = -80.20554283078371
sw_lat = 26.052735877248157
sw_long = -80.39148365866907
zoom_value = 12

# Search listings within specified coordinates and date range
search_results = pyairbnb.search_all(check_in, check_out, ne_lat, ne_long, sw_lat, sw_long, zoom_value, currency, "")

# Save the search results as a JSON file
with open('search_results.json', 'w', encoding='utf-8') as f:
    f.write(json.dumps(search_results))  # Convert results to JSON and write to file

Got it, thanks. Took me some time to understand the function, but all good now.
I still quite don't understrand the need of zoom_value.
I understand what it represents, but don't really see difference in results when using 1 or 12.

I haven't checked deeply but airbnb server requires to send that value


IllegalDataValueError with Deye SUN-M80G3-EU-Q0

I just installed solarman and configured my device using deye_2mppt.yaml.
I don't get any values and I saw some issues when reinstalling or waiting a bit helped. I tried that.
But I get these errors in the log:
2023-08-30 16:30:57.382 DEBUG (SyncWorker_0) [pysolarmanv5.pysolarmanv5] Socket setup completed... <socket.socket fd=13, family=2, type=1, proto=6, laddr=('<IP_ADDRESS>', 41440), raddr=('<IP_ADDRESS>', 8899)>
2023-08-30 16:30:57.382 WARNING (SyncWorker_0) [custom_components.solarman.solarman] Querying [3 - 128] failed with exception [IllegalDataValueError]
2023-08-30 16:30:57.386 WARNING (SyncWorker_0) [custom_components.solarman.solarman] Querying [3 - 128] failed, [5] retry attempts left

Do I have to make some changes in the yaml? The yaml looks a bit frightening to me ;-)
Is the port 8899 for Deye SUN-M80G3-EU-Q0 correct? I could not find any info regarding the port.

Should be fixed with 1.5.1?


Error assigning as owner a user with non-cartodbfied tables

While fixing CartoDB/cartodb-platform#1072 we saw that users with tables that are not cartodbfied can't be set as organization owners. When a user is set as owner his tables are moved from public to his username schema with this code taken from User:
1661   def move_tables_to_schema(old_schema, new_schema)
1662     self.real_tables(old_schema).each do |t|
1663       self.in_database(as: :superuser) do |database|
1664         old_name = "#{old_schema}.#{t[:relname]}"
1665         new_name = "#{new_schema}.#{t[:relname]}"
1666         database.run(%Q{ SELECT cartodb._CDB_drop_triggers('#{old_name}'::REGCLASS) })
1667         database.run(%Q{ ALTER TABLE #{old_name} SET SCHEMA "#{new_schema}" })
1668         database.run(%Q{ SELECT cartodb._CDB_create_triggers('#{new_schema}'::TEXT, '#{new_name}'::REGCLASS) })
1669       end
1670     end
1671   end

cartodb._CDB_create_triggers fails for tables not cartodbfied because of Sequel::DatabaseError: PG::Error: ERROR:  column "the_geom" of relation "<table name>" does not exist
Alternative fixes:
a) move_tables_to_schema should not run trigger lines (1666 and 1668 at previous code) for non-cartodbfied tables.
b) _CDB_drop_triggers and _CDB_create_triggers should not fail for non-cartodbfied tables.
cc @CartoDB/backend

Those _CDB methods are not part of the public API of the extension, so I wouldn't go for (b)

I'd go for a) too, as it is the logical solution IMHO.
Also /cc @zenitraM as this affects the UserMover :tm:

@juanignaciosl hey, this ticket is blocker for sales, could we work on that?

@yasharora73 please, keep updated here.

@javisantana I'd like to finish what I'm doing now (invitations and other multiuser fixes/enhancements), but if this is blocker assign it to me as urgent and I'll switch to it.

@iriberri @yasharora73 this is being deployed right now, so assigning owners to organizations should be considered safe again in ~30 minutes. Next time you have any problem around this please contact both @iriberri and me ASAP without retries or login into dashboard, since we've changed this to be safer and other side-effects might occur.

Thanks @juanignaciosl Much appreciated. I will keep you and @iriberri posted if it happens again!

An extra explanation for non-product people:
"without retries or login into dashboard" -> this is super important, because accessing to the dashboard is running a script to check that the data is there, and if it isn't, maps could be deleted. This process doesn't run until you access the dashboard.

Gotcha. So I have problems creating it the first time, I will inform you guys without taking any further steps.

@iriberri thanks for the clarification :-)

Reopened because a wrong revert has reverted this fix. @yasharora73 @iriberri , I'll close this when I fix it again, hopefully today or tomorrow :(


When an Object Explorer task times out it breaks Object Explorer

SQL Operations Studio Version: master 8fce79f

Steps to Reproduce:

Try to expand a folder in Object Explorer that times out (after 45 seconds a popup will appear saying it timed out)
Try to refresh/expand other folders

Expected behavior: Even if one expand task fails, others are independent
Actual behavior: Subsequent refreshes/expands also fail
I can reproduce this pretty consistently by connecting to Azure SQL DB and trying to expand the Security > Logins folder, which usually times out for me
Workaround: Disconnect and reconnect

Please look at https://github.com/Microsoft/sqlopsstudio/issues/2238 when resolving this issue to make sure that scenario is fixed as well.

I'll use this to track some of our reliability issues in Object Explorer. A few listed below that I want to look into:

[ ] Expanding Security > Logins when connected to Azure is very slow and usually times out. The same expansion happens instantly in SSMS. It looks like there are ~1000 logins when this expands so it might be something to do with the amount
[ ] Once one task in OE times out no other task can ever complete for that connection. To reproduce, expand Security > Logins on Azure, wait for it to time out, and then try to expand a database's Tables folder.
[ ] When a long-running task is going on it blocks all other tasks. To reproduce, expand Security > Logins on Azure and immediately expand a database's Tables folder. It will spin forever instead of expanding. This might be the same root cause as the previous issue.
[ ] When your password is unsaved, connecting in OE and filling in the password when prompted causes the connection to move to the bottom of the current group (in general updating any connection by opening the connection dialog, selecting the connection from saved connections, and changing anything causes this behavior)


Suggestion: change service's funcionality

I'd suggest you change the funcionality... Using a counter is using state and it's a bad practice using state that way in a service. I propose removing the counter part from the code.

Whereas its best to outsource state to external data stores for cloud native apps, I don't think we are at risk of people building counter-based production grade apps based on this guide.


Add a serializer option to ignore invalid values

I will explain this with an example.
name = "Test"
theme = "Normal"

When serialized to a class, theme is an enum, where "Normal" is a valid value. Now, if the user decides to set it to something that does not exist in the enum, the entire serializer fails, so the other properties (like name) get ignored.
My suggestion is to add an option which ignores invalid values, so the valid ones are still serialized.

Found this issue while working on configs for MelonLoader. If the user invalidates a single property, all properties get reset, which can be really annoying.

@SamboyCoding The point of this issue was also to add handling for all other types of invalid values, for example if the user sets an int property to some text


feat: 🎸 custom portal moduels

exposed mothods to build-plugin-miniapp-preview

✅ Closes: #66, #53

Codecov Report

Merging #90 (f289fe5) into release/miniapp-preview (c0c2fd2) will not change coverage.
The diff coverage is n/a.

@@                   Coverage Diff                    @@
##           release/miniapp-preview      #90   +/-   ##
========================================================
  Coverage                    78.35%   78.35%
========================================================
  Files                           27       27
  Lines                         1035     1035
  Branches                       189      189
========================================================
  Hits                           811      811
  Misses                         224      224

Continue to review full report at Codecov.

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


[WIP] Additional FIO messages (renew_fio_address, new_funds_request)

Description
Extend FIO support with additional messages:

renewal of FIO address (renew_fio_address)
new payment request (new_funds_request)
Solves #850 .

Testing instructions
Unit tests.
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Prefix PR title with [WIP] if necessary.
[x] Add tests to cover changes as needed.
[x] Update documentation as needed.

could you please handle TW_FIO_Proto_SigningInput in FIO::Signer? (not TWFIOSigner)? for new AnySigner

could you please handle TW_FIO_Proto_SigningInput in FIO::Signer? (not TWFIOSigner)? for new AnySigner

Makes perfect sense, I had some subconscious anxiety about having logic in the TW...Signer.  Changing it.


Flake.nix: gnome-bluetooth at top-level

Solve the nix warning when building:
trace: evaluation warning: The ‘gnome.gnome-bluetooth’ was moved to top-level. Please use ‘pkgs.gnome-bluetooth’ directly.

I think the warning might be due to using the unstable version of nixpkgs. I'd recommend waiting for the stable 24.10 release before merging this.

I think the warning might be due to using the unstable version of nixpkgs. I'd recommend waiting for the stable 24.10 release before merging this.

Make sense

@anotherhadi @painerp Do we think this is still relevant or should we close this PR?

@anotherhadi @painerp Do we think this is still relevant or should we close this PR?

Still relevant!

I think the warning might be due to using the unstable version of nixpkgs. I'd recommend waiting for the stable 24.10 release before merging this.

i don't see how this matters

Do we think this is still relevant or should we close this PR?

yes


EsLint hook ignores command option in config

We have Overcommit set-up in a Gem repo, and I'm trying to switch from JsHint to EsLint. In order to keep the project self-contained, I'm installing ESLint locally rather than globally. This means that running it involves using ./node_modules/.bin/eslint rather than relying on the global eslint. I also want to lint only the JavaScript files being distributed with the gem. So, I have the following in .overcommit.yml:
EsLint:
  enabled: true
  on_warn: pass
  command: ['./node_modules/.bin/eslint', 'gem/app/assets/javascripts']

I would expect Overcommit to use this command to run the ESLint pre-commit hook and to see the same results as when I run ESLint manually. What I see instead, though, is:
Analyzing with ESLint........................................[EsLint] FAILED
'eslint' is not installed (or is not in your PATH)
Install it by running: npm install -g eslint

That it's complaining about a missing global eslint on the path indicates that it's not using the command that I specified. I've read through the documentation a few times and looked at the hook code, but I can't figure out what I'm missing.

Wait, I get what's happening: Overcommit is looking for eslint as the required_executable and failing because it's not on the path. Shouldn't that be unset if the user is specifying the command? It feels weird to have to include required_executable: '' in the config block.

Hey @derekpeterson,
You need to set the required_executable option instead, as that is used when constructing the command. You can then specify
EsLint:
  enabled: true
  on_warn: pass
  required_executable: './node_modules/.bin/eslint'
  command: ['./node_modules/.bin/eslint', 'gem/app/assets/javascripts']

I'm not sure why you're modifying the command to explicitly pass gem/app/assets/javascripts. You can simply specify that path via the include option to only lint files in that directory.
I admit the required_executable behavior is a bit strange. We'll need to think on how to make this more intuitive.

Oh, that makes way more sense. I've updated the config to this:
EsLint:
  enabled: true
  on_warn: pass
  required_executable: './node_modules/.bin/eslint'
  include: 'gem/app/assets/javascripts'

Unfortunately, the ESLint hook doesn't run at all now.

Never mind again. I had to pass a glob pattern to include to make it work: 'gem/app/assets/javascripts/**/*.js' did the trick.

@sds What about the Rubocop and TravisLint configs in .overcommit.yml? They modify command directly without modifying required_executable:
Rubocop:
  enabled: true
  command: ['bundle', 'exec', 'rubocop']

TravisLint:
  enabled: true
  command: ['bundle', 'exec', 'travis']
  flags: ['lint', '--skip-version

Is this because the required_executable for each hook should already be in the path, by virtue of being listed as dependencies in the gemspec?

The original purpose of required_executable was to remove boilerplate code from hooks that checked whether an executable they needed to run was in the PATH before attempting to run. See 99b1ea681e5c3fde64b0f4063f364c12df1b0f33...ed12c31ba57fbf0ba8a04c8727c7c52eb6cc37b5 for context.
I suppose in the case of RuboCop or TravisLint in Overcommit's .overcommit.yml the actual required executable is bundle when you change the command, but since Overcommit has a Gemfile we assume you'll have the bundler gem installed.


Campaign Loader Unit Tests

This issue was completed and mentioned in the #43, closing down this issue


Resolve the migration to latest pydantic and autodoc_pydantic

Fixes the warning from earlier PR

Due to the significant changes made with the migration of pydantic from v1 to v2, and where v2.x still has a lot of bug fixes required and autodoc_pydantic is not up to date with these changes as of yet, It is better to have these software packages fixed and updated, before trying to implement any changes to gammapy and afterwards here in asgardpy.
A discrepancy in the dependency version between gammapy and asgardpy will become more apparent with the addition of test data in #114

Keeping this as a draft, for later implementation similar to #115

Wait for Gammapy #4750

Closed this due to a conflict in the usage of branches for newer PR, by mistake.  The various updates from dependencies are taking a longer time than expected, and in the meantime, pydantic has further advanced. This update would need to be re-visited again later, within the timeline of the usage of this pipeline.