Reattached tasks are not consistently recognized as running tasks

Type: Bug

In an empty folder, create .vscode/tasks.json with:{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "echo",
      "type": "shell",
      "command": "while true; do echo running; sleep 3; done"
    }
  ]
}

Ensure that terminal.integrated.enablePersistentSessions is true.
Command palette > Tasks: Run Task > echo > Continue without scanning the task output
Reload the window
Verify that the task's terminal has reattached and that it is still producing output
Command palette > Tasks: Show Running Tasks

Actual:
"No task is running", but the task is still running. The running tasks indicator in the status bar is missing. Attempting to re-run the task starts another task.
Expect:
Same behavior as if step 4 had been skipped: The terminal showing the task output is activated (or toggled). The running tasks indicator in the status bar shows a running task. Attempting to re-run the task results in a notification that the task is already active (and options to terminate/restart).
(Alternatively, the task is stopped on reload and not reattached, so it's actually not running.)
Additional info:
This seems to work as expected if I set "isBackground": true above, but I'm not sure that it should be necessary for this scenario to work.
Anectdotally, I have an extension that creates its own tasks on-demand using ProcessExecution, and even when setting isBackground set to true those tasks also have this problem. (The extension can also launch existing tasks retrieved via tasks.fetchTasks, which may or may not have isBackground set.)
My motivating use case is to allow my extension to detect if a particular task is running, even if it wasn't launched by my extension. tasks.taskExecutions could work for this purpose as long as VS Code recognizes that the task is actually running, but this doesn't work when the window is reloaded.
This means that my extension can't even recognize its own background ProcessExecution tasks when they're reattached, so it recreates them instead of reusing them. If the user doesn't notice, they can end up with a number of unnecessary tasks running in the background. Even if they do, they have to manually stop the unwanted ones (and, potentially, avoid stopping the "real," non-reattached task). This is especially counter-intuitive since users may see reloading the window as a way to reset state, but it actually exacerbates the problem.
(Actually, not to go off on too much of a tangent, but for my particular purposes I would also need a way to figure out the process ID for a previously started execution--else I need to start my own execution so I can get the process ID that way. So while I think there's a bug here, I'm still not entirely sure what I'd do on my end even if I could detect that some old task had been reattached. Maybe there needs to be a way to signal that specific tasks shouldn't be reattached, or some API to get a process ID for a task execution that's already started. This is all secondary, but I'm mentioning it here in case it informs something about the approach for this issue.)
VS Code version: Code 1.75.1 (441438abd1ac652551dbe4d408dfcec8a499b8bf, 2023-02-08T21:34:01.965Z)
OS version: Darwin arm64 22.3.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Apple M1 (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
2, 3, 3

Memory (System)
16.00GB (0.11GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Thanks for the issue, this is as-designed - we restore and reconnect to background tasks only. We still want to show the buffer content from a task that was previously run even if it wasn't a background task.

The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our issue reporting guidelines.
Happy Coding!

Appreciate the reply! I may not be following exactly, but I think the behavior I am seeing does not quite match up with what I understand the expected behavior to be.

Is it expected that a non-background task would continue to run after the window is reloaded? I'm inferring from your response that it should not, but in my repro above, it does. When I launch the non-background echo task above and reload the window, I can still see it print "running" to the terminal every 3 seconds. So from that perspective, it looks like it is actually restoring and reconnecting to the task even though it's not a background task. The only part that doesn't seem to work is that it's not enumerated among running tasks (as it would be if it were a background task).
Maybe that is the intended behavior? But it seems to me that if the task is going to continue to run, it would make sense to continue to treat it as a running task. Otherwise, the behavior is a little puzzling to me--e.g., if the user tries to start the task again using "run task," VS Code will happily launch another instance of the same task while an earlier instance is still running, even though it wouldn't do so if the window hadn't been reloaded.
If the expectation is the task should be terminated when the window is restored, and the buffered output is just  retained for later review--the idea being you can set it as a background task if you want it to survive the reload--then that behavior would also make sense to me. But that would mean the bug here is that the task is not terminated on reloading the window.

I have an extension that launches a background task programmatically. When I reload the window, I see the same behavior for that task as I do for the non-background echo task--i.e., the task keeps running with its terminal reattached, but it is not enumerated among running tasks the way the background version of echo would be. From your description, it sounds like this might be a (separate?) bug. I don't have a minimal repro handy for this that would confirm I'm not just doing something wrong in my extension, but now that I have a better understanding of the expected behavior, I could create one and/or open a new bug if that would help.


[DOC] Guides - Concept Section: Load Testing

Developer meeting touched on load testing.  We should include this in our concepts section to explain how this can be done.

@iJungleboy can close with https://github.com/oqtane/oqtane.docs/pull/91


Running tests from umbrella root

Due to project setup constraints, I'm unable to run tests from the project root on my umbrella project, I have to cd to apps/sub_app and then run the test. I wonder if there's a way to configure the adapter in a way that it runs tests from the umbrella app root.
I tried to do that by modifying post_process_command to run the test through mix cmd --app my_app test path/to/test.exs. Here's my version of the run command:

elixir -r /Users/piacsek/.local/share/nvim/lazy/neotest-elixir/neotest_elixir/json_encoder.ex -r /Users/piacsek/.local/share/nvim/lazy/neotest-elixir/neotest_elixir/formatter.ex -S mix cmd --app my_app mix test --formatter NeotestElixir.Formatter --formatter ExUnit.CLIFormatter path/to/my/test.exs

But I when I run this command, the following output appears:
09:57:37.361 [error] CRASH REPORT Process <0.1422.0> with 0 neighbours crashed with reason: call to undefined function 'Elixir.NeotestElixir.Formatter':init([{include,[]},{exclude,[external,es_integration]},{max_cases,16},{seed,178117},{failures_manifest_file,...},...])
.....
Finished in 0.07 seconds (0.07s async, 0.00s sync)
5 tests, 0 failures

The tests pass, but the formatter fails to parse the results, making neotest consider the test as a failure.
PS: I'm currently trying to alter my project in a way that I can run any test from the root of the project, but having that as a configuration could come in handy not just to me but to other people in a similar situation.

For reference, here's my plugin configuration :
require("neotest-elixir")({
	post_process_command = function(cmd)
		return {
			"elixir",
			"-r",
			"/Users/piacsek/.local/share/nvim/lazy/neotest-elixir/neotest_elixir/json_encoder.ex",
			"-r",
			"/Users/piacsek/.local/share/nvim/lazy/neotest-elixir/neotest_elixir/formatter.ex",
			"-S",
			"mix",
			"cmd",
			"--app",
			"my_app",
			"mix",
			"test",
			"--formatter",
			"NeotestElixir.Formatter",
			"--formatter",
			"ExUnit.CLIFormatter",
			"path/to/my/test_file.exs",
		}
	end,
}),

Update: I've managed to get a working version.
Here's my post_process_command:
post_process_command = function(cmd)
		local test_file_path_from_root = cmd[#cmd]
		local current_umbrella_app = test_file_path_from_root:match("^apps/([^/]+)")
		local umbrella_relative_path_to_test =
			test_file_path_from_root:match("apps/" .. current_umbrella_app .. "/(.*)")

		return {
			"mix",
			"cmd",
			"--app",
			current_umbrella_app,
			"mix",
			"test",
			"--formatter",
			"NeotestElixir.Formatter",
			"--formatter",
			"ExUnit.CLIFormatter",
			umbrella_relative_path_to_test,
		}
	end,

It has the unfortunate requirement to define both NeotestElixir.Formatter and NeotestElixir.JsonEncoder inside of my project and adding those files to .gitignore.
Previously I had tried to stick to the elixir -r path/to/file.ex -S rest_of_the_command, but I ended up having trouble with Zombie OS processes due to lingering DB connections after the tests had been executed.
It's not an ideal solution, but if you're in a rush like me trying to make neotest work with a legacy codebase that has just migrated to an umbrella structure, I hope it helps 🙏

Where did you place the elixir -r ... -S part? At the beginning or after mix cmd?
You could try mix cmd --app current_umbrella_app elixir -r file.ex -S mix test ...
Also, before #30, the mix root would be the child app directory, which I think makes it so that the tests are run from the child app. Could you try the commit before that and see if it works?


[Tutorial Fix] Fix multimodal index page, fix the Github README, AutoMMPredictor --> MultiModalPredictor

Issue #, if available:
Description of changes:
Fix multimodal index page and fix the Github README.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1913-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1913/1/index.html

Job PR-1913-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1913/2/index.html

Job PR-1913-3 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1913/3/index.html

Do we need to test backward compatibility?
from autogluon.multimodal import MultiModalPredictor
predictor = MultiModalPredictor.load("path/to/checkpoint/saved/by/using/AutoMMPredictor")
predictor.fit()
verify_save_and_load()

If not backward compatible, users would no longer be able to load the AutoMMPredictor checkpoints after v0.7.

We could make AutoMMPredictor a function that simply returns a MultiModalPredictor + logs the warning, so it isn't its own class anymore. That would avoid breaking in v0.7

Job PR-1913-12 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1913/12/index.html

Job PR-1913-13 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1913/13/index.html


doc: fix broken CI badge image

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:


Add ability to run script on completed download

Should be per path-mapping, too.

What data would you like in the script arguments? Just the path to the completed download?

Path to completed download, as well as specified category, probably (did I mention scripts should be able to be different for different categories, too?)
On Aug 25, 2017, 8:18 PM -0700, Mike Odom<EMAIL_ADDRESS>wrote:

What data would you like in the script arguments? Just the path to the completed download?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Unexpected token u in JSON

I have made a simple function with hug which just want to return a dictionary
`import hug
from stringtojson import stringtojson as ss
@hug.response_middleware()
def process_data(request, response, resource):
response.set_header('Access-Control-Allow-Origin', '*')
@hug.get("/data",output=hug.output_format.json )
def data():
print("give data")
a={"data": [
["", "kia", "nissan", "toyota", "honda", "test"],
["2008", 10, 11, 12, -13,100],
["2009", 20, 11, -14, 13],
["2010", 30, 15, 12, 13]
]
}
return a
`
But when I use ajax to call it,
`function test(hot){
$.ajax({
async:true,
type:'GET',
url:'http://localhost:8000/data',
dataType:'json',
    success:function(res){

//            hot.loadData(res.response.data);
var data = JSON.parse(res.response);
// var data=JSON.stringify(res.response);
  hot.loadData(data);

    }

});
}
`
I get this,
VM57:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse ()
Any idea how I can fix it??

It's almost impossible to read the question, format code with triple \`\`\`code\`\`\`, the problem is on the stringify, could you provide the string generated by javascript before it's sent? Print it in console.log in Javascript. You better stringify the request before sending it. It's totally unrelated to hug.


react-app-polyfill does not polyfill String.prototype.replaceAll

Describe the bug
react-app-polyfill does not polyfill String.prototype.replaceAll.
Environment

Environment Info:

  current version of create-react-app: 5.0.1
  running from C:\Users\listl\scoop\persist\nodejs\cache\_npx\c67e74de0542c87c\node_modules\create-react-app

  System:
    OS: Windows 10 10.0.19044
    CPU: (16) x64 AMD Ryzen 7 PRO 4750U with Radeon Graphics
  Binaries:
    Node: 18.8.0 - ~\scoop\apps\nodejs\current\node.EXE
    Yarn: Not Found
    npm: 8.18.0 - ~\scoop\apps\nodejs\current\npm.CMD
  Browsers:
    Chrome: 81.0.4044.92
    Edge: Spartan (44.19041.1266.0), Chromium (104.0.1293.70)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    react-scripts: 5.0.1 => 5.0.1
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce

run npx create-react-app test --template typescript
Add import "react-app-polyfill/stable"; to the first line of src/index.tsx
Add "chorme > 80" to browserlists.production of package.json
Change the App.tsx file to

function App() {
  return <>{"app".replaceAll("a", "A")}</>;
}

export default App;

run npm start

Expected behavior

It displays "App". Screenshotted from Edge 104
Actual behavior

"app".replaceAll is not a function. Screenshotted from Chrome 81, for Chrome started supporting String.prototype.replaceAll from 85

Reproducible demo
test.zip

Others
I found the same question at stackoverflow and it seems to be an old bug that has not yet been fixed

Same error occured in my production build，Please fix!

Is there any fix for that ?

Create React App is deprecated and it will not be updated anymore. Migrate to vite and use String.prototype.replace with RegEx with the g flag:
- myStr.replaceAll('-', '_');
+ myStr.replace(/-/g, '_');


Vscode terminal graphic bugs

The terminal tab display color tiles.
Like this https://imgur.com/a/csg92
Some time this also happen to the sidebar preview.

VSCode Version: 1.20.1
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
OS Version: Ubuntu 16.04 LTS
Hardware : Dell Precision 5520

Steps to Reproduce:

Open the vscode
Sleep the laptop
Wake the laptop

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

This is an issue with Chromium, nothing we can do unfortunately.


Download file button in dataset details page not working

Download file button in dataset details page is not working. Seems to throw a CORS error when calling https://api.pennsieve.io/zipit/discover
Try this by hitting download file here:
https://sparc.science/datasets/137?type=dataset

Which gives error:

If you edit the request in firefox and resend it, it will work:

My proposed solution would be to add https:/sparc.science and https://staging.sparc.science to Access-Control-Allow-Origin on api.pennsieve

I think it might be hitting the wrong endpoint as I believe the download button above the browser does work.

It used to get the presigned download link through sparc-api that has somehow changed. We should use the sparc-api instead of calling pennsieve directly.

Oops I just realised I put this issue in the wrong repository... Sorry about that.

I think it might be hitting the wrong endpoint as I believe the download button above the browser does work.
Good find! I didn't think to check this.

That makes me wonder if something in the request headers is wrong when using the download button under 'operation'


Clicking on the empty cells sets dates to NaN

If the user clicks on the empty cells rapidly, the dates on top will be set to empty dates.

Which version of this component you are using?

Issue resolved. Code pushed to master branch. Please take a look at this commit


Add info helpers

When dealing with integration, one must adapt this strategy. This commit
aims to help this integration by providing some default values in info.
The keys' names have been chosen to somewhat match the GitLab expectations but should be -hopefully- quite spread among other applications.
Note that whether the developer asked for or the user gives these values
is of no importance here, the values will just be nil - which is the
value of a non-existing key in an array.

Up


(g)(10) Standardized API US Core 4.0.0 - Smoking Status Observation Search by Category

For Smoking Status Observation resources, is search by patient + category required? Noticed that the new version of Inferno is testing for this, but we didn't see it as a mandatory search parameter on the profile page: https://hl7.org/fhir/us/core/STU4/StructureDefinition-us-core-smokingstatus.html#mandatory-search-parameters

Good catch @yashpalk.
I believe our logic for determining what searches are required for a profile is to start with the mandatory search combinations for the resource type defined the capability statement (In this case, Observation), and then remove any search combinations that include an element that the profile does not mark as either 'must support' or mandatory (cardinality >= 1).
In v3.1.1 (and earlier), this lined up exactly with the search in the 'Quick Start' section of each profile.  Apparently in v4.0.0+ for SmokingStatus, that isn't the case any more.  Category is flagged as must support for that profile, and they must include a fixed code, and yet that isn't a mandatory search parameter.
@yunwwang does that explanation look right to you?  Should we follow up with the US Core group to understand what the logic is for the quick start mandatory searches for a profile?  We could hard-code an exception here, but it is nice for the required supported searches to follow some logic that can be derived from machine-readable information.

I think this is a bug in US Core v4.0.0. Observation.category was changed from optional / not must support in v3.1.1 to required / must support in v4.0.0. Apparently, the "Quick Start" narrative section was not updated to reflect such change.
I will create a JIRA ticket for CGP.

@yunwwang I'm not sure if the fact that it is now required/must support necessarily means that the search param combo of patient+category needs to be supported, unless they wrote that rule down somewhere.  So it might not be a bug.  But it's worth raising to see what the general rule is for that Quick Start section.
Also, since that category slice isn't specific to this type of resource, you'd expect that patient+category search to perhaps return more than smoking status coded resources, which would violate a different expectation we have for these Observation searches.  So even if this is a 'bug' in the spec, I think we are going to have to make some kind of change, right (specifically here if that search is supposed to stay).

Thanks both! Would you mind posting the JIRA link here as well so we can follow along with the discussion?

https://chat.fhir.org/#narrow/stream/179190-united-states/topic/Search.20Parameter.20for.20SmokingStatus

@yashpalk In the above Zulip thead, a US Core author said that the searches listed in the Quick Start section of the profiles may not be a complete list of mandatory searches, and you must review the US Core Server CapabilityStatement to determine the full set of searches that must be supported for the associated Resource type.
Our tests are set up to only make profile-specific queries where we know the system must support the element being searched on for that type of data, and in US Core v3.1.1 the category element did not need to be supported on Smoking Status Observation resources, so we didn't include it.  Starting in v4.0.0, that element now must be supported.  So it seems to make sense to have this be tested to me.
Does this make sense?
@yunwwang -- I did notice that we don't search by patient+category+date though, and that seems to be a bug on our side (perhaps based on changes to structuredefs and slicing for other types of observations?)

Yes. That is bug in our code generator. The issue is that SmokingStatus has sliced the element Observation.effective[x] to Observation.effective[x]:effectiveDateTime. The date search parameter has expression Observation.effective while what code generator is looking for is Observation.effectiveDateTime. Will fix this.

The explanation makes sense. Appreciate the help with the clarification!
Just echoing what you mentioned in the Zulip thread, it's unintuitive that the profile page does not list all of the search parameters that are required for a given profile under the section that is titled Mandatory Search Parameters.

@arscan, added notes to Zulip chat requesting more clarity on mandatory search capabilities
...RE: It would have been very helpful to me and the development team that relied on my interpretation and guidance to know that the "Mandatory Search Parameters" section might be incomplete for a given profile. I understand now to go to the capability statement as a source of truth, but either of these approaches would also be beneficial in the future, for example to people still learning all the internal logic of the IG, and to product managers and others who need to understand scope and for whom the more narrative spec is very useful.

Patient + category search is implemented in v3.2.0 (PR shown above). Ticket closed.


Backup runs terribly slow

I had issues after upgrading the container image. My /volume1 mount was gone and so nothing was selected for backup. The web interface showed me all my files as "deleted".
Then I remembered that I created the initial container with docker compose which included the /volume1 mount command. So I re-created the container using the same docker compose command. Now my /volume1 mapping was there again but the backup told me that it had to backup everything from scratch. In my case that's about 1.4TB.
The first 220GB were completed within a few hours yesterday and the estimated time to complete was about 2 days. But then it suddenly turned extremely slow. It almost doesn't show any progress anymore. Single files take ages to complete. The estimated time for the remaining 1.1TB is 6.6 MONTHS!
I tried to pause and resume and even restarted the container. No success.
Any ideas what could be the reason?
I'm running a DS218+ with 10GB of memory. The CRASHPLAN_SRV_MAX_MEM is set to 3G
The crashplan docker image is the latest available. The container runs at 25% CPU and 1.75GB memory atm.

Has the time estimate improved ?  Normally, since all your data is already in the cloud, CrashPlan should not re-upload anything... but it will figure this out while going through you data.  I would not be too concerned about this estimate.

Also, note that mapping /volume1 to the container no longer works properly with recent Synology version.
See https://github.com/jlesage/docker-crashplan-pro/issues/310.


WIP - Display list of supported scalers on workload docs

Display list of supported scalers on workload docs to make them more easily discoverable as they are only on our landing page for now.

I'll have to get this sorted:

Yeah I played with this a bit before and I don’t reallly want scalers showing at bottom of every docs page. If we create a dedicated section for scalers like we have for auth I’m cool with it but couldn’t figure out how to do that. Other than that would prefer to just like to root page list.

Ah looks like you only are trying to show in 2 sections. I’m cool with that if you can get it working

It's just an idea, having them on landing page is ok for me as well!
Let's maybe focus on other things instead of this then?


server freezing and crashing when i teleport in player home (schematic cannon loading schematic) or Huskyhomes in log

crash-2024-03-16_14.55.13-server.txt
latest.log
debug.log

dupe #30


Record sync status if it fails/restarts in middle

Right now, we log that a sync has started, and start syncing. If the worker crashes/restarts in the middle, we just leave an orphaned sync log with IN_PROGRESS state there forever.
We should fix this.

Migrated to internal project management tool.


Repaint after every x ms, but still update when necessary

I'd like to update it every 250 ms, if it's not required to repaint, but if it is required, then repaint as normal. ie, reactive runmode, but in the background, call ctx.request_repaint() every x ms. I cannot figure out how to do this without mutably borrowing the ctx into a background thread to call ctx.request_repaint(), which you cannot do in safe rust.

Oops I glanced past the if self.needs_update { code :frowning: I'm sure I can figure something out involving that and a stopwatch in the object (ie `if self.sw.elapsed_ms > 100 { self.sw.restart(); ctx.request_repaint(); }


Support std::mdspan

std::mdspan will come with C++23 support. That isn't released in compilers package of conda. And is also not there in my system's clang.

Can be closed after https://github.com/lcompilers/lc/pull/115 is merged. There is not much useful to std::mdspan after submdspan support. Array operations can't be done on std::mdspan the same way as in Fortran or using xtensor. I would support PyTorch tensors next. That's most important for AI related use cases.


IndexedDB: unnecessary "app" index

Hey, cool library. :) I was looking through your IndexedDB implementation, and I have a suggestion.
You're storing an appkey as well as an app and a key, with the appkey being a composite of the two. That's a good strategy, especially since IE/Safari don't support complex keys, but that means you can actually get rid of the app index altogether. To search by app, you would just need to do a range query like so:
IDBKeyRange.bound(app, app + ',\uffff');

(The '\uffff' is to guard against any apps with commas in their name.)
Then you would just use the appkey index instead. Saves you the time of creating/updating an unnecessary index!

Interesting idea... thanks!  I am sure you are familiar with the metal behind this so I trust this works.
In order to implement it I would have to do an indexeddb version upgrade so I may add this to list and when I need to break compatibility try this out along with any other changes.
Hopefully I will clean that adapter up soon, possibly after we refine our adapter interface more.
Thanks again,
Dave

No need for a version upgrade. :) Since you're subtracting an index rather than adding one, all you have to do is just remove the createIndex() and stop using the old index. You can also stop storing the app value in the doc (just store appkey) and save a bit of space that way.
Older clients will never know the difference. Their databases may be slightly larger than newer clients, but you can still treat them the same way because they just have "more" information than what you need. We have used this trick many times in PouchDB to avoid migrations!

Even better... I'll definitely have a look at this the next time I am working on that adapter.  And yes, avoiding having to do an idb database upgrade makes it much easier :)
Great work on pouchdb... you have some very informative blog posts as well!
Dave

Thanks a lot! :D


Feature 0.4.4

Additional logging
Docs update
Bugfix when downloading chunks / relative paths in chunk folder
Bugfix when extracting chunks
Support for archive tier


[WIP] Enhance bot approval logic

if aggregate update failed, do not give up immediately
look at openQA previous jobs, if present, green, not too old and including the update under test: ignore that failure

This is to reduce the impact of one test being broken one day, a different test another day and the update not being approved even if combined result give all green, just not at the same time.
I did not touch the tests yet. Before investing more I would like to discuss about the new logic and it's implementation.

If the code it's looking good enough, I will move on adapting the tests!

As you stated you already tested manually can you provide the logs from such run so that we can see the flow of execution from the log messages?

https://gist.github.com/michaelgrifalconi/4d07eee0197c929db7c2a11b85759edb
Mind that stuff like
2024-02-22 08:13:59 INFO     20240221
2024-02-22 08:13:59 INFO     Failed job date: 2024-02-21

Will be removed as I mention on the other conversations

New log with less frequent/redundant and more descriptive logs: https://gist.github.com/michaelgrifalconi/41b6451b36cdfb87814b9ce9635a9459
Would not reduce too much logging, since it as something you would look only in case of problems, and do not disturb anyone (of course as long as it's not so huge to be expensive on resources or just clutter when debugging)

Before too much developent+review effort is invested please keep https://github.com/openSUSE/qem-bot/pull/168#pullrequestreview-1897640058 in mind which I think we agreed upon to follow up with.

1. What are alternatives that we can consider, how about again enabling automatic retry?

I agree on making sure automatic retries should be set at least at RETRY=1 globally. Where would be a good place to set that? Medium types?
This is anyhow separate and does not substitute this PR. This is for reproducible issues (either test or product issues, unrelated to the update that shall be approved and was green the day before).

2. How about shifting more aggregate tests to incidents, especially the tricky ones more prone to failing?

Sure, there are tickets open for that. Still this is a different topic and I believe both things do help.

3. There is no feedback to openQA so it will make it even harder for reviewers to find which jobs are actually blocking -> Hence my suggestion is instead to cover this logic in a separate application.[...]

No, introducing a new thing that changes the behavior of something, from a different place makes it even more frustrating for an engineer to understand "what is happening and why".
I would agree on moving out the entire approval logic and handle it in a simpler way (no hand-crafted caching and syncing of data) but it's a future topic.
Right now this is the smallest tweak possible to increase the quality of life for maintenance test developers.
About the visibility issue, I think that all current test failure should be fixed/softfailed at some point, since they surely block updates that were not tested the day before(like newly released one).
In addition, this is just about aggregates, and they run every day. I see no reason why anyone would spend time fixing a failure from the previous day instead of focusing on the present ones.
I see that would still be nice to have visibility of what is really blocking an update and what could be ignored for a specific update request (by "approvable for comment"). Too bad that the dashboard does not show that either AFAIK.
For this topic I would either:

switch from ignoring the failure to writing a comment "Approvable for" (before looking at comments and ignore it)
merge it as it is to get the benefit of getting stuff approved, and then start discussing on a better solution, like the one in the line above or something else

I have no strong opinions for either option, as long as we don't spend too much time discussing on cosmetics and also new cosmetics changes do not require me to do more rebase of this PR (which i believe to be more important than suddenly changing code styles)

switch from ignoring the failure to writing a comment "Approvable for" (before looking at comments and ignore it)
Yes, that could be done in here as well. I just think that this is easier to implement and also run in a separate script. Or, maybe a compromise, run that pre-approval with writing the comments in a separate command within qem-bot? I am fine with either approach, just pointing out ideas. You can choose and we will support you either way :)

DISCLAIMER : discussion below has nothing to do with this certain PR but I am replying here because Oli raised it here . Outcome of this discussion should not influence on decision about merging a PR

How about shifting more aggregate tests to incidents, especially the tricky ones more prone to failing?

@okurz I understand what the intention is behind , but I am not sure that it is easily doable in setup which we have and that effect of such "solution" would be exactly what we want . I will try to explain in example (ofc. I will use my lovely Public Cloud as example, but I will simplify some things to keep it simple enough to prove my point  ) :
So we have aggregates test run which are triggered on update of each and every package and we run there console_tests and we have incidents which are triggered only for kernel/grub2/systemd updates and we run LTP tests. If we see that console_tests are unstable and we will decide to move them to incidrents this will mean that we will run console_tests only for kernel/grub2/systemd which will certainly decrease  quantity of failures but also we dramatically decreasing coverage for this test and also probably not to the list of packages which suits well to this certain test.
I agree that we should decrease coverage for unstable tests, but I don't think that "just move it to incidents " is acceptable option here. To follow this path we need new functionality which allowing to define packages which triggers testing not in flavor level but on test level . Basically we need interface allowing to say "I want to trigger this test for this set of packages"

@asmorodskyi I think the best place to continue that discussion is here: https://progress.opensuse.org/issues/106930

Considering that:

we see more and more situations where this logic would help in real situations
changing the design to writing comments will require more time and make it more difficult to test dry runs

I would like to proceed as it is, add the necessary tests and then as soon as it is merged we can start a discussion on how to improve visibility and consider all various options like commenting and or moving to different bot job, etc.

I would like to proceed as it is, add the necessary tests and then as soon as it is merged we can start a discussion on how to improve visibility and consider all various options like commenting and or moving to different bot job, etc.

Yes, I can accept that although be aware that concerns were raised by others than just me about the overall approach. So I see only two points missing before I can approve:

The PR is marked as "WIP" and I won't approve before you confirm that the PR is ready to be approved, i.e. remove the WIP
Squash the commits that just fixup the original commit

Codecov Report
Attention: Patch coverage is 85.18519% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 67.63%. Comparing base (7b921a0) to head (1dc4ac2).

Files
Patch %
Lines

openqabot/approver.py
87.87%
4 Missing :warning:

openqabot/openqa.py
80.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #168      +/-   ##
==========================================
+ Coverage   67.00%   67.63%   +0.63%
==========================================
  Files          25       25
  Lines        1664     1715      +51
==========================================
+ Hits         1115     1160      +45
- Misses        549      555       +6

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

Right when I was feeling ready with this, I found a confirmation of the issue caused by using SMELT ids instead of RR ids.
Moving the discussion about it here: https://github.com/openSUSE/qem-bot/issues/174

Right when I was feeling ready with this, I found a confirmation of the issue caused by using SMELT ids instead of RR ids. Moving the discussion about it here: #174

Having lunch brought me some wisdom. We can make use of the same workaround described in the open issue to avoid falling in the rabbit hole of fixing everything in the system at once.
I can add a check here to make sure the selected job is still present in the qem-dashboard. If it's not, then it means it was removed by qem-dashboard/#78 and should not be used.

I think I am ready for the last review. If it's all fine I will do one last consolidation of commits and we can merge!
By the way, this is what would be approved by the new logic:
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32461:324048
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32575:324054
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32795:324057
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32898:324045
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32912:324047
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32934:324023
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32940:323930
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32951:323996
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32956:324041
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32959:324042
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32960:324072
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32967:324105
2024-03-19 08:14:56 INFO     * SUSE:Maintenance:32971:324109

Yeah I usually try to show what I change instead of force push on every change since it makes more difficult to check and might hide some stuff! Rebased now

Thank for the approval! I have no rights to merge so someone else will have to do it :)


BUG: inner merge works wrong

Modin version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest released version of Modin.

[X] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow this guide.)

Reproducible Example
import modin.pandas as pd
import pandas
from pandas.testing import assert_frame_equal

test1 = pd.DataFrame([1,2], columns=["a"])
test2 = test1.append(test1)
test1["b"] = [3,4]

res_md = pd.merge(test2, test1, on=["a"])._to_pandas()
res_pd = pandas.merge(test2._to_pandas(), test1._to_pandas(), on=["a"])
assert_frame_equal(res_md, res_pd) # AssertionError

Issue Description
Modin doesn't preserve row order between partitions.
Expected Behavior
Same row order as in pandas
Error Logs

AssertionError: DataFrame.iloc[:, 0] (column name="a") are different

DataFrame.iloc[:, 0] (column name="a") values are different (50.0 %)
[index]: [0, 1, 2, 3]
[left]:  [1, 2, 1, 2]
[right]: [1, 1, 2, 2]

Installed Versions

Replace this line with the output of pd.show_versions()

Related to https://github.com/modin-project/modin/issues/2246


docs(OWNERS): add emeritus section

Cleaned up the owners file, adding the emeritus section and removing
an account that was not a core maintainer.

Note, the top level YAML key is not a common key used anywhere else.

@mattfarina True, but that won't cause any technical problems, right?


Show elapsed time in minutes if >= 60 secs

In large projects with long compile times, seeing "428.65 secs" isn't as clear to humans as seeing the number of minutes (and seconds).
Old:
Finished dev [unoptimized + debuginfo] target(s) in 2.23 secs
Finished dev [unoptimized + debuginfo] target(s) in 63.94 secs
Finished dev [unoptimized + debuginfo] target(s) in 428.65 secs

New:
Finished dev [unoptimized + debuginfo] target(s) in 2.23s
Finished dev [unoptimized + debuginfo] target(s) in 1m 3.94s
Finished dev [unoptimized + debuginfo] target(s) in 7m 8.65s

Note that I also changed secs to s, because 7 mins 8.65 secs and 7m 8.65 secs both look strange IMO. But if you disagree and you'd prefer secs, just tell me and I'll change it.
I didn't add a check for secs >= 3600 to print the time in hours. I hope this is not necessary...

That's what I get for using the GitHub web editor to hack on Cargo...
Anyway, now I fixed the problem and ran cargo test locally without failures. Now it should hopefully be fine.

@bors r+
Thanks!
I think that this might break some tools that try to parse this time, but this is a human-readable output, and we don't guarantee its stability.

:pushpin: Commit f7773d8 has been approved by matklad

:hourglass: Testing commit f7773d88eb2befee1cdd0cb67c0fce2c726e0847 with merge b21b44a09ea657e42bd6749d6c4a009747d15d5e...

:broken_heart: Test failed - status-travis

:umbrella: The latest upstream changes (presumably #5432) made this pull request unmergeable. Please resolve the merge conflicts.

Rebased

@bors: r=matklad

:pushpin: Commit 3572813 has been approved by matklad

:hourglass: Testing commit 357281374ded32891c875b1d61953bfc6b855ec9 with merge 420f9ec576f93f35366a610a4be3a805e9021f7c...

The seconds' fraction is redundant with minutes, imho, but it's too late.

but it's too late.

It's never to late for a PR :)

@pravic agreed, without the fractions it would look cleaner!

I agree, too.
I am going to send a PR if anybody else has not been working on this yet.


Fixes #1296 by not contacting Alexa with an empty list of entities.

This also changes the entity parsing code to be extremely defensive so that this function won't break startup no matter what Amazon returns.
I have tested this as thoroughly as possible. It does not make anything worse and I'm 99% sure it fixes the bug. That missing 1% is because I had to fake this state in code because there doesn't appear to be a way to turn off Alexa Guard once its enabled on your account. I have requested help testing on the issue and hopefully someone can give me confirmation there,

Fix confirmed as working by original reporter.


Column grouping support on OData Data Source

Hi,
I noticed (watching the http traffic) that if I apply grouping on a grid binded to OData the grid will download ALL the data and than applies grouping on the client side.
In this way, if I have 1000000 records on the db, DevExtreme Grid downloads all the 1000000 items and then it will applies grouping.
Is there a way to apply grouping on the server side (as it should be)?
Thanks a lot

Paging, filtering, and sorting are performed on the server side for ODataStore. Other operations are always client-side. Currently, ODataStore does not support server-side grouping. That is why grouping is performed on the client. Please refer to ODataStore - Remote Aggregation Support GitHub page for additional details.

Hi, do we have server side grouping feature available now ?


Using authentication

Hello. I'm working on a nodejs server. How do I add authorization to this REJSON module in my app. All attempts have failed using this approach.
const client = new ReJSON({
    host: 'localhost',
    port: REDIS_PORT_OUT,
    auth_pass: REDIS_PWD
});

The error showing is:
[ioredis] Unhandled error event: ReplyError: NOAUTH Authentication required.

@1skonty1 Hi, I think auth_pass needs to be password in order for this to work.

@1skonty1 Hi, I think the auth_pass is not the correct key, it should be password. Let me know if that doesn't work.

Thanks, password worked


Added tests to history_events.go.

What changed?

Covered all the branches and methods. The coverage should be 90% +

Why?
Code coevrage

How did you test it?
unit tests

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018f5980-bab2-4480-a8ea-58a80a8e70c9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
74 unchanged lines in 14 files lost coverage.
Overall coverage decreased (-0.02%) to 68.483%

Files with Coverage Reduction
New Missed Lines
%

common/cache/lru.go
2
92.89%

common/task/fifo_task_scheduler.go
2
87.63%

service/matching/taskListManager.go
2
80.65%

common/membership/hashring.go
2
84.69%

common/persistence/historyManager.go
2
66.67%

service/history/task/transfer_standby_task_executor.go
3
87.45%

service/history/task/task.go
3
84.81%

common/persistence/statsComputer.go
3
96.07%

service/history/task/fetcher.go
4
85.05%

common/task/weighted_round_robin_task_scheduler.go
6
87.06%

Totals

Change from base Build 018f5920-e167-45cd-8901-b0a5fa3bbbfc:
-0.02%

Covered Lines:
100589

Relevant Lines:
146881

💛  - Coveralls


[Docs]  A dedicated page about Appsmith security

We need a page that we send to users when they ask about the security of Appsmith. This is a big concern for any mid-large company. Today our security section is sparse and doesn't inspire confidence.

@areyabhishek we have this page.
https://docs.appsmith.com/v/v1.2.1/security
Any ideas on what additional information we should add? Or good references to similar pages?
One point I remember was about the overall architecture of the platform is missing
Sentry has a good page but I think this might stem from a lack of some of these features
https://sentry.io/security/

Oh I had forgotten about this. We just need to modify this one then.

We can add a few more details about the location of our servers.
How organization security works(you can't access apps unless you've been invited)
People can create accounts on different self-hosted instances, but they won't be able to access data of a different organization
How to disable self-hosted sign ups to ensure new accounts don't get created.

Airtable: https://airtable.com/security
Freshworks: https://www.freshworks.com/security/
Zendesk: https://www.zendesk.com/product/zendesk-security/
Slack: https://slack.com/intl/en-in/trust/security


initial content for 2.6.7

Signed-off-by: Gary A Korhonen<EMAIL_ADDRESS>Fixes https://github.com/rancher/dashboard/issues/6430
Includes 2.6.6 blurb though there was only one bug addressed

Summary
Fixes #6430

Short summary of changes in Rancher 2.6.7 (plus including potential copy for 2.6.6) to be shown in the UI
Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Verify that What's New shows the expected copy
Areas which could experience regressions

Screenshot/Video

This is presently a draft. Stand by for future updates and proofreading.

@deniseschannon the rest is up to you for both 2.6.7 and if we want anything for 2.6.6


Bookmarking function does not work

Assalamu 'Alaikum my brother.
I have found a bug in a function you have implemented in rel. 1.3. which I am not making use of - but I would like to mention - because other people could need it.
My smartphone as Android 5.0 Lollipop as operating system and when I have a verse displayed on the screen and press the bookmark button the app crashes.
If you can't reproduce this problem on your device then please forget what I wrote. The operating system on my device is a custom version. Maybe the bug could be related to it.
Although it works flawlessly in all other apps - but it could be the root cause for the bug.
May Allah take care of you!

Walaikum Assalam Wa Rahmatullah.
I didn't get anything like this with the devices I have checked the app. May be, your assumption is correct or there is a problem with storage system. Do you have an external storage with your device?

Here is a new update: https://github.com/frrahat/Quran-For-My-Android/releases/tag/1.3.1
I highly expect that it will solve the problem, if the problem was for storage location, but I am not sure.

Assalamu 'Alaikum my brother.
Thank you for taking care!
I have downloaded the new app onto my phone and unfortunately the bookmarking function led again to an app crash.
Then I have downloaded it also to another phone which is also running on Android 5.0 - and unfortunately this one shows also the same behaviour.
Both devices have external storage.
But it could be also related to the customized ROM's on the devices. I can confirm that all other installed apps work fine.
If you need further information please let me know.
I feel honor in helping you.

I have installed it also on a device with Android 4.0 and when pressing the bookmark button it sayed "Couldn't get target ayah. Try in verse mode". When pressing again it crashed.
Now when I start the app on the device and press the button it crashes without the mentioned text.
This device is on stock rom. It has also external storage (separate micro SD card).
Hope this information helps you in finding the bug.

Jazakallahu khairan for your kind interest and patience. Alhamdulillah! I think, I have found out what is the cause of this problem.
At first I thought, there would be a problem with the storage system, or your device was somewhat different. I rechecked my code, but wasn't able to find which was creating the difference. But now Alhamdulillah, I think I have found out the missing block. That is with the Word By Word text mode for which I forgot to be careful of and this is reason the bookmarking should crash on all devices!
I think, you are using Word By Word Text as the primary text, so you have faced this problem, aren't you?
Jazakallahu khairan for pointing out this bug. Insha Allah, I will give a new update with the fix of this problem.

Wa Antum fa Jazâkumu-Allâhu khayran!
Yes indeed I am using the unchanged words of Allah first. In addition I am reading the transliteration and the English translation. In addition the Turkish and German translation whenever I do not understand the meaning or to see how other translations have translated from the original in Arabic.
This is why I love your app because it offers me the possibility to do this.
And indeed this is a nice forum here which makes me possible to say thank you personally.
Thank your very much for this fantastic app!
May Allah take care of you and support you.

All praises be to Allah, He gave me the chance to build this app. Wa ma taufiqi illa billah.
Now here is a new one. If you find time, please check this release: https://github.com/frrahat/Quran-For-My-Android/releases/tag/1.3.2
Jazakallahu khairan for your continuous feedback.

Wa Antum fa Jazâkumu-Allâhu khayran.
Sorry for my late response I was on a business trip the last days and had no time to check this forum.
You are right, all success is by Allah.
I have prayed that your success continues.
I have installed the newest build and tested it.
It works fine!
Thank you very much.
May Allah protect and guide you.

Thanks for your response. May Allah also protect and guide you.
As the bug is fixed, I'm closing this issue.


New package: Games v0.1.0

Registering package: Games
Repository: https://github.com/QuantEcon/Games.jl
Created by: @sglyon
Version: v0.1.0
Commit: ba80bd23db492f8e5fba26ca76cc67807d455a7e
Reviewed by: @sglyon
Reference: https://github.com/QuantEcon/Games.jl/commit/ba80bd23db492f8e5fba26ca76cc67807d455a7e#commitcomment-56470291

does it make more sense to call it GameTheories.jl

Yes, I'll probably change it to something like that. Thanks for the suggestion!

Close please


Plugin does not show up

I am not a very pro user of Ghidra (starting to learn about exploit development etc.) so sorry if this is actually just me being dumb.
Using Ghidra on windows 10.
Changed the extensions.properties file to use version 9.1
Created a ZIP file of the PatchDiffCorrelator folder and installed that through Ghidra.
Ghidra says everything is ok, but no extra correlation algorithms are added to the version tracking.

I will generate release files for Ghidra 9.1 this weekend.

I just uploaded ghidra_9.1_PUBLIC_20191102_PatchDiffCorrelator.zip. This will work with the new version 9.1 from ghidra-sre.org.

Ah so it was indeed my mistake :P I'll read into compiling plugins for Ghidra a bit, thanks for the new releases!


Adding matrix square root op

This PR adds the matrix square root op support requested in #9202.
The implementation calls the Eigen sqrt() method in a manner nearly identical to the matrix exp() and log() calls. The gradient computation is included, with an explanation given in the inline comments of linalg_grad.py.
Any feedback would be much appreciated!

@rmlarsen Thank you very much for the feedback! I’ve just pushed a commit that I believe includes the requested changes.

@rmlarsen do the changes look good to you?
@jonathanwyatt16 could you resolve conflicts?

Nagging Assignee @martinwicke: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I've just rebased this PR again to resolve another merge conflict.

Nagging Assignee @martinwicke: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Any update please ?

I just triggered the tests. @rmlarsen can you check that your comments have been addressed?

I've just rebased this PR again to resolve another merge conflict.

Nagging Reviewer @rmlarsen: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 14 days with no activity and the awaiting review label has been applied.

I've just rebased this PR again to resolve another merge conflict.

I think you addressed @rmlarsen's comments. @rmlarsen, please speak up if I'm wrong.

@martinwicke I’ve just pushed a commit that I believe addresses six of the test failures--still troubleshooting the clang-format check failure. Would it be possible to trigger the tests again?

Hi,
I need this matrix square root badly. I was wondering, can I have it by building Tensorflow from source?
Any help would be really appreciated since I am a newbie.

@martinwicke Thanks for triggering the tests. I've just pushed a commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed a commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed another commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed another commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed another commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed another commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed another commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.

@martinwicke Thanks for triggering the tests. I've just pushed a commit that I believe addresses the clang-format test failure. Would it be possible to trigger the tests again?
@MarziEd I'm hopeful that we will be ready to merge this PR soon. Until then, feel free to clone the matrix_square_root branch from my fork and build it by following this documentation.


cp is not defined

When I run pm2 install pm2-server-monit it fails. Checking the logs with pm2 logs pm2-server-monit shows the exception:
0|pm2-serv | ReferenceError: cp is not defined
0|pm2-serv |     at /Users/user/.pm2/node_modules/pm2-server-monit/lib/proc.js:12:39
0|pm2-serv |     at ChildProcess.exithandler (child_process.js:189:7)
0|pm2-serv |     at emitTwo (events.js:106:13)
0|pm2-serv |     at ChildProcess.emit (events.js:191:7)
0|pm2-serv |     at maybeClose (internal/child_process.js:920:16)
0|pm2-serv |     at Socket.<anonymous> (internal/child_process.js:351:11)
0|pm2-serv |     at emitOne (events.js:96:13)
0|pm2-serv |     at Socket.emit (events.js:188:7)
0|pm2-serv |     at Pipe._handle.close [as _onclose] (net.js:497:12)

Looking at the line show in the top of the stack it does indeed seem to be undefined as child_process is not required: https://github.com/pm2-hive/pm2-server-monit/blob/master/lib/proc.js#L12

Thanks!

pm2 -v
2.10.2

0|pm2-serv | ReferenceError: cp is not defined
0|pm2-serv |     at /Users/nathansculli/.pm2/modules/pm2-server-monit/node_modules/pm2-server-monit/lib/proc.js:12:18
0|pm2-serv |     at ChildProcess.exithandler (child_process.js:267:7)
0|pm2-serv |     at emitTwo (events.js:126:13)
0|pm2-serv |     at ChildProcess.emit (events.js:214:7)
0|pm2-serv |     at maybeClose (internal/child_process.js:925:16)
0|pm2-serv |     at Socket.stream.socket.on (internal/child_process.js:346:11)
0|pm2-serv |     at emitOne (events.js:116:13)
0|pm2-serv |     at Socket.emit (events.js:211:7)
0|pm2-serv |     at Pipe._handle.close [as _onclose] (net.js:554:12)

I believe this error has returned.


New release make code fail.

Dear Tolentino,
first of all Congratulation for this amazing delevopment.
I would like your help, if is possible.
Since you release new version I can't get make code working.
Initially let's inform you my setup:
ESP8266 nodeMCU and Wemos D1
ESP8266 Core = 2.7.4
ArduinoJson version: 6.17.1
AsyncTelegram version 1.0.8 (with a small change as described below)
In order to have the version 1.0.8 working I have to increase the Buffer Size as indicated in the issue: https://github.com/cotestatnt/AsyncTelegram/issues/6
So, in my library I have:
DynamicJsonDocument doc(BUFFER_BIG);

I have attached the code and also the library I am using, in order to keep same scenario.
test_AsyncTelegram.zip

As soon as I update your library for last version, inline keyboard is not available anymore, even change the code as before.
To test:
You should inform your userId, because I have in this code is a function to validate the user who will interact with the bot.
int userId[] = {2360873, 0, 0, 0, 0, 0}; //--> Should include your UserID ==> send message to @myidbot
Thanks in Advance.
Edson

Hi, I did some more test and I found the following.
If I increase the buffe to 1024, as before:
DynamicJsonDocument doc(BUFFER_BIG);
Always After code is uploded, Telegram can't conect.
Checking the Serial port we have the following:

After a manual reset, the keybord is there.
Hoewever this error happened just twice - just mentioned because can be relevant to track.....
Thanks!

Thank for your feedback and patience @HackEduca
You pointed my attention on two different bugs, indeed
The first is related to WiFi connection: at this point I assume that wifi is connected, but strangely immediatly after uploading new firmware, at the very beginning this is not true. Adding instruction WiFi.reconnect() seem solve the issue.
In relation to the keyboard problem, the size too small is this (related only to keyboard json and not to the complete message). I've doubled it now.

Thanks a lot for your prompt reply!
Appreciate your effort to make it available.
Grazie
Edson


how to use GPU functions? I want to use cv::cuda::resize.

I want to use cv::cuda::resize function in Matlab. It seems that cv.resize is the appropriate way and help cv.resize not working.
Is it possible to use GPU/CUDA functions in Matlab with OpenCV Matlab interface? If yes, How?
Thanks

From the official matlab docs I found out that it should be possible, if you have the correct toolboxes installed.

GPU support is available on glnxa64, win64, and Mac platforms. The GPU-specific utility functions support CUDA-enabled NVIDIA GPU with compute capability 2.0 or higher. See the Parallel Computing Toolbox™ System Requirements, The GPU utility functions require the Parallel Computing Toolbox software.

More info also availble at an official CUDA page on this topic.

Thank you for your reply but I want to use OpenCV GPU functions in Matlab with this project(Matlab Interface). I know GPU is supported in Matlab and I am already using it!

More info also availble at an official CUDA page on this topic.

In this article you must have Computer Vision Toolbox and it is expensive. It is not related to this topic. It is another way.


Isn't it possible to make the bot filter such issue before they get created?

Isn't it possible to make the bot filter such issue before they get created?
Originally posted by @AdhTri001 in https://github.com/microsoft/vscode/issues/139932#issuecomment-1003114678

Don't spam the repos


Please Clarify the Effects of Enabling Organizational Licensing and Allowing Volume Acquisition in the Business and Education Stores

What does allowing Organizational Licensing mean?

An organization can purchase a license (one-and-only-one) for the list price.  Once owned by that organization, they can assign that one volume license to any users in their company without additional charge?  In this case, the organizational license is a one time fee for a companywide license.
An organization can purchase a desired number of licenses (one-to-many licenses) at a multiple of the list price, and assign the license to one user for each license purchased. In this case, the "organizational license" option permits companies to acquire reassignable-user-licenses.

Example
If I publish a "paid application," for a price of $4.99 USD, what are the effects of enabling organizational licensing and allowing volume acquisition?
Effect in the Microsoft Store is Clear
In the Microsoft Store, every user that wants to acquire the application must pay $4.99.  That's clear and intuitive.  But, in the Microsoft Store for Business and the Microsoft Store for Education, what is the effect of allowing Organizational Licensing?
Effect in the Microsoft Store for Business is Ambiguous
I can't determine which outcome is expected.

The organization gets to acquire unlimited use of the application from the MS Store for Business for a onetime fee of $4.99. They can distribute it to anyone inside their organization without paying anything more than $4.99.
The organization gets to purchase one-or-many licenses for their users; they then assign the license to their one-to-many users.  If the organization decides to buy 100 licenses, they would pay $499.00 for those licenses.  They assign them to specific users.  If a user is no longer using the license, they can re-assign the license to another user?

The Difference is Needed to Determine  a Vendors List Pricing
The way a publisher should price their software is not clear.  I can't find the answer in this document, or any other.  If I choose to allow organizational licensing, or volume acquisition (the terms seem to be used interchangeably in the documentation), am I pricing a company-managed-user-license or a companywide-license-for-all-users?  In my example, should assume that the company will pay $4.99 for each user they want to access the software?  Or, should I charge a larger fee, assuming that all users at the company will have access to the software.
To put it into programming terms, does organizational licensing effect the customers price using a O(1) function or a O(n) function?
Thanks and Cheers!

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

ID: 6ad7be45-44d1-9ebe-4731-bdc64abb2127
Version Independent ID: 9b9197c3-1301-3405-b700-36fa3698cca9
Content: Organizational licensing options - UWP applications
Content Source: windows-apps-src/publish/organizational-licensing.md
Product: uwp
Technology: publish
GitHub Login: @hickeys
Microsoft Alias: hickeys

We are changing the way we track issues filed from our documentation pages: please see this blog post for more details. The Microsoft Store documentation has been updated several times since your issue was reported, and there's a good chance your problem has been addressed. Right now, this issue is being closed but if you feel it is still valid and has not been addressed, please re-open it with any more available information. Please note that if you question is more general and not related to documentation, Microsoft Q&A is a great way to get questions answered.


SegmentWithWatershedImageFilterTestPython2 failing test

This issue is derived from #131 to keep track of indivial examples failing tests.
The following tests fail with ITK's latest release:

SegmentWithWatershedImageFilterTest02Python

SegmentWithWatershedImageFilterTest02BaselineComparisonPython

The issue arrises on line 76 of src/Segmentation/Watersheds/SegmentWithWatershedImageFilter when the colormapImageFilter object attempts to initialize its enumeration value. Due to the recent transition from 'c' style enums to enum class objects in source ITK, many enums were changed and moved.
The enumeration: RGBColormapFilterEnumType  was created and moved outside its class: ScalarToRGBColormapImageFilter in source ITK. This enumeration was not wrapped and thus cannot be accessed in ITKPythonPackage 5.1b1. More information can be viewed in HEAD issue #131.
When these enumerations are properly wrapped and implemented into the ITKPythonPackage, the failing test should resolve. Subsequently, the BaselineComparison test should pass as the error should not affect the resulting image.

Fixed in #156. Closing now.


More animations!

We can do better. Being so used to material-ish UIs, OpenSprites "transitions" are currently kind of jarring.

I disagree - we're not using material for the majority of the site and many background/color transitions look weird. Try adding * { transition 300ms } to the style.

At the very least we can do some opacity transitions though, right?
Also, currently the way stuff (especially markdown editors) change height all the time and affect the entire page height looks bad imo. Either standardize the height or make a height animation.

I agree, I couldn't get past the lack of basic transitions on the buttons.

@andrewjcole The buttons look horrible with a transition.

.subjective.avi

I tested in inspect element with a 0.1s 1.05x scale and background fade on the flat buttons and it looks much more smooth than the immediate hover effect we have now.
If we don't agree on whether we need more animations or not we could have it be a user setting

Even just a simple fade? I honestly don't know how that could make so much of a difference.

Also, I think a setting would be a bit redundant. Would users really care to switch something that pointlessly specific?

@andrewjcole What if we used a setting that said "Enable fancy animations"? This way users could turn it off if their browser "didn't like it" or can't support it.

Meh.
I'll add it for now./=

@andrewjcole the point is to appease the great @nanalan while still being able to have the UI look nice for people that want it (everyone)

Is this complete?

The non-white buttons still don't have transitions btw.

@andrewjcole They aren't supposed to.


📄 Update LICENSE for 2022

Starting to dig into the codebase here a bit. Figured I'd make a low-hanging-fruit contribution to say hello 😄

I added this to the current loadwallet branch https://github.com/bitcoin-s/bitcoin-s-ts/pull/164 with a "2021-2022" to match the Bitcoin-S copyright format.


FTP deployment is not working in Windows 10

Hi,
I'm using windows 10. Npm run ftp never worked. It states 'Failed to connect to the FTP server'
I can connect to the ftp server with my usual client.
Thank you for your help!

Just tested on Windows 10 Professional - no issues. Please let me know if you have still issues.

I will try again and update info


Add more io utils

We're currently processing your upload.  This comment will be updated when the results are available.


blockchain update status inaccurate when disconnected from internet

So, I just got home and checked my wallet. Last updated 2 second ago. Then I notice that my wifi is off and it's not plugged in to ethernet.
Can the QT wallet reference the internal computer clock to indicate that it's actually out of date?

I think I see what you mean. After an immediate Internet disconnect in the Qt wallet the bottom right syncing icon does not change to the 'disconnected' icon state.


BigInteger encoding fixed

use nimbus jwt library for modulus to base64 convert
nimbus can be used for further other task in context of oidc, therefore add library not only for this issue

This looks good, approach-wise (using a standard lib).


MicroROS spin_some() blocks the functionality of the Adafruit bno08x library

I'm a college student working on a robotics project that requires interfacing with various sensors on a Teensy 4.1 connected by serial to a Raspberry Pi. Currently, we're using ROS2 Humble on the Pi and microROS on the Teensy to pass messages back and forth:
[env:teensy41]
platform = teensy
board = teensy41
framework = arduino
board_microros_distro = humble
board_microros_transport = serial
board_microros_user_meta = custom.meta

It works great for the majority of our sensors, but we ran into a bug that might be a bit over our heads the other day as we added the Adafruit BNO085 IMU library:
https://github.com/adafruit/Adafruit_BNO08x
We have a state machine in our main loop() on the teensy that manages our agent connection and runs two basic functions: imu_update() (which follows the code of the basic examples on the github extremely closely) and rclc_executor_spin_some():
void loop() {
  // FIRST IMPORTANT FUNCTION CALL
  imu_pub.imu_update();

  // state machine to manage connecting and disconnecting the micro-ROS agent
  switch (state) {
  case WAITING_AGENT:
    EXECUTE_EVERY_N_MS(500, state = (RMW_RET_OK == rmw_uros_ping_agent(100, 1))
                                        ? AGENT_AVAILABLE
                                        : WAITING_AGENT;);
    break;

  case AGENT_AVAILABLE:
    state = (true == create_entities()) ? AGENT_CONNECTED : WAITING_AGENT;
    if (state == WAITING_AGENT) {
      destroy_entities();
    };
    break;

  case AGENT_CONNECTED:
    EXECUTE_EVERY_N_MS(200, state = (RMW_RET_OK == rmw_uros_ping_agent(100, 1))
                                        ? AGENT_CONNECTED
                                        : AGENT_DISCONNECTED;);
    if (state == AGENT_CONNECTED) {
      // SECOND IMPORTANT FUNCTION CALL
      rclc_executor_spin_some(&executor, RCL_MS_TO_NS(10));
    }
    break;

  case AGENT_DISCONNECTED:
    destroy_entities();
    state = WAITING_AGENT;
    break;

  default:
    break;
  }
}

The IMU functionality is a bit different than what I'm used to -- from the library it looks like a "SH-2 Sensor Hub" holds a queue of received data from the IMU (updated on some sort of interrupt callback) that we can check and then pull from in our imu_update function. It works great as long as we're not calling the rclc_executor_spin_some() function -- then the data in the queue disappears until we're not calling spin_some() anymore, whether by disconnecting the agent or simply commenting out the spin_some() line. We've done some pretty extensive testing, and both the IMU update function and the microROS aspects of the code work, just not at the same time.
Is it possible that microROS or the agent is "blocking" the IMU library from executing the internal callbacks that put data in the queue? If so, what would be the best approach to making them work together?

Hello @snelson-durrant, I'm not sure about the usage of your sensor and library.
How is the library communicating with the sensor? Is it possible that it is interfering with the UART port that the micro-ROS Client is using to communicate with the micro-ROS Agent?
In the case you need to call imu_pub.imu_update() at a specific rate, you need to be careful with the micro-ROS part.
Is the timing of imu_pub.imu_update() critical for the correct behavior of the sensor library?

We're using I2C and tested some varying delays in main() to try and replicate the issue with no success, but it may be an timing issue internal to the library. For now, we've hacked together a couple custom library functions that modify it a bit to get around the parts that don't work when microROS is running, but we'll look into using an RTOS in the future. Thanks for your help!


Plenty System.NotImplementedExceptions

Describe the bug/problem
While crawling a few blogs dozens of System.NotImplementedExceptions are showing up in Visual Studio's log window. But all files seem to be downloaded.
To Reproduce
Steps to reproduce the behavior:

Run TumblThree from Visual Studio
Crawl one or more blogs
Inspect the blog's folder
Watch the Immediate Window

Expected behavior
If there are no real problems and the files are downloaded, there shouldn't be so much exceptions showing up.
Desktop (please complete the following information):

TumblThree version: <IP_ADDRESS>
OS: Win 10

Does anyone know how to track these exceptions and to find its source? Can you solve it?

As before this one is for first-timers-only. That means that we will only accept a PR for this one from someone who's never contributed to open source before. This one is particularly easy (but don't make that statement make you feel bad if you have a hard time with it, there's more to contributing to open source than changing lines of code, especially if it's your first time). We walk you through it if you need help. :-) Here are the steps to get a PR merged here (see also our wiki).

