Liquibase potentially not applying changesets in order

Environment
Liquibase Version: 4.2.x
Liquibase Integration & Version: maven 3
Liquibase Extension(s) & Version: n/a
Database Vendor & Version: postgres 11
Operating System Type & Version: MacOS 10.14.6
Description
We tried to upgrade liquibase from 4.1.0 to 4.2.2 but our build failed. It appears that although a foreign key constraint was dropped, followed by making the column which had the foreign key constraint non null, some tests failed with the error
liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for change set migrations.xml::drop not null constraint on charge_id on refunds table:::
     Reason: liquibase.exception.DatabaseException: ERROR: column "charge_id" of relation "refunds" is an identity column [Failed SQL: (0) ALTER TABLE public.refunds ALTER COLUMN  charge_id DROP NOT NULL]
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:124)

I made a commit to make the PR pass but I think this might be to do with a bug with liquibase that causes the LiquibaseException to be thrown to begin with.
Is it possible that liquibase tried to apply "make column non null" before "drop foreign key constraint"?
Steps To Reproduce

Get source code at https://github.com/alphagov/pay-connector
Checkout branch dependabot/maven/org.liquibase-liquibase-core-4.2.2
git checkout ac2e222cb9c591997f2aed9f05bdfb7e61ae5224
mvn clean verify to prove some integration tests fail

Actual Behavior
[INFO] Running uk.gov.pay.connector.charge.resource.ChargesFrontendResourceWorldpayJwtIT
[ERROR] WARNING: An illegal reflective access operation has occurred
[ERROR] WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Users/oswaldquek/.m2/repository/com/google/inject/guice/4.2.3/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
[ERROR] WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
[ERROR] WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
[ERROR] WARNING: All illegal access operations will be denied in a future release
liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for change set migrations.xml::drop not null constraint on charge_id on refunds table:::
     Reason: liquibase.exception.DatabaseException: ERROR: column "charge_id" of relation "refunds" is an identity column [Failed SQL: (0) ALTER TABLE public.refunds ALTER COLUMN  charge_id DROP NOT NULL]
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:124)
	at liquibase.Liquibase.lambda$null$0(Liquibase.java:275)
	at liquibase.Scope.lambda$child$0(Scope.java:160)
	at liquibase.Scope.child(Scope.java:169)
	at liquibase.Scope.child(Scope.java:159)
	at liquibase.Scope.child(Scope.java:138)
	at liquibase.Scope.child(Scope.java:222)
	at liquibase.Liquibase.lambda$update$1(Liquibase.java:274)
	at liquibase.Scope.lambda$child$0(Scope.java:160)
	at liquibase.Scope.child(Scope.java:169)
	at liquibase.Scope.child(Scope.java:159)
	at liquibase.Scope.child(Scope.java:138)
	at liquibase.Liquibase.runInScope(Liquibase.java:2277)
	at liquibase.Liquibase.update(Liquibase.java:215)
	at liquibase.Liquibase.update(Liquibase.java:201)
	at liquibase.Liquibase.update(Liquibase.java:197)
	at liquibase.Liquibase.update(Liquibase.java:189)
	at io.dropwizard.migrations.DbMigrateCommand.run(DbMigrateCommand.java:65)
	at io.dropwizard.migrations.DbCommand.run(DbCommand.java:55)
	at io.dropwizard.migrations.AbstractLiquibaseCommand.run(AbstractLiquibaseCommand.java:68)
	at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
	at io.dropwizard.cli.Cli.run(Cli.java:78)
	at io.dropwizard.Application.run(Application.java:94)
	at pay.connector@0.1-SNAPSHOT/uk.gov.pay.connector.junit.DropwizardJUnitRunner.classBlock(DropwizardJUnitRunner.java:91)

Expected/Desired Behavior
All tests should pass
Screenshots (if appropriate)
If applicable, add screenshots to help explain your problem.
Additional Context
Add any other context about the problem here.

I've tested this bug with liquibase version 4.23.0, and I'm not getting the specified error.
When running the provided tests (thank you!), the changesets seem to be ran in order, and the only errors or failures are related to file paths, which are probably due to the fact that I'm using a different computer and OS.
I will be closing this issue, but feel free to reopen it if the problem persists.


Include source in StreamLogHandler output

Include source in StreamLogHandler output.
Motivation:
When using the same Logger across an application in combination with the default StreamLogHandler, it may be difficult to differentiate between logs produced by different modules. ServiceLifecycle works around this by prepending the log message with [Lifecycle], which is what I'd like to do StreamLogHandler by default, leveraging the source log parameter.
Modifications:
StreamLogHandler will include the source in brackets right before the log message when writing a log.
Result:
Logs from different modules are easily differentiable when produced using the same Logger instance.

I added this PR as a starting point for a discussion around whether we should be including the source parameter in log output produced by StreamLogHandler. CC @ktoso, @weissi

I am personally happy with this PR, so good to go from my side :).
Said that, we kinda intentionally made StreamLogHandler "not good" because we want people to use real logging backends instead of relying on this "toy implementation". But given that we probably shouldn't omit too much information, I'd say let's take adding "source".

@swift-server-bot test this please

@swift-server-bot add to allowlist

Said that, we kinda intentionally made StreamLogHandler "not good" because we want people to use real logging backends instead of relying on this "toy implementation".
@weissi

Good point! Although one could also argument that having it as a reference point for "better" implementations would also be beneficial, so including it could motivate other impls to do the same.


Remnant Module dirs when switching branches

If a branch introduces a new Module, switching away from it will leave the Module subdirectory behind, containing the generated module.cpp file. The Module generation code should ignore or delete such directories. The telltale signature is a Module directory containing only a module.cpp file.

Yes! A very minor thing that's super annoying :D

I'm about to create a new module, and I don't want this to bite me when switching branches, so I will fix this now.


Update teams-classes-lms.md

Fixed typo. removed the backslash

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/5361

@Kateyanne Please merge this PR. Thanks


MySql some queries missing an index

Not sure what call in spicedb does it but it generated a query like below which is fairly slow because it came up in our slow query log because created_transaction is missing an index in the MySQL version of it.
SELECT namespace, object_id, relation, userset_namespace, userset_object_id, userset_relation, caveat_name, caveat_context, created_transaction, deleted_transaction FROM relation_tuple WHERE ((created_transaction > 158582 AND created_transaction <= 158583) OR (deleted_transaction > 158582 AND deleted_transaction <= 158583));

Expected Result
All queried columns having an index.
Actual Result
Fast lookup query

@nulian Be curious to see an EXPLAIN output from your database, just so we can compare to ours

Not precisly the same database but is a based on a dump from it but this is the explain
Without index it takes somewhere between 500ms and 5s
With index it's 10ms - 150ms
|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra|
|--|-----------|-----|----|-------------|---|-------|---|----|-----|
|1|SIMPLE|relation_tuple|ALL|ix_relation_tuple_by_deleted_transaction||||224739|Using where|

@nulian are you using the Watch API? Would you mind sharing the index you added?
This access pattern seems to be used by the MySQL datastore Watch API implementation:
https://github.com/authzed/spicedb/blob/8f6136b6f45b155caa665fd4b47bf492ae95acc7/internal/datastore/mysql/watch.go#L94-L103
this is the explain I got initially with 84K rows:

EXPLAIN

-> Filter: (((relation_tuple.created_transaction > 158582) and (relation_tuple.created_transaction <= 158583)) or ((relation_tuple.deleted_transaction > 158582) and (relation_tuple.deleted_transaction <= 158583)))  (cost=7920 rows=16334) (actual time=71.3..71.3 rows=0 loops=1)

-> Table scan on relation_tuple  (cost=7920 rows=77839) (actual time=0.0697..58.1 rows=84849 loops=1)

|
Then I added the following index, the rows scanned where lower:
CREATE INDEX ix_watch
    ON relation_tuple (created_transaction, deleted_transaction DESC);

OR
CREATE INDEX ix_watch
    ON relation_tuple (created_transaction DESC, deleted_transaction DESC);

EXPLAIN

-> Filter: (((relation_tuple.created_transaction > 158582) and (relation_tuple.created_transaction <= 158583)) or ((relation_tuple.deleted_transaction > 158582) and (relation_tuple.deleted_transaction <= 158583)))  (cost=0.804 rows=1) (actual time=0.0921..0.0921 rows=0 loops=1)

-> Sort-deduplicate by row ID  (cost=0.804 rows=1) (actual time=0.0902..0.0902 rows=0 loops=1)
    -> Index range scan on relation_tuple using ix_watch over (158582 < created_transaction <= 158583)  (cost=1.11 rows=1) (actual time=0.0387..0.0387 rows=0 loops=1)
    -> Index range scan on relation_tuple using ix_relation_tuple_by_deleted_transaction over (158582 < deleted_transaction <= 158583)  (cost=0.36 rows=1) (actual time=0.0342..0.0342 rows=0 loops=1)

|

EXPLAIN

-> Filter: (((relation_tuple.created_transaction > 158582) and (relation_tuple.created_transaction <= 158583)) or ((relation_tuple.deleted_transaction > 158582) and (relation_tuple.deleted_transaction <= 158583)))  (cost=0.804 rows=1) (actual time=0.104..0.104 rows=0 loops=1)

-> Sort-deduplicate by row ID  (cost=0.804 rows=1) (actual time=0.102..0.102 rows=0 loops=1)
    -> Index range scan on relation_tuple using ix_watch over (158583 <= created_transaction < 158582)  (cost=1.11 rows=1) (actual time=0.0759..0.0759 rows=0 loops=1)
    -> Index range scan on relation_tuple using ix_relation_tuple_by_deleted_transaction over (158582 < deleted_transaction <= 158583)  (cost=0.36 rows=1) (actual time=0.00633..0.00633 rows=0 loops=1)

|

yeah am using the watch api.
Just added a simple index only on that field so the combined indexes probably would be better you came up with.

@nulian perfect then I'll open a PR with the new proposed index


Mutating a value during iteration should panic

Description:
import ballerina/io;
public function main() {
    int[] v = [1, 2];

    foreach var item in v {
        io:println(item);
        var res = v.remove(1);
        io:println("Removed" + res.toString());
    }
}

Output:
1
Removed2
2
error: {ballerina/lang.array}IndexOutOfRange {"message":"array index out of range: index: 1, size: 1"}
       at ballerina.lang.array.1_1_0:remove(array.bal:141)
          bbe:main(bbe.bal:7)

As per spec

Mutation of a structured value during iteration is handled as follows. A call to next() must panic if there has been any mutation to the structured value since the iterator was created other than the following:

removing a member of the structured value that a preceding call to the iterator has already returned;
changing the member associated with an existing key.

Steps to reproduce:
Affected Versions:
SL Beta 2
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Depends on https://github.com/ballerina-platform/ballerina-spec/issues/899


