Debugging doesn't launch/attach when app is not in workspace root

I have my nativescript app in a subfolder (game-client) one level down from my workspace (/home/dev/source/wordgame).  When I try to launch or attach the debugger using:

"appRoot": "${workspaceRoot}/game-client"

nothing happens.  Turning on diagnostic logging gives me:
Console:

initialize({"clientID":"vscode","adapterID":"nativescript","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en-gb"})
attach({"name":"Android App","type":"nativescript","request":"attach","platform":"android","appRoot":"/home/dev/source/wordgame/game-client","sourceMaps":true,"watch":false,"diagnosticLogging":true,"__sessionId":"8d7f5f81-e6b3-4a65-b188-fd05717ebee8"})

And it just hangs there forever.
If I remove the /game-client from appRoot, the debugger tries to run but can't find the app.
Console:

initialize({"clientID":"vscode","adapterID":"nativescript","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en-gb"})
attach({"name":"Android App","type":"nativescript","request":"attach","platform":"android","appRoot":"/home/dev/source/wordgame","sourceMaps":true,"watch":false,"diagnosticLogging":true,"__sessionId":"aa614a26-048a-411b-9e52-0a7d63470658"})
[NativeScriptCli] execute: tns --analyticsClient VSCode --version
[NSDebugAdapter] Using tns CLI v3.2.1 on path 'tns'
[NSDebugAdapter] Running tns command...
[NativeScriptCli] execute: tns --analyticsClient VSCode debug android --no-client --start
[NSDebugAdapter] Watching the tns CLI output to receive a connection token
[31;1mNo project found at or above '/home/dev/source/wordgame' and neither was a --path specified.

I've tried passing in the --path via "tnsArgs" and the debugger will launch and attach but no breakpoints will be hit because it cannot find any of the files since the appRoot is still incorrect.
Console:

initialize({"clientID":"vscode","adapterID":"nativescript","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en-gb"})
attach({"name":"Android App","type":"nativescript","request":"attach","platform":"android","appRoot":"/home/dev/source/wordgame","sourceMaps":true,"watch":false,"diagnosticLogging":true,"tnsArgs":["--path=./game-client"],"__sessionId":"bf66e185-83c7-4aca-a9ff-ae7e71915a60"})
[NativeScriptCli] execute: tns --analyticsClient VSCode --version
[NSDebugAdapter] Using tns CLI v3.2.1 on path 'tns'
[NSDebugAdapter] Running tns command...
[NativeScriptCli] execute: tns --analyticsClient VSCode debug android --no-client --start --path=./game-client
[NSDebugAdapter] Watching the tns CLI output to receive a connection token
Searching for devices...
device: emulator-5554 debug port: 40000
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&ws=localhost:40000
[NSDebugAdapter] The tns command finished its execution with code 0.
[NSDebugAdapter] Ready to attach to application on 40000

Duplicate of #104


Warn user of dangerous Find in files queries

Like using a 1 char common letter search.

YES!

Would be nice if searches with tons of results don't cause FD to hang as well, I've managed to crash it a couple of times this way.

Yeah a security when reaching too many results would be sensible...


No Music clip selected error

Changed to 'No sound clip selected', could make both more universal and say no audio clip selected.

Cheers Kal!


ResolveInput instead of RejectInput, reserve inputs that are half-done getting interrupted

Do not merge for the moment

remaking this pr on a new branch, figured out the bug but would like to continue on that branch


Hive 1.2 changes [part1]

Abhishek,
Modified a hive ddl to point to folders instead of files. Kindly review the changes
Rahul

+1


memory leak for removeCollection

Hi
While benchmarking lokijs in a nodejs context (see https://github.com/sloki-project/sloki), i can see using heapdump and gc that the collection stay in memory.
If i replace the code below
https://github.com/techfort/LokiJS/blob/master/src/lokijs.js#L1212
/**
     * Removes a collection from the database.
     * @param {string} collectionName - name of collection to remove
     * @memberof Loki
     */
    Loki.prototype.removeCollection = function (collectionName) {
      var i,
        len = this.collections.length;

      for (i = 0; i < len; i += 1) {
        if (this.collections[i].name === collectionName) {
          var tmpcol = new Collection(collectionName, {});
          var curcol = this.collections[i];
          for (var prop in curcol) {
            if (curcol.hasOwnProperty(prop) && tmpcol.hasOwnProperty(prop)) {
              curcol[prop] = tmpcol[prop];
            }
          }
          this.collections.splice(i, 1);
          return;
        }
      }
    };

with just
Loki.prototype.removeCollection = function (collectionName) {
      var i,
        len = this.collections.length;

      for (i = 0; i < len; i += 1) {
        if (this.collections[i].name === collectionName) {
          this.collections.splice(i, 1);
          return;
        }
      }
    };

no more mem leak, heapdump show that the collection is really removed from nodejs memory (after gc, of course)
Do you have an idea why the removeCollection is implemented like this today ? perhaps there is a good reason to
 if (curcol.hasOwnProperty(prop) && tmpcol.hasOwnProperty(prop)) {
    curcol[prop] = tmpcol[prop];
}

but i didn't catch it.

git blame shows it came from PR #349 but I admit I don't entirely understand why the v8 engine can't automatically gc this from the splice.  The PR does seem to indicate nulling data, binaryIndices, and flushbuffer might be areas preventing gc though.
it sounds like heapdump is really useful for making reliable diagnostics on this, so if you get time to look into this maybe you can load up a (large-ish) sample collection with binary indices and see if there is more of a leak with your method than existing method.  Maybe try unique indices as well.  I should have some random data population in 'benchmarks' folder if you need it.
Although he probably doesn't remember this, if @alexandernst has any recollection he can provide it here otherwise I am open for any experimentation and measured instrumentation based changes if they lower lokijs memory footprint.

Hmmm... this is quite strange 🤔 Can you add del tmpcol; at the end, right before the return and check if the memory leak is still there?

already tried, you can not del tmpcol; in strict mode

What about tmpcol = null;?

let me try, i'm busy right now, give you needs in a few hours thx

No memory leak in fact, i was wrong. My benchmark test was wrong.
But, can i suggest this code perhaps ?
Loki.prototype.removeCollection = function (collectionName) {
      var i,
        len = this.collections.length;

      for (i = 0; i < len; i += 1) {
        if (this.collections[i].name === collectionName) {

          // get new collection attribute
          var tmpcol = new Collection(collectionName, {});

          // get current collection attribute
          var curcol = this.collections[i];

          // delete current collection attributes
          for (var prop in curcol) {
            if (curcol.hasOwnProperty(prop)) {
              curcol[prop] = null;
            }
          }

          // remove new collection attributes if needed
          for (var prop in tmpcol) {
            curcol[prop] = null;
          }

          this.collections.splice(i, 1);
          tmpcol = null;
          curcol = null;
          return true;
        }
      }
      return false;
    };

it return true when the collection has been found and removed, false if not

No memory leak in existing code?  What about the simplified first version you suggested... does simply performing a slice not manage to free up memory as well as the current implementation?
I am hesitant to make this method any more complicated without a measured understanding of if or where the v8 GC might be getting confused with our data structure object references.
Maybe I can experiment with heapdump this weekend sometime so I can observe the behavior as well.

@obeliskos I don't know if it is directly related but I also discovered a memory leak of LokiJS (nodeJS):
heapsnapshot taken every 90 minutes:

So the heap rises steadily in around 3 - 5 MB every 90 minutes.
When I analyze the delta of those heapsnapshots I get a huge amount of objects which are originating from LokiJS processing and are responsible for this leak:

My use case is, that I have a collection with unique index with around 50000 entries. Items get added and removed up to hundreds of times per second. But the collection is steadily hold at ~ 50000 items like a capped collection, known from MongoDB.
Do you know where this leak might be coming from? Is it maybe that the unique index is recalculated on every insert() ? But the old index is kept in memory? However when looking into the heapsnapshot I see the full object:

Would be happy to get a hint in any direction to solve this, thanks! :)


Review GC Forms to confirm changes after applying GCDS styles

GC Forms team have merged changes after our audit. The changes need to be reviewed and compared to GCDS components/styles.
Components to review:

[x] Button
[x] Checkbox Group
[x] Date Input
[x] Error Message
[x] Error Summary
[x] Footer
[x] Grid
[x] Header
[x] Heading
[x] Input field
[x] Label
[x] Legend (Checkbox + Radios)
[x] Radio Group
[x] Select
[x] Text
[x] Textarea

https://docs.google.com/spreadsheets/d/1X-Kw2iNE_qdUYHueTWUYMioxgShHFVpOI28yKwAoO0A/edit?gid=0#gid=0

Waiting for review with policy @samburtonCDS


Ensure exception thrown when error installing or uninstalling service - Fixes #7

Pull Request (PR) description
This PR primarily fixes an issue where an exception is not thrown by the resource when a domain credential is wrong which results in down stream issues.
But as part of this I migrated the resource module to meet HQRM as I assumed this would get pulled up in the code review anyway.
This Pull Request (PR) fixes the following issues:

Fixes #7
Fixes #32
Fixes #29
Fixes #33

Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[x] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[x] Examples appropriately updated?
[x] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

@Johlju - hopefully this is the last of the large HQRM changes I'll be doing! If you get a moment or lots (there is definitely no rush at all) would you mind? We really need some other reviewers around here so that I don't have to call on you every single time! :grin:

This change is

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@e6d50e6). Click here to learn what that means.
The diff coverage is 100%.

@@          Coverage Diff          @@
##             dev     #34   +/-   ##
=====================================
  Coverage       ?   97.1%
=====================================
  Files          ?       3
  Lines          ?     207
  Branches       ?       0
=====================================
  Hits           ?     201
  Misses         ?       6
  Partials       ?       0

Impacted Files
Coverage Δ

...AdcsOnlineResponder/MSFT_xAdcsOnlineResponder.psm1
97.14% <100%> (ø)

...ionAuthority/MSFT_xAdcsCertificationAuthority.psm1
97.01% <100%> (ø)

...FT_xAdcsWebEnrollment/MSFT_xAdcsWebEnrollment.psm1
97.14% <100%> (ø)

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 e6d50e6...f29237b. Read the comment docs.

I don't mind being tagged on PR needing review. I'm happy to do them as soon as I can. :smile:
Just a few minor comments.
Btw. how come you get "Impacted files" on your code coverage reports in the PR's. :thinking:  I don't get those in xSQLServer. :smile:

Reviewed 20 of 26 files at r1, 6 of 6 files at r2.
Review status: all files reviewed at latest revision, 8 unresolved discussions, some commit checks broke.

README.md, line 4 at r2 (raw file):

Windows Server 2012 R2

Maybe just 'Windows Server'? Or does this module only work with 2012 R2? Not 2016 and above?