[x] Create a fork of the repository
[x] Clone it to your local disk and create a new branch (e.g. 99-fix-notimplementedexceptions)
[x] Build the app and run it in debug mode of VS
[x] Add a few blogs and download them, inspect the VS log/immediate window while downloading the blogs, and recognize the plenty NotImplementedExceptions thrown
[x] Find out how this uncaught exceptions can be inspected with reconfigured VS
[x] You should come to a method inside TumblrJsonDownloader.cs
[x] Find out why VS debugger breaks on that line. Read the MS documentation for the used method, also try to find/google the MS source code of that method from the "equivalent" .net core framework to get an idea
[x] For an async method you normally await another async method. So the original author used the found method, because its one of the rare async methods available in that class
[x] Find an alternative for this exception throwing line, look for its necessity, other async methods and default tasks
[x] Commit your changes mentioning "issue #99" in the commit message
[x] Push your changes to your fork, create a PR, get merged, celebrate ??

We are happy to support you if you need help.

Hi,
this is still relevant? I haven't seen any System.NotImplementedExceptions in the VS log, but I saw a lot of System.IO.IOException "The process cannot access the file 'file path' because it is being used by another process".

Hi,
yes, it's still there. You have to enable the options "Dump crawler data" and "Metadata format: JSON" in the blog's settings.
And yes, you just found another problem in the area of dumping crawler data. But that's not necessarily part of this issue.