Inserting a two byte UTF-8 character moves the cursor two characters

Inserting a two byte UTF-8 character like ä moves the cursor two characters.
Given a buffer like this with the pipe being the cursor:
|1234

Inserting ä will result in the cursor being placed like this:
ä1|234

I've tried to fix it myself but couldn't find the right place in the code. With a few hints I my get further... how is the cursor represented in code? where are insertions handled?

Interesting. A decent place to start might be drawCursors in text_plane.js. See if we're relaying the correct column but measuring it wrong or if the column is off. We currently represent text as UTF-16 internally (something we should eventually fix) so it's a bit surprising that a 2-byte character is causing issues.

See if we're relaying the correct column but measuring it wrong or if the column is off.

The next character is inserted in the position the cursor is displayed. So I assume it has to do with the internal logic rather than the rendering.

We currently represent text as UTF-16 internally

Maybe the problem is somewhere else then. Perhaps when converting the input event into a change to the buffer.
And thats where I think I located the issue. The edit() function in buffer_view.rs still uses a rust string slice (&str) which is AFSIK utf8. In the function text.len() is used to get the length of the string. len() of a string however returns the the byte length. I'm going to try and fix this.


Adding failing test reproducing issue #122

See #122

:+1: Good test. Thanks!

bump. (:

I updated the test for the latest version of solidity. It's on the graup-bug-double-spent-ether branch.
This bug has been fixed for quite some time (see #122) but is waiting on changes upstream. We may have to consider running on a custom fork, which I'm not happy about.

Since this issue was actually rooted in ethereumjs/ethereumjs-vm, we're going to trust their testing is adequate to guard against this issue regressing.


ECMPS beta examples

I agree on trying to not duplicate code. I'm sure there's something out there we could use to remediate. Other than that, changes are made! @j-tafoya


Small consistency tweak of dumb sheet capitalization

Fiddled with this in another PR, but wanted to separate it so that the rename doesn't obscure a visdiff.
:eyeglasses: @keybase/react-hackers

:mag_right: The commits 2f5ea3745eed...6ad0941a235b introduced some visual changes on linux:

Added: Profile-Your_Profile_Loading

Added: Profile-Your_Profile_Empty

Removed: Profile-Your_Profile_loading (view original)
Removed: Profile-Your_Profile_empty (view original)

👍


NODE_MODULE_VERSION error

Bug Description:
when yarn start:

when yarn package:preview:

Steps to Reproduce:
1.clone this repo
2.exec yarn
3.exec yarn start

Additional Information

Operating System: macOS
Theia Version: 1.5.0
Node Version: v12.18.3
Python Version: v2.7

@christlee1989 the fix is present in the next release (1.6.0) at the end of the month: https://github.com/eclipse-theia/theia/pull/8454.
For the moment, you can call your own script to rebuild the native electron dependencies to include drivelist instead of the following:
https://github.com/eclipse-theia/theia-example/blob/8ddf8cd2a84acd1e0f5de2a7a65e342f91631a11/package.json#L79

@christlee1989 the fix is present in the next release (1.6.0) at the end of the month: eclipse-theia/theia#8454.
For the moment, you can call your own script to rebuild the native electron dependencies to include drivelist instead of the following:
https://github.com/eclipse-theia/theia-example/blob/8ddf8cd2a84acd1e0f5de2a7a65e342f91631a11/package.json#L79

@vince-fugnitto  but I try to use theia version: next ,  and after electron-rebuild the drivelist recompile success， still error

@vince-fugnitto but I try to use theia version: next , and after electron-rebuild the drivelist recompile success， still error

I tried myself and it worked correctly (the application successfully started):

clone the repository
update all the theia dependencies to next instead of ^1.5.0 in the package.json
perform yarn
perform yarn start

@vince-fugnitto  why i still error  :(

@vince-fugnitto  my versions

@christlee1989 you can perform a git clean -ffdx before you build, it's likely your yarn.lock is pinning the version of the theia extensions to a prior version? You can double check by verifying the version of @theia extension under node_modules.
For example, my @theia/core package.json version:
  "name": "@theia/core",
  "version": "1.6.0-next.d45b301c",

@vince-fugnitto  I removed yarn.lock before yarn

@vince-fugnitto I removed yarn.lock before yarn

What is your most recent error? This is my package.json for reference:
{
  "private": true,
  "name": "theia-example",
  "productName": "Theia Electron Example Application",
  "version": "1.5.0",
  "main": "src-gen/frontend/electron-main.js",
  "license": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0",
  "author": "Rob Moran<EMAIL_ADDRESS>  "homepage": "https://github.com/eclipse-theia/theia-example#readme",
  "bugs": {
    "url": "https://github.com/eclipse-theia/theia/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/eclipse-theia/theia-example.git"
  },
  "engines": {
    "node": ">=10.2.0"
  },
  "theia": {
    "target": "electron",
    "frontend": {
      "config": {
        "applicationName": "Theia Electron Example Application"
      }
    },
    "backend": {
      "config": {
        "startupTimeout": -1
      }
    }
  },
  "dependencies": {
    "@theia/callhierarchy": "next",
    "@theia/console": "next",
    "@theia/core": "next",
    "@theia/debug": "next",
    "@theia/editor": "next",
    "@theia/editor-preview": "next",
    "@theia/electron": "next",
    "@theia/file-search": "next",
    "@theia/filesystem": "next",
    "@theia/getting-started": "next",
    "@theia/git": "next",
    "@theia/keymaps": "next",
    "@theia/markers": "next",
    "@theia/messages": "next",
    "@theia/metrics": "next",
    "@theia/mini-browser": "next",
    "@theia/monaco": "next",
    "@theia/navigator": "next",
    "@theia/outline-view": "next",
    "@theia/output": "next",
    "@theia/plugin-dev": "next",
    "@theia/plugin-ext": "next",
    "@theia/plugin-ext-vscode": "next",
    "@theia/preferences": "next",
    "@theia/preview": "next",
    "@theia/process": "next",
    "@theia/scm": "next",
    "@theia/scm-extra": "next",
    "@theia/search-in-workspace": "next",
    "@theia/task": "next",
    "@theia/terminal": "next",
    "@theia/typehierarchy": "next",
    "@theia/userstorage": "next",
    "@theia/variable-resolver": "next",
    "@theia/vsx-registry": "next",
    "@theia/workspace": "next"
  },
  "devDependencies": {
    "@theia/cli": "next",
    "electron-builder": "^22.8.0"
  },
  "scripts": {
    "prepare": "yarn build",
    "lint": "theiaext lint",
    "clean": "theia clean",
    "build": "theia rebuild:electron && yarn bundle",
    "bundle": "theia build",
    "watch": "concurrently -n compile,bundle \"theiaext watch --preserveWatchOutput\" \"theia build --watch --mode development\"",
    "start": "theia start --plugins=local-dir:../../plugins",
    "start:debug": "yarn start --log-level=debug",
    "test": "electron-mocha --timeout 60000 \"./lib/test/**/*.espec.js\"",
    "package": "electron-builder -c.mac.identity=null --publish never",
    "package:preview": "electron-builder --dir"
  }
}

@vince-fugnitto exactly the same

@vince-fugnitto  I try the https://github.com/theia-ide/theia-trace-extension , this no error, can you find some difference?

@vince-fugnitto I try the https://github.com/theia-ide/theia-trace-extension , this no error, can you find some difference?

The theia-trace-extension includes a yarn.lock file which pins the @theia dependencies to 1.4.0.
What exactly is your use-case, are you looking for an example on how to build your own application?

Closing due to inactivity, and the issue was not reproduced.
Also mentioned a way forward https://github.com/eclipse-theia/theia-example/issues/3#issuecomment-689535929 if any issues are still present.


Error in Bar: Value identify as 0 even when the entry exist.

As seen in this picture, the Olli incorrectly identified each year as 0 even though they exist. This is done using React and testing on Chrome.
The spec in question is: sampleBar.json.
The dataset is https://raw.githubusercontent.com/Joszek0723/excess_data/main/bar_chart_data.csv.
Also, the issue seems to be fixed if we make the following changes in 'package/core/src/util/selection.ts': from
return !(isArray(values[i]) ? values[i].indexOf(dval) < 0 : dval !== values[i]);
to
return !(isArray(values[i]) ? values[i].indexOf(dval) < 0 : dval != values[i]);. Please let me know if there is a better way to resolve this. Preferably, I would rather use the Olli library as it is without making my changes. Thanks!

Hello,
Thanks for reporting this bug! I looked into it and believe it should be fixed by this change: https://github.com/mitvis/olli/commit/eb85864f291c62e92cb2b85b521f2639752f34b3
The issue as I understand it was that we were doing some unnecessary type conversion from a string to a number, which caused a mismatch between the selection predicate and the dataset. I believe this change fixes your example and longer term I think we can clean up the logic for when those type conversions are necessary (mainly only when going back and forth between data and DOM elements).
I can see if we have other minor changes pending and push out a release soon if not.


Add adminx package for naming resources

This change adds a new package adminx with the first of several types needed to manage service accounts and secrets within GCP for the autojoin API.

This change is

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

21 of 21 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 98.271%

Totals

Change from base Build<PHONE_NUMBER>9:
0.05%

Covered Lines:
739

Relevant Lines:
752

💛  - Coveralls


Possible fix to the selectRangeWithoutCopy function + removal of white space changes

I might have fixed the selectRangeWithoutCopy.
More testing, benchmarks and documentation (comments) are needed.
I can see your changes to TestImmutableRoaringBitmap.java and they are fine I think...
https://github.com/kishoreg/RoaringBitmap/commit/a51db4c6ab893237b04520a4dff27f0567d2c237?w=1
Note that you appear to have reformatted the file, something I would recommend against when doing a PR, since  by default we get the following message...
777 additions, 725 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
https://github.com/kishoreg/RoaringBitmap/commit/a51db4c6ab893237b04520a4dff27f0567d2c237
So I propose to remove these white-space changes.

Thanks for the changes. How do you format the code. Do you use an
stylesheet. It might be a good idea to check in a stylesheet in the
project. Eclipse/Idea can automatically import that and reformat the code
according to the stylesheet.
I will go ahead add support for AND as well. Any reason why
selectRangeWithoutCopy cannot be made public, it seems like a good api to
expose. I can see its usage to iterate over set bits a given range.
thanks,
Kishore G
On Thu, Feb 18, 2016 at 5:59 PM, Daniel Lemire<EMAIL_ADDRESS>wrote:

I might have fixed the selectRangeWithoutCopy.
More testing, benchmarks and documentation (comments) are needed.
I can see your changes to TestImmutableRoaringBitmap.java and they are
fine I think...
a51db4c?w=1
https://github.com/kishoreg/RoaringBitmap/commit/a51db4c6ab893237b04520a4dff27f0567d2c237?w=1
Note that you appear to have reformatted the file, something I would
recommend against when doing a PR, since by default we get the following
message...
777 additions, 725 deletions not shown because the diff is too large.
Please use a local Git client to view these changes.
a51db4c
https://github.com/kishoreg/RoaringBitmap/commit/a51db4c6ab893237b04520a4dff27f0567d2c237
So I propose to remove these white-space changes.
You can view, comment on, or merge this pull request online at:
https://github.com/kishoreg/RoaringBitmap/pull/2
Commit Summary

Undoing unnecessary white-space changes.
Possible fix to the selectRangeWithoutCopy function.

File Changes

M
src/main/java/org/roaringbitmap/buffer/ImmutableRoaringBitmap.java
https://github.com/kishoreg/RoaringBitmap/pull/2/files#diff-0 (11)
M
src/test/java/org/roaringbitmap/buffer/TestImmutableRoaringBitmap.java
https://github.com/kishoreg/RoaringBitmap/pull/2/files#diff-1 (1456)

Patch Links:

https://github.com/kishoreg/RoaringBitmap/pull/2.patch
https://github.com/kishoreg/RoaringBitmap/pull/2.diff

—
Reply to this email directly or view it on GitHub
https://github.com/kishoreg/RoaringBitmap/pull/2.

How do you format the code.

We current do not format the code. Your proposal about a stylesheet is 100% valid.  Please do follow-up with a stylesheet proposal. I think it would be a great contribution. Let us just make it a separate one so it can be discussed in its own right. Note that we cannot presume that people use a specific IDE.

I will go ahead add support for AND as well.

Possibly XOR and ANDNOT too.

Any reason why selectRangeWithoutCopy cannot be made public, it seems like a good api to
expose.

As it stands, it can be a tricky function to use well. Currently, the Java code does not support COW (copy-on-write) which means that if you modify the result of selectRangeWithoutCopy it may affect the original bitmap in some cases, but not in other cases... It would be very complicated to even document this behavior and people would almost certainly not understand...
What I was thinking about making public is a "selectRange" function which would actually create a copy of the range. That could be used safely. Of course, you can already do this with an AND. So the question is whether it is worth it.

I can see its usage to iterate over set bits a given range.

It might be simpler and faster to implement this feature directly instead...
https://github.com/RoaringBitmap/RoaringBitmap/issues/82

Looking forward to your PR in the main repo. ;-)


Add lookup+extract API

In the README, we mention three ways to work with ifaces: deepcopy, share, and direct extraction following lookup. The third is not yet implemented. Even though it's lame, we probably ought do so, or otherwise remove that language.

We also need to document all of this when it's done.

I've completed the neighbor accessors.

On further thought, I don't see any real reason to do this weird method. Just deepcopy if you want the  object. They're not that big.


Broken links in README.md

The readme is linking to some posts that can returns 404.

Fixed. Thank you.


Doesn't work in IE11 when changing hash

IE11 has a bug where changing the hash of a URL doesn't fire a popstate event like it should. MS is not going to fix the bug in IE11, but has fixed it in Edge.
This makes using navigation in hashchange environments impossible.
A workaround could be listening to both popstate and hashchange only on IE11. mjackson/history has an issue on this that's solved quite simply.

I've made a workaround in our codebase that forks this library and implements the same solution as mjackson/history does and it works nicely.

@edmellum can you share the solution please?

@edmellum I'm interested in the solution as well. Running into this as well.

I am prepping PR for this weekend with the fix.
Sent from my iPhone

On Dec 16, 2016, at 8:40 PM, Mats Stijlaart<EMAIL_ADDRESS>wrote:
@edmellum I'm interested in the solution as well. Running into this as well.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I had this same problem in IE10 and IE11, and i had to do a special UGLY workaround for this:
window.addEventListener('hashchange', () => window.location.reload());

I see the current pull request from @daymosik doesn't address the issue as it creates double routes for every browser but IE. Is the work there going to be finished? If not I might have some time in the near future to open a pull request with the solution I've written that properly solves this.

https://github.com/elm-lang/navigation/pull/28

@edmellum i've made a fix in my PR after which it will not create double routes, but i know it could be written in better way, but i'm not an elm expert yet and i have no idea how i could write this without this one line i made a comment about.


pipeline could not be constructed: no element "rtmpsrc"

rtmpsrc is a pipeline element included in the "bad" gstreamer plugins.
Normally, a setup as follows in enough to get gstreamer to recognize the plugin:
apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-tools gstreamer1.0-x
gst-launch-1.0 rtmpsrc  # rtmprc is recognized as a pipeline element

But when doing a min-install-script installation (where libraries like gstreamer and its plugins are installed beforehand w/ apt-get), gst-launch-1.0 rtmpsrc reports that "rtmpsrc" does not exist.
Even with the min-install-script, all of the gst plugins appear to be moved into kinesis-video-native-build/downloads, and following that gstreamer is no longer able to recognize rtmpsrc.
I noticed that the libgstrmp library files are missing from kinesis-video-native-build/downloads/local/lib, but manually compiling that plugin and moving build artifacts into the local lib directory doesn't fix the issue. My understanding is that the min-install-script should not be installing any plugins manually, as they were already installed with apt-get.
This is a very similar to https://forums.aws.amazon.com/message.jspa?messageID=859593, where the OP was looking to stream RTMP into Kinesis and was advised to use the C++ producer and the rtmp plugin, but it seems they hit a dead end.

Hi @cdebost ,
You can use the Dockerfile and install-script (minimal) custom-gstreamer-pipelines-with-kvs.tar.gz as a reference  for building the GStreamer plugin RTMPSRC and your custom pipelines.
The Dockerfile installs all the GStreamer plugins using apt-get-install and uses the install-script for building Kinesis Video Streams producer, gstkvssink, libcurl, libssl and log4cplus.
Please note that the install-script sets the PKG_CONFIG_PATH as follows
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib/pkgconfig/ for searching the system install locations for the GStreamer plugins and gstkvssink.
~ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
rtmpsrcelementcheck   latest              4a74a60f5252        2 days ago          1.03GB
ubuntu                18.04               94e814e2efa8        2 weeks ago         88.9MB

➜  ~ docker run -it 4a74a60f5252
root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build# source set_kvs_sdk_env.sh
root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build# gst-inspect-1.0 rtmpsrc
Factory Details:
  Rank                     primary (256)
  Long-name                RTMP Source
  Klass                    Source/File
  Description              Read RTMP streams
  Author                   Bastien Nocera<EMAIL_ADDRESS>Sebastian Dröge<EMAIL_ADDRESS>
Plugin Details:
  Name                     rtmp
  Description              RTMP source and sink

root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build#gst-inspect-1.0 |grep soup
soup:  souphttpsrc: HTTP client source
soup:  souphttpclientsink: HTTP client sink

root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build#gst-inspect-1.0 |grep ximage
ximagesrc:  ximagesrc: Ximage video source
ximagesink:  ximagesink: Video sink
root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build#

root@6fd39edec343:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-vid
eo-native-build#gst-inspect-1.0 |grep kvssink
kvssink:  kvssink: KVS Sink

The GStreamer samples provided with KVS ingest includes rtspsrc (IP camera), filesrc, webcam and USB camera. If you have a specific requirement other than these video sources, please send email to<EMAIL_ADDRESS>with your use case.
Thanks

Can you try renaming kinesis-video-native-build/downloads to something else like kinesis-video-native-build/downloadsCustom. Then run min-install-script again and check if gst-launch-1.0 rtmpsrc works? I think because gstreamer stores its cache in common location, the existing cache caused gst-launch-1.0 to use the binary in kinesis-video-native-build/downloads.

Closing the issue as the question has been answered.
Please re-open or create a new one if additional support is required.
Thanks

@unicornss Ah, I should have looked for where that variable was declared. My issues likely stemmed from a gotcha with the rtmp plugin: the plugin will be skipped if you forget to install librtmp first, e.g. apt-get install librtmp-dev. It wasn't until I combed through the install-script output that I realized the rtmp plugin wasn't installed because librtmp couldn't be found.
@chehefen Good point, but I was running the installation in a Dockerfile, which wouldn't keep the old cache around. I think I was mixing up my attempts with min-install-script vs install-script, a min-install-script installation should not change what gst-launch-1.0 points to, unless there is leftover cache like you mentioned.
For posterity, I'll add my Dockerfile that I ended up with so that both rtmpsrc and kvssink are available to gst-launch-1.0, in case someone else is looking to feed an rtmp source into Kinesis like I was. Thanks for your time!
FROM ubuntu:17.10

RUN apt-get update
RUN apt-get install -y git cmake g++ libssl-dev libcurl4-openssl-dev liblog4cplus-1.1-9 liblog4cplus-dev
RUN apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-x
RUN apt-get install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools

WORKDIR /opt/
RUN git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
WORKDIR /opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/
RUN chmod a+x ./min-install-script
RUN ./min-install-script

RUN cp libgstkvssink.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/

Unfortunately, although I was able to install everything I needed, I don't have enough experience with gstreamer to know what pipeline I would need to convert an rtmpsrc into something kvssink can take, but if I figure out a working pipeline I would be happy to post an example to document how to do rtmp -> kinesis.

@cdebost Were you ever able to figure out a working pipeline for ramp -> kinesis ?

@cdebost IO was able to get this figured out and thought I'd share if you are still looking for a solution. The missing part for me was that gstreamer can only pull RTMP streams and my source could only push RTMP streams. I used SRS to bounce the RTMP stream off of.
# launch srs container
docker run -d -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:3

Then following your ubuntu setup above, the following pulls the stream from SRS and pushes it to Kinesis Video:
gst-launch-1.0 -v \
  rtmpsrc name=rtmpsrc blocksize=1024 do-timestamp=true location="rtmp://${SRS_RTMP_HOST}/live/${AWS_KINESIS_STREAM_NAME}" \
  ! flvdemux name=demux demux.video \
  ! h264parse \
  ! video/x-h264, format=avc,alignment=au \
  ! kvssink stream-name=${AWS_KINESIS_STREAM_NAME} storage-size=512


Merge v2 of untilize_with_halo, maxpool, and conv ops for Resnet-50

Passing slow and fast dispatch pipelines on slightly older version of branch:

https://github.com/tenstorrent-metal/tt-metal/actions/runs/7202406123/job/19622244953
https://github.com/tenstorrent-metal/tt-metal/actions/runs/7202405041

Almost passing post-commit: https://github.com/tenstorrent-metal/tt-metal/actions/runs/7203768044/job/19624146385

All post commit passing except for one UMD related hang: https://github.com/tenstorrent-metal/tt-metal/actions/runs/7204615231/job/19626337731

Passing slow and fast dispatch:

https://github.com/tenstorrent-metal/tt-metal/actions/runs/7205830828
https://github.com/tenstorrent-metal/tt-metal/actions/runs/7205832622

Post-commit is timing out for slow dispatch unit tests. Otherwise, everything is passing: https://github.com/tenstorrent-metal/tt-metal/actions/runs/7204615231.
Bumped timeout to 120 mins and rerunning just this job: https://github.com/tenstorrent-metal/tt-metal/actions/runs/7213907760
Also picked up one very small commit from main (f29c0a2222a164f). Shouldn't need to rerun all pipelines for this.

All tests are passing until /mnt/MLPerf/bit_error_tests: https://github.com/tenstorrent-metal/tt-metal/actions/runs/7213907760/job/19660246517


Body System, Phase 1

Adds:

BodyManagerComponent to all humans, which holds bodyparts and loads a variety of classes involving BodyParts
Framework for the BodyScanner, empty window for now but the code is there. (I hate UI)
Framework for Mechanisms (organs), they just kind of sit there for now.
A lot of //TODO:'s

Still working on for next phase:

Finish basic mechanisms and start adding eyes and stuff
Begin tying in limbs to existing systems (HP, target doll, etc.)
Finish BodyScanner UI (thanks to ShadowCommander we have a good first draft but I still need to make it pretty)
Properly test all the systems I added

Wouldn't it be best to take the opportunity to move a lot of these up to the "mob" equivalent in ss14?


remove duplicate STORAGE_FRONTEND_PUBLIC_URL

Config option still available in https://github.com/owncloud/ocis/blob/21723b8040364a877823653e6cdefdf3fc723552/storage/pkg/flagset/frontend.go#L69-L75 after removal.

Hey wait, when was the storage frontend url removed?

No actually it is there twice! That's why I want to remove one ;-)

the gateway service and the frontend service both need access to that env var. when the two services are started in different environments, they both need to announce that and document it. We could clarify that ins the descriptions of the two commands, but we cannot drop any of them. 🤷♂

the gateway service and the frontend service both need access to that env var. when the two services are started in different environments, they both need to announce that and document it. We could clarify that ins the descriptions of the two commands, but we cannot drop any of them.

I did a revert and added notes to the two occurrences. @butonic could you please have a look again?


update

Coverage decreased (-0.21%) to 99.61% when pulling bbcc1e1f52cb3706660d88bc2884057d71ae1f92 on master into 8bb013ec9567ae95a649c7537e1689944749d493 on 4.x.

FYI for those looking on, the 4.x branch is the base branch for the 5.0 PR, not what the current 4.x release is (that is what master is for).


Z-index order fix

Fixes the issue introduced after mobile view update.

Main issue was that the tooltip was being created under the audio player if the word was close to the bottom of the page. Now it's created over the player.
But a better solution would be detecting the audio player as the "end of the page" and showing the tooltip above the word.

All makes sense, thanks!


[Bug]:  packages.icinga.com gpg gets placed in the legacy location (debian bookworm at least)

Please try to fill out as much of the information below as you can. Thank you!

[X] Yes, I've searched similar issues on GitHub and didn't find any.

Which version contains the bug?
No response
Describe the bug
W: https://packages.icinga.com/debian/dists/icinga-bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://packages.netways.de/extras/debian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://packages.netways.de/plugins/debian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

How to recreate the bug?
Run the icinga-installer in a master setup configuration on debian bookworm and perform apt update afterwards.

Depends on icinga/puppet-icinga#113 an will be fixed if module puppet-icinga is updated here.


Will not install

Getting following error on install
Any suggestions ?
Error: Failed to fetch plugin git+https://github.com/whiteoctober/cordova-plugin-app-version.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Failed to get absolute path to installed module

This problem is probably because you use cordova 7. Try use the --nofetch
option to get the previous behaviour of the cordova.
cordova plugin add {plugin-name} --nofetch
The cordova 7 uses the npm to install the plugins, and probably your npm is
not globally installed, or misconfigured.
2017-07-22 18:58 GMT+02:00 pbangsoe<EMAIL_ADDRESS>
Getting following error on install
Any suggestions ?
Error: Failed to fetch plugin git+https://github.com/
whiteoctober/cordova-plugin-app-version.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Failed to get absolute path to installed module
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/whiteoctober/cordova-plugin-app-version/issues/94,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACQrUNNKDDpSSaraFajY37m7ZrktDk3vks5sQio7gaJpZM4OgOXF
.

Please help on this, having the same issue.

@Himanshu-BAZ
stevesums solution worked for me together  with an "plugin reset" as follows
from project dir..
cordova plugins --save
cordova platforms --save
rm -rf platforms
rm -rf plugins
cordova prepare


Bug: configuration automatically restores to initial value

Whenever I restart the game, the SongPlaybackLevel always automatically restores to 90, and BranchGuide automatically restores to 0. There is the same bug on TJAPlayer3.

Hello, did you find this on a release or on the latest commit ? If I recall correctly this bug was fixed by l1m0n3 after the Pre 0.5.3 version

No problem ! 😀
The bug is also present on pre 0.5.3, so to have it fixed please either build from source (using visual studio) or wait for the next update (stable 0.5.3) which will release in one to two weeks


Use native pgx types, context everywhere

This updates the Driver interface to use context as the first parameter for anything that ultimately queries the database. Additionally, the Postgres driver was updated to use the native pgx types (instead of database/sql) to allow it to accept either a plain *pgx.Conn or a *pgxpool.Pool.
You will probably need to bump the versions and go mod files for each of these two packages as part of this, otherwise the driver refers to an older version of the parent package that doesn't have the new interface types.

Oops, forgot to update the main package's tests, fixing.

Should be good to go now.


Transparent gizmo issue and the necessity of shaded opaque gizmo.

Issue description:
Gizmo does not visible when it is the same color as the background.
translation gizmo example

rotatation gizmo example

So, Gizmos must be opaque and shaded, not transparent.
opaque and shaded unity gizmo example

similar issue https://github.com/godotengine/godot/issues/11593

I had the same issue, also when materials output colors higher than 0..1 range


FeatureRequest: Define custom colors

I'd like to adjust the bar colors to my page theme.
An option could be to pass an array to the directive to overwrite the defaults:
<ng2-password-strength-bar
    [colors]="myColors"
    [passwordToCheck]="formData.passwd"
    barLabel="Security: ">
</ng2-password-strength-bar>

export class myComponent {
   public myColors = [‘#F00’, ‘#F90’, ‘#FF0’, ‘#9F0’, ‘#0F0’];
}

Resolved with PR #19.


Add Developer News tool window

Add a dockable tool window to display Developer News

[ ] Start Page feed

steve foxover · Dec 21, 2018 at 06:39 PM
I also miss this. I have to load up VS 2017 along side just to browse the news while I start my day with a coffee.

Poul Hansen · Dec 23, 2018 at 07:53 PM 1
It takes way too many mouse clicks to get to developer news in VS2019. This is my primary source of news.

Steven Rasmussen · Jan 24 at 03:42 PM 0
Just updated to Preview 2... and it looks like they got rid of the developer news page completely :(.

Tamás Nagy · Jan 29 at 02:10 PM
I also miss it. It was a valuable resource, which would be certainly missed.Thanks for bringing it back.

Eric Harmon  Yann Duran · Apr 03 at 12:09 AM
I'd say a single-purpose extension. View | Developer News sounds perfect to me :-)

Clive  Yann Duran · Apr 03 at 12:34 AM
I also vote for the stand-alone single-purpose extension. View | Developer News. Thanks Yann!

Ken Ross [MSFT]  Yann Duran · Apr 03 at 1:19 AM
I suspect most people will prefer the stand-alone extension and I agree that "View -> Developer News" feels more intuitive than going to the File menu.
Having it added to your Time Savers extension probably makes sense too - you might "prototype" it there and then release it as a stand-alone second (I hadn't heard about your Time Savers extension until this post and it looks like something I'll be adding to my kit anyway - thanks for that!).

Mike Card  Yann Duran · Apr 03 at 1:28 AM
Standalone would definitely be prepared and View | Developer News sounds great.
Are there any hooks available that would allow it to open automatically on startup if a setting was turned on?
Yann Duran  Mike Card · Apr 03 at 1:54 AM
I'll definitely be looking into that scenario. When I create a GitHub repo, we can start to keep track of feature requests there.

corby-nichols  Yann Duran · Apr 03 at 2:33 AM
I completely agree the View Start Page needs to be shown under View >.

Praveen Sethuraman [MSFT]  Yann Duran · Apr 03 at 5:43 AM

Just one request - please do not rely on the RSS feed control in Visual Studio's internal implementation as it is subject to vanish at anytime. Thanks!

Yann Duran  Praveen Sethuraman [MSFT] · Apr 03 at 12:21 PM

No, I wasn't planning on using that

Callon Campbell  Yann Duran · 7 days ago

ETA on your extension?

Yann Duran  Callon Campbell · 1 day ago

I'm working on it now

Scott Michaels · 3 days ago 2

For those of you who are considering writing an extension to bring back the Start Page and/or Developer News... Don't waste your time. It's already been done.

https://marketplace.visualstudio.com/items?itemName=JanKucera.StartPageOnStartup

This extension nailed it. Everything works. Install the extension and then set your environment to start up blank. Problem solved.

Eric Nielsen  Scott Michaels · 3 days ago 1

Thanks for the info. I can confirm that it works and (important to me, anyway) the Developer News feed is back! Yay!

Ken Ross [MSFT]  Scott Michaels · 2 days ago 0

Also can confirm this does the trick - gets me back to my preferred VS startup experience, complete with Developer News!
Give it a try, and don't forget to give the extension a review/vote too!

Randy.Morter  Scott Michaels · 2 days ago 0

The plugin works for me too! Thanks a lot!

Eric Nielsen · Apr 16 at 7:54 AM

I'm not a huge fan of the new startup window but as long as the opportunity is there to shut it off through configuration, that's fine

some may really like it and benefit from it
I did however, enjoy the notion of having a developer news feed throwing headlines in my face with the opportunity to click on them to get more info
I was sad to see that gone in VS2019

Maybe there could be a new window that could be optionally (through configuration) set to display on VS startup that restores the notion of a news feed

maybe it could be customizable, so there would be the standard news feed
you could add additional feeds based on search terms

Brian Webb · Apr 25

This thread is going on 5 months now.
I am shocked that no one from MS has grabbed the start page from the 2017 repo, bundled it into an installer, and made it available as a plugin for VS2019 yet.
Even if this is re-created as a VS plugin as an opensource Github project, I'd contribute to the testing.

Yann Duran  Brian Webb · 1 day ago

@Brian Webb This extension will open the old Start Page for you.

Pratik Nadagouda [MSFT] · Feb 26 at 9:54 AM

We've added Developer News to the right column of the Visual Studio Installer.
Could you folks try that out as an alternative and let us know how it's working for you? Thanks!

Steven Rasmussen  Pratik Nadagouda [MSFT] · Feb 26 at 10:11 AM

I noticed this last week. While it's certainly better than nothing it's definitely not ideal. I generally open a new instance of Visual Studio once a day, which guarantees that I would see any updates to the feed very frequently
However, I only open up the Visual Studio installer as needed. Maybe once every couple of weeks at most... probably more like once a month on average. I'd lose a lot of news this way :(.
Please either put it back on the current startup page somehow or just allow the old start page to come up like it was with Preview 1.

Brian Webb  Pratik Nadagouda [MSFT] · Feb 26 at 11:18 AM

Deficient resolution just as Steven stated, I too open a new instance of VS each day, and maybe the installer once a month.
Just bring back the old start page, and I think we will all be happier.

Eric Harmon  Pratik Nadagouda [MSFT] · Feb 26 at 12:21 PM

Quite honestly, to me, that solution is the same as doing nothing
Actually, it's worse than nothing, because it took developer time that could have been put towards something useful
I'm in VS all day long. If I'm going to have to fire up a different application to read your blog, then I'll just start Edge and click a blog link in my favorites, rather than starting the installer, waiting for it to update to the latest version of the installer (if there is one), and so on.
For the life of me, I can't imagine how that was considered to be a valid response to all the people who asked for the Start Page to be put back into VS.

Tamás Nagy  Pratik Nadagouda [MSFT] · Feb 26 at 6:58 PM

Sorry, as mentioned before, this is NOT a replacement, neither a good idea.
Nobody will start the Visual Studio installer to read the developer news...

Yann Duran  Pratik Nadagouda [MSFT] · Mar 06 at 5:50 PM

@Pratik Nadagouda [MSFT] OMG, please queue up whoever thought this was a good idea to be fired!

Angelbane Na  Pratik Nadagouda [MSFT] · Mar 18 at 4:39 AM

Pratik Nadagouda, this an insult not a solution
We point is don't want to have to open a separate application for this
Quite frankly outside of the initial installation we should NEVER need to open the installer, If anything what is in the installer should be available from inside Visual Studio.

Ken Ross [MSFT]  Pratik Nadagouda [MSFT] · Apr 02 at 1:57 AM

I don't run the installer every day, I run Visual Studio. It's part of my daily routine; get coffee, startup VS, check the Developer News, open solution and get to work
Developer News isn't just about being a convenient aggregation of info I could get to otherwise [by checking multiple blogs every day], it also helped make sure I knew about things that might be really important to me, and kept those things top-of-mind
Just today (in VS 2017) I was reminded about the need to get iOS apps ready for the new watch processor architecture - that's FANTASTIC to get that kind of proactive information
Likewise the post about .Net Framework changes in the March 2019 Update ... neither are things I'd probably think to go looking for, but both are really useful to me due to the things I'm working on [sure, some other articles on the list are less useful to me but likely very useful to someone else]
Please find a way to bring this back in, within Visual Studio (not the installer) as at least an optional "side panel" on the new startup screen.

Rick Dorris · Mar 16 at 5:28 AM

Another vote for bringing back Developer News WITHIN VS 2019 (not in the installer!)

Ron · Mar 20 at 1:47 AM

Yes, please bring the developer news back, perhaps as a pane with the links in it

Clive · Apr 02 at 11:43 PM

Like most people on this thread, I also vote to bring Developer News back in VS 2019
I love, look forward to, and depend on Developer News for VS Technology related news and information each time I start Visual Studio. It is my one source for all things VS
Having it in the installer simply makes no sense whatsoever.

So, let's bring back Developer News in VS 2019 ASAP!

Callon Campbell · 7 days ago

Please bring this back in some form as it was nice to see news in Visual Studio and provided more discoverability
Having it in the installer is nice, but the installer is not something we launch that often

Developer News v1.0


Proposal: rename 'tropical grassland'

Hey ontobot! apply:

rename ENVO:01001806 from 'tropical grassland'@en to 'tropical grassland ecosystem'@en

@en Sorry didn't mean to tag you here.


Create GuessSort.java

I’m doing some labeling and I don’t think I’ll label this “enhancement”... But I am labeling it “new-sorts”!


TP2000-628 Add WorkBasket transition APPROVED -->  EDITING

TP2000-628 Add WorkBasket transition APPROVED -->  EDITING

Why

Currently when a workbasket is approved there is no way to restore it to EDITING status and make further changes prior to sending to CDS. Looking ahead to packaging automation (and potentially to HMRC review capabiltiy) It will be important to have this option.
What

Adds method and updates unit test

Codecov Report
Base: 93.52% // Head: 93.52% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (c1c0c8b) compared to base (a012b66).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #738      +/-   ##
==========================================
- Coverage   93.52%   93.52%   -0.01%
==========================================
  Files         345      345
  Lines       23095    23093       -2
  Branches     1787     1787
==========================================
- Hits        21600    21598       -2
  Misses       1160     1160
  Partials      335      335

Impacted Files
Coverage Δ

workbaskets/tests/test_models.py
98.81% <ø> (ø)

workbaskets/tests/test_views.py
98.73% <ø> (ø)

workbaskets/forms.py
100.00% <100.00%> (ø)

workbaskets/models.py
79.35% <100.00%> (+0.28%)
:arrow_up:

workbaskets/tests/test_forms.py
100.00% <100.00%> (ø)

workbaskets/validators.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[WIP] Fixed userAccount and userDelegate Tests

Achor Integration Tests Status
I've run each integration test file to get an idea of what state the integration tests are in.
Currently of the 50 test files, 22 contain failing tests, and 7 include tests that pass but look to me like they should be failing due to error messages.
Test Strategy
For each test to run a certain amount of setup needs to take place on the blockchain, then the state is modified for each test. This results in a changing state of the blockchain altering the start state for each test file.
To get around this issue, the current solution is to run each file separately. This makes it difficult to get a summary of the test suite state.
It might possible to change how to suite operates to have a global state setup, which is then modified before each test to "reset" it to a state each test file can operate from. This would allow all tests to be run sequentially and for the full suites states to be summarised.
Key

Icon
Meaning

:heavy_check_mark:

:x:
Tests Fail

:interrobang:
Tests are passing but error message suggest they should not

Test Status

Status
Test
In this PR

:heavy_check_mark:
admin.ts

:x:
adminWithdraw.ts

:x:
assetTier.ts

:heavy_check_mark:
cancelAllOrders.ts

:heavy_check_mark:
cappedSymFunding.ts

:x:
curve.ts

:x:
delistMarketLiq.ts

:interrobang:
delistMarket.ts

:interrobang:
driftClient.ts

:x:
imbalancePerpPnl.ts

:x:
insuranceFundStake.ts

:x:
ksolver.ts

:x:
liquidateBorrowForPerpPnl.ts

:x:
liquidatePerpPnlForDeposit.ts

:x:
liquidatePerp.ts

:heavy_check_mark:
liquidateSpotSocialLoss.ts

:x:
liquidateSpot.ts

No Tests
liquidityBook.ts

:x:
liquidityProvider.ts

:x:
marketOrderBaseAssetAmount.ts

:x:
marketOrder.ts

:interrobang:
maxDeposit.ts

:heavy_check_mark:
oracleOffsetOrders.ts

:x:
ordersWithSpread.ts

:heavy_check_mark:
order.ts

:interrobang:
pauseExchange.ts

:x:
placeAndMakeSpotOrder.ts

:x:
postOnlyAmmFulfillment.ts

:heavy_check_mark:
postOnly.ts

:x:
prepegMarketOrderBaseAssetAmount.ts

:heavy_check_mark:
pyth.ts

:heavy_check_mark:
referrer.ts

:heavy_check_mark:
repegAndSpread.ts

:heavy_check_mark:
roundInFavorBaseAsset.ts

:heavy_check_mark:
serumHelper.ts

:heavy_check_mark:
serumTest.ts

:x:
spotDepositWithdraw.ts

:heavy_check_mark:
stopLimits.ts

:x:
subaccounts.ts

:x:
tokenFaucet.ts

:x:
tradingLP.ts

:interrobang:
triggerOrders.ts

:heavy_check_mark:
triggerSpotOrder.ts

:heavy_check_mark:
updateAMM.ts

:heavy_check_mark:
updateK.ts

:heavy_check_mark:
userAccount.ts
:heavy_check_mark:

:interrobang:
userDelegate.ts
:heavy_check_mark:

:heavy_check_mark:
userOrderId.ts

:heavy_check_mark:
whitelist.ts

adminWithdraw.ts Failure
 1) admin withdraw
       "before all" hook for "Try to withdraw too much":
     TypeError: Cannot read properties of undefined (reading 'dataAndSlot')
      at WebSocketDriftClientAccountSubscriber.getMarketAccountAndSlot (sdk/src/accounts/webSocketDriftClientAccountSubscriber.ts:292:60)
      at AdminClient.getPerpMarketAccount (sdk/src/driftClient.ts:306:33)
      at AdminClient.getRemainingAccounts (sdk/src/driftClient.ts:774:32)
      at AdminClient.<anonymous> (sdk/src/driftClient.ts:2437:34)
      at Generator.next (<anonymous>)
      at fulfilled (sdk/src/driftClient.ts:28:58)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)

assetTier.ts Failure
Steup steps

Checkout repo
https://github.com/drift-labs/driftpy/blob/master/setup.sh
yarn install
cd sdk
yarn install then yarn build
cd ../
change file specified in test-scripts/single-anchor-test.sh
9 ./test-scripts/single-anchor-test.sh

Output
    1) "before all" hook for "fail trying to borrow protected asset"
    2) "after all" hook for "fail trying to borrow protected asset"

  0 passing (7s)
  2 failing

  1) asset tiers
       "before all" hook for "fail trying to borrow protected asset":
     TypeError: Cannot read properties of undefined (reading 'data')
      at User.getUserAccount (sdk/src/user.ts:122:56)
      at AdminClient.getUserAccount (sdk/src/driftClient.ts:663:37)
      at AdminClient.<anonymous> (sdk/src/driftClient.ts:1005:25)
      at Generator.next (<anonymous>)
      at fulfilled (sdk/src/driftClient.ts:28:58)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)

  2) asset tiers
       "after all" hook for "fail trying to borrow protected asset":
     TypeError: Cannot read properties of undefined (reading 'unsubscribe')
      at /home/skynet/dev/drift/protocol-v2/tests/assetTier.ts:185:31
      at Generator.next (<anonymous>)
      at fulfilled (tests/assetTier.ts:28:58)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)

Test Status Solana  v1.13.3

Status
Test
In this PR

:heavy_check_mark:
admin.ts

:x:
adminWithdraw.ts

:x:
assetTier.ts

:heavy_check_mark:
cancelAllOrders.ts

:heavy_check_mark:
cappedSymFunding.ts

:heavy_check_mark:
curve.ts

:x:
delistMarketLiq.ts

:x:
delistMarket.ts

:interrobang:
driftClient.ts

:x:
imbalancePerpPnl.ts

:x:
insuranceFundStake.ts

Stopped running the tests here. Been to fix the ones that a failing before continuing


7B config

I'm trying to replicate the training results for the 7B head. Could you share the training config used in main.py please?

The training configuration is as follows.
train_config={
"lr":3e-5,
"bs":4,
"gradient_accumulation_steps":8,
"is_warmup":True,
"num_epochs":200,
"num_warmup_steps":2000,
"total_steps":800000,
"p_w":0.1,
"v_w":1.0,
"head_w":0.1,
"num_workers":2,
"embeding":True,
"act":"No",
"data_noise":True,
"noise":"uniform",
"mean":0.0,
"std":0.2,
"residual":"true,norm",
"max_len":2048,
"config_path":"config.json",
"b1":0.9,
"b2": 0.95,
"grad_clip": 0.5,
}

Is the global batch size 128 in the end?

Still need to multiply by the number of GPUs.


Gemma lora

Context

Create lora fine-tune for Gemma model.

Changelog

...

Test plan

....

It can work with apply_lora_to_mlp = True, apply_lora_to_output = False, but not apply_lora_to_output = True.
The current Gemma model does not have output_layer, the output is calculated by output = F.linear(h, self.tok_embeddings.weight).float(), so I don't know if need to set apply_lora_to_output = True .

This is the lora single device test:

This is the qlora single device test:

do you also mind sharing what your peak memory allocated was for both the lora and qlora runs? and to be extra sure, do you mind making sure the checkpoints save correctly :) Left some small comments, otherwise it looks nearly ready to go

LoRA single device:
INFO:torchtune.utils.logging:Memory Stats after model init:
{'peak_memory_active': 5.547595264, 'peak_memory_alloc': 5.547595264, 'peak_memory_reserved': 5.559549952}

Step 100 | peak_memory_active:14.325987328 peak_memory_alloc:14.325987328 peak_memory_reserved:24.664604672

QLoRA single device:
INFO:torchtune.utils.logging:Memory Stats after model init:
{'peak_memory_active': 4.887322112, 'peak_memory_alloc': 4.887322112, 'peak_memory_reserved': 5.802819584}

Step 100 | peak_memory_active:11.555596288 peak_memory_alloc:11.555596288 peak_memory_reserved:24.301797376

LoRA checkpoints save:

QLoRA checkpoints save:

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

Project coverage is 28.08%. Comparing base (e72c9a6) to head (5a96686).
Report is 7 commits behind head on main.

Files
Patch %
Lines

torchtune/models/gemma/_component_builders.py
21.87%
25 Missing :warning:

torchtune/models/gemma/_model_builders.py
90.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #789      +/-   ##
==========================================
- Coverage   28.11%   28.08%   -0.03%
==========================================
  Files         153      153
  Lines        6260     6291      +31
==========================================
+ Hits         1760     1767       +7
- Misses       4500     4524      +24

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


Add Support for Kotlin Thanks

First I think you need to give more description on your use case because as far as I know these jsonschema2pojo creates objects that are compatible with Kotlin.
If you just want to generate POJOs:
One of the things addressed by Kotlin is to reduce the need to produce/generate boiler plate code.  It can create objects without you requiring to write setters/getters/equals method etc.
A quick google search I found this article describing it much better then I could: Intro to Data Classes in Kotlin
Providing a schema for you data model:
Since you are using Kotlin that generates most of the boiler plate code you may want to look into a library that generates a schema based on your objects. See https://github.com/FasterXML/jackson-module-jsonSchema
Effort to Implement:
This maybe alot more then you think. These libraries are based on com.sun.codemodel:codemodel which allows you to build classes in an object oriented manner which it does not have for Kotlin.  While Kotlin classes would be much easier to make much of the code resolves around the codemodel library.  Additionally work would need to be made to learn how to annotate the Kotlin self-generated methods or possibly https://github.com/FasterXML/jackson-module-kotlin alleviates this.

See #593 :+1:


Parse floats with exponent part without decimal fraction part

Erlang is odd here, since Erlang requires a decimal fraction part (i.e. a dot followed by digits). The number "1e100" needs to be rewritten to "1.0e100" before parsing it using binary_to_float/1.

Good finding.
I just noticed in the RESP3 spec that it states Exponential format is invalid., isn't that using an exponent?

Yep, I saw that too. I already opened these:

https://github.com/redis/redis/issues/11891
https://github.com/redis/redis-specifications/pull/14


Small issue when creating a quick draft

I'm submitting a...

[x] Bug report
[ ] Feature request

Reproduction steps
When creating a Quick Draft the notification appears noting the draft has been created, however the draft itself does not appear in Page Drafts without a forced refresh of the page by the user.
Version information
Browser type and version: Firefox Quantum 61.0.2
InscrybMDE version:

Fixed.
This is an Inscryb bug, please post these bugs in Inscryb Community. Thanks for letting me know about the bug.


Custom cookie handling / authentication

I would like to be able to specify the cookie used when connecting to a certain remote node.
My use case: I have a LAN setup with two separate, distributed applications running. I am currently using standard rpc and pg2 to manage the distributed aspects of both, but now one node in cluster_A  needs to make an RPC to a node in cluster_B. I would like to write code like:
gen_rpc:set_cookie(RemoteNode, RemoteCookie), %% Set once per runtime, or in config
gen_rpc:call(RemoteNode, mod, fun, []).

The other alternatives I've considered:

expose some other external API (TCP, REST, etc.)
set all the nodes to use the same cookie.

Both of those work, but don't seem to scale particularly well, nor meet my threshold for elegance. An external API increases complexity (not to mention work!), and adds more surface area for testing and attack vectors.  Using the same cookie is far less work, but now my two distributed applications have merged into one amorphous app.
Thoughts?

I could enable an option in the same manner as the tcp/ssl driver options and you could provide a map in there with the node names and the cookies that you wish to use. If you want to update it dynamically, you simply application:set_env and connect to the node. What do you think?


Misaligned urlbar on boot

It seems that the urlbar is misaligned when opening the browser, although sometimes it does not happen but more often than not this is what happens:

A quick fix for this is to enter the customize toolbar mode, hover over the different density sizes (no need to actually switch between them since there is an animation that shows how each one looks like), and then exit that mode. That will align the urlbar temporarily until the browser is reopened:

Zen 1.0.0-a.32 running on Windows 11 with just this mod installed to avoid any compatibility issues that could've caused this.

Yeah, tested on latest Zen 1.0.0-a.35 and It looks rather gnarly with compact mode enabled:

This is without Super Sleek UI Theme:

Noticed the same. Any fix planned for this?


Error: Continuation section too long

When I try and run the script I get the following error. Any guidance?

I made an error downloading the files.


Auxiliary Link Prediction Objective and Entropy Regularization?

I'm trying to understand the code after reading the paper:

How is Auxiliary Link Prediction Objective calculated? Is it using Frobenius norm as described in the paper? It seems to be nll_loss instead.

Where is the Entropy Regularization?

Thanks!

Yes we use NLL instead, since Frobenius norm / L2 loss is harder to train in experiments

I'll add ent later. It's merged from another repo and I didn't put that in.
It's just a sum of row-wise entropy of the assignment matrix

Thanks.

Hi, Rex. Thanks for sharing your code. But I think you should mention NLL loss in your paper. At first, I did not find your diffpool repo, and tried to reproduce your code with L2 loss. It really confused me a lot since the model always went to NaN, then I had to remove the LP loss.

Thanks.
Hi, mark, did you figure it out the calculation of the Link Prediction loss. Could you give me a detailed explanation? Thanks.


Add clear component function

Are you sure that the mountedComponents shoud'nt be read from an accessor as the result is saved in a variable.

And the module is  a singleton.


Bitfield support missing Get

Hi!
I was trying to build a Redis command like
BITFIELD mykey GET u32 0

Unfortunately, it looks like the BitfieldOperationGet type does not actually have a Build() method. Is there another way I should be using the command builder to get the above result?
Ideally, it should look like this:
client.B().Bitfield().Key("mykey").Get("u32",0).Build()

But so far, it looks like the only other way is by using something like Incrby() after my Get() to call Build():
client.B().Bitfield().Key("mykey").Get("u32", 0).Incrby("u32", 0, 0).Build()

Hi @cjo2,
I will fix this in the next release. You can use BITFIELD_RO instead now.

Thanks a ton, @rueian!


Refactoring of Vinecop class

As discussed in #49:

Change to more natural matrix style
Move all STL-based utility-functions into new header std_tools.hpp.
New methods get_families(), get_rotations() that return the full model matrix.

Also, I would add:

Modify as_vinecop to avoid starting from the last tree.
Breaking the loop for truncated vines.

I don't think that this should be a priority now.

It is only useful in a very specific use case (very high dimension, early truncation).
Figuring this out probably takes several days. I think we should first clean everything up and release a first version, then we can worry about days.
The "doing useless stuff" is much less of a problem in C++ where function calls and loops are much faster than in R. To add some numbers to the discussion (n = 1000, d = 200, familyset = {0, 1, 2, 3, 4, 5, 6}, method = "mle", truncation_level = 5, CMAKE_BUILD_TYPE = Release ):
- until truncation: 133.278s
- after truncation: 9.88442s
- as_vinecop: 10.5193s
The time for as_vinecop could actually go up, because we might need to reorder the matrix several times. And we still would need to create all the independence copulas in the pc_store so that the simulation and pdf algorithms work.

Concerning the specificity of this use case: we'll have to agree to disagree. IMO, you don't need to be in "very" high dimension for truncation to be useful.
OK, this one is actually a very good argument. I was wondering how hard it would be. If you think that this is hard, then indeed we can wait after the first complete clean-up.
Oh, I'm really surprised by this results, but alright: it's a very good news. Then a simple improvement will be translate what I implemented for VineCopula (i.e., create the tree by dfs in order to avoid moving data around and computing Kendall's tau) , but I agree that this can wait.

all done in #55


MSDKUI-2287: Update version number to 2.1.6

Signed-off-by: Krzysztof Hubaczek<EMAIL_ADDRESS>

Codecov Report

Merging #184 into master will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #184      +/-   ##
==========================================
- Coverage   87.41%   87.27%   -0.14%
==========================================
  Files          89       59      -30
  Lines        5155     3199    -1956
==========================================
- Hits         4506     2792    -1714
+ Misses        649      407     -242

Flag
Coverage Δ

#ios
87.27% <ø> (-0.14%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

MSDKUI_Demo/AboutViewController.swift

MSDKUI_Demo/WaypointViewController.swift

MSDKUI_Demo/GuidanceViewController.swift

MSDKUI_Demo/MapRouteHandler.swift

MSDKUI_Demo/ExtensionNMAMapView.swift

MSDKUI_Demo/AboutTableViewDataSource.swift

MSDKUI_Demo/RouteViewController.swift

MSDKUI_Demo/ExtensionUITableViewCell.swift

MSDKUI_Demo/ExtensionBundle.swift

MSDKUI_Demo/LocationBasedViewController.swift

... and 20 more

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 c6e505e...6476a70. Read the comment docs.


Adding trailing slash causes libraries like registry-auth-token to fail finding settings

Because registry-url adds trailing slashes to registry URLs, update-notifier (and anything else using registry-auth-token) doesn't currently work with some registry/auth URLs.
Specifically, if the registry URL doesn't contain a trailing slash, like:
@myscope:registry=https://contoso.pkgs.visualstudio.com/_packaging/MyFeed/npm/registry
npm itself requires the following authToken line, due to its nerf-darting:
//contoso.pkgs.visualstudio.com/_packaging/MyFeed/npm/:_authToken=<auth_token>
But because registry-url appends a trailing slash, it makes the following registry url:
@myscope:registry=https://contoso.pkgs.visualstudio.com/_packaging/MyFeed/npm/registry/
which (when using a library like registry-auth-token / matching npm's behavior) doesn't work with:
//contoso.pkgs.visualstudio.com/_packaging/MyFeed/npm/:_authToken=<auth_token>
and instead requires
//contoso.pkgs.visualstudio.com/_packaging/MyFeed/npm/registry/:_authToken=<auth_token>
Note that registry-auth-token had buggy behavior as well, and in 3.1.1 just took the fix https://github.com/rexxars/registry-auth-token/issues/10 to match npm's behavior.
Was there a reason for adding the additional trailing slash? There must have been since I see tests for it, but it seems wrong to do and is causing this failure.
Thanks.

It was added because of https://github.com/sindresorhus/registry-url/issues/4, but reading it now, I'm not sure whether it's valid or not.
@rexxars Thoughts?

I'm not sure - I guess it sort of depends what you're using this module for.
If you use it to build a url on top of it, I guess the current behavior sort of works (and if it changes, it'll be a breaking change) and is in line with how the default npm registry url ends with a slash.
If you use it to look up the correct registry for a scope, then the current behavior is inconsistent with npm, as it needs to "nerf dart" the URL. Basically, https://my.registry/some/path would actually result in https://my.registry/some instead of https://my.registry/some/path/.
Obviously, this would be a pretty big breaking change. I don't know how many people rely on the current behavior when a trailing slash is not present.


Docker Images too large

Feature Description
Shrink size of Docker images significantly
Motivation
FreeSurfer is a beast with more than 10GB, plus dependencies. But also the nvidia docker keeps growing and growing. Why? We don't know but you can guess what happens when we put both together. Images that are larger than 20GB and that is outrageously inappropriate.
Alternatives
We can drop quite a few install packages from FreeSurfer (e.g. because we don't want to run freeview or other GUI stuff and we don't want to build FreeSurfer) that will shave off 2GB, then we need to only install what is needed in our pipeline. This is really tricky as FreeSurfer tends to read in files that are not passed on the command line.
Simultaneously we need to explore alternatives to the nvidia docker images and directly install only the necessary packages and python dependencies. Maybe with a two-stage docker build.

This has been addressed with various pull requests: #139  #141  #145
significantly reducing required size of docker images.


MBEDTLS_PSA_CRYPTO_CONFIG for ECP (phase 1)

Continuation of https://github.com/ARMmbed/mbedtls/issues/3670
Continue the process for ALG_ECDH, KEY_TYPE_ECC_KEY_PAIR and KEY_TYPE_ECC_PUBLIC_KEY.

@gilles-peskine-arm I have opened #3830 to address this ticket. I left a question on the initial version for you there if you don't mind taking a look. Thanks.


Viewer origins

closes #12, closes #16
@andyweiss1982 and @senny have a 👀

@MattFenelon can you get your use-case to work with this addition?

@Elektron1c97 A test-case needs to make sure the env variable has an effect. Otherwise we are going to loose this on an update.

@senny done 👍

💪  @senny

Let's wait for feedback if this addresses the need voiced by others.

That's okay for me 👌

This looks great, thanks for looking at it. I won't be able to test it until Monday now.
As you own _viewer.html, rather than change viewer.js, could you modify HOSTED_VIEWER_ORIGINS in a js file loaded after viewer.js?

Hey @MattFenelon I opened another pr ( #19 )
I explored a little "bug" in the code. Gonna fix this tommorow!

What's the latest on this?

Any updates on this? When are you planning to merge this? I would really like to have configurable origins :'(

it's useful when viewing PDF saved in S3 or cloud service


Windows: Invalid template path

The template path is invalid, seems to prepend an additional host drive letter at the beginning. Not working for NPM and PNPM, unsure about others.
PS C:\Users\...\dev> npx create-t3svelte-app@latest
? Please choose which project template to use Standard + UI Extras
? Initialize a git repository? No
? Automatically install dependencies? No
? Configure Database? (N = SQLite Template) No
C:\C:\Users\...\AppData\Local\npm-cache\_npx\5be47aec1dfa4302\node_modules\create-t3svelte-app\templates\standard + ui extras
ERROR Invalid template name

Thanks!
Fixed in https://github.com/zach-hopkins/create-t3svelte-app/commit/fc112f689f6b32deb27ca36d8d224eba3c0bb02f


Exception raised when initialising integer variable whose shape is a list

Describe the bug
Exception raised when initialising integer variable whose shape is a list. If I
To Reproduce
import cvxpy as cp

x = cp.Variable(shape=[9*9*9], integer=True)

Output:
Traceback (most recent call last):

...

  File "C:\Program Files\Python37\lib\site-packages\cvxpy\expressions\variable.py", line 86, in __init__
    super(Variable, self).__init__(shape, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\cvxpy\expressions\leaf.py", line 133, in __init__
    np.ndindex(max(shape, (1,))))
TypeError: '>' not supported between instances of 'tuple' and 'list'

Easily fixed:
x = cp.Variable(shape=(9*9*9), integer=True)

Expected behavior
Either no exception, or a helpful cvxpy exception explaining why a Variable can't have the shape specified as a list
Output
Included above
Version

OS:  Windows 10
CVXPY Version:

$ python -m pip show cvxpy
Name: cvxpy
Version: 1.2.1
Summary: A domain-specific language for modeling convex optimization problems in Python.
Home-page: https://github.com/cvxpy/cvxpy
Author: Steven Diamond, Eric Chu, Stephen Boyd
Author-email<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>License: Apache License, Version 2.0
Location: c:\program files\python37\lib\site-packages
Requires: ecos, numpy, osqp, scipy, scs
Required-by:

Additional context
None

Thanks for reporting, even thought you find a fix for your case.
My inclination would be to fix this, as e.g. np.zeros([2,3]) also works.

Fixed in master.


[图片][图片][图片][图片][图片][图片]


Our "close ipynb" method will close other files open on the guest for native liveshare

The close active editor command is closing other files on the liveshare guest. At my first pass looking at this I didn't see a better way to handle this in the non-liveshare case so leaving this issue for now.

Secondary issue, expand / collapse on a cell with a comment in it will remove the comment

Dupe of #7972


notifyPath + dom-repeat do not work with new array items

Polymer 1.0 does not track data model changes automatically, there is a notifyPath method to notify Polymer elements about changes in data model.
https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#set-path
What path should be notified when a new array item inserted to force refresh of <template is="dom-repeat">?
Non of these work:
this.notifyPath("array", this.array);
this.notifyPath("array.1", this.array[1]);
this.set("array." + this.array.length, {});

Here is a Plunker example to play with:
http://plnkr.co/edit/UyoKIA90kJkkydO7Rhv4?p=preview

I believe the problem occurs because changing the array before calling notifyPath causes notifyPath to detect no changes between the this.array and the value being passed to notifyPath function.
here are some alternatives to your plnkr
root.changeProduct = function() {
  root.notifyPath("products.0.name", "intel " + root.products[0].name);
};

root.addProductByPush = function() {
  root.notifyPath("products", root.products.concat({name: "fx-8350"}));
};

Thank you for the answer, but I believe you didn't even try the Plunker example.
This is definitely not because of

because changing the array before calling notifyPath causes notifyPath to detect no changes between the this.array and the value being passed to notifyPath function.

The Change product button works, in spite of it calls notifyPath after the change being made.

root.changeProduct = function() {
    root.products[0].name = "intel " + root.products[0].name;
    root.notifyPath("products.0.name", root.products[0].name);
};

array.concat would work only inside a Polymer element. In my case changes come from a third party library, and I want to notify Polymer element with no changes to the view model.

This one works:
root.addProductByPush = function() {
    root.products.push({ name: "fx-8350" });
    root.notifyPath("products", root.products.slice());
};

But in this case (same as array.concat) the notifyPath value argument is a new array, and I would like to keep the old one, only notify Polymer about changes inside.

@miyconst I did try the example!

here are some alternatives to your plnkr

I just gave some alternatives which also work!
Slice is a good way to go too ;)

@pflannery then I am really lost.
The notifyPath function does not change view model, it only notifies Polymer about already existing changes.
Your example would work if notifyPath would be replaced with set, which would replace entire array of products with a new one, and this is what I want to avoid.
Correct me if I am wrong.

Did you try
root.addProductByPush = function() {
    root.push("products", { name: "fx-8350" });
};

@mikkokam I did try, it works, not in my case though.
I have an object, which is shared between a Polymer element and a third party library. The library does some changes in the array, and I want to notify the Polymer element about that change.
Your suggestion works inside Polymer elements only.

True. This is what I have been trying to solve myself, as well:
This is the final missing piece in my simple attempt to implement FLUX architecture with Polymer; a change event causing a refresh from extrenal data.
In my case, we should have a way to compare two Arrays: the external and the Polymer one, and update the changed elements in Polymer way.
Seems possible with an utility, comparing the two Arrays and using Polymer Array mutation methods to update only the changed ones.

So, currently there is no way to notify Polymer about a change inside an array? Looks like I have to use array.slice() then.

/sub

Made a simple array sync utility to test things out. Seems to work as intended - at least for my usage for FLUX.
The idea: keep two Arrays, external data + local data. The local one to be used in dom-repeat.
The utility syncArrays then keeps these in sync and uses Polymer Array mutation methods to keep things up to date. Only the changes will be propagated.
http://plnkr.co/edit/Gu1bsFgvd76ofyvQwdz6?p=preview

@mikkokam thank you, your solution works.
It does not fit my case though.
The data model is not known in advance and may contain many arrays with lots of data.
Copying all of them is not a good idea.

@miyconst I have exactly the same problem as you (third party library) and solved it with a combination of notifyPathand _notifySplice(array, path, startIndex, addedCounter, removedItemsArray). I use notifyPath if the array instance or an exisiting item changes, notifySplice if an item was added or deleted.

@dombre, this is something I was looking for!
There is still a bug though. I have updated my Plunker using your approach, but instead of pushing new product to the array, I insert it at position 0.
_notifySplice works fine and dom-repeat updates, but the elements inside the dom-repeat still remember their binding path.
The Change product button changes the first product and then notifies Polymer with:
root.notifyPath("products.0.name", root.products[0].name);

But Polymer updates item 1, which previously was 0.
http://plnkr.co/edit/UyoKIA90kJkkydO7Rhv4?p=preview

Press button Add new with Array.push.
Press button Change product.

And you will see what I talk about.

@miyconst
The code doesn't appear to be doing a push (as the object is not being spliced onto the end your array). Aren't you shifting all the elements of the array and not telling polymer about it?

@miyconst apologizes wanted to include some ~code, something like so was intended?
   root.addProductByPush = function() {
        //root.products.push({ name: "fx-8350" });
        //root._notifySplice(root.products, 'products', root.products.length - 1, 1, []);
        root.products.splice(root.products.length, 0, { name: "fx-8350" });
        root._notifySplice(root.products, 'products', root.products.length-1, 1, 0);
      };

I think the push method also works; however, kinda fubar you have to call the private api though!

@jongeho1
In my case the changes to the array is not limited to push operation. It can be add item at or remove item at.
Your code splices an item to the end of the array, and my code splices an item to the beginning of the array.
My case breaks up Polymer binding, because it "remembers" path for dom-bind items. This makes the products.1 item react to products.0 changes.

@miyconst ah! the example method and button are misleadingly named and require much context to understand what is being conveyed! I looked at it for the insert case quickly and gathered it may be unsupported.
Like mentioned above, the code modifying the beginning of the array and shifting all the indices.  Indices appear to be initially used as collection keys for digging deeper into the collection being notified. When the splice/insert is notified on the user array, the collection adds the object with key "2" to the model not "0". This is when the view index and model key become out of sync so notifying based on "index" instead of "key' has become unsafe. Polymer doesn't appear re-balance the model keys with view indices and has it registered products.2. The splices on the model always appear to be added with a push to the user array (the end) to obtain a model key.
If you notify using the collection key, then it seems to work:

      root.changeProductNameForIndex0 = function() {

        //view to change
        var domRepeatIndex = 0;

        //obtain the model key for the first index
        var key = Polymer.Collection.get(root.get("products")).getKey(root.products[domRepeatIndex]);

        //build path to name
        var itemPath = ["products",key,"name"].join(".");

        //external change to view
        root.products[domRepeatIndex].name = "intel " + root.products[domRepeatIndex].name;

        //tell polymer about the change to the model
        root.notifyPath(itemPath, root.products[domRepeatIndex].name);

      };

@jongeho1
Well, this works, but it is too complicated..
I have a big view model, with arrays inside arrays, moreover there might be objects with 0, 1 properties. Calculating the key for each array item being updated is kind of ridiculous.

@miyconst not trying to sell you the sandwich, merely trying to tell you what it looks like and can be arguably be an unsupported limitation that it has no lettuce. Sandwich aside, sounds like your model's size + structure make it complex rather than a key lookup.
This https://github.com/Polymer/polymer/issues/2007 may be helpful and seems to have some symmetry with what I described.

@jongeho1
I will probably use your solution, and thank you.
Just I want a fix on Polymer level, not a complicated hack to make it work.

@miyconst here is another sandwich: https://github.com/ESTOS/estos-databinding-behavior Maybe this is useful for you, too. But keep in mind this is my first attempt for a more general solution to this problem.

There is yet another sandwich: https://github.com/Juicy/dom-bind-notifier or rather juicy-fruit ;)
Custom element which, once put inside your <template is="dom-bind"> observes the changes and notifies dom-bind for you.

I suspect, I might encounter the cause of a root issue. And it seemed not to be a problem with _notifySplice but with notifyPath, which according to docs should consume

path {string} Path that should be notified.

Similar to other methods, like .set, .get, .splice. But it occurred that it is NOT the same path, so it's not the path in your object which uses indexes, but a path in Polymer's Collection which uses keys. I would say, it will be nice to clarify it in docs.
Therefore, to use notifyPath as other methods in API, I need to get correct path first. I did it with the same way .set method does: https://github.com/Juicy/dom-bind-notifier/blob/master/dom-bind-notifier.html#L250
It's pretty universal, structure independent way to translate real path, to the one you can use in notifyPath, so you can use it without a need to create custom element per object, or even any custom element at all.
However it's definitely ugly to store such copy of Polymer internals in your own code.
I thought about a PR with fix to use external path as input for external calls to public notifyPath (it is called internally many times as well), but I'm not sure if there is any other use case for that.

This issue is pretty old, but observing array adds/removes is described in the docs:
https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation

i was wondering i have the same requirement, but my array is array of objects, can someone tell me how to achieve template refresh.
rows:{type:Array,observe:true,notify: true,value: [{"id":1,"value":["w"]},{"id":2,"value":["w"]}]}
and i have the template like this.
Add Rows

		<template is="dom-repeat" items="{{rows}}" id="maindiv">

			<template is="dom-repeat" items="{{item.value}}">

					<button class="btn btn--primary margins">Add {{item}} Widget</button>

			</template>

			</template>

addRows: function(){
this.push("rows", {"id":this.rows.length+1,"value":["w"]} );
this.$.maindiv.render();
this.$.rowdiv.render();
console.log(this.rows);
}
Add Rows is working perfectly, but the addcols function is modifying the attribute but dom is not getting changed.
addCols: function(e){
var arr = e.model.item.id;
var ind;
for(var i=0;i<this.rows.length;i++){
if(this.rows[i].id === arr){
ind = i;
//								this.push("rows[i].value","w");
this.rows[i].value.push("a");
this.$.maindiv.notifyPath('rows.i.value', this.$.maindiv.rows[i].value);
}
}
this.$.maindiv.render();
this.$.rowdiv.render();
console.log(this.rows);
				}

can someone advise on how to resolve this. thanks,

@raghanag You should be able to use polymer's array mutation methods for your purpose.
e.g. this.push('rows.'+i+'.value', 'a');


ProjectSettings.save() create godot project even after export windows application

Godot version
3x
System information
Mac Air M1 2020
Issue description
ProjectSettings.save() create godot project even after export windows application.

Steps to reproduce
Add ProjectSettings.save() in your script then export to windows app.
Open the exported file then godot project will be created.
When you open that file with godot. It contains all the project settings in your app.
Although it is possible to use engine.is_editor_hint() to avoid. But it not very secure.
Minimal reproduction project
New folder.zip

Well, ProjectSettings is just a Resource.
The description of save() already states that you should use it only in the editor.

save() only hardcodes the save path and updates the last saved time.
I think it can be replaced by a return ERR_UNAVILABLE; in export templates. If the user does want to save the project, save_custom() is always available.


Fix broken tab index for IE

-1 causes the focus to act strangely (going back to body). 0 will do what is intended.

According to WhatWG HTML Standard:

If the value is a negative integer The user agent [...] should omit the element from the sequential focus navigation order
If the value is a zero The user agent [...] should allow the element [...] to be reached using sequential focus navigation, following platform conventions to determine the element's relative position in the sequential focus navigation order.

This means, that setting tabIndex to 0 will not do what is intended in non-ancient browsers and thus I won't merge this.


Hungarian Language Support

Description
Please Add Hungarian Language at Crowdin page.
Priority
Medium (Would be very useful)

Still nothing

Sorry for the wait. @ajnart will look into your request.

Done ! You should be able to contribute with : https://crowdin.com/project/homarr/hu and the language should be added in the next release 😄


Feature: marker fn supports scope

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe
There are situations when I can't use template translation. Also I need to use translation from one scope in other place. Translation API is good than used in one place. But I need little more flex.
Describe the solution you'd like
marker(key, scope?)
or maybe
marker("scope.key") like in comment marker /** t(scope.key) */ when used in scoped component/module
Describe alternatives you've considered
No response
Describe alternatives you've considered
-

Describe alternatives you've considered

Additional context
No response
I would like to make a pull request for this feature
No

@Alegiter I'm not sure I fully understand what you mean here. can you please share an example?

I was looking for this too... i am pretty sure he means he would like a way to use the marker function to scope the translation key and extract it into the scope-file (like marker( test1, admin ) -> creates the key in the admin-scope file)... right now when I use the marker function I can only put the keys in the top-level translation file, right? (at least I haven't found a way to do it otherwise)

@FloNeu, yes, it's exactly what I meant :)

Any workaround to achieve this?

The only thing missing are the typings. marker('username', {}, 'scope') already works!

can you explain how you got that to work? i tried this with disabling
typechecking on method call you showed, but translations weren't but in
their own file based on scope parameter
Am Di., 9. Aug. 2022 um 15:50 Uhr schrieb Christoph Bühler <
@.***>:

The only thing missing are the typings. marker('username', {}, 'scope')
already works!
—
Reply to this email directly, view it on GitHub
https://github.com/ngneat/transloco-keys-manager/issues/132#issuecomment-1209409637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKPZ6AI6GQVU6FM4RTPS6LVYJO2TANCNFSM5UOPQD5A
.
You are receiving this because you were mentioned.Message ID:
@.***>

@FloNeu @Alegiter You are more then welcome to open a PR for this :)

This solution works for me without any issues.
Add this to the paths of your tsconfig:
"@ngneat/transloco-keys-manager/marker": ["tools/i18n/marker.ts"]
The contents of marker.ts:
/**
 * Custom marker for transloco-keys-manager that supports 3 parameters.
 * https://github.com/ngneat/transloco-keys-manager/issues/132
 * @param key the translation key
 * @param params this parameter is ignored, always pass void 0
 * @param lang the scope and or language
 * @returns
 */
export function marker(key: string, params?: undefined, lang?: string): string {
  return key;
}

Then use the marker like this:
import { marker } from '@ngneat/transloco-keys-manager/marker';
// ...
marker('username', void 0, 'signup');

@christophbuehler Thanks for sharing!
Anyways the signature needs to be fixed, but I think that API wise it's preferred to just support marker('scope.a') to be consistent with the comment extraction API.
What do you think?

Is it possible to enable this typing? I would like to be able to pass the language / scope
I think it will be difficult to add behavior here as in the comments in the template so that the scope is taken from the directive