README.md, line 53 at r2 (raw file):

- **xAdcsWebEnrollment**: This resource can be used to install the ADCS Web
  Enrollment service after the feature has been installed on the server.
- **xAdcsOnlineResponder**: This resource can be used to install an ADCS Online

Maybe move these in alphabetical order?

README.md, line 66 at r2 (raw file):

  install. { EnterpriseRootCA | EnterpriseSubordinateCA | StandaloneRootCA |
  StandaloneSubordinateCA }
- **`[System.Management.Automation.PSCredential]` Credential** (_Required_): To

Maybe we just use 'PSCredential' here since the others aren't using the full namespace?

README.md, line 82 at r2 (raw file):

- **`[String]` CertFile** (_Write_): Specifies the file name of certification
  authority PKCS 12 formatted certificate file.
- **`[System.Management.Automation.PSCredential]` CertFilePassword** (_Write_):

Same as previous comment.

README.md, line 137 at r2 (raw file):

- **`[String]` CAConfig** (_Write_): CAConfig parameter string. Do not specify
  this if there is a local CA installed.
- **`[System.Management.Automation.PSCredential]` Credential** (_Required_): If

same as previous comment.

README.md, line 161 at r2 (raw file):

- **`[String]` CAConfig** (_Write_): CAConfig parameter string. Do not specify
  this if there is a local CA installed.
- **`[System.Management.Automation.PSCredential]` Credential** (_Required_): If

Same as previous comment.

DSCResources/MSFT_xAdcsCertificationAuthority/MSFT_xAdcsCertificationAuthority.psm1, line 98 at r2 (raw file):

Function Get-TargetResource
{
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')]

We should remove this since ShouldProcess is not supported by LCM. Throughout the resources.

DSCResources/MSFT_xAdcsCertificationAuthority/MSFT_xAdcsCertificationAuthority.psm1, line 99 at r2 (raw file):

{
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')]
    [CmdletBinding(SupportsShouldProcess = $true)]

We should remove 'SupportsShouldProcess' since that is not supported of LCM. Throughout the resources.

Comments from Reviewable

We probably get a different codecov layout here because the CodeCov yaml file hasn't been merged, so it is using the default yaml file. Once merged, it will look the same.

@Johlju - I do really appreciate how much time you put into all of these reviews though! :grin:
As for the "Impacted files" - I'm not sure - that doesn't normally show up for me either. Perhaps a new feature from codecov? Or perhaps only happens with repos that have never had code coverage before?

Review status: 21 of 25 files reviewed at latest revision, 9 unresolved discussions.

README.md, line 4 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Windows Server 2012 R2

Maybe just 'Windows Server'? Or does this module only work with 2012 R2? Not 2016 and above?

Good call. This does also work on Windows Server 2016 - so have corrected it.

README.md, line 53 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Maybe move these in alphabetical order?

Another good call. Done.

README.md, line 66 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Maybe we just use 'PSCredential' here since the others aren't using the full namespace?

Done.

README.md, line 82 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Same as previous comment.

Done.

README.md, line 137 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
same as previous comment.

Done.

README.md, line 161 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Same as previous comment.

Done.

DSCResources/MSFT_xAdcsCertificationAuthority/MSFT_xAdcsCertificationAuthority.psm1, line 98 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
We should remove this since ShouldProcess is not supported by LCM. Throughout the resources.

Good call. Have removed all instances (and from other resources).

DSCResources/MSFT_xAdcsCertificationAuthority/MSFT_xAdcsCertificationAuthority.psm1, line 99 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
We should remove 'SupportsShouldProcess' since that is not supported of LCM. Throughout the resources.

Good call. Have removed all instances (and from other resources).

Comments from Reviewable

Reviewed 4 of 4 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable


stdlib: Improve JSON support to SE Binary Workload

This patch improves the stdin_file, stdout_file, stderr_file processing in SE Binary Workload.
Earlier, it assumed that Paths would be passed into the function.
Therefore, these parameters could not be defined
in the Resource JSON file as a string to use as is, since the processing functions like as_posix() would fail.
This is a current pain point of trying to make a Suite JSON of SPEC Resources, since they use the stdin, stdout and stderr files.
This patch converts the string of the Path in the JSON file into a Path object, while also retaining the old functionality of allowing Paths to be passed in.
The processing for both remains the same.
Change-Id: I8fd7d385ff301549a7db2166c9ad0174ec0c201a

First of all, this PR title is really confusing. It took me a while to know what you mean by "JSON support". You mean in the very niche case we are setting up resources (inc. workloads) by reading a JSON files.
It also took me a while to get the problem here generally but, essentially, what you're saying is this: the path is defined in the JSON file as a string and you need to cast it to a Path before se_binary_workload as it only accepted Path objects.
I don't really see where the problem is here. All this PR attempted to do is do the casing inside the Workload functiomn instead of before. Why don't you just update the code you're wriging to handle the parsing of this JSON file?
While I agree we have terrible enforcement of using Path over passing strs when it comes to filepaths, I do think having a Path type should be the standard and I don't really want to start jumping in and trying to support strings anymore than we do.
I don't unerstand the code much at all I'm afraid. You're changing stdin_file but it was always of type Optional[FileResource] anyway, so what was the problem with Path?

Hey Bobby,
Thanks for the feedback! I understand that the commit message was not descriptive, and I will work on it.
As for why this change is necessary, I think the exact use case for it could help:
Since Suites are now a part of gem5, we would like to have a Suite of SPEC2006. This introduces certain pain points, and those are:

We cannot distribute SPEC and yet, everyone on our network should be able to use it. Therefore, we require to use the local JSON support provided by gem5.
While there is a script to create CustomWorkload resources from the JSONs, the way that script works is by using Path and converting those strs of stdin_file into Path objects. While useful, it cannot be used with obtain_resource or through any of the JSON env variables we provide: GEM5_RESOURCE_JSON_APPEND and GEM5_JSON_APPEND, IIRC since they do not follow the schema. They can only be referenced through CustomWorkload, as far as I have been testing.

As a way to standardize those WorkloadResources to follow the schema, I found that since these file paths are strings, and the se_binary_workload expects them to be a Path object. The CustomWorkloads I mentioned above passed these file paths in as parameters converted into Path objects already, which is why they worked. I want to eliminate this need of creating a custom Workload to begin with, so anyone can add the JSON to their gem5 data sources, mention obtain_resource("spec2006-gcc") or something, and it would work flawlessly.
The easiest solution I could think of was to add support for strings, which is what I have done here.
But, I also understand that there may be a more elegant way of doing it. Do you have an idea that could help me in this use case?

First of all, this PR title is really confusing. It took me a while to know what you mean by "JSON support". You mean in the very niche case we are setting up resources (inc. workloads) by reading a JSON files.
It also took me a while to get the problem here generally but, essentially, what you're saying is this: the path is defined in the JSON file as a string and you need to cast it to a Path before se_binary_workload as it only accepted Path objects.
I don't really see where the problem is here. All this PR attempted to do is do the casing inside the Workload functiomn instead of before. Why don't you just update the code you're wriging to handle the parsing of this JSON file?
While I agree we have terrible enforcement of using Path over passing strs when it comes to filepaths, I do think having a Path type should be the standard and I don't really want to start jumping in and trying to support strings anymore than we do.
I don't unerstand the code much at all I'm afraid. You're changing stdin_file but it was always of type Optional[FileResource] anyway, so what was the problem with Path?

Hey Bobby,
Thanks for the feedback! I understand that the commit message was not descriptive, and I will work on it.

Please do :).

As for why this change is necessary, I think the exact use case for it could help:
Since Suites are now a part of gem5, we would like to have a Suite of SPEC2006. This introduces certain pain points, and those are:

We cannot distribute SPEC and yet, everyone on our network should be able to use it. Therefore, we require to use the local JSON support provided by gem5.
While there is a script to create CustomWorkload resources from the JSONs, the way that script works is by using Path and converting those strs of stdin_file into Path objects. While useful, it cannot be used with obtain_resource or through any of the JSON env variables we provide: GEM5_RESOURCE_JSON_APPEND and GEM5_JSON_APPEND, IIRC since they do not follow the schema. They can only be referenced through CustomWorkload, as far as I have been testing.

As a way to standardize those WorkloadResources to follow the schema, I found that since these file paths are strings, and the se_binary_workload expects them to be a Path object. The CustomWorkloads I mentioned above passed these file paths in as parameters converted into Path objects already, which is why they worked. I want to eliminate this need of creating a custom Workload to begin with, so anyone can add the JSON to their gem5 data sources, mention obtain_resource("spec2006-gcc") or something, and it would work flawlessly.

Ok, I still don't completely understand but let me throw some stuff out there which might help clear things up. This is how I (partially) understand things:
We define a Workload, essentially, in a JSON object (whether in an actual JSON file or as part of a MongoDB entry, it doesn't matter). This object gives the "set_workload" function to call and the parameters we pass. So roughly something like this:
{
    "function": "set_kernal_disK_workload",
    "parameters" : {
         "kernel: {
              "function": "obtain_resource",
              "parameters" : {
                   "id" : "some_kernel",
                   "version" : "1"
              }
          }
          "disk_image: {
              "function": "obtain_resource",
              "parameters" : {
                   "id" : "an_image",
                   "version" : "2"
              }
          },
          "readfile_contents" : "echo 'hello world'"
     }
}

In the above example we want to call "set_kernal_disk_workload" and set the kernel parameter to a function call to obtain_resources, and the same for the disk image. The readfile_contents is just a string so no function call required. I realize this probably isn't exactly what we do. I can't remember right now the specific details, but the main point is a parameter can either be a json primary (int, str, etc), or a function call (note: an object is constructed via function call, so we can pass objects). There's probably some corner cases we can't cover with this, but it'll allow us to define most function calls to "set_workload" functions we care about.
Where you see a problem is the set_se_binary_workload function where the parameters are as follows:
def set_se_binary_workload(
    self,
    binary: BinaryResource,
    exit_on_work_items: bool = True,
    stdin_file: Optional[FileResource] = None,
    stdout_file: Optional[Path] = None,
    stderr_file: Optional[Path] = None,
    env_list: Optional[List[str]] = None,
    arguments: List[str] = [],
    checkpoint: Optional[Union[Path, CheckpointResource]] = None,
) -> None:

We have these Optional[Path] parameters. I think you're saying we have some translation code to take strings from the Workload's JSON object and convert them to Paths. so something like this:
{
    "function": "set_se_binary_workload",
    "parameters" : {
         "stdout_file: "/home/bbruce/stdoutfile"
          ...
     }
}

stdout_file is a string but we converted to a Path object before actually calling set_se_binary_workload.
Your problem is this transation code isn't available when we import JSON files via this environment variable (i don't know why this would be the case, but i'll go with it).
So your solution is these parameters can be either Path objects or strings, and we just convert in the set_se_binary_workload function as needed.