Thanks for your first contribution and PR to open source, and especially to the TumblThree project.
Your PR has been merged and you've been added to our list of contributors.
You are welcome to solve some more issue (not first-timers-only).


Update http.md

Feel free to shoot this down

I agree. Figuring out how deep to go will be a struggle for me too. I think that it would be interesting to have a page of cut information for advanced students or people who are just interested. Just an idea.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: Lee S @.>
Sent: Tuesday, January 10, 2023 9:58 AM
To: webprogramming260/.githubmailto:
Cc: Jake @.>; @.***>
Subject: Re: [webprogramming260/.github] Update http.md (PR #4)
@leesjensen commented on this pull request.
I actually had a paragraph about HTTP being human readable, but I pulled it out because starting with HTTP/2 it actually is binary just like TCP. I think we all still think of it as text because the browser debugger displays it this way.
I also worry a bit about providing too much information that doesn't really provide direct value and just takes longer to digest the content. For example, the new features of HTTP/2 and HTTP/3 are really interesting, but probably more appropriate of a networking class. But, I'm with you. I love to dig into the details of things like this. So it is a constant battle for me about how deep to go.
So glad to be working with you. Let me know what you think about this.
—
Reply to this email directly, view it on GitHubhttps://github.com/webprogramming260/.github/pull/4#pullrequestreview-1242641325, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZ23S5CN6CRUVRO3VIXPCGTWRWIM7ANCNFSM6AAAAAATV53744.
You are receiving this because you authored the thread.Message ID: @.***>

Something to consider more deeply.


POSIX WIP: Enable Q attitude estimator and INAV

The Q estimator seems to run fine, but INAV segfaults on boot on POSIX.

@mcharleb Depending on your availability today a quick look at the position_estimator_inav start segfault would be appreciated.


[Event Request] Codeunit 80 Sales-Post, OnAfterPostCustomerEntry

Please add the following event to codeunit 80 Sales-Post, function PostCustomerEntry(). I need to process some code when the customer ledger entry is inserted. The corresponding function PostBalancingEntry() already contains the OnBefore and OnAfter publisher around GenJnlPostLine.RunWithCheck().
Issue #1523 has a similar requirement, but based on the conversation I can't figure out if it's about the same publisher.
  Amount := -TotalSalesLine2."Amount Including VAT";
  "Source Currency Amount" := -TotalSalesLine2."Amount Including VAT";
  "Amount (LCY)" := -TotalSalesLineLCY2."Amount Including VAT";
  "Sales/Purch. (LCY)" := -TotalSalesLineLCY2.Amount;
  "Profit (LCY)" := -(TotalSalesLineLCY2.Amount - TotalSalesLineLCY2."Unit Cost (LCY)");
  "Inv. Discount (LCY)" := -TotalSalesLineLCY2."Inv. Discount Amount";

  OnBeforePostCustomerEntry(GenJnlLine,SalesHeader,TotalSalesLine2,TotalSalesLineLCY2,SuppressCommit);
  GenJnlPostLine.RunWithCheck(GenJnlLine);

  // >> New
  OnAfterPostCustomerEntry(GenJnlLine,SalesHeader,TotalSalesLine2,TotalSalesLineLCY2,SuppressCommit);
  // << New

END;

Publisher Definition:
[IntegrationEvent] OnAfterPostCustomerEntry(VAR GenJnlLine : Record "Gen. Journal Line";SalesHeader : Record "Sales Header";VAR TotalSalesLine : Record "Sales Line";VAR TotalSalesLineLCY : Record "Sales Line";CommitIsSuppressed : Boolean)
Thank you very much.

The event already exists. Please make sure to always use a recent bcsandbox-master Docker image before filing new requests.


Publishing messages with authCallback is broken after upgrading from 1.1.16 to 1.2.1

Ably SDK Version: 1.2.1
iOS: iOS13.6, simulator
Cocoapods: 1.9.3
Xcode: 11.6, Build version 11E708
Unable to publish messages with authCallback enabled. Shared logs from 2 scenarios for better understanding.

This scenario is based on authCallback, for publishing one message(same as above) by acquiring TokenRequest json form https://www.ably.io/ably-auth/token-request/demos

As far as I remember, this used to work well before upgrade

2020-10-03 12:11:01.025098+0530 Runner[92073:745806] flutter: Sending rest message
2020-10-03 12:11:01.026661+0530 Runner[92073:745566] AblyFlutterPlugin.m:327 publish(AblyFlutterMessage)
2020-10-03 12:11:01.027102+0530 Runner[92073:751706] VERBOSE: RS:0x600001cd8d80 ARTJsonLikeEncoder<msgpack>: messageToDictionary {
    clientId = "*";
    data = "Flutter 1";
    name = Hello;
}
2020-10-03 12:11:01.028955+0530 Runner[92073:751706] DEBUG: RS:0x600001cd8d80 ARTJsonLikeEncoder<msgpack> encoding '{
    clientId = "*";
    data = "Flutter 1";
    name = Hello;
}'; got: {length = 38, bytes = 0x83a46e61 6d65a548 656c6c6f a8636c69 ... 6c757474 65722031 }
2020-10-03 12:11:01.030651+0530 Runner[92073:751706] DEBUG: (ARTRestChannel.m:332) RS:0x600001cd8d80 C:0x600000aef1e0 (test) post message (null)
2020-10-03 12:11:01.033253+0530 Runner[92073:751706] DEBUG: (ARTRest.m:286) RS:0x600001cd8d80 calculating authorization 1
2020-10-03 12:11:01.035479+0530 Runner[92073:751706] VERBOSE: RS:0x600001cd8d80 ARTRestInternal reusing token: authorization bearer in Base64 Bearer STJFX0pRLkRCUklTOTRQdGQzNWlLRmRlZTB1bzEwSFpqZ09sZC01NEQtSXc1dU03dGt6NUo5RmdHc1c2bkktN1RwUU40YXhFekl1UGRiRE90bXJTSkNqUkpaOFBUdi12UkR5MllPSEp3OGpjUFhmMWVtanNUc1Vnd1FGUEMxeXkzNTVobnBKYw==
2020-10-03 12:11:01.037713+0530 Runner[92073:751706] DEBUG: (ARTRest.m:341) RS:0x600001cd8d80 executing request <NSMutableURLRequest: 0x600002cd6370> { URL: https://rest.ably.io:443/channels/test/messages? }
2020-10-03 12:11:01.040171+0530 Runner[92073:751706] DEBUG: POST https://rest.ably.io:443/channels/test/messages?
2020-10-03 12:11:01.042147+0530 Runner[92073:751706] VERBOSE: Headers {
    Accept = "application/x-msgpack,application/json";
    Authorization = "Bearer STJFX0pRLkRCUklTOTRQdGQzNWlLRmRlZTB1bzEwSFpqZ09sZC01NEQtSXc1dU03dGt6NUo5RmdHc1c2bkktN1RwUU40YXhFekl1UGRiRE90bXJTSkNqUkpaOFBUdi12UkR5MllPSEp3OGpjUFhmMWVtanNUc1Vnd1FGUEMxeXkzNTVobnBKYw==";
    "Content-Type" = "application/x-msgpack";
    "X-Ably-Lib" = "cocoa.ios-1.2.1";
    "X-Ably-Version" = "1.1";
}
2020-10-03 12:11:01.115300+0530 Runner[92073:751727] DEBUG: POST https://rest.ably.io:443/channels/test/messages?: statusCode 400
2020-10-03 12:11:01.117460+0530 Runner[92073:751727] VERBOSE: Headers {
    "Access-Control-Allow-Origin" = "*";
    "Content-Length" = 288;
    "Content-Type" = "application/json";
    Date = "Sat, 03 Oct 2020 06:41:01 GMT";
    Vary = Origin;
    Via = "1.1 8ce6c1082025b646a9044f0ebd185723.cloudfront.net (CloudFront)";
    "access-control-allow-credentials" = true;
    "access-control-expose-headers" = "Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server";
    "x-ably-errorcode" = 40012;
    "x-ably-errormessage" = "Malformed message; invalid clientId. (See https://help.ably.io/error/40012 for help.)";
    "x-ably-serverid" = "frontend.30a9.2.ap-southeast-1-A.i-0d88057852da824bd.a2dRQBgFAApzRc";
    "x-amz-cf-id" = "MR_XZX06oPseRtMfsWfr536Sf19gyTIREH35yJ7XcTwcptZ9NpMw5A==";
    "x-amz-cf-pop" = "HYD50-C2";
    "x-cache" = "Error from cloudfront";
}
2020-10-03 12:11:01.121106+0530 Runner[92073:751727] WARN: Malformed message; invalid clientId. (See https://help.ably.io/error/40012 for help.)
2020-10-03 12:11:01.123197+0530 Runner[92073:751727] DEBUG: RS:0x600001cd8d80 ARTJsonLikeEncoder<json> decoding '{length = 288, bytes = 0x7b0a0922 6572726f 72223a20 7b0a0909 ... 5263220a 097d0a7d }'; got: {
    error =     {
        code = 40012;
        href = "https://help.ably.io/error/40012";
        message = "Malformed message; invalid clientId. (See https://help.ably.io/error/40012 for help.)";
        serverId = "frontend.30a9.2.ap-southeast-1-A.i-0d88057852da824bd.a2dRQBgFAApzRc";
        statusCode = 400;
    };
}
2020-10-03 12:11:01.128831+0530 Runner[92073:745806] flutter: Rest message sending failed:: AblyException: Unable to publish message to Ably server; err = Malformed message; invalid clientId. (See https://help.ably.io/error/40012 for help.) (40012 ) :: ErrorInfo message=Malformed message; invalid clientId. (See https://help.ably.io/error/40012 for help.) code=null statusCode=400 href=null

Below are logs of a regular scenario for publishing one message with an AppKey from ably web console. This works well even now. ✅

2020-10-03 12:02:20.252363+0530 Runner[91577:742827] flutter: Sending rest message
2020-10-03 12:02:20.253795+0530 Runner[91577:742600] AblyFlutterPlugin.m:327 publish(AblyFlutterMessage)
2020-10-03 12:02:20.254230+0530 Runner[91577:743204] VERBOSE: RS:0x6000031cf330 ARTJsonLikeEncoder<msgpack>: messageToDictionary {
    data = "Flutter 1";
    name = Hello;
}
2020-10-03 12:02:20.256361+0530 Runner[91577:743204] DEBUG: RS:0x6000031cf330 ARTJsonLikeEncoder<msgpack> encoding '{
    data = "Flutter 1";
    name = Hello;
}'; got: {length = 27, bytes = 0x82a46e61 6d65a548 656c6c6f a4646174 ... 6c757474 65722031 }
2020-10-03 12:02:20.258187+0530 Runner[91577:743204] DEBUG: (ARTRestChannel.m:332) RS:0x6000031cf330 C:0x6000027f9560 (test) post message (null)
2020-10-03 12:02:20.260350+0530 Runner[91577:743204] DEBUG: (ARTRest.m:286) RS:0x6000031cf330 calculating authorization 0
2020-10-03 12:02:20.262461+0530 Runner[91577:743204] VERBOSE: RS:0x6000031cf330 ARTRest: Basic ZEJqQlJnLkZxVzRHQTo2OHhfaWJnSm55Q2ViRFVF
2020-10-03 12:02:20.266292+0530 Runner[91577:743204] DEBUG: (ARTRest.m:341) RS:0x6000031cf330 executing request <NSMutableURLRequest: 0x6000001fc130> { URL: https://rest.ably.io:443/channels/test/messages? }
2020-10-03 12:02:20.269178+0530 Runner[91577:743204] DEBUG: POST https://rest.ably.io:443/channels/test/messages?
2020-10-03 12:02:20.271531+0530 Runner[91577:743204] VERBOSE: Headers {
    Accept = "application/x-msgpack,application/json";
    Authorization = "Basic ZEJqQlJnLkZxVzRHQTo2OHhfaWJnSm55Q2ViRFVF";
    "Content-Type" = "application/x-msgpack";
    "X-Ably-Lib" = "cocoa.ios-1.2.1";
    "X-Ably-Version" = "1.1";
}
2020-10-03 12:02:20.369799+0530 Runner[91577:743433] DEBUG: POST https://rest.ably.io:443/channels/test/messages?: statusCode 201
2020-10-03 12:02:20.371978+0530 Runner[91577:743433] VERBOSE: Headers {
    "Access-Control-Allow-Origin" = "*";
    "Content-Length" = 37;
    "Content-Type" = "application/x-msgpack";
    Date = "Sat, 03 Oct 2020 06:32:20 GMT";
    Vary = Origin;
    Via = "1.1 e37f5a1ae470dcb726258db2701f5a4e.cloudfront.net (CloudFront)";
    "access-control-allow-credentials" = true;
    "access-control-expose-headers" = "Link,Transfer-Encoding,Content-Length,X-Ably-ErrorCode,X-Ably-ErrorMessage,X-Ably-ServerId,Server";
    "x-ably-serverid" = "frontend.d488.2.ap-southeast-1-A.i-034eda59464148a38.a2daXHOJwApydg";
    "x-amz-cf-id" = "wA_pvOxg2sfYlDhdfuzwRjMkBpTNrDyPH1wXONAwFVqkW4HeeDw2gA==";
    "x-amz-cf-pop" = "HYD50-C2";
    "x-cache" = "Miss from cloudfront";
}
2020-10-03 12:02:20.375436+0530 Runner[91577:742827] flutter: Rest message sent.

More details at https://ably-real-time.slack.com/archives/C0178QGC093/p1601707774003700

ably-flutter PR#33 awaiting this issue resolution

@tiholic how is your authCallback implemented? You say it is broken because it is returning 400?

@ricardopereira Yes
implementation of authCallback:
https://github.com/ably/ably-flutter/blob/feature/rest-channel-history/ios/Classes/AblyFlutter.m#L88
In the above source,

[self->_channel invokeMethod:AblyPlatformMethod_realtimeAuthCallback... will call dart code which will make API call to https://www.ably.io/ably-auth/token-request/demos
The response will be available as tokenData, a TokenRequest object, created from the response obtained from dart side here

⬆
😖 I pointed to the wrong issue number.

⬆
😖 I pointed to the wrong issue number.


Add example about enabling account

Adding example 5 about how to enable an account on premises if its been enabled in the cloud.

Docs Build status updates of commit b0f26c5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Enable-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@Kateyanne Please merge this PR. Thanks

Docs Build status updates of commit 6aed2e1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Enable-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2543e70:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Enable-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel