Typescript .d.ts question

I have a couple of questions about the .d.ts definition file. Considering Map as an example:
  export module Map {
  ...
  }
  export function Map<K, V>(): Map<K, V>;
  export function Map<K, V>(iter: KeyedIterable<K, V>): Map<K, V>;
  export function Map<K, V>(iter: Iterable<any, /*[K,V]*/Array<any>>): Map<K, V>;
  export function Map<K, V>(array: Array</*[K,V]*/Array<any>>): Map<K, V>;
  export function Map<V>(obj: {[key: string]: V}): Map<string, V>;
  export function Map<K, V>(iterator: Iterator</*[K,V]*/Array<any>>): Map<K, V>;
  export function Map<K, V>(iterable: /*Iterable<[K,V]>*/Object): Map<K, V>;
  export interface Map<K, V> extends KeyedCollection<K, V> {
  ...
  }

The main thing that surprises me is that the class Map<K, V> is not exported. I half expected to see something like:
  export class Map<K, V> implements IMap<K, V> {
        static isMap(maybeMap: any): boolean;
        static Map<K, V>(): Map<K, V>;
        // etc for all other functions that are exported above
        set(key: K, value: V): Map<K, V>;
        // etc... duplicate of what's defined in the interface I know...
  }
  export interface IMap<K, V> extends KeyedCollection<K, V> {
        set(key: K, value: V): Map<K, V>;
        // etc...
  }

Notice:

The interface is declared as IMap<K, V>
The Map<K, V> class is exported
Previously exported classes move to static functions on the exported class
The static functions on the class return the concrete implementation Map<K, V> as opposed to the interface (isn't it better to return concrete types and accept interfaces?)
This allows us to now write:

class MyTest extends Map<string, number> {
}

Would appreciate if you could help me understand the thinking behind the current interface.
Thanks

Sorry for the noise, slightly amended the definition of the exported class to show implements IMap<K, V>

Closing. I've worked out why this pattern is so useful. Thanks for this great library.


Add flag for testing logs in content comparison

Always great to find another issue the same day you release a patch version

Can you elaborate a bit on what was the issue? Is it bad that we always checked logs (since it was hard-coded)? Did this cause issues sometimes?

Can you elaborate a bit on what was the issue? Is it bad that we always checked logs (since it was hard-coded)? Did this cause issues sometimes?

If a pipeline does not use EOWorkflows (like the one for merging vectors) then it produces an empty finished.json file. Checking pipeline logs fails because 'no executions finished'.

I just started working on the other MR now and noticed this, thanks!


Fix Travis builds

constrain chef-zero
update .rubocop.yml attribute
remove Vagrantfile
remove minitests

Since this is tests-only... I'm going to self-approve.


Incorrect positioning of icon element

Not sure if this is just me (maybe something to do with my chrome flags?)...

its not plugin's issue, i guess the date label is too long and flex-box handled it incorrectly

Ah, that would make sense indeed. Didn’t think about that.


Output formatter error

Hi,
Microsoft establishes that the trustType attribute contains one of the following values:

TTD (TRUST_TYPE_DOWNLEVEL, 0x00000001)
TTU (TRUST_TYPE_UPLEVEL, 0x00000002)
TTM (TRUST_TYPE_MIT, 0x00000003)
TTDCE (TRUST_TYPE_DCE, 0x00000004)

But using the latest stable version of ldapdomaindump I'm getting two values at least:

Thanks for your support

thanks, pushed a fix for this, if you could retest this and see if it's solved that'd be great :)


Spyder not showing output

Expected Behavior
Starting the server should show all the information lines:
* Serving Flask app "testfla" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 222-285-885
 * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
   return 'This is the homepage'

if __name__ == '__main__':
   app.run(debug=True

Actual Behavior
Only the following line is displayed when starting the server:
* Restarting with stat

Environment

Python version: 3.6
Flask version: 1.0.2
Werkzeug version:

Anaconda 5.2, Spyder 3.1

On Running the sample code in Anaconda 5.2 with Spyder 3.1. Spyder console is not generating URL port number. Console is showing only below results and nothing

Restarting with stat

I can't reproduce this. I created an environment, installed Spyder and Flask, created an app.py file with the basic app, and ran it. All lines were output.
Flask and Werkzeug are not doing anything in particular with console output, so I don't think they're likely to be the cause at this time. There are occasional issues with running the reloader in IPython, but my test worked fine. If you're having an issue with Spyder, you should probably bring this issue up with them.


Is slick still supported

Is this library still supported? See the last release was years ago and last commit 2019.

I mean, those are my most popular projects if we’re counting GitHub stars. I don’t do very much open source these days. I did, for some time, but I technically can’t with my new job, and it’s a very welcome break from doing a bunch of work for free. With that said, its always cool to know that something I wrote helped someone else, and that a bunch of sites across the web uses my code. As far as project pride, I’d say anything that has to do with audio. I really enjoy writing those.

https://dev.to/gitnation/ken-wheeler-taking-a-break-from-open-source-is-a-welcome-change-4ool


Web Manifest + icons

Added Web Manifest and some basic icons + favicon

Thanks for the PR @MaxBorsch
If there is a corresponding GCI instance that has not been approved, please link it here in the comments and someone from FOSSASIA will approve it


Update pls 0.9.1

The game has been completely remade, the biggest update of all time, which completely changes all skills. Please update the editor so that you can try different things. I hope for your editor.

Please clarify what doesn't work?

No response, closing


Query OLS to update term status

This PR adds the ability to query OLS for status updates, via asynchronous background tasks. Closes #31.

@tskir testing this functionality is tricky, because it turns out that django-computedfields doesn't play well with the Django admin site. Changing a status value directly from the admin site causes an error in the term. So if you want I could write a script that changes some status values of terms via the Django shell, so that you can test if they are updated correctly when the OLS queries are made.

testing this functionality is tricky, because it turns out that django-computedfields doesn't play well with the Django admin site.

@joj0s May I ask whats not working for you with django-computedfields? Also feel free to write issues, if you find something not working or feels like going into the wrong direction with computed fields. I still need to collect evidence where and to what extend it can be helpful at all.

Hi @jerch, first of all thanks for coming here and providing assistance.
I have been investigating an issue since yesterday, where a TextChoices CharField which is being computed using your package (the computation works perfectly fine), suddenly breaks when it is being changed manually through Django Admin. I am still looking for the source of it, so I might have been quick to blame it on the package itself.
Once I identify the exact problem, I can open an issue in the package's page to investigate it further, and of course provide any other feedback needed to improve it.

... suddenly breaks when it is being changed manually through Django Admin

Yes, thats indeed not supported, computed fields are non editable by default (not even sure, how you got that changed) and get recalculated from the method code on .save(). Setting values manually to CFs has no meaning, those values would be lost.
May I ask whats your exact usecase here? For me it was never an issue to be able to set a CF value manually, furthermore it would work against the idea of computed fields, as it skips the method logic (prolly leading to desync issues).

@jerch Bad wording on my part, I didn't try to manually change the computed field itself, rather the field that the computed field depended on.
I did manage to fix it though, and the mentioned problem was unrelated to the django-computedfields in the end, so the package is continuing to serve as well.

@joj0s Ah ok, np.
I had a quick look at your defined CFs in the code, I see one issue with this one
https://github.com/EBIvariation/trait-curation/blob/532ef37e694fb401f32117b456881daba3fef81f/traitcuration/traits/models.py#L88-L92
The concrete field listing on the right side is empty, which basically makes this rule a NOOP (no explicit dependency is added). This might lead to desync issues, if elements of review_set get moved between Mapping instances. To avoid that, you should list the fk field pointing back on the right side as concrete source field, here ['review_set', ['mapping_id']].

@jerch Thank you very much for this suggestion, I will add that!


Bundler throws get$iterator error

running the bundler results into error. With version v2.5.1 the bundler works.
[14:12:12] erro: There is an error in your styles:
[14:12:12] erro: NoSuchMethodError: method not found: 'get$iterator' (J.getInterceptor$ax(...).get$iterator is not a function) on line (undefined, undefined)
To Reproduce
create a scss file with the following content
=================== content start ===================
@import "~@angular/material/theming";
@import "palette";
// Include non-theme styles for core.
@include mat-core();
// Define a theme.
$primary: mat-palette($mat-liebherr-palette);
$accent: mat-palette($mat-grey, A200, A100, A400);
$warn: mat-palette($mat-deep-orange);
$theme: mat-light-theme($primary, $accent, $warn);
// Include all theme styles for the components.
@include angular-material-theme($theme);
=================== content end ===================
Run the bundler and the error appears
Expected behavior
success
Package version: v3.1.1
Node version: v13.12.0
OS: Windows

I just had the same problem when upgrading from 2.5.1 to the latest 3.1 version.
Turns out, that the includePaths option could be was pretty much string|string[] in 2.5.1 but is now only string[].
This means, you have to have your includePaths configured as an array.
A better error message would have helped, but apart from that, I guess the ticket can be closed.

I can confirm what @pfeigl  said about the array, I have faced this issue and it appeared that it is includePaths should be an array, and I think we should close this issue if it's solved.

@pfeigl has the correct solution, this can probably be closed


fix #832: bad refactoring WebDriverIO:waitForInvisible

Issue described: #832
Original refactoring commit: https://github.com/Codeception/CodeceptJS/commit/24bf12d7bfdbb17cb7958d487fd9327ba3634209

Thanks. Looks like I missed this one

Version 1.1.1 is out!


Duplicate results for predicate queries

The following query (all cities, restricted to Shanghai) gives two identical rows. Shouldn't it be only one row? Confusingly, on https://query.wikidata.org the query gives four identical rows.
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?x WHERE {
  VALUES ?x { wd:Q8686 }
  ?x wdt:P31/wdt:P279* wd:Q515 .
}

The result is correct: There are two paths leading to wd:Q515. One via wd:Q1066538 ("National Central City") and one via wdt:P31 without using wdt:P279. The wdt:P279* alone should produce no duplicates (and there is no evidence that it does).
So all fine, just confusing.


Reducing the number of Rotations from 64 to the actual 24 possible, b…

…ut for backward compatibility allowing the use of the 40 remaining using a duplicate mapping.
Introduced a new block family that supports all the possible 24 rotations of the block.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/89/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/90/
Hooray Jenkins reported success with all tests good!

Any chance the three completely new file could have at least a class-level javadoc giving some introductory/context information about them?
As I've never explored that part of the codebase before I'm like: "where do I even start to understand what's going on here?"

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/91/
Hooray Jenkins reported success with all tests good!

Both BlockFamily and BlockFamilyFactory have JavaDocs already - BlockFamily has actually quite extensive JavaDoc.

Ok, thank you.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/92/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/93/
Hooray Jenkins reported success with all tests good!

@MarcinSc: I thought about the documentation issue a bit more.
Think about this scenario for a moment: somebody sees this code for the first time and goes up a couple of conceptual levels to read the BlockFamily interface. Great. He is now informed about what BlockFamilies are and do. RotationBlockFamily is short and it doesn't take long to understand how it adds to the BlockFamily interface.
However, wouldn't it be appropriate to have a few lines of plain english class-level javadoc for the FullRotationBlockFamily, to quickly understand its specific purpose and why this particular implementation was deemed useful?
Also, suppose that rather than looking at this PR specifically, I'm browsing through the codebase and I'm going through BlockFamily implementations. Wouldn't it be reasonable to be able to quickly read a few lines of javadoc at the beginning of the class to understand how it differs from all other BlockFamily implementations, so that I can quickly decide to skip it in favor of the next one or delve deeper into its code if it is of particular interest?

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/95/
Hooray Jenkins reported success with all tests good!

Thank you!

Closing this.

BlockFamilyFactory is about to change, so won't be accepting any new ones or changes to them for a little bit.
Is there any reason why the all rotations family should even be in engine? I am struggling to think of a use case for it - certainly it isn't a common case. I suspect this could be better in a module?
While you are correct that there are only 24 unique rotations, can you find a way to implement this which is a bit more straight forward? I really doubt that bit operations are necessary here. I don't think the slight memory efficiency is worth the added complexity for future maintenance.
You seem to have a variety of undocumented and not directly related changes in the PR, you may wish to split these out and submit them separately, or at least mention them in the PR itself.


[stable/graylog] Chart improvements

What this PR does / why we need it:

Gives users the ability to prepend the http scheme to the ES URI that was fetched from a k8s secret.
Changes the default name of the used k8s secrets to avoid potential collision with the main graylog secret.

Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @KongZ

/ok-to-test

/lgtm


Fix Spark Shim Provider not found for spark 3.3

What changes were proposed in this pull request?
After https://github.com/oap-project/gluten/pull/1030, all SQL functions of spark 3.3 do not work:
INFO SparkShimLoader: Loading Spark Shims for version: 3.3.1
java.lang.ExceptionInInitializerError
	at io.glutenproject.expression.ExpressionConverter$.replaceWithExpressionTransformer(ExpressionConverter.scala:34)
	at io.glutenproject.execution.ProjectExecTransformer.$anonfun$getRelNode$2(BasicPhysicalOperatorTransformer.scala:406)
	...
Caused by: java.lang.IllegalStateException: No Spark Shim Provider found for 3.3.1
	at io.glutenproject.sql.shims.SparkShimLoader$.loadSparkShimProvider(SparkShimLoader.scala:61)
	at io.glutenproject.sql.shims.SparkShimLoader$.getSparkShimProvider(SparkShimLoader.scala:76)
	at io.glutenproject.sql.shims.SparkShimLoader$.getSparkShims(SparkShimLoader.scala:32)
	at io.glutenproject.expression.ExpressionMappings$.<init>(ExpressionMappings.scala:377)
	at io.glutenproject.expression.ExpressionMappings$.<clinit>(ExpressionMappings.scala)
	...

META-INF/services/io.glutenproject.sql.shims.SparkShimProvider file of spark-sql-columnar-shims-spark32 and spark-sql-columnar-shims-spark33 overwrite each other and the file is written to  gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar.
How was this patch tested?
Before this PR:
$ unzip -p ./package/target/gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar META-INF/services/io.glutenproject.sql.shims.SparkShimProvider

io.glutenproject.sql.shims.spark32.SparkShimProvider

After this PR:
$ unzip -p ./package/target/gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar META-INF/services/io.glutenproject.sql.shims.SparkShimProvider

io.glutenproject.sql.shims.spark33.SparkShimProvider

$ unzip -p ./package/target/gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar META-INF/services/io.glutenproject.sql.shims.SparkShimProvider
io.glutenproject.sql.shims.spark32.SparkShimProvider
io.glutenproject.sql.shims.spark33.SparkShimProvider

Why 3.2 shim and 3.3 shim are both included in ./package/target/gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar ? Is this intended behaviour during building Gluten?

Why 3.2 shim and 3.3 shim are both included in ./package/target/gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar ? Is this intended behaviour during building Gluten?

This is an unintended behavior that is due to the following behavior of maven-shade-plugin:
https://maven.apache.org/plugins/maven-shade-plugin/faq.html#two-executions
This issue occurs when there is no mvn clean between mvn package -Pspark-3.2 and mvn package -Pspark-3.3

friendly ping @zhztheplayer  @FelixYBW
In script ./dev/buildbundle-veloxbe.sh, there is no mvn clean between mvn package -Pspark-3.2 and mvn package -Pspark-3.3, so the output gluten-spark3.3_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar is wrong. Let's fix it.

@izchen Sorry I was just curious about your case when I left my previous comment. But can we use the original solution to merge the service files? Or you just prefer the current one?
If we delete the compiled jars it could be better to delete them in maven clean phase. But I am not sure if it's possible.

@zhztheplayer Thanks for your comments!

But can we use the original solution to merge the service files? Or you just prefer the current one?

As you said, we can merge spark-sql-columnar-shims-spark32 and spark-sql-columnar-shims-spark33 into the output jar in the future to match the Spark version at runtime. But the current implementation does not support doing merges because there are some files with the same package name, such as JoinSelectionShim.scala.

If we delete the compiled jars it could be better to delete them in maven clean phase.

A better phase to remove package jar maybe prepare-package.

related: https://github.com/oap-project/gluten/issues/1161

related: #1161

Can mvn clean solve the issue? Do we need the fix?

related: #1161

Can mvn clean solve the issue? Do we need the fix?

This fix is not needed if ./dev/buildbundle-veloxbe.sh is the only way to package. But if someone packages directly using mvn package command, running the program will get a confusing error.

Hello, @izchen  I merged a PR#1177 yesterday which should solve your problem. And I feel sorry that I didn't notice this PR before.


Feature feedback - Consolidation

[x] 001-information-mapping.md
[x] 002-comparative-analysis.md
[x] 003-data-collection.md
[x] 004-open-access.md
[x] 005-data-stories.md
[x] 006-capacity-building.md

Collected all points together.
Summarisation is pending.

Edited and briefed all points here.


migration to drop activesets with vacuum

the change is to get rid of the bloated (and not so useful) state by executing:
delete from activesets where epoch < 12;
vacuum;
pragma wal_checkpoint(TRUNCATE);

main.db-vacuum-state
we want to execute vacuum only once, for that i added a configuration parameter:
main.db-vacuum-state = 8
the example above specifies if database version is below or equal to 8 we will run vacuum after applying recent migration.
once migration 9 is applied we will not run vacuum again, unless main.db-vacuum-state was changed.
main.db-skip-migrations
we also want to preserve all activesets on single node, just to be extra-safe. so that if we for some reason in the future will need them, we can recover them from such archive node.
main.db-skip-migrations = [9]
it accepts list, if migration is in the list it won't be executed. instead we will simply bump the sqlite user version.
migration 9 is where activesets are deleted. note that if this parameter is set, it is better to disable main.db-vacuum-state by setting it to zero.

bors merge

bors cancel

bors merge

bors cancel

bors merge

bors merge

bors merge


UTF8 support for Menu Labels

Hello, I was just wondering if UTF8 characters will be supported in headers for Menu component,
For instance :
<Menu.Item name='thé' active={activeItem === 'thé'} onClick={this.handleItemClick.bind(this)} />
<Menu.Item name='vin' active={activeItem === 'vin'} onClick={this.handleItemClick.bind(this)} />
You'll see a label Menu like this :
The, Vin

Duplicate #1340

Specific answer: https://github.com/Semantic-Org/Semantic-UI-React/issues/1340#issuecomment-280720627
Use the content prop to set the item content.  The name prop is the programmatic name, if content is not provided, the name will be Start Cased and used as the content.


cmd/go: TestScript/mod_invalid_version failing as of CL 188817

The linux-amd64-longtest builder started failing at CL 188817.
An error that was previously surfaced up to go get is now reported at a different point in the stack, which changes the error message reported to the user. The new error message is arguably more helpful, so we should update the test to lock it in place. I'll make that change now.
CC @dneil @jba @jayconrod @rsc

(More generally, this reveals that there are a lot of calls to os.IsNotExist within cmd/go — we should probably replace them all with errors.Is at some point in the 1.14 cycle.)


One Month Rails inkind donation of accounts

I'm deciding not to do this because I don't think it is very high leverage for our clubs right now. Please let me know if you disagree @MaxWofford.

@jonleung I agree with that!


mxnet.apache.org is down for the master version

Description
(A clear and concise description of what the bug is.)
Dear all, the mxnet.apach.org website works for version 1.7.0 but when one tries through version selector to go to the master branch, the output is a txt description only.
Error Message
This is what I see

Regards,
Foivos

Thanks @feevos for reporting, we are working on getting the master version of the website back online.

Thank you for all your support and this amazing software!
All the best,
F.


tsconfig.extends as array

Search Terms

tsconfig extends array
Suggestion

Support defining the "extends" option as array of filenames.
{ "extends": [ "a", "b", "c" ] }

would have the same result as extending c where c extends b and b extends a.
Use Cases

This would make it so much easier to compose modular configuration fragments, analogue to "presets" in babel.
Examples

Given a set of tsconfig files containing fragments:

tsconfig/check.json (strict: ...)
tsconfig/sourcemap.json (sourceMap: ...)
tsconfig/declarations.json (declarations: ...)
tsconfig/aliases.json (paths: common aliases)
tsconfig/aliases.react.json (extends: aliases, paths: for react)
tsconfig/aliases.preact.json (extends: aliases, paths: for preact)
tsconfig/webpack.json (settings supporting tree shaking)
tsconfig/babel.json (settings to let babel handle platform issues)
tsconfig/node.json (settings to target node)
tsconfig/browser.json (settings to target browsers)
tsconfig/base.json (general defaults)
...

It would be possible to combine these fragments in a way that is much more expressive and easier to
understand than flat config files.
A/tsconfig.preact.json:
{
  "extends": ["base", "sourcemap", "declarations", "babel", "browser", "aliases.preact"],
  "compilerOptions": {
     "declarationDir": "build/A/typings",
     "outDir": "build/A-preact"
  },
  "files": [ "src/A/index.ts" ]
}

A/tsconfig.react.json:
{
  "extends": ["base", "sourcemap", "declarations", "babel", "browser", "aliases.react"],
  "compilerOptions": {
     "declarationDir": "build/A/typings",
     "outDir": "build/A-react"
  },
  "files": [ "src/A/index.ts" ]
}

tsconfig.webpack.json
{
  "extends": ["base", "webpack],
  "compilerOptions": {
  }
}

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

please do this i have 4 config. 2 of them have duplicate json in them because of missing mixin ability

Was there any feedback from the developers of tsconfig files?

Some more thoughts from me:
This would not be a big deal if tsconfig.js files were allowed.
Currently the only workaround is to regenerate tsconfig files via a custom tool everytime the source tsconfigs change, via file watcher.
I have the option to run typescript programmatically. But that is only for building stuff. The whole IDE experience however relies on actual real tsconfig files on the file system, and there is no way around that.
I understand the added complexity in languages like C# where multiple inheritance is not possible.
But this is not exactly inheritance like in programming languages as I see it. Are we not just talking about a (partially deep) Object.assign() here? Maybe I am just naive.
Also lots of people also expect an array because they are used to eslint and other tools were that is possible.
I also think an array is extremely simple and intuitive to understand. It is the same as a single path, except applied multiple times. There are many options in tsconfig that are harder to understand than an extends array IMHO :)

Does anyone see any downsides to this, apart from the amount of work it may take to develop the feature? This seems like a no-brainer to me.

What is the status of this issue? Can someone from Microsoft confirm if TypeScript is accepting PRs that implement this functionality?

For some reason, I'm always the guy who sets up new projects. Everytime I start a node/web/electron project, I'm looking forward to coding because I really like developing with Typescript.
I understand that this config issue is not exciting or important, but it could solve a persistent headache. Why can't I tell TSC that I want a baseline of language options, a config suitable for react and webpack and be done with it? Why do I have to try chaining up configs in the proper order just to yet again conclude that I have to copy & paste it together anyway. I never got around to use snippet managers. And I'm too old to change my mind on that.
Contemporary software development feels more like overlaying memory blocks in ForTRAN (I forgot the proper terminology, but I guess there are few people around who know enough to point it out) than something that deserves the attribute modern. And I'm saying this even though I deeply love Typescript. I just hate tsconfigs.
I would gladly volunteer to implement it, but considering the many other TS tickets I followed and the fate of related PR's, that would just amplify my frustration.
Sorry for ranting so much, I gladly accept the thumb-downs. Please note that despite the rant I really appreciate your work. Just not your horrible tsconfigs.

@mutech i agree in principle - i've seen too many pieces of partial tsconfigs being copied around for the reasons you describe. mixins might help solving this issue.
one caveat though: mixins can become quite interesting to debug once multiple ones are allowed to change the same values. to stay with OO terminology, with simple linear inheritance it's more often than not a good idea to rule out overwriting settings in a child that a parent already defines. with mixins, this is even more important to avoid difficulties in finding out where some setting value actually comes from.

one caveat though: mixins can become quite interesting to debug once multiple ones are allowed to change the same values.

That's a very valid point. I have this very discussion in another context right now. What if a developer changes the theme color and messes up the whole App because he wants to change the appearance of a button. Not surprisingly, we are now now not using any centralised information storage to be safe from such confusions.
But the thing is, no matter what precautions you take, developers are going to make mistakes, we are human and misunderstandings are not exceptions.
I think that generally the best approach is to use the same or closest level of abstraction to the problem or the real world item you are working with.
For TypeScript, tsconfig is reflecting reality perfectly. For a project, this is just wrong. tsconfig defines what language the project is using, well what language dialect. Which features are available, is JavaScript valid TypeScript, do we have attributes and which flavour, is the project TS strongly typed or forgiving, can we use namespaces, can we use enums and how, does every array has to have an extra comma, the list goes on and one.
It doesn't stop there. We not only define the project language we use, we also have to define the babel language, the Webpack language, the language when extracting documentation, type declarations for JS folk, another endless list.
Technically, I believe it would be better to import typescript modules instead of compiling typescript down to javascript with dependencies on either external ts-runtimes or by copying js code and then using declarations to use the result of this process in a typescript client. This is however impossible, because every library uses their own variation of typescript that is very unlikely to even compile over there. If you want to specify what your typescript flavour is, you have to copy & paste your tsconfig, and in this tsconfig, you specify stuff about commas, module lookup, where to put source maps, which platform APIs are used, etc.
A modular structure has the potential to organise these configurations and separate concerns. We could standardise aspects of the language and create a vocabulary such that we don't always have to talk about commas.
No matter what we do, we cannot avoid difficulties when we work with complex systems, we have to face them instead and handle them in an intelligent way, something better than copy & paste.
I have seen the world of Cobol and Fortran, OO was news to me, I used Smalltalk and Eiffel, Perl and Assembler and I'm still hacking and witness the new ideology of simplicity, the search for the holy single source of truth and please don't inherit stuff.  But in my experience, the thing is this, people write good software when they know what they're doing. And to understand stuff, you have to focus on important aspects and avoid unnecessary complications. Then you can inherit and it's not like every kind of engineering is necessarily over-engineered.
Sorry, I'm getting increasingly philosophical here, but I feel like my industry is getting too attached to simple rules being applied to complex problems. Being scared of multiple inheritance because someone once tried to write good C++ code and failed while we all have more than one parent and consider ourselves success stories is rather inconsistent.
The question should not be whether this is multiple inheritance (it's not) and thus bad, the question is whether this would overall make our lives easier, which I firmly believe it would.

it's more often than not a good idea to rule out overwriting settings in a child that a parent already defines. with mixins, this is even more important to avoid difficulties in finding out where some setting value actually comes from.

Imposing a complex semantic on how configs can or can't be combined or overridden is in my opinion not a good idea for these reasons:

It's much simpler to imply restrictions on who has the right to edit tsconfigs in a project and limit this group to people understanding the implications
To get such restrictions done right is complicated and once doing it gets complicated, using it typically gets worse.
In out world of build pipelines or at least commit hooks, chances that a catastrophic failure passes and hits sensitive body parts are rather slim. It's setting up these mechanisms that's getting harder and limit their usefulness because they fail due to misconfiguration or become so fragile that nobody dares touching anything.
I am a parent and I was a child. I am much more respectful towards my kids decisions because I remember how my parents opinions about what settings are best for my life where flawed or simply did not apply to my circumstances.

"extends" not supporting "mixins" is a perfect example for something being too simple to be useful, while a protectionist multiple inheritance mechanism would be too complex to be useful.
As soon as you have a modular configuration, it's easy to develop and define best practices (by creating fragments that you declare fit or a specific purpose), distill which features don't and won't work together and get this topic settled once and for all. And if someone dares touching these crown jewels you can still throw coffee mugs their way.

User defined types can be more complex then multiple inheritance of tsconfig will ever be. We don't restrict the complexity on those...
I think users should decide for themselves. I do not think developers should decide for users.
I understand that some programming languages have opted out of multiple inheritance of classes. But this is something completely different, since it is just overriding of properties in a certain order, so where is the magic?
I would like to ask for concrete examples of where multiple inheritance of tsconfig will go wrong, please. Since that's all that matters.

@weswigham please review this and consider this as related to https://github.com/microsoft/TypeScript/issues/46452 as it now gets more and more relevant with the new resolve modes and if the module do use allowSyntactic or not or esInterOp or not and so on also see: https://github.com/microsoft/TypeScript/issues/48437 which is a duplicate of this but shows a more current typescript case with 4.7 and the need to have diffrent module resolve composition sets with diffrent options. for monorepos and so on.

A somewhat niche (but decreasingly so) use case for multiple extends is for people using TypeScript in SvelteKit.
In SvelteKit, types are automatically generated for your components and pages, and have to be accessed by extending a generated tsconfig file (the generated config also gives a lot of other configurations which are necessary for development).
However if you're using a monorepo to handle related yet distinct packages, you can't have both a common tsconfig and the SvelteKit generated tsconfig.
This would not be an issue if instead of only permitting one extends, you were allowed several. A virtual chain of extensions could be made and analysed, where items in the array override items prior to them.
I don't think it's a particularly difficult thing to do, and passing a string can work exactly the same as it does currently after multiple extends is implemented.

In addition to @willster277's explanation I would add that this issue is not going to go away. With the advent of Turborepo, Rushjs and others...I see this as a moderate but growing need. For those of us working in larger monos this would be truly helpful. Additionally with Vercel/Next investing in SvelteKit, which is gaining growing support, I suspect you will only see more and more of this very issue popup. While things are always more involved under the hood, most are going to see this as a simple Object.assign and wonder why it doesn't already exist. While I get it's not quite that simplistic, nonetheless that's the perception.

Is there any input from the typescript team on whether a PR would be accepted for this issue? Is it a technical resourcing issue in getting it done or still under consideration as to whether it's worth doing?

The most simple solution would also be to simply implement tsconfig.js call that from time to time and look if the result did change maybe expose a didChange value from time to time
thats the level we need to address everything.

The tipping-point scenario for us was the upcoming module resolution work, wherein it's likely that we'll be encouraging bundlers/etc to ship specific config subsets that describe their behavior.

@RyanCavanaugh I assume that extends should be a string or a list of strings. Am I right? Do we need to extend CommandLineOption to support this type? In the current implementation, I see that we cannot apply two different types to one option.

@navya9singh is making changes to make commandline options to support type that takes list or element type

@navya9singh is making changes to make commandline options to support type that takes list or element type

There are already command line options using lists (include/exclude), so there should be no reason to have different option types in the command line and config files.

Looking forward to this enhancement hopefully shipping soon… 🤞

Sorry if that was already explained above, but I want to be completely sure what this change brought to the table. Let's say that:

my base /tsconfig.json has compilerOptions with 10 properties

and

my /derived/tsconfig.json

extends ../tsconfig.json

has an explicit empty compilerOptions block

Then is it true that

pre-5.0: /derived/tsconfig.json has the default TS compilerOptions

post-5.0: /derived/tsconfig.json has the same compilerOptions as /tsconfig.json?

And if I'm right then does it mean that to maintain the same behaviour for the /derived project when migrating to 5.0 I now have to go through a list of tsconfig defaults and explicitly set each of the 10 properties mentioned in /tsconfig.json to the default values in /derived/tsconfig.json?

Then is it true that

pre-5.0: /derived/tsconfig.json has the default TS compilerOptions
post-5.0: /derived/tsconfig.json has the same compilerOptions as /tsconfig.json?

No. TypeScript 4 does not set the default compiler options if you set compilerOptions to an empty object when extending from another tsconfig and neither does TypeScript 5. The compiler options from the base tsconfig(s) will be applied to the final tsconfig.
// tsconfig.base.json
{
    "compilerOptions": {
        "declaration": true,
    }
}

// tsconfig.json
{
    "extends": ["./tsconfig.base.json"],
    "compilerOptions": {}
}

// tsc --showConfig
{
    "compilerOptions": {
        "declaration": true
    },
    "files": [
        "./index.ts"
    ]
}


Issue with plural offset?

So I was implementing this library in a new project and wanted to test out all the features myself and I think I found an issue.  I have this string:
You {NUM, plural, offset:1 =0{didn't like} zero{like} one{and 1 other person likes} other{and # others like}} this post

and the following code:
window.i18n['desktop/home'].pluralOffset({
  NUM: 0
});
// OUTPUT: You didn't like this post

window.i18n['desktop/home'].pluralOffset({
  NUM: 1
});
// OUTPUT: You and 0 others like this post

window.i18n['desktop/home'].pluralOffset({
  NUM: 2
});
// OUTPUT: You and 1 other person likes this post

window.i18n['desktop/home'].pluralOffset({
  NUM: 4
});
// OUTPUT: You and 3 others like this post

window.i18n['desktop/home'].pluralOffset({
  NUM: 8
});
// OUTPUT: You and 7 others like this post

window.i18n['desktop/home'].pluralOffset({
  NUM: 1000
});
// OUTPUT: You and 999 others like this post

I am not sure why when the value is 1, it is selecting the other version instead of the zero version (since zero should work off the offset number).
I am not hugely concerned about this since this is not a very common use case for me and I can work around it by doing 1{like} instead of zero{like} but wouldn’t this be a bug?
I should mention I am using the CLI compiled version of the i18n.js file.

The code is working as it should; there's a mistake in the documentation, which is undergoing a (slow) rewrite. The order of operations that's used is:

compare literal keys, if any match use it
otherwise, apply any offset
map the resulting value to a pluralization category, and use it

The problem with the readme is that English doesn't use the zero case, so it never gets called.
Using your example, something like the following should work:
You {NUM, plural, offset:1
    =0{didn't like}
    =1{like}
    one{and 1 other person likes}
    other{and # others like}
} this post

Also, could you verify that you're really getting You like this post for {NUM: 0} in your example? If so, exactly how did you install MessageFormat? Because that's a bug that I'm not able to replicate and we need to track down more precisely what causes it.

@eemeli Sorry about the first output, it was a mistake on my part and updated it to want I actually get (which is the correct text).
Also good to know that what I was seeing was a bug in the docs and not the code.


Regarding storage persistence of schema and credential definations

Hey team,
I am facing an issue regarding the schemas and credential definitions being deleted or not stored after 3 - 4 days.
let me walk you guys through the exact scenario,
I created a schema and with respect to that a schema credential definitions, now when i query the schema-by-id API the result is success and i can see the schema which is the expected result. Same goes to credential definitions.
Now when i try to get this schemas after around 3 to 4 days from the ledger it returns 404: No ledger found.
The ACA-py version used in my project is pretty much old i.e 0.8.2, and i also went through your release notes which mentioned some storage related issues resolved in later version but i am still not able to confirm as if it's the same issue that  i am facing.
Below are the args that i am passing to start the acapy servers.
 aca-py start \
    --auto-provision \
    --arg-file ${MEDIATOR_ARG_FILE} \
    --label "${MEDIATOR_AGENT_LABEL}" \
    --inbound-transport http <IP_ADDRESS> ${MEDIATOR_AGENT_HTTP_IN_PORT} \
    --inbound-transport ws <IP_ADDRESS> ${MEDIATOR_AGENT_WS_IN_PORT} \
    --outbound-transport ws \
    --outbound-transport http \
    --wallet-type indy \
    --wallet-storage-type postgres_storage \
    --admin <IP_ADDRESS> ${MEDIATOR_AGENT_HTTP_ADMIN_PORT} \
    --admin-api-key ${MEDIATOR_AGENT_ADMIN_API_KEY} \
    --endpoint ${MEDIATOR_URL} wss://${MEDIATOR_URL#*://*}

and also i am using this ledger http://prod.bcovrin.vonx.io/
Can anyone help me rather guide than confirm that i am thinking in the right direction.
Also let me know if you need more details on this. :) happy to help

Are you able to use the built in ledger browser and if your schema and cred-def?

Good.  Where are you defining (passing in) the genesis info for your agent?  What are the settings?

@WadeBarnes this is the genesis configs passed to agent for the above ledger
{
      id: 'BCOVRIN_PROD_Genesis',
      indyNamespace: 'sovrin',
      genesisTransactions: '{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"<IP_ADDRESS>","client_port":9702,"node_ip":"<IP_ADDRESS>","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"}\n' +
        '  {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"<IP_ADDRESS>","client_port":9704,"node_ip":"<IP_ADDRESS>","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"}\n' +
        '  {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"<IP_ADDRESS>","client_port":9706,"node_ip":"<IP_ADDRESS>","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"}\n' +
        '  {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"<IP_ADDRESS>","client_port":9708,"node_ip":"<IP_ADDRESS>","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"}',
      isProduction: false
    }

I would suggest switching to use the genesis URL rather than embedding the genesis file in the config.  You're likely running into issues with the formatting of the genesis file.  Incorrect formatting such as additional whitespace can thrown things off.

while we wait for 3 to 4 days for checking, can you explain how is it working for the first time i create cred-definition.
If the genesis file are not correct, then it should not work for the first time too, right?

You are correct.  If there was an issue with the genesis file to start with, you should not have been able to connect to the ledger in the first place.  This leads me to suspect that something changed along the way and some formatting issue was introduced into the genesis file, such that it looked correct (and the same) but was different enough to cause it not to be processes correctly.  Something as simple as CrLf instead of just Lf for a line ending has been known to cause such issues.

Did it work? @smartdeepp or does the problem persist? Do connections still work? Do you find alles entries in the Postgres database?


Differences between this and the Happyr package

Tell me more about the differences between this and the Happyr package.
We are not stable yet and there are room for small and big changes. Maybe we can find a way to work together.

Sure, I would be glad to.
Some backstory
I originally started with an implementation inside a prototype project after reading the same blogpost mentioned in the Happyr package a year ago. I always wanted to extract it out, since some colleagues saw the benefit of it and wanted to use it as well.
I started on extracting it, but during this time I also found the Happyr package. I saw a lot of similarities to the code I originally had (naming apart), but also a bigger level of abstraction. The code in my repository is basically a mix of my initial implementation, but also with concepts from the Happyr package I liked.
The actual differences
The first difference is I wanted to have the ability to receive the Query object after calling match() on the repository. This meant I would be able to use a pagination library, which I was using in the prototype (a Symfony2 HATEOAS project). This was something I got used to, and was not ready to give up ;)
The second main difference is that the Specification class can take children directly, I did not want to have a separate class be responsible for that. This meant the specification had to contain all the logic from the Happyr LogicX class, making my AndX/OrX classes a little obsolete since they just extend Specification and call some setters. I do like to have them for readability when composing a spec though.
The third main difference is that the interface is the same between Filters and QueryModifiers unlike in the Happyr package. In my case it's all a SpecificationInterface, which solved an issue with nesting certain types I saw initially in the Happyr package (this has been solved now).
My specification interface only requires a modify() method which can either return a string (making it a filter) or nothing (making it a query modifier), this means you also don't need special collection classes for Filters or QueryModifiers. All a collection class needs to know is that it has to accept SpecificationInterface implementations, call the modify method on each child and if it returns something then combine results with 'AND' or 'OR'. I don't know if this is a good design choice, but I preferred this from my original implementation. I liked this interface better compared to separate getFilter and getQueryModifier methods, but this decision is not based on anything other than a personal opinion :)
The ResultModifier was an idea I liked and my original code lacked, so I shamelessly copied that idea. Also was playing with the tests and noticed the coverage, so I tried to get the test coverage up a little as well as trying out phpspec. I published the package since colleagues wanted to use this for an internal project as well and they also needed the pagination.
Disclaimer
It's quite late and I'm mainly typing this from memory, so if I made some mistakes/typos or if something was unclear please let me know.  Also: sorry for the wall of text.

Thank you for the long post explaining your thoughts. It looks like you have made lots of choices from opinions, which is a good thing. You created stuff that was easy to use. That has been one of our issues. We are more focused of doing things "The right way" which have made our DX suffer. If we work hard we could find a "right way" that is easy to use.

The first difference is I wanted to have the ability to receive the Query object after calling match() on the repository. This meant I would be able to use a pagination library, which I was using in the prototype (a Symfony2 HATEOAS project). This was something I got used to and was frankly not ready to give up yet.

I have considered the same. I got an open issue about this actually. It might be a better/more flexible way of doing it. I will not argue against it.

The second main difference is that the Specification class can take children directly, I did not want to have a separate class be responsible for that. This meant the specification had to contain all the logic from the Happyr LogicX class, making my AndX/OrX classes a little obsolete since they just extend Specification and call some setters. I do like to have them for readability when composing a spec though.

We have chosen to have a AndX/OrX class to follow the specification pattern. IMHO will this makes it easier to see how the Logic tree is built.
We recently added a feature which made the API more fluent by adding AndX::andX and OrX::orX.

The third main difference is that the interface is the same between Filters and QueryModifiers unlike in the Happyr package. In my case it's all a SpecificationInterface, which solved an issue with nesting certain types I saw initially in the Happyr package (this has been solved now).

The reason behind this is the separation of concerns principle. We did not wanted to have one method Specification::modify that could both change the query (Join, OrderBy, Limit) and filter the result set (IsNull, Equals). This should (and is now) only an internal issue. Applications developers should not bother about this and the should always use the Specification.

The reason behind this is the separation of concerns principle. We did not wanted to have one method Specification::modify that could both change the query (Join, OrderBy, Limit) and filter the result set (IsNull, Equals). This should (and is now) only an internal issue. Applications developers should not bother about this and the should always use the Specification.

I agree with the separation of concerns. I was also planning to look into Doctrine's Criteria objects for creating the condition/filter and using the Criteria object in the where-part (instead of a string), however I haven't really looked into it. This however would also mean the Doctrine version requirement would be bumped to 2.3+.
I didn't like the fact that both methods originally needed the QueryBuilder object, and there was nothing preventing you from using the getFilter method as a QueryModifier. Thats why I got thinking about letting getFilter modify the Criteria object, instead of the whole query builder.
I'm not sure if this will cause issues in your case, but then it's more clear (IMO) that one method handles query building, the other handles query criteria.
I will investigate this further, since I forgot investigating this before (so thanks for reminding!).

However I can see that this normally is the task of the repository, and the service layer shouldn't know anything about Query-objects. I like the flexibility, but I know I am moving responsibility to retrieve the data one level up (the repositories calling class, instead of repository itself). This last part is something which always felt dirty, but haven't found a nice way around that.

We should be able to find a way around it. Or some way to use the Paginator. Do you know if there is some other feature like the Paginator that we should support?

I didn't like the fact that both methods originally needed the QueryBuilder object, and there was nothing preventing you from using the getFilter method as a QueryModifier. Thats why I got thinking about letting getFilter modify/return a Criteria object, instead of working with the query builder object. Right now there is nothing preventing you from adding joins within a getFilter method.

You are very correct. There is nothing stopping you from using getFilter as a QueryModifier. It should be though... I guess we could do something smart here. The issue to work around is the $qb->setParameter().

I'm not sure if this will cause issues in your case, but then it's more clear (IMO) that one method handles query building, the other handles query criteria.

I agree. If we rewrite the signature of getFilter we force the seperation of conserns which will make it more clear.


popup buttons do not work on either FilePicker or DateTimePicker

Category
[ ] Enhancement
[x] Bug
[ ] Question
Version
Please specify what version of the library you are using:
"office-ui-fabric-react": "^7.93.0",
"@pnp/spfx-controls-react": "^1.16.0",
Expected / Desired Behavior / Question
Added FilePicker or DateTimePicker.
Clicking the button should open the picker dialog.
Observed Behavior
Clicking the button does nothing.
I have debugged and found my office-iu-fabric-react button control ignores the onClick event, and the FilePicker control only sends an onClick event in the props.
There might be a version mismatch here, right?
Couldn't find the right version in the documentation to make this work, could you say which version of office-ui-fabric-react is supported?
Steps to Reproduce
Install these 2 versions and try to use the FilePicker.
Click the button - nothing happens.
Thanks!

I have changed my dependency to: "office-ui-fabric-react": "5.131.0"
Still, the same result. Button click is ignored.
If I call _handleOpenPanel in the debugger the control works fine, just the button does not open the popup.

my react version is 6.9.0

deleted node modules folder, set dependencies to this:
"dependencies": {
"@microsoft/sp-loader": "1.10.0",
"@types/es6-promise": "0.0.33",
"@types/webpack-env": "1.13.1",
"react": "16.8.5",
"react-dom": "16.8.5",
"@types/react": "16.8.8",
"@types/react-dom": "16.8.3",
"office-ui-fabric-react": "6.189.2",
"@microsoft/sp-office-ui-fabric-core": "1.10.0",
"@pnp/sp": "^2.0.3",
"@pnp/spfx-controls-react": "1.16.0"
}
Issue is now gone...


Spec: show diff between expected and actual values when should eq fails

Fixed #9948
Screenshot:

This PR adds only diff output to the AssertionFailed message.
We can consider the following enhancements:

Make #pretty_inspect output stable on Hash keys and Set values for diff.
(by adding stable option to #pretty_inspect?)
Highlight diff output for human readability.
Add word diff by using wdiff command.

Thank you.

This looks great! I'm not sure how it behaves with long values and huge differences. Maybe the diff should be hidden when it's too long? I don't think it's particularly useful when it spans over a page or so.
I'd also be very interested in shortening the diff output. For example, are ---expected/---actual labels really necessary? The line numbers probably only make sense when there's exactly one item per line (like in a multiline string). But when you have an array of complex data structures where each can print more than one line, you the line number of the diff provides only limited information.
@oprypin It would be really helpful if you could share your concerns instead of just giving a thumbs down.

--- expected and +++ actual lines are removed. In fact, AVA has no such lines.

I just think that this is a maintenance liability. Running specs will now require a diff executable and with particular expectations towards how it's implemented.
GitHub Actions just happens to have the executable, but that won't always be so -- on Windows almost never.

@oprypin This does not require diff. It serves as an optional enhancement.

The spec for this requires diff.

Added git diff to candidates of diff command.
I think we can drop the support of other diff candidates because it is rare that a Crystal developer's PC lacks git command.

We can use pending! from #9566 to mark the specs when there's no diff tool available.

What should I do?

I think it would be nice to have a diff library in the standard library. It could start by just being text-oriented, and eventually we could make it more complex. But I think relying on the system diff might be a bit too much.

diff library in stdlib sounds not so bad. We have levenstein in stdlib for a specific purpose (Did you mean?). I think we can go in the same way.

@asterite That's the opposite of what you said here https://github.com/crystal-lang/crystal/issues/9948#issuecomment-735759242
which itself was the opposite of what the discussion was tending towards at that time.

@asterite

It could start by just being text-oriented, and eventually we could make it more complex.

I guess and believe the latter part is impossible... (https://github.com/crystal-lang/crystal/issues/9948#issuecomment-735757899)
However, the first part can implement in less than 200 LOC, so I said "not so bad".
Repeatedly, my opinion is the best idea is to use system diff because it works in 99% of environments.

@oprypin Yes, I changed my mind :-)
In any case, if others think that relying on diff is fine, then merge this.


Document rsw init using npm

only documented yarn to init a rsw.toml, this command also works
$ npm run rsw init

also
npm run rsw new rsw-hello


[Request] Set GitHub Repo as "Template Repo"

As a minor convenience, it would be neat to be able to copy the starter kit into a new project repo and squash the kit's history with the click of a button.

Thank you for the suggestion.


Documented two new unmanaged profiling interfaces

Documented two new unmanaged profiling interfaces
ICorProfilerCallback8 was introduced in .NET Framework 4.7.1.
ICorProfilerCallback9 will be introduced in .NET Framework 4.7.2.

Thanks, @noahfalk. I've addressed your comments.


Testing

made a lot of changes in our tests to ensure that they are all passing now!
you'll see the controller tests now have a :creator attribute, and we have tests to match the changed validations in our models/migrations(index, validate dependent associations)
phew.
makin it happen ya'll!

Coverage increased (+15.42%) to 89.63% when pulling 13389df3f1213f5145a868a2dca5e92a62bb5fdd on testing into 1f9b7aab00b2a5fba338dd47ff165515ee7249a9 on development.


Bug: jar file doesn't open in current location.

Description
I have a .jar file for Minceraft java edition.  It a custom launcher that I compile and I run from a folder on my desktop.  https://github.com/SKCraft/Launcher
After using FIles to access this folder and launching the file.. normally what happens is the jar file accesses the configuration files saved locally in the same folder as the jar file.  One in particular is the accounts.dat file with the credentials for my Microsoft account.
When using "Files" it fails to register anything in this folder.  Somehow through some registered variable in windows (I assume) it creates a folder in the same general folder location for the launcher project it was compiled in.  It does NOT use the Desktop folder I created for the launcher.  I have never in any other computer (including OSX or Linux) seen the jar file not being able to access these local files....
FYI, I use a bat file located on my NAS to compile the SKCraft Launcher Minecraft .jar file.  This jar file is shared with my son and other nephews to use on their computers as is..  They simply run it and it creates all the local files you see in the included image.

Steps To Reproduce

Run a program file in C:/Users/<name>/downloads
See the program get path C:/Windows/System32

Requirements

e.g. Fix crash that occurs when...
Behave as Windows Explorer does.  When the jar file is double clicked it uses the java env. to run and accesses the configuration files the .jar file created in the same local folder.  It then opens the Launcher and the user is able to play Minecraft from this folder as they do when using Explorer.

Files Version
<IP_ADDRESS>
Windows Version
10.0.22000.2176
Log File
debug.log

Thanks for the report, I've added this to the project board.

Wanted to let you know there is a workaround by making a shortcut of the file and having start in target blank.

@Josh65-2201 is this the same as #12139?

Not sure since this one has issue with the path defaulting to system32 folder and that one is with the username not being correct. Could be related though.

I tested opening a file in VS Code and I'm having trouble reproducing this issue. The command ling args passed by Files are identical to the ones in File Explorer.

Still an issue with python and java files. Here's a python file that outputs the working directory
getWorkingDirectory.zip

Do you have a way to test that doesn't require installing python or java?

I can't repro with a batch file
@echo off
echo Current working directory: %cd%
pause

Python and Java are the only ones I know that has the issue

A fix will be included in the next release.


Heroku deployment

Only main page loads. All other routes/pages return 404 error and "cannot GET" message. Potential issue with react routes.

Fixed as of 5-19-23


feat: bemanitools 6, wip (TBD needs splitting and reviewing)

THIS IS A HIGHLY WORK/DEVELOPMENT IN PROGRESS VERSION
THINGS ARE BROKEN AND EVERYTHING IS SUBJECT TO CHANGE
First cut after massive refactoring with most critical and fundamental changes implemented.
We need to start somewhere, and this might be as good as anything else, so we can get started
with testing, bug fixing and iterating for the next releases.
The following list is non-exhaustive, does not guarantee anything does work, yet, and is supposed
to give a high level idea of what all of this is about. Updated documentation will reflect all of
this at some later point in time in more detail.

A common "core" now abstracts logging, thread, property and configuration infrastructure and
provides a common interface. This is used by bemanitools internally as well as all tools, hooks
and APIs provided and don't depend on the game, version of the game or AVS version available
anymore
New bemanitools (public) API

Versioned API allowing for handling incremental API changes as well as breaking changes by
providing a new/different version when necessary
Unified interfaces for bemanitools core API, i.e. logging, threads, configuration
SDK with examples (TBD)
Dogfooding approach: Bemanitools uses its own (public) API to implement and provide fundamental
features like configurable keyboard implementations for IO or hooks for different games and
versions

All bemanitools hooks and IO libraries have been or are about to be re-worked to use the new APIs
New hook API allows for more fine grained runtime control when stages of the hook are to be
executed, i.e. pre AVS, before main game, iat hooking instead of relying purely on DllMain
(which is still a compatible option though)
launcher as a replacement for bootstrap: Bring it significantly closer to the original bootstrap
by supporting completely vanilla data and bootstrap.xml configurations to run the games. Note
that bemanitools does not include any code or means to run DRM'd data, only decrypted
inject is also being reworked to use as much of the same "infrastructure" as launcher to provide
a more seamless bootstrapping process for games that keeps pre-eapki data as vanilla as possible

Unsorted thoughts, mostly based around "hey this is a new major version, so maybe we should do some other big semver things"

#260 is a big breaking change, might be nice to bring it in for a 6.0
I've never liked how similar our library names such as aciomgr.dll, geninput.dll and eamio.dll are when placed next to the other game DLLs. My opinionated suggestion here is to prefix all shipped bemanitools DLLs and files with bt- so it's both blindingly obvious and lexicographically grouped separately.
Thoughts on meson? I could spearhead this, but at the same time I don't really mind the current build system because it's small in scope.

Other extremely early thoughts on the changes made so far:

Versioned API is very very nice, as long as we maintain backwards compat (i.e. "version 0")
Launch XMLs look good so far, I haven't done a deep dive yet. I like how using them avoids colliding with commandline args. I already imagine people (myself) asking for the ability to layer them (base config, then certain combos of hooks).
Making inject less janky will be great too, it never felt like a first-class citizen


Added question about css sibling selectors with examples

Description

This PR includes an intermediate CSS category question: What is the difference between '+' and '~' sibling selectors?. It also includes the answer, good to hear and additional links content.
Please let me know if you want to add or propose anything else to be more clear in the question, answer, good to hear or links section.
Thanks!
What does your PR belong to?

[x] Questions / Answers
[ ] Website
[ ] General / Things regarding the repository (like CI Integration)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (non-breaking improvement of a question)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have checked that the changes are working properly
[x] I have checked that there isn't any PR doing the same
[x] I have read the CONTRIBUTING document.

@atomiks @skatcat31 could some of you guys review the grammar side of this answer? My concentration isn't the best right now 😆

The grammar of this question and answer make it parse REALLY awkwardly. It's also arranged two different ways within itself, one with a title for the general, and the adjacent just being a continuation. This needs some rewriting before it'd be in a good format.

Thanks for feedback @skatcat31, @josemariogutierrez could you please fix mentioned things? Thanks

@fejes713  Sure!, i just commited the fix, thank you for your feedback :)


FEATURE_FLAG_TRUE: NEW_PROJECT_PAGE

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3852   👈

This comment was auto-generated by Graphite.


Move tag_id property to base class

Right now, only the ActiveTag has a tag_id property. However, passive and active tags both have identifiers. Moving this function to the base class would allow PassiveTag instances to get their identifiers, even if they are unused.

Closed by #25


Update rustls to >=0.23

My employer uses Cloudflare Warp which uses ECDSA Signature with SHA-512  that is not supported by rustls 0.22.x which FFI here requires
https://github.com/rustls/rustls/issues/1367
https://github.com/denoland/deno/issues/21169
Please update to rustls >=0.23, which supports it so that I can use this project, as right now it's not possible for me:
Failures:

1) Failed to load pact - Failed to load pact 'https://pact-broker.eqs.dev/pacts/provider/data-center-api/consumer/control-tower-ui/latest' - Request failed - error sending request for url (https://pact-broker.eqs.dev/pacts/provider/data-center-api/consumer/control-tower-ui/latest): error trying to connect: invalid peer certificate: BadSignature

Unfortunately, it is not that simple as just upgrading that crate. This requires an upgrade to a number of other crates as well (like tokio-rustls, reqwest and hyper-rustls) which in turn require updates to Tokio and Hyper.
Work has been started to rewrite the mock server component using Hyper 1.x, so that all these crates can be updated. That is currently a beta release. It will need to be stabilised and merged into the main first.

v2.0.0 of Pact Mock Server was released last week, out of beta, which is the first piece of the puzzle, enabling other crates to be updated
https://github.com/pact-foundation/pact-core-mock-server/releases/tag/libpact_mock_server-v2.0.0
@ostrolucky for an idea of the complexities in upgrading the project, please refer to the ecosystem diagram for the rust project
https://docs.pact.io/diagrams/ecosystem#rust-goldberg-machine
hopefully this will add some additional context to Ron's comments above, as I note your confused emoji.

Related issue which contains the rationale for the V2 pact mock server
https://github.com/pact-foundation/pact-reference/issues/414


Finch.jl accepts all dtypes except bool.

          This is weird, all the others here are NumPy dtypes.

Originally posted by @hameerabbasi in https://github.com/willow-ahrens/finch-tensor/pull/48#discussion_r1603510065

The same change already happens in tensor.py::638:
if dtype == np.bool_:  # Fails with: Finch currently only supports isbits defaults
    dtype = bool

np.bool_ isn't accepted by Finch, only builtin bool is fine.

Bool is certainly supported by Finch, it's fairly easy to confirm. If you're getting an error like Finch currently only supports isbits defaults, that means that you are trying to construct a finch tensor full of heap-allocated objects. This points to a conversion from np.bool_ into something Julia or Finch isn't recognizing.

One observation is that julia does seem to recognize a numpy array of bools.
>>> jl.println(jl.typeof(numpy.full((1,), numpy.True_)))
PyArray{Bool, 1, true, true, Bool}

some further investigation:
>>> jl.println(builtins.bool)
<class 'bool'>
>>> jl.println(numpy.bool_)
<class 'numpy.bool_'>
>>> jl.println(builtins.int)
<class 'int'>
>>> jl.println(numpy.int_)
<class 'numpy.int64'>

I don't spot the difference. I just think this is probably an artifact of PythonCall or a discrepancy between Python and Julia handling of Bool. Somewhere, the wrapper layer might not be converting a bool properly, or might not be able to.

Ah, here it is:
>>> jl.println(np.int_(1))
1
>>> jl.println(int(1))
1
>>> jl.println(np.True_)
fill(true)
>>> jl.println(True)
true

I am not sure why, but np.True_ converts to a scalar julia array containing true, but True converts to a julia Boolean true. This appears to be the only case where this occurs.
>>> jl.println(jl.typeof(np.True_))
PyArray{Bool, 0, true, true, Bool}

I don't know why this conversion occurs, but it's related to the python/julia wrapper. Finch is just complaining because it doesn't like heap-allocated objects.

Can we report this upstream (perhaps to JuliaCall)?

yeah, maybe we should report it.

@hameerabbasi @mtsokol They fixed it!


Added eslint + standard config

But it's currently commented out in .travis.yml since we have a few issues and I didn't want to perform the surgery

Errors were small, fixed them anyways

Looks good! I guess we should add npm run lint before the build step in the prepublishOnly script.

Done ☑

Awesome - thanks!


Prevent aggregatuples with less than 2 inmodels

Companion PR: https://github.com/SubstraFoundation/substra-backend/pull/189
Prevent the creation (from the command line) of aggregatetuples with no in models or just 1 inmodel, since they don't make much sense (no aggregation to do).

Quoting @samlesu in the companion PR:

After discussing with @camillemarini, it seems better to not add this limitation.
There is no reason for restricting the aggregation of nothing or the aggregation of a single model.


libsmpack failing to install in Windows GHA

https://github.com/metanorma/metanorma-ieee/actions/runs/7870385649/job/21471466801?pr=343
Fontist has recently added the libsmpack gem. This gem is failing to install in Github Actions for Windows environments: the gem is failing to compile to a native executable.

Should be fixed after https://github.com/fontist/excavate/pull/26 release
Let me doublecheck

According to logs it install ffi-compiler2 2.0.1 but for some reason still do use ffi-compiler2 2.2.1 during native extenstion compilation
Probably cache need to be dropped, looking for a way to do it locally

Cache dropped re-run in progress https://github.com/metanorma/metanorma-ieee/actions/runs/7870385649

Thank you @CAMOBAP !


Move to deislabs/cnab-go

Vendor and use github.com/deislabs/cnab-go library, which extracted pkg/bundle.
Signed-off-by: Silvin Lubecki<EMAIL_ADDRESS>

@radu-matei I don't have access to the duffle-CI logs, so I don't know what is failling...

@silvin-lubecki -- I was planning this as part of #681, but I don't really see any reason not to have this as a separate PR.
Let me see why the Brigade build didn't kick in, and I'll update here.
Thanks!

Just rebased and fixed the imports, thank you @radu-matei 👍

GitHub seems to be having some troubles today, both CIs are currently pending:
&{Response:0xc000114000 NextPage:0 PrevPage:0 FirstPage:0 LastPage:0 Rate:github.Rate{Limit:6100, Remaining:6059, Reset:github.Timestamp{2019-04-11 17:25:49 +0000 UTC}}}Error: POST https://api.github.com/repos/deislabs/duffle/check-runs: 500  [] (got )

GitHub seems to be having some troubles today, both CIs are currently pending:
&{Response:0xc000114000 NextPage:0 PrevPage:0 FirstPage:0 LastPage:0 Rate:github.Rate{Limit:6100, Remaining:6059, Reset:github.Timestamp{2019-04-11 17:25:49 +0000 UTC}}}Error: POST https://api.github.com/repos/deislabs/duffle/check-runs: 500  [] (got )

GitHub seems to be having some troubles today, both CIs are currently pending:
&{Response:0xc000114000 NextPage:0 PrevPage:0 FirstPage:0 LastPage:0 Rate:github.Rate{Limit:6100, Remaining:6059, Reset:github.Timestamp{2019-04-11 17:25:49 +0000 UTC}}}Error: POST https://api.github.com/repos/deislabs/duffle/check-runs: 500  [] (got )

Any particular reason why deislabs/cnab-go is not pinpointed in Gopkg.toml?

Well, the gopkg.lock already pin-points the deislabs/cnab-go package, so I guess it won't change unless someone does an explicit update on it, or if the resolver needs bump it because of a transitive dependency.
I think the less you have in the Gopkg.toml the better, and you should only pin-point hard requirements. In an ideal world you even should have nothing in this file, as dep automatically resolves all the dependencies and transitive ones.
That said, I may be wrong and would be happy to add it to the Gopkg.toml file 👍


[models] Loading 3D models?

I'm totally new to 3D, but when loading models other than the dwarf examples I get black and white triangles indicating polygons but not the actual textures (the shape of the model is right). You say you use this to teach; do you have any tutorials?

Can you provide what code you're using? You may need to load a texture. Also models need to be triangulated when exporting because raylib doesn't do that automatically.

Hi @tanner-backup-github, I usually use the provided examples as the base to explaining the concepts I teach. I understand that looking to examples directly with no proper explanation could not be enough in some cases despite trying to make the examples as self-explicative as possible.
For models loading you can check models_obj_loading example. Current OBJ loader only supports triangle meshes...

I am also seeing this issue on OSX whereby the model loaded is only showing half the triangles in black and white.

that's because it defines faces as quads instead of triangles, raylib only supports triangle faces.

@raysan5 thanks for the quick reply, can confirm this was the issue... very excited to get started on my project now that i figured this out!

Hi, I am trying to load a 3d model to later animated it, but when I execute the code, it is loading a default cube.
I know that the model is well created so I don't know what is exactly the problem. Here I put my code if anyone have any idea :).
`#include <raylib.h>
#include <math.h>
int main(void)
{
int screenWidth = 800;
int screenHeight = 600;
InitWindow(screenWidth, screenHeight, "3D TEST");
SetTargetFPS(60);

/* CAMERA VARS */
Camera3D camera = (Camera3D){(Vector3){-5, 8, -5}, (Vector3){0, 2, 0}, (Vector3){0, 2, 0}, 45, CAMERA_PERSPECTIVE};

float cam_radius = 15;
float cam_angle = 1.57;

Model model_test = LoadModel("assets/bomb.iqm");

unsigned int animsCount = 0;
ModelAnimation *anims = LoadModelAnimations("assets/bombAnim.iqm", &animsCount);
int animFrameCounter = 0;

SetCameraMode(camera, CAMERA_CUSTOM);

while (!WindowShouldClose())
{
    if (IsKeyDown('Q'))
        cam_angle += 0.02;
    if (IsKeyDown('E'))
        cam_angle -= 0.02;
    camera.position.x = cam_radius * cos(cam_angle);
    camera.position.z = cam_radius * sin(cam_angle);

    if (IsKeyDown(KEY_SPACE))
    {
        UpdateModelAnimation(model_test, anims[0], animFrameCounter);
        animFrameCounter++;
        if (animFrameCounter >= anims[0].frameCount) animFrameCounter = 0;
    }
    BeginDrawing();
    ClearBackground(BLACK);
    BeginMode3D(camera);
    DrawModel(model_test, (Vector3){0, 1, 0}, 1, WHITE);
    DrawGrid(15, 1.0);
    EndMode3D();
    DrawFPS(10, 10);
    EndDrawing();
}
for (unsigned int i = 0; i < animsCount; i++) UnloadModelAnimation(anims[i]);
RL_FREE(anims);
UnloadModel(model_test);
CloseWindow();
return 0;

}`


KYLIN-3640 Fix cube with desc broken state can not be deleted

Can one of the admins verify this patch?

Pull Request Test Coverage Report for Build 3784

3 of 7 (42.86%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.002%) to 23.317%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
3
7
42.86%

Files with Coverage Reduction
New Missed Lines
%

server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java
1
47.62%

core-cube/src/main/java/org/apache/kylin/cube/cuboid/TreeCuboidScheduler.java
2
68.46%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
4
78.12%

Totals

Change from base Build 3782:
-0.002%

Covered Lines:
16321

Relevant Lines:
69995

💛  - Coveralls

Codecov Report

Merging #300 into master will decrease coverage by 0.01%.
The diff coverage is 28.57%.

@@             Coverage Diff             @@
##             master    #300      +/-   ##
===========================================
- Coverage     21.32%   21.3%   -0.02%
+ Complexity     4447    4444       -3
===========================================
  Files          1088    1088
  Lines         69989   69995       +6
  Branches      10111   10113       +2
===========================================
- Hits          14926   14914      -12
- Misses        53664   53676      +12
- Partials       1399    1405       +6

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/org/apache/kylin/cube/model/CubeDesc.java
64.28% <28.57%> (-0.39%)
179 <1> (ø)

...he/kylin/dict/lookup/cache/RocksDBLookupTable.java
72.97% <0%> (-5.41%)
6% <0%> (-1%)

...org/apache/kylin/rest/util/QueryRequestLimits.java
35.71% <0%> (-4.77%)
5% <0%> (-1%)

.../apache/kylin/cube/cuboid/TreeCuboidScheduler.java
63.84% <0%> (-2.31%)
0% <0%> (ø)

...rg/apache/kylin/cube/inmemcubing/MemDiskStore.java
69.6% <0%> (-1.52%)
7% <0%> (ø)

...a/org/apache/kylin/dict/Number2BytesConverter.java
81.74% <0%> (-0.8%)
17% <0%> (-1%)

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 c87856d...c020840. Read the comment docs.


mouse click handler crash by singularity detector

crash-2024-06-01_13.18.33-client.txt

Ok, I think I found the issue. I'll hopefully fix it soon. :)


Parameters for 8-channel mixtures

Hello, I am training your model on a 16k 8-channel dataset using the parameters for 16k given in https://github.com/hangtingchen/Beam-Guided-TasNet/issues/4.
It's strange that on the validation set the 8-channel experiments performs much worse than the 4-channel and 2-channel ones.
So, is it possible? Or should I also change other parameters as well?
Below are the val/loss curves, where the black and purple lines are 8-channel versions, the green is the 4-channel version and the blue is the 2-channel version.

The negative of si_sdr on validation set on reference channel:

Thanks in advance!

One more question is that should I change the STFT parameters specified in the MVDR module?

sorry for the late reply. It is strange, and I cannot imply the reason directly. Maybe we can exchange comments on wechat. My account is cht465244243.


WIP: Upgrade kubernetes-client to 4.9.0  to support AWS command to get OauthToken

This is a WIP, because when this version is used as a module in the brooklyn project it stops its initalization dead in it's tracks.
It seems both bundles brooklyn-container-service and brooklyn-locations-jclouds require this dependency:
com.google.code.findbugs/jsr305/3.0.x.
JClouds requires 3.0.1, the container service requires 3.0.2.   JClouds does not specify this dependency explicity in the features.xml file. If I try to add it  in any of the features declarations like this:
<bundle dependency='true'>mvn:com.google.code.findbugs/jsr305/3.0.1</bundle>
Brooklyn refuses to start.

This will be merged as sson as me and @duncangrant  find a way to allow brooklyn to ssh inth Kubernetes containers.

This is working well for me.  I have tested with the brooklyn container service tests.  There is an issue with brooklyn. trying to use the wrong dns name when connecting to an EKS cluster but I don't think this is a regression so it shouldn't be a blocker.  There is also an issue with cleaning up as we don't seem to use kube config file so we aren't authorised to delete the deplyments.  I think this is a blocker that we need to fix:
2020-04-16T13:31:11,062 - DEBUG 144 o.a.b.u.c.t.BasicExecutionManager [er-JevXTpAu-1277] Exception running task Task[stop]@g2796oLP (rethrowing): org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking stop at BasicApplicationImpl{id=tzj3ut283b}: 1 of 2 parallel child tasks failed: Error invoking stop at TestCaseImpl{id=a9b6demuii}: Error invoking stop at TestCaseImpl{id=qsxy6agkwb}: Error invoking stop at TestCaseImpl{id=tpbrd7bh2x}: Error invoking stop at EmptySoftwareProcessImpl{id=qgcr8cgbso}: KubernetesClientException: Failure executing: DELETE at: https://95883d179f10d27bc5843750cfe40a4a.yl4.eu-central-1.eks.amazonaws.com/apis/apps/v1/namespaces/brooklyn/deployments/qgcr8cgbso. Message: Unauthorized! Token may have expired! Please log-in again. Unauthorized.


py.typed needed for PEP 561 compatibility

Hi,
to be able to use the type hints with mypy, you have to add a py.typed file to the package to make it PEP 561 compatible.
I tried to fork the project and tried multiple things to get py.typed into the built package, but somehow I can't do it.
I have also not worked with setuptools for a long time.
https://peps.python.org/pep-0561/
https://blog.whtsky.me/tech/2021/dont-forget-py.typed-for-your-typed-python-package/
https://setuptools.pypa.io/en/latest/userguide/datafiles.html
Thank you

I have already thought about transferring the sqids module into a package and the constants into an extra module. In the course of this a py.typed file can be added.

Added compatibility in 0318361f76cf2e20a6521a56ce248cb816cbc0bc


Show filename and substation name instead of ID

As a user-interface user
I want to see the filename (private element) and optional (if the name is theire) substationname (SCL) for SCD and SCD
So I can easly find the correct SCL file without knowing the UUID
Background
To make the CoMPAS/OpenSCD easy to use;
A private element needs to be added first.
Find the SCL substation field in IEC61850
Acceptance
Works with SCD/SSD/ICD/IID/CID/SED/ISD

@dlabordus is this already fixed?

@Sander3003 For me, it's not clear what the outcome of this story should be.
We added the private elements SclFileType and SclFilename.
We also replaced the ID in OpenSCD with the previous SclFilename value when a SCL file is opened.
is this enough?

Lets discuss it during the refinement;

It is already done.


Error when copying text from a Dataframe on Python 2

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "/Users/ravimalhotra/anaconda/lib/python2.7/site-packages/spyder/widgets/variableexplorer/dataframeeditor.py", line 626, in copy
obj.to_csv(output, sep='\t', index=index, header=header)
File "/Users/ravimalhotra/anaconda/lib/python2.7/site-packages/pandas/core/frame.py", line 1413, in to_csv
formatter.save()
File "/Users/ravimalhotra/anaconda/lib/python2.7/site-packages/pandas/io/formats/format.py", line 1583, in save
self._save()
File "/Users/ravimalhotra/anaconda/lib/python2.7/site-packages/pandas/io/formats/format.py", line 1684, in _save
self._save_chunk(start_i, end_i)
File "/Users/ravimalhotra/anaconda/lib/python2.7/site-packages/pandas/io/formats/format.py", line 1710, in _save_chunk
lib.write_csv_rows(self.data, ix, self.nlevels, self.cols, self.writer)
File "pandas/_libs/lib.pyx", line 1094, in pandas._libs.lib.write_csv_rows (pandas/_libs/lib.c:19647)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 11: ordinal not in range(128)
Version and main components

Spyder Version: 3.2.0
Python Version: 2.7.13
Qt Versions: 5.6.2, PyQt5 5.6 on Darwin

Dependencies
pyflakes >=0.5.0  :  1.5.0 (OK)
pycodestyle >=2.3 :  2.3.1 (OK)
pygments >=2.0    :  2.2.0 (OK)
pandas >=0.13.1   :  0.20.1 (OK)
numpy >=1.7       :  1.12.1 (OK)
sphinx >=0.6.6    :  1.6.3 (OK)
rope >=0.9.4      :  0.10.5 (OK)
jedi >=0.9.0      :  0.10.2 (OK)
psutil >=0.3      :  5.2.2 (OK)
nbconvert >=4.0   :  5.2.1 (OK)
sympy >=0.7.3     :  1.0 (OK)
cython >=0.21     :  0.25.2 (OK)
qtconsole >=4.2.0 :  4.3.0 (OK)
IPython >=4.0;<6.0:  5.3.0 (OK)
pylint >=0.25     :  1.7.2 (OK)

Thanks for reporting. I think you could have better luck with non-ascii text in a Dataframe by using Python 3 instead of Python 2.
Since it's not possible to guess what encoding your text is using, we will simply show a dialog saying that text can't be copied.

With a month to go with official Python 2 support I would say this is a won't fix. Closing @ccordoba12 ?

We can catch the UnicodeEncodeError thrown by this kind of error and show the message I mentioned above.

@dalthviz, please take a look at this one.


New Migration fails: "You are not allowed to import local repositories" using github git URL

Gogs version (or commit ref): 0.11.34_1
Git version: 2.15.1
Operating system: FreeBSD 11.1
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[X] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist (usually found in log/gogs.log):

Description
Got this error on git@github.com:RainerKuemmerle/g2o.git as URL.
git clone works fine on it.
...

Hi, SSH migration is not supported.