The easiest solution I could think of was to add support for strings, which is what I have done here.
But, I also understand that there may be a more elegant way of doing it. Do you have an idea that could help me in this use case?

If what i wrote above is correct, I don't like that there's some magic hardcoding which translates strings to Path objects arbitrarily for workloads. it ruins the flexibility of the Workload JSON objects which is pretty de-coupled from the workload functions. Ideally we'd accept one of two solutions:

The set_se_binary_workload should accept these values as strings. This means our JSON representation uses strings also.
The set_se_binary_workload function accepts Path objects and the Workload JSON entry is updated to reflect this and we remove the string to Path translation translation.

(1.) isn't great because we really should be using Paths instead of strings (though we pass strings around a lot already so 🤷♂), and it changes the API. (2.) is better for me but it'd mean updating all the Workload JSON objects that use the set_se_binary_workload function to construct Path objects.
For now, it may be tollerable to just have these parameters accept Path objects or strings but this should be documented in the codebase on why we're doing this. It's messy and confusing. Also, please see my code-review comments because I think your conversion is broken.
The part of your solution i really don't understand is why you state the user gem5-resources JSON files (those imported via ENV variables) supposedly conform to a different schema than the database. That should not be the case. If it is, that's worrying. That means we have to maintain two seperate schemas to repersent the same data. Can you check what's going on here?


Consistently use the title UnsignedData for the unsigned object

(please match the wording from the other PR so it collapses in the changelog)

So there should be two files in newsfragments that have identical content, and then they'll get collapsed?

Yup, as long as it's the exact same contents it'll be fine. The filename will reference the PR.

also signoff: https://github.com/matrix-org/matrix-doc/pull/2647#issuecomment-646831413


Error G0A556F40: The return type of the method '_$Database.allTables' is wrong

In my app there is an error in the generated database.g.dart when trying to run it. It's mentioning that overridden getter allTables has invalid type.
Actual: Iterable<TableInfo<Table/*1*/, Object?>>
Expected: Iterable<TableInfo<Table/*2*/, dynamic>>
Error
lib/database/database.g.dart(37154,43): error G0A556F40: The return type of the method '_$Database.allTables' is 'Iterable<TableInfo<Table/*1*/, Object?>>', which does not match the return type, 'Iterable<TableInfo<Table/*2*/, dynamic>>', of the overridden method, 'GeneratedDatabase.allTables'.
lib/database/database.g.dart(37154,12): error G4699A223: Type argument 'Table/*1*/' doesn't conform to the bound 'Table/*2*/' of the type variable 'TableDsl' on 'TableInfo'.
lib/database/database.g.dart(37155,35): error G4699A223: Type argument 'Table/*1*/' doesn't conform to the bound 'Table/*2*/' of the type variable 'TableDsl' on 'TableInfo'.

Temporary solution
Manually editing database.g.dart and changing:
@override
  Iterable<TableInfo<Table, Object?>> get allTables => allSchemaEntities.whereType<TableInfo<Table, Object?>>();

to
@override
  Iterable<TableInfo> get allTables => allSchemaEntities.whereType<TableInfo>();

Is this something on my end since I can't find any info on this repo.

In your database file, do you have another import to something defining Table (e.g. flutter or something)? Does the error say where Table/*1*/ and Table/*2*/ are defined?


ui: Distinguish isBot: true users with a bot marker

As Alex points out about the zulip-mobile app:

The mobile UI doesn't differentiate between bots and real humans in any way -- except clicking into the user profile and noticing the<EMAIL_ADDRESS>email address (though that page will also show them as a "member" which seems further confusing).  With the profusion of LLM bots running around, this can be moderately misleading to users.

We should implement this in the Flutter app.
The web app currently adds a little gray robot icon next to the user's name:

Once we take care of #200, we'll have a straightforward way to pull in our own custom icons.
If we pick up this issue before then, we can instead just use one of the Material Design icons that Flutter makes convenient through Icons. Then this icon will just be one of the icons that we sweep through and replace as part of  #200 or a followup.

I would like to take this one!


Data Science with Python : Pandas DataFrame Operations

Welcome to 'DSWP' Team, good to see you here
This issue will helps readers in gaining all the guidance that one needs to know about getting started with Pandas DataFrame Operations. Tutorial to Pandas DataFrame Operations and how it's applied using code snippets
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly if you had used datasets, include them in "DS Datasets".
Domain : Machine Learning
Mentors Assigned : Kareem Negm / Peehu Saxena
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎

hello, I am S.Harihara Sudhan.
Batch no: 8
Serial no:259
I would like to do documentation on this issue.
My approach would be

Introduction of pandas and how it is used
Code snippets explaining how it is used in different functions.

Issue assigned to @hariharas-wq for documentation

Hello @prathimacode-hub , please assigned me the issue

Issue assigned to @Mohdtalibakhtar for documentation. Add your serial number and approach as well in your comment.

Serial no : 819
Batch : 19
Approach :
Introduction and code on how to create, manipulate, alter & different operations on dataframe are performed.


Deploy to a maven repo

Maybe ask @md_5 to use the spigot one, or his repo?

I'll look into this, but I'll probably want to separate the plugin-related stuff from the client.

okay, thanks!

repo.minimum.io? :smiley:

I'm shutting that down, sorry.

How is this addition looking?

I require a repository as well for my webhook.

for the time being devs can use https://jitpack.io/#BuycraftPlugin/BuycraftX/v10.0

Awesome, thanks.
On Sat, Oct 15, 2016 at 12:33 PM +0100, "Toon Sevrin" <notifications<EMAIL_ADDRESS>wrote:
for the time being devs can use https://jitpack.io/#BuycraftPlugin/BuycraftX/v10.0

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/BuycraftPlugin/BuycraftX/issues/50#issuecomment-253978900, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADE_dGxW2vH1URdYfXmO56Unbl1MkjHtks5q0LoPgaJpZM4ITVuM.

PR #64 allows jitpack to compile more recent commits.

This issue is being closed as an old issue. For all support requests, please email<EMAIL_ADDRESS>If you believe there is a plugin bug, please open a new issue.


Not clear how to save timers, add to context menu?

I'm not sure if I'm just dense but I don't see any way to save timers aside from guessing that the keyboard shortcut is "Ctrl-S". Can this be added to the context menu?

Ctrl+S stops timer. Hourglass saves closed/stopped timers. I didn't changed this logic and I probably won't add nothing to it.

See Hourglass FAQ


Get different MenuFlyoutItem ActualHeight in first Opened event by diffrent UIthread

Describe the bug
get different MenuFlyoutItem ActualHeight in first Opened event by diffrent UIthread.
render height is correct (32), but the height in proterty RenderSize is 40.
MenuFlyoutActualHeightIssue.zip
Steps to reproduce the bug
1.run demo.
2.click button twice.
3.check out Visual Studio's output.
Expected behavior
return the same ActualHeight and RenderSize in first Opened event.
Screenshots

NuGet package version
WinUI 3 - Windows App SDK 1.1.2
Windows app type

[ ] UWP
[X] Win32

Device form factor
Desktop
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

the same issue https://github.com/microsoft/microsoft-ui-xaml/issues/6396
maybe the same reason cause that https://github.com/microsoft/microsoft-ui-xaml/issues/7374

Duplicate of https://github.com/microsoft/microsoft-ui-xaml/issues/6396


[StyledPath.Composite] Size frame to contents

This is particularly important for CompositeRenderable. Currently, a Group is initialized with frame of .zero.

Initial stab here.


Failed authorization with Strava

After clicking on the Authorize button on strava.com, the user is redirected to the profile page and the authorization is not successful.
Reported with Xiaomi mi 5s and Xiaomi mi 10 note.

Fixed with 6f6000168f52a3179ac0c14f8265e960bdd71567


Release 1.2.2?

Could you please release 1.2.2 to npm? I need 1.2.2 for the new optOut functionality. And unfortunately right now the new yarn package manager doesn't support using specific github commits.
Thank you!

https://github.com/angulartics/angulartics/commit/10d5be2f9157e83cf6653184118f8f544fdd1c1a


error while downloading

[ ] Using latest version as provided on the master branch
[ ] Searched for similar issues including closed ones

What is the purpose of your issue?

[x] Bug
[ ] Feature Request
[ ] Question
[ ] Other

Description
when I try to download any song I got this error
Log
$ python3 spotdl.py --song https://open.spotify.com/track/2XW4DbS6NddZxRPm5rMCeY
INFO: Drake - God's Plan (Official Audio) (http://www.youtube.com/watch?v=QY3Y6lUH6A4)
Traceback (most recent call last):
  File "spotdl.py", line 183, in <module>
    download_single(raw_song=const.args.song)
  File "spotdl.py", line 152, in download_single
    if youtube_tools.download_song(input_song, content):
  File "/home/thesalah1212/spotify-downloader-master/core/youtube_tools.py", line 51, in download_song
    link.download(filepath=filepath)
  File "/usr/local/lib/python3.5/dist-packages/pafy/backend_shared.py", line 598, in download
    response = g.opener.open(self.url)
  File "/usr/lib/python3.5/urllib/request.py", line 466, in open
    response = self._open(req, data)
  File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
    '_open', req)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 1297, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/usr/lib/python3.5/urllib/request.py", line 1257, in do_open
    r = h.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.5/http/client.py", line 266, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

I'm not sure exactly but maybe this is related with #230.
What happens if you try downloading .m4a audio stream manually using python?
>>> import pafy
>>> p = pafy.new("https://www.youtube.com/watch?v=0b5uulBrDrs")
>>> s = p.getbestaudio(preftype='m4a')
>>> print(s.url)
>>> s.download()

Does it error out or something? If so, does it also fail if you try to download the displayed URL (i.e. s.url) using wget?
$ wget "<s.url>"

first the result of print (s.url) is https://googlevideo.https.co/.r2---sn-cnh5guoxu-cxte/videoplayback?fvip=5&signature=AFFCB240127525537844FA88A404924411FF069E.1BBB98F79B0E484DDE3363D11BD191E1513F68CD&ei=fxB4WqjKNYWPW8aZmyg&itag=140&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&key=yt6&source=youtube&requiressl=yes&mime=audio%2Fmp4&pl=24&keepalive=yes&lmt=1507236604560588&expire=1517839584&initcwndbps=81250&gir=yes&ipbits=0&mm=31%2C29&mn=sn-cnh5guoxu-cxte%2Csn-hgn7rn7y&id=o-AAI8x_5JIB7pMYqXSRvXeIPosCzHA3X2FQA28ovz3eCf&ms=au%2Crdu&mt=1517817837&mv=m&dur=144.590&clen=2297133&ip=MyIPisHere&ratebypass=yes
s.download()
>>> s.download()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/pafy/backend_shared.py", line 598, in download
    response = g.opener.open(self.url)
  File "/usr/lib/python3.5/urllib/request.py", line 466, in open
    response = self._open(req, data)
  File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
    '_open', req)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 1297, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/usr/lib/python3.5/urllib/request.py", line 1257, in do_open
    r = h.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.5/http/client.py", line 266, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

then my  output for wget is this HTTP request sent, awaiting response...

I try to change my ip address using vpn it works fine

Just being curious: which country are you in? Are you able to access the video on YouTube in a browser? (without VPN)

I am from lebanon , I'm able to access from browser . i think that my Isp using cache for youtube

Interesting, so it's not a general blocking. I wonder if setting a referrer or user agent string would help. Cc: @ritiek

Should be fixed in v3.
I know it's late, just clearing out old issues.


Question: Project intentions

Hi!
Is the intention of this project to always work with Android and iOS as well as tvOS?

Yes 😊

Alright thanks, that's great!


Could you create a "development" branch (or another similar?)

Hi!
I'm planning to extend your class. In detail,

move to Composer and to packagist, so it can be find
add discover section
reorganize a bit the code
add scrutinizer

and more on.
If you want, I will push sometime edit to a branch. But, ofc, I don't want use "master" but antoer one. Can you create a development branch?
I'm also using your library to my own project with telegram bot.
Have a nice day!

Hey there!
Sorry, but the main point of this class is to remain as simple as possible and I'm somewhat happy with the current state of it.
It is licensed under The Unlicense, so I invite you to use the code any way you like. I would suggest you fork the repo and work on the fork instead; leaving the repo in my control doesn't make too much sense since I am likely not going to contribute that much.
Thanks a lot for your interest though!
Best,
kenny


Minor typo in main.yml: Docker Compose command

Description
This issue reports a minor typo in the main.yml file. The command used to start Docker Compose services has an extra hyphen before docker compose.
Current Code:
run: docker-compose up -d
Correct Code:
run: docker compose up -d
The hyphen before docker compose is unnecessary and might lead to errors when executing the command. Removing this hyphen ensures the command runs smoothly.
Impact:
This typo could potentially cause the docker-compose up -d command to fail, preventing the intended action of starting all Docker Compose services in detached mode.
Proposed Fix:
Simply remove the hyphen before docker compose in the main.yml file.

@ZaidMaslouhi PR with the fix merged.