Type constraint smileys conflate .defined-ness with .DEFINITE-ness

The type smileys constrain based on whether an object is .DEFINITE (or "concrete" or a "type object" vs. "an instance"), but the current description describes the difference very loosely, and it's easy to misunderstand it to be saying that the smileys check for value of .defined instead.
(P.S.:  "type smileys" doesn't find any search results, even though the docs do seem to use that term in a few places)

Wow, I almost fell to that trap while documenting for #1495 💦

Checking on https://design.perl6.org/S12.html#Abstract_vs_Concrete_types I can see why the initial description is loose:
    Int:_       Allow either defined or undefined Int values
    Int:D       Allow only defined (concrete) Int values
    Int:U       Allow only undefined (abstract) Int values

That is, these mean something like:

    Int:D       Int:_ where DEFINITE($_)
    Int:U       Int:_ where not(DEFINITE($_))

Digging deeper into https://design.perl6.org/S12.html#Introspection:
There is one more macro:

    DEFINITE    the object has a valid concrete representation

The DEFINITE macro serves as the default for the Mu.defined method.

For now Perl 6 reserves the right to change how all these macros...

I guess we could add a note along the lines of "under the hood" for these particular constraints, like below (please check for accuracy:)

The :D, :U, and :_ type constraints check for the I of the object, that is whether the object represents an instance (a I object) or a type (an I object.)  Under the hood, this calls the object's .DEFINITE method, which if not overridden in its class or parents, would default to Mu.defined method.

this calls the object's .DEFINITE method, which if not overridden in its class or parents, would default to Mu.defined method.

No, it's Mu.defined that defaults to self.DEFINITE not the other way around. You can't override .DEFINITE and no method is called under the hood (it's not a real method).
Something along the lines of...

The :D type constraints for instances only, similar to how you could call .DEFINITE on an object, :U for type objects, and :_ (the default) type constraints for either.

say Int ~~ Any:D; # OUTPUT: «False␤»
say Int ~~ Any:U; # OUTPUT: «True␤»
say Int ~~ Any:_;  # OUTPUT: «True␤»

say 42 ~~ Any:D; # OUTPUT: «True␤»
say 42 ~~ Any:U; # OUTPUT: «False␤»
say 42 ~~ Any:_; # OUTPUT: «True␤»

Thanks for clarifying, it seems I certainly fell into that trap from the Synopses. 😹
Furthermore, should we solidify calling these particular constraints as "type smileys"?  They're certainly catchy, FWIW.


ARROW- 5749: [Python] Added python binding for Table::CombineChunks.

Table::CombineChunks was added in https://github.com/apache/arrow/pull/4598 . This PR adds the python binding for it.

This passes lint docker compose image locally, I've also fixed the flake8 issue. I'll go ahead and merge.


Adding the CPlat SDK team as code owner

We should be notified and made code owners of any change to the Compute Platform's SDK repo since we own the SDK for Compute. Please contact cplatsdkdev at microsoft.com if you have any questions

//fyi:  @AlexGhiondea, @lilyjma

/check-enforcer override


⚠ Auth has degraded performance

In 4ee6dfe, Auth (https://auth.k2lin.com) experienced degraded performance:

HTTP code: 200
Response time: 5987 ms

Resolved: Auth performance has improved in 66de5f9 after 10 minutes.


Refactoring upgrade process

This implements the upgrade process described in #105. Instead of opening the database at the latest version and artificially moving through each version (while still under the same transaction), we now open the database at each version in turn. At each upgrade we diff between the current state of the db and the version schema applicable to the current version of the db. This should have the following effects:

Those mentioned in #105
Remove the need to keep around old versions of object stores if an upgrade is not necessary
This also removes the need to keep around old versions of object stores if there is not an upgrade necessary from version to version. This assumes you 'bring forward' any implied table definitions from previous versions to be defined on the current one.

This should resolve #105 as it makes the correct object stores available on the upgrade transaction. Some discussion is needed for whether this brings us closer to #287.
Additionally, this adds a 'max version' parameter on explicit DB open that can be used for more controlled upgrade and easier unit testing.
Summary of changes:

Several methods were moved to be static methods of the associated class type, e.g. TableSpec now has static methods for parsing from Version store source and from a db or transaction. Likewise IndexSpec has a static method for parsing from the Version store source syntax.
Version static methods added for working with version numbers and versions that have been set.
runUpgraders function responsibility split into doUpgrade (called when we are upgrading an existing database) and create (called on initial db creation, so on.populate is called).
updateTableAndIndexes (now named to upgrade) is called from doUpgrade to do the actual upgrade. Anything regarding looping over versions has been removed since we're only upgrading one version at a time.
this._open added as the simplified version of this.open, called from within this.open
this.open now opens the database without a version and either creates it initially if onupgradeneeded fires or closes the database and delegates to this._open if a newer version is available.
max_version parameter added to this.open for ease of unit testing upgrades
Transaction was changed so its list of store names can be updated.
We still stick to setting Table instances on Transaction.prototype, db, and allTables to make them available. I tried to make it more explicit exactly where we were setting these and from where we were deriving the schemas.

Pending activities

[x] There is one failing test in WhereClause#anyOf regarding Classes being defined on the Tables. Not sure the best way to resolve that. I started working on a class cache for Tables that could be re-set on Table initialization but I don't know if this is relevant to point 3 on your comment here.
[x] Need to remove readGlobalSchema as it is unused.
[ ] We may want to have some validation between versions that happens when versions are added as opposed to on upgrade. - will leave this to another issue, there's enough here already
[x] Update needed to upgrading tests to cover claims that we don't need previous version stores specified (these could also be made more thorough in general but that could be saved for another time).
[x] Remove for ... of
[x] Use extend instead of Object.assign
[x] Address destructuring

Open items

createMissingTables in upgrade - I'm not familiar with Dexie addons that use this, if it could be addressed that would be good.
IDBObjectStores dependency

Object.assign: Is it alright to move to a babel plugin instead? object-assign-transform
destructuring change: :+1:
for .. of: Do you want the usages within this PR reverted or another issue opened to track a move to bublé?
Is this not the appropriate way to ensure we're covered in the idbshim case?
Hooks: I will look into this today or tomorrow.

Use extend() instead (imported from './utils'). Lesser output size. The _extend helper would be put in every module instead of just used once. If needed we could extend "extend" to allow multiple arguments.
👍
Revert to not using for..of so far. Going over to buble is a bigger task even though I'd really like to test it out. If going over to buble to build dexie, we might need to keep babe as well to build the unit tests since we're using async/await in the tests, which are not supported by buble. dexie-relationships addon successfully moved over to buble/rollup for the build. Could be used as a reference.
In older iOS versions, the shim is unable to be applied to window.indexedDB due to the iOS WebView restrictions, so people need to use the shim by setting Dexie.dependencies.indexedDB and Dexie.dependenciea.IDBKeyRange, OR they can provide them as options to Dexie constructor.
<3

I merged a minor change that resulted in a conflict for this PR. I can fix if you want (when it's time to merge). The conflict is somewhere in db.open() where globalDatabaseList() was called on so I think it can be easily resolved.

Adding this here as a note so we don't forget it.
From what I can tell the _parseStoreSpec() will be removed by this PR. We would have to adjust Dexie.Observable which uses the method to define its stores. I don't know if any other changes affect the addons.

This is ready for review and (potential) merge, pending a look at createMissingTables by someone familiar with the addons that use it, and confirmation that we can add IDBObjectStore to dependencies for release 2.

I have been trying for a few hours now to get Dexie.Observable and Dexie.Syncable to work with the PR with not much luck. There seem to be a number of issues we have to deal with and I don't know what the best course of action is.
First off this PR changes dynamicallyOpened() to always return true. Dexie.Observable uses this function to decide, among others, when it needs to observe tables. With dynamicallyOpened() always returning true it never observes any table which pretty much breaks everything. What is the reason for it to always return true? It used to return false if at least one DB version was defined.
Second Dexie.Observable adds new stores to the database. I managed to get that to work by overriding Version.prototype.stores and adding the needed stores. This seems to work without an issue. (Used to be in the _parseStoreSpec() override)
Third Dexie.Observable also changes the schema of the tables in two ways:

It adds schema.observable = true so we know which tables have to be observed. I managed to get that to work by overriding Dexie.TableSchema.fromVersionStores and Dexie.TableSchema.fromTransaction and add the code to set the observable property (used to be in _parseStoreSpec() override).
It defines a new index type $$ for the primary key to create unique IDs instead of using ++ or user defined IDs. In order to do that it reads schema.primKey.name and checks if $$ is at the beginning of the name. The problem here is that this PR seems to change the name attribute (probably line 3178 and that breaks the logic of Dexie.Observable causing Dexie to think that we are changing the primary key which causes it to throw "No support yet for changing primary key".
This is the logic in Dexie.Observable used for $$ (used to be in _parseStoreSpec() override, is now in fromVersionStores() and fromTransaction() overrides):

if (schema.primKey.name.indexOf('$$') === 0) {
  schema.primKey.uuid = true;
  schema.primKey.name = schema.primKey.src.substr(2);
  schema.primKey.keyPath = schema.primKey.src.substr(2);
}

Using only fromVersionStores() or fromTransaction() also breaks things because as it seems the schema changes made by Dexie.Observable are not persisted. Maybe the easiest solution for this would be to add $$ to Dexie directly and let it create the IDs itself. From what I can tell adding this to Dexie should increase its size by much.
I also had to add globalSchema = db._dbSchema = this._cfg.dbschema; below line 209 since without it _createTransaction() was sometimes called without a schema meaning Dexie.Observable couldn't read the observable attribute and that broke some logic in Dexie.Observable.
It would be nice if we find solutions for these issues before this PR is merged so that Dexie.Observable/Dexie.Syncable don't break and so that we can provide an upgrade path for any addons adding tables and/or changing the schema of the database.
As a side note dexie-relationships also uses _parseStoreSpec() and also changes the schema. So it will also have to be upgraded to work with this PR.

I have been trying for a few hours now to get Dexie.Observable and Dexie.Syncable to work with the PR with not much luck. There seem to be a number of issues we have to deal with and I don't know what the best course of action is.
First off this PR changes dynamicallyOpened() to always return true. Dexie.Observable uses this function to decide, among others, when it needs to observe tables. With dynamicallyOpened() always returning true it never observes any table which pretty much breaks everything. What is the reason for it to always return true? It used to return false if at least one DB version was defined.
Second Dexie.Observable adds new stores to the database. I managed to get that to work by overriding Version.prototype.stores and adding the needed stores. This seems to work without an issue. (Used to be in the _parseStoreSpec() override)
Third Dexie.Observable also changes the schema of the tables in two ways:

It adds schema.observable = true so we know which tables have to be observed. I managed to get that to work by overriding Dexie.TableSchema.fromVersionStores and Dexie.TableSchema.fromTransaction and add the code to set the observable property (used to be in _parseStoreSpec() override).
It defines a new index type $$ for the primary key to create unique IDs instead of using ++ or user defined IDs. In order to do that it reads schema.primKey.name and checks if $$ is at the beginning of the name. The problem here is that this PR seems to change the name attribute (probably line 3178 and that breaks the logic of Dexie.Observable causing Dexie to think that we are changing the primary key which causes it to throw "No support yet for changing primary key".
This is the logic in Dexie.Observable used for $$ (used to be in _parseStoreSpec() override, is now in fromVersionStores() and fromTransaction() overrides):

if (schema.primKey.name.indexOf('$$') === 0) {
  schema.primKey.uuid = true;
  schema.primKey.name = schema.primKey.src.substr(2);
  schema.primKey.keyPath = schema.primKey.src.substr(2);
}

Using only fromVersionStores() or fromTransaction() also breaks things because as it seems the schema changes made by Dexie.Observable are not persisted. Maybe the easiest solution for this would be to add $$ to Dexie directly and let it create the IDs itself. From what I can tell adding this to Dexie should increase its size by much.
I also had to add globalSchema = db._dbSchema = this._cfg.dbschema; below line 209 since without it _createTransaction() was sometimes called without a schema meaning Dexie.Observable couldn't read the observable attribute and that broke some logic in Dexie.Observable.
It would be nice if we find solutions for these issues before this PR is merged so that Dexie.Observable/Dexie.Syncable don't break and so that we can provide an upgrade path for any addons adding tables and/or changing the schema of the database.
As a side note dexie-relationships also uses _parseStoreSpec() and also changes the schema. So it will also have to be upgraded to work with this PR.

dynamicallyOpened - My fault, I interpreted this to indicate that we're deriving the schemas from the database itself, and that is always true with this change. I don't see a problem fixing it to reflect 'at least one version is defined' if that's what it is meant to be.
The rest of the issues seem like a problem with hooking into Dexie, in most cases for changing database specs. Can we create a more consistent and known public interface to deal with these cases? Ideally, we should never have to worry about external add ons when changing internal behavior (especially if we can't even trust _-prefixed methods). From what you've stated so far we need:
Method for adding custom index types on user tables
Method for adding custom tables
Hook into transaction creation

dynamicallyOpened - My fault, I interpreted this to indicate that we're deriving the schemas from the database itself, and that is always true with this change. I don't see a problem fixing it to reflect 'at least one version is defined' if that's what it is meant to be.
The rest of the issues seem like a problem with hooking into Dexie, in most cases for changing database specs. Can we create a more consistent and known public interface to deal with these cases? Ideally, we should never have to worry about external add ons when changing internal behavior (especially if we can't even trust _-prefixed methods). From what you've stated so far we need:
Method for adding custom index types on user tables
Method for adding custom tables
Hook into transaction creation

Would be cool if we can just revert that change to do what it used to do.
Yes a more consistent public interface would be good. The main issue as you noted is that the addons use _-prefixed methods which should probably be considered private.
i. Yes
ii. I think hooking into stores() is good enough for that as stores() is public (overrides are used for other public methods as well like open() and close())
iii. Yes. Although currently (for Dexie.Observable) it is good enough when _createTransaction() always gets the schema
vi. A way to change the schema of tables independent of any custom index (could of course be only one method which allows schema and index changes)

Would be cool if we can just revert that change to do what it used to do.
Yes a more consistent public interface would be good. The main issue as you noted is that the addons use _-prefixed methods which should probably be considered private.
i. Yes
ii. I think hooking into stores() is good enough for that as stores() is public (overrides are used for other public methods as well like open() and close())
iii. Yes. Although currently (for Dexie.Observable) it is good enough when _createTransaction() always gets the schema
vi. A way to change the schema of tables independent of any custom index (could of course be only one method which allows schema and index changes)

Thanks guys for identifying these issues <3  I hope to get some time during the coming week to dive into these things. Agree we should have a non private api for the identified overrides

Thanks guys for identifying these issues <3  I hope to get some time during the coming week to dive into these things. Agree we should have a non private api for the identified overrides

I will fix dynamicallyOpened in this PR. Is it alright to open an issue for 2 (defining new API to cope with breaking changes to internal methods) and address it separately? I would prefer this PR not be blocked on it.

I will fix dynamicallyOpened in this PR. Is it alright to open an issue for 2 (defining new API to cope with breaking changes to internal methods) and address it separately? I would prefer this PR not be blocked on it.

Absolutely but it would be good if the addons world work (using the current api)

Absolutely but it would be good if the addons world work (using the current api)

Oops, I think I was too fast to merge it in. I see now that you have an unchecked box there. I will revert the merge.

@chrahunt seems the PR couldn't be reopened again. Are you able to reopen it again?

@chrahunt The reason I needed to revert the merge was that lots of tests started failing when applied. Something got really broken for some reason. Then I saw that there still was an unchecked box in your list so I assume you are still on merging from master and troubleshooting why tests fail. Maybe the PR could be reopened by you after pushing new commits to your branch. If not possible, please reopen a new PR.

@chrahunt, would you be able to redo the PR?

@dfahlander yup I see this now, thanks for the reminder.


[Documentation] Draft and publish theme highlights

need to draft a standard documentation for highlighting the capabilities of the Coeus Sphinx Theme.
this documentation will mostly consist of steps of using the theme, kitchen sink examples and some more details about the extensions which are natively supported.
need to comply and adhere to the licensing strategies of the used extensions and need to provide them a separate section for shining off.
this issue could be broken off into multiple small tasks but need to come up with those individual bits and pieces.

this might take a while, should be pushed to backlogs.


Ability to toggle off blue overlay

Blue overlay from sector beams obscures map. There needs to be some way to toggle it completely off. East Village is particularly bad, and now Greenpoint is too

Please?

Maybe we could add toggle (default off) at the bottom of the map-

Reduced opacity and added a toggle in https://github.com/nycmeshnet/node-map/pull/12


ecall: wrap mip::clear_ssoft() in unsafe

Clearing a CSR is marked as being unsafe:
https://github.com/rust-embedded/riscv/blob/e38a68d2e/src/register/macros.rs#L185
Signed-off-by: Daniel Maslowski<EMAIL_ADDRESS>

Thanks! :)


Investigate further improving webpack local dev load times

It currently takes 70-80s to start up on a high powered desktop.
2023-04-04 22:20:05: webpack 5.76.3 compiled successfully in 79850 ms
2023-04-04 22:47:45: webpack 5.76.3 compiled successfully in 70144 ms

On local dev, hot reloads tend to take ~3s and doing a bunch of hot reloads at the same time can cause webpack to crash.

I'm further having issues with chrome dev tools linking to the right webpack lines of code:

Kinda frustrating developing on local dev... is there a possibility of reverting the react 18 upgrade or prioritizing these webpack fixes? Or at least could I have some context on why we upgraded to react 18? @PGrad

@mwpark2014 Can you screenshot the entire error? I was having issues linking recently and had to completely remove my node modules and reinstall with npm ci and that fixed my issue. Have you tried that?
Can you make a list of all the issues you are having so we can tackle each of them?

The errors themselves are not the issue. Those are the errors on my local branch (and now fixed). The problem is that the links for each error directs to a webpack-internal:///./node_modules link, which is broken for me, which makes it hard to debug issues locally.
Hmm, I haven't really looked into the issue so I have no idea if it is actually related to the react 18 upgrade. Just seemed like around the same timing

@mwpark2014 what branch are you seeing those errors on? I'm not seeing them on the latest main. I want to be able to reproduce the errors so I can try to fix them.

@mwpark2014 what branch are you seeing those errors on? I'm not seeing them on the latest main. I want to be able to reproduce the errors so I can try to fix them.

I fixed them so this issue is not immediately pressing to me. If I run into this situation again, I'll make sure to create a separate test branch to repro


firmware 1.2.9 b230905

arming/disarming no longer accept same msg. Return Bad request.
Noticed they removed arming/disarming option from web interface, and probably added dummy body to prevent arm/disarm this way

I handed over this project to @petrleocompel . Please check this repo and report the issue there.
hikaxpro


Not working on venv environment

I installed the extension for vscode in Windows, I have Python installed (no conda).
I created a environment using venv, and selected the python interpreter in the environment as default for the project, my settings for the workspace regarding python/black are minimal:
{
    "python.formatting.provider": "none",
    "[python]": {
        "editor.formatOnSave": true,
        "editor.defaultFormatter": "ms-python.black-formatter",

    }
}

After formatting the document the Black Formatter extension output prints:
2023-06-21 08:26:00.811 [info] [Warn  - 8:26:00 AM] Skipping standard library file: c:\Users\myuser\myfiles\project\test2.py
And it does not format the document at all.
Using the command python -m black .\test2.py, works as expected
(my_env) PS c:\Users\myuser\myfiles\project> python -m black .\test2.py
reformatted test2.py

All done! ✨ 🍰 ✨
1 file reformatted.

Formatting the document outside of my env, and using the default python also works. It seems to only fail on my python venv.

@leodario7 This is by design. Your code should not be inside a virtual environment.
This is a typical layout of a project, using virtual environment. With this layout you can ignore the contents of virtual environment when using source control.
project_dir
|- .venv // this is the venv directory
|- test2.py // you can either have your files here or in a directory

Virtual environment directory should not be used as the parent directory for your projects.

Are you saying that by design this plugin works worse than prettier? mmmk


.getFinalY()

Hi, I have tried the new functionality of the final position of the table. If it is used on a standard table it works perfectly. If it is used on a repeated table the method correctly returns the position y but not the page of the document where the table ends. Are you planning to implement this too? Thank you for your work.

I didn't yet think about it. It should be absolutely simple to implement. So most probably I will implement it in one of the next releases. Also I am always open for pull requests :wink:

This was implemented in the meantime and is released. Will close hence.


dep(both): update tidb to the latest version

What problem does this PR solve?

Issue Number: close #7770
What is changed and how it works?
Bump tidb version
Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/cc @asddongmen
/cc @CharlesCheung96

/merge

/run-integration-test tidb=f5487e3f2596cdd63ae9840606c7fff3fb539e03

/merge

/run-integration-test tidb=f5487e3f2596cdd63ae9840606c7fff3fb539e03

/run-all-tests tidb=f5487e3f2596cdd63ae9840606c7fff3fb539e03

/run-engine-integration-test

/run-integration-test tidb=f5487e3f2596cdd63ae9840606c7fff3fb539e03

/run-dm-compatibility-test


fix: handle SubscriptionClient ready state properly

This PR fixes the ready state of the SubscriptionClient that was not properly handled due to an invalid property set in the close function (this.isReady = false instead of this.ready = false).
It also extends the connectionCallback usage to handle error payload in case of a connection_error.

It also throws an error if createSubscription is called and the connection is not ready, otherwise the gateway was accepting gql_start without any error even if the connection_init failed with the related service.

It is called when a new connection is established and I thought it was a good fit to also handle the error case like a 'classic' callback with the error defined if it failed, but this can be a breaking change for some users if not handled.
If you prefer I can declare a new callback but I think it makes the interface more complicated and it's not necessary.

I've added the failedConnectionCallback to prevent a breaking change on connectionCallback.


Show at least one tile in container.

This is useful (necessary) to have respnsive support on devices where the tile size is bigger than the screensize.

Thank you for your pull request @waegen. I am a bit busy at the moment, but I will look into it as soon as possible.

@waegen: I have created a PR that should fix the issue. See #4. It ensures that newItemsPerRow is at least one. All other changes that you've made don't seem to affect the issue. Please have a look at the PR at let me know if it also fixes your issue. Thanks!


Privacy Iframe

Separate endpoints

User needs to this set up
Provides cross domain context

data URL

Reddit embed doesn't work (will try direct) due to frame-ancestors: *
Provides cross-domain context

srcdoc
Everything works, but it's same origin. Most embeds don't work without allow-same-origin.
Overall, having a separate endpoint seems to be the best option.

Implemented in multiple PRs


default variable

hey folks, another one. Not sure if that's expected (I'm just testing ansistrano), but
ansistrano_deploy_via: "git"
does not get picked up unless you write it in deploy.yml.
I understand that this variable should be changed in main.yml instead, right?
I'm writing a short tutorial to make that work under Drupal, any help, tip, advice would be very welcome.
Thanks.

I'm not sure about the problem. Default strategy is Rsync. If you need a different one, you have to specified in the vars section of your deployment playbook that will include ansistrano.

Yeah, I'm trying git, but it does not pick up the variable, it uses the
default, rsync in that case.
On Sat, 2 Apr 2016, 23:06 Carlos Buenosvinos<EMAIL_ADDRESS>wrote:

I'm not sure about the problem. Default strategy is Rsync. If you need a
different one, you have to specified in the vars section of your deployment
playbook that will include ansistrano.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ansistrano/deploy/issues/110#issuecomment-204809833

Please test with a stable tag, not master as we are changing a lot of things at the moment :)
Can you please paste your playbook? Lots of users are using this variable with no issue, very weird

I'll have a go from the office tomorrow morning, but I think I changed to
the latest stable tag as master seemed broken (see the other issue I
opened).
Thanks
On Sun, 3 Apr 2016 16:28 Ricard Clau<EMAIL_ADDRESS>wrote:

Please test with a stable tag, not master as we are changing a lot of
things at the moment :)
Can you please paste your playbook? Lots of users are using this variable
with no issue, very weird
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ansistrano/deploy/issues/110#issuecomment-204995446

right, I didn't understood completely 100% the docs. The variables must be written in the same deploy.yml.
Thanks.

Glad you fixed it. Thanks


docs: mention that mutate can no longer be called in event listener directly

#462
I think it would be nice to put it in the docs as it took me some time to figure out this sudden change.

:tada: This PR is included in version 1.3.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Proxy the API doesn't accept self signed certificate

Describe the bug
I try to proxy the API request to BURP in order to debug and replay quickly some request but the datadog api client doesn't accept self signed certificate. Is there a workaround ?
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 701, in urlopen
    self._prepare_proxy(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 997, in _prepare_proxy
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 449, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 493, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/usr/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bonclay/sigma/lucca-scripts/synchro-datadog.py", line 31, in <module>
    response = api_instance.list_security_monitoring_rules()
  File "/usr/local/lib/python3.10/dist-packages/datadog_api_client/v2/api/security_monitoring_api.py", line 658, in list_security_monitoring_rules
    return self._list_security_monitoring_rules_endpoint.call_with_http_info(**kwargs)
  File "/usr/local/lib/python3.10/dist-packages/datadog_api_client/api_client.py", line 712, in call_with_http_info
    return self.api_client.call_api(
  File "/usr/local/lib/python3.10/dist-packages/datadog_api_client/api_client.py", line 326, in call_api
    return self._call_api(
  File "/usr/local/lib/python3.10/dist-packages/datadog_api_client/api_client.py", line 99, in _call_api
    response = self.rest_client.request(
  File "/usr/local/lib/python3.10/dist-packages/datadog_api_client/rest.py", line 195, in request
    r = self.pool_manager.request(
  File "/usr/lib/python3/dist-packages/urllib3/request.py", line 74, in request
    return self.request_encode_url(
  File "/usr/lib/python3/dist-packages/urllib3/request.py", line 96, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 533, in urlopen
    return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw)
  File "/usr/lib/python3/dist-packages/urllib3/poolmanager.py", line 376, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 814, in urlopen
    return self.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 814, in urlopen
    return self.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 814, in urlopen
    return self.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 786, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.datadoghq.com', port=443): Max retries exceeded with url: /api/v2/security_monitoring/rules (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:997)')))

To Reproduce
configuration.proxy = "http://<IP_ADDRESS>:8080"
Expected behavior
A parameter to accept self signed certificate

Oups found the solution configuration.verify_ssl = False


[SMALLFIX] Reenable FileSystemContractSeekIntegrationTest

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9715/
Test PASSed.

LGTM, thanks for the fix!


Zip entry offsets

The core logic of reading the zip streaming is changed:

Start reading the archive stream (entry by entry)
Get the data offset of the entry (apache compress supports it out of the box)
Read the stream until -1 is returned, this means the entry is read
Zip input stream from apache compress stores the "compressed" entry size so the end index of the entry is data offset + compressed size (there is a method) -> it is only calculated correctly when the zip stream has returned -1 (the zip entry is read). It gets the compressed size from the internal inflater.
Store information about the compression method of the entry
If the entry's compression method is 8 this means it must be inflated (it is DEFLATED), so for this type of entries create a new Inflater(true) ->true means no wrap (it will inflate from the exact indexes of the entry). If the entry's compression method is 0 this means it is STORED, in this case just read the bytes and store them (you have the entry)
Now you have stored the data offset and the end offset for each entry. When you need a specific entry, just pass the start and end index to clouds, and it will return the stream only for this entry, which again should STORED / INFLATED depending on the compression method

Coverage is lower because of the backwards compatibility logic and SQL providers that only throws exceptions


Here's my config (using lazy.nvim):
  {
    'Tsuzat/NeoSolarized.nvim',
    lazy = false,
    priority = 1000,
    style = 'dark',
    transparent = true,
    enable_italics = false,
    config = function()
      vim.cmd [[ colorscheme NeoSolarized ]]
    end,
  },

It would have been better if you could have provided some screenshots. Anyways, The style and transparent is working because these are default options and the way you have tried to configure them, does not make any effect. You actually need to call setup,
try using
{
  "Tsuzat/NeoSolarized.nvim",
    lazy = false, -- make sure we load this during startup if it is your main colorscheme
    priority = 1000, -- make sure to load this before all the other start plugins
    config = function()
      local ok_status, NeoSolarized = pcall(require, "NeoSolarized")

      if not ok_status then
        return
      end

      -- Default Setting for NeoSolarized

      NeoSolarized.setup {
        style = "dark", -- "dark" or "light"
        transparent = true, -- true/false; Enable this to disable setting the background color
        terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim
        enable_italics = true, -- Italics for different hightlight groups (eg. Statement, Condition, Comment, Include, etc.)
        styles = {
          -- Style to be applied to different syntax groups
          comments = { italic = true },
          keywords = { italic = true },
          functions = { bold = true },
          variables = {},
          string = { italic = true },
          underline = true, -- true/false; for global underline
          undercurl = true, -- true/false; for global undercurl
        },
        -- Add specific hightlight groups
        on_highlights = function(highlights, colors)
          -- highlights.Include.fg = colors.red -- Using `red` foreground for Includes
        end,
      }
      -- Set colorscheme to NeoSolarized
      vim.cmd [[ colorscheme NeoSolarized ]]
    end
}

Change the config in setup as you please.

If you are not changing anything elese, but italics, you do not need to put everything in the setup.
In fact this should be fine,
{
  "Tsuzat/NeoSolarized.nvim",
    lazy = false, -- make sure we load this during startup if it is your main colorscheme
    priority = 1000, -- make sure to load this before all the other start plugins
    config = function()
      require("NeoSolarized").setup {
        enable_italics = false,
      }
      vim.cmd [[ colorscheme NeoSolarized ]]
    end
}

Yay no more italics! Thanks a lot :-)

Happy Coding :)


inline css

https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/?utm_source=lighthouse&utm_medium=lr
https://www.11ty.dev/docs/quicktips/inline-css/
https://ajenkins.me/post/pagespeed_with_eleventy/

Finding it difficult to inline CSS while using Sass, without having a separate pre-compile step using something like gulp, webpack, etc.
References:

https://www.11ty.dev/docs/languages/custom/
https://github.com/higby/eleventy-plugin-inline-sass/blob/main/eleventy.config.js
https://github.com/henrycatalinismith/11tysass/blob/trunk/11tysass.ts
https://github.com/gregives/Twelvety/blob/master/utils/shortcodes/stylesheet.js
https://github.com/postcss/postcss-nested
maybe use native CSS nesting with PostCSS?
https://github.com/clean-css/clean-css

My change from #115 only worked for the index page, not any sub-pages.


Opportunity to work with Array of Enums by passing numeric value

#626
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Missing test.


Nested  in  are not displayed in an indented outline format.

I have some raw HTML content coming from my CMS backend (this is an exception rather than the norm, and the allowed HTML is very strictly controlled on the backend). I am embedding this into a Svelte component by doing: {@html object.description}.
This has been working really well for me. However, when Svelte/Carbon renders it for a nested ordered list like this:

Movements:

GROUP 1

Prelude

Carol

Christmas Dance

GROUP 2

Ballad

Moto perpetuo

GROUP 3

Musette

Polka melancolique

Galop

It gets rendered like so:

The {@html} content is below the "Notes" heading.
How can I get a truly indented nested list as I would expect? (Please don't mind the
 being turned into square bullets—that's currently on purpose but may later change.)

This is because Carbon resets ul and ol styles and re-styles them with "bx--list--ordered" and "bx--list__item" classes.
Two solutions come to mind:

write a preprocessor that applies the expected Carbon classes to the ol and li markup
re-apply the Carbon styles to the markup

.ol:not(ol ol) {
  counter-reset: item;
}

Thanks @metonym!
Turns out the real reason the nested lists were showing up "flat" was due to the numerous padding: 0 rules.
When I wrote:
li > ol {
    padding: revert !important;
}

The nested list displayed the way I expected it to.


Feature to exclude specific bridges from being deleted

Description
In order to preserve access to MGMT interfaces, a user must be able to exclude specific bridges from being deleted when :keep_empty_bridge:  is set to false.
Use case
Preserving empty bridges on machines that need it for the MGMT interface.
Additional Context
Based on ticket # 36854

Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

Workaround for this use case is set to :keep_empty_bridge: to true


Background image does not show up

I want to draw on a canvas with some background.
What I do is the following:

Draw some points in a fig
convert fig to image with PIL and  use this as canvas background. See this function

Locally, it works fine:

But not on streamlit
https://share.streamlit.io/chraibi/jupedsim-dashboard/main/draw_lines.py
Any idea what might be wrong with my setup?

Yeah unfortunately a known issue on 0.9.0 I have yet to fix #70 :/ I'll have to look into it someday! I'll try tomorrow if I have a bit of time


Provide default values for more properties, such as java.version

I am using j2objc to translate a library that queries a number of Java system properties, mostly for diagnosis purposes. Many of those don't exist in jre_emul. I wonder if it makes sense to add at least those that are found in Android. I also wonder what the values should be.
The properties in question are like java.specification.version, java.vendor, java.version. The library I'm using assumes those values must exist (and therefore it never expects null). It's not hard to either add those properties during runtime by the Objective-C app that uses the library, or I can modify its source code. My proposal here is really more like to get out-of-the-box feature parity (with Android) from j2objc.
Here's a list of what Dalvik VM provides according to the Android API doc. I've also added the values provided by Oracle's JVM on OS X as well as those currently by j2objc.

Property
Android
JVM on OS X
jre_emul

file.separator
/
/
/

java.class.path
.
.
null

java.class.version
50.0
52.0
null

java.compiler
(empty string)
null
null

java.ext.dirs
(empty string)
(paths)
null

java.home
/system
/Library/Java/....
(pwd of the app)

java.io.tmpdir
/data/data/(app-id)/cache
(tmp path)
(tmp path)

java.library.path
/vendor/lib:/system/
(paths)
null

java.specification.name
Dalvik Core
Java Platform API Specification
null

java.specification.vendor
The Android
Oracle Corporation
null

java.specification.version
0.9
1.8
null

java.vendor
The Android Project
Oracle Corporation
null

java.vendor.url
http://www.android.com/
http://java.oracle.com/
null

java.version
0
1.8.0_45
null

java.vm.name
Dalvik
Java HotSpot(TM) 64-Bit Server VM
null

java.vm.specification.name
Dalvik
Java Virtual Machine Specification
null

java.vm.specification.vendor
The Android
Oracle Corporation
null

java.vm.specification.version
0.9
1.8
null

java.vm.vendor
The Android Project
Oracle Corporation
null

java.vm.version
2.1.0
25.45-b02
null

line.separator
\n
\n
\n

os.arch
i686
x86_64
null

os.name
Linux
Mac OS X
Mac OS X (*)

os.version
3.4.67+
10.10.4
null

path.separator
:
:
:

user.dir
/
/Users/(id)/...
(pwd of the app)

user.home
(empty string)
/Users/(id)/...
/Users/(id)/...

user.name
root
(user id)
(user id)

(*) Or iPhone or iPhone Simulator
There's also sun.arch.data.model which some Java programs use to tell if it's running on a 64-bit system. The property is null on Android.

Some of these are different by necessity. iOS has a strict app sandbox, so java.home and user.dir use its root since that's the root of anything potentially accessible. It looks like our user.dir is incorrect for OS X, though, and should be the same as user.home.
Most of the java.* settings don't make sense without a JVM, though we can provide empty strings or zeros. I suppose the java.vm.specification.* and java.vm.vendor can be "J2ObjC"; we're not an officially supported Google project the way Android is, and so shouldn't have "Google" in any of those strings.
Here's what I therefore propose adding, other suggestions are welcome:

Property
value

java.class.path
(empty string)

java.class.version
0

java.compiler
(empty string)

java.ext.dirs
(empty string)

java.library.path
(empty string)

java.specification.name
J2ObjC

java.specification.vendor
J2ObjC

java.specification.version
0

java.vendor
J2ObjC

java.vendor.url
http://j2objc.org/

java.version
0

java.vm.name
(empty string)

java.vm.specification.name
J2ObjC

java.vm.specification.vendor
J2ObjC

java.vm.specification.version
0

java.vm.vendor
J2ObjC

java.vm.version
0

os.arch
(utsname.sysname*)

os.version
(utsname.version*)

* Run "man 2 uname" to see utsname definition.

Thanks! For the property os.version, utsname.version reads:
Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64

That's on OS X 10.10.3, and iOS 8.3 gives similar result. utsname.release reads 14.3.0 on OS X 10.10.3 and 14.0.0 on iOS 8.3.
I wonder if it makes more sense to call [NSProcessInfo processInfo].operatingSystemVersion (and falls back to [UIDevice currentDevice].systemVersion on iOS or Gestalt() on OS X when operatingSystemVersion is not available) in this case?
As for os.arch, utsname.sysname returns Darwin, but should that use the hw.cputype and hw.cpusubtype from sysctl(3) and form strings like "x86_64" instead?

Have an easier solution for os.arch: invoke clang with -DJ2OBJC_BUILD_ARCH=$(CURRENT_ARCH), then set os.arch using that definition. That tells developers what architecture the code was compiled for, and they can use native syscalls to get what's actually running.


Cannot install on Windows

Hi. I'm trying to install pagefind in a windows computer (using the Lume plugin) but get this error:
Error: Failed to install either of [pagefind_extended, pagefind]. Most likely the platform windows-x64 is not yet a supported architecture.
Please open an issue at https://github.com/CloudCannon/pagefind and paste this error message in full.
If you believe this package should be compatible with your system,
you can try downloading a release binary directly from https://github.com/CloudCannon/pagefind/releases
    at resolveBinaryPath (file:///C:/Users/laura/AppData/Local/deno/npm/registry.npmjs.org/pagefind/1.0.4/lib/resolveBinary.js:28:11)
    at new PagefindService (file:///C:/Users/laura/AppData/Local/deno/npm/registry.npmjs.org/pagefind/1.0.4/lib/service.js:22:44)
    at launch (file:///C:/Users/laura/AppData/Local/deno/npm/registry.npmjs.org/pagefind/1.0.4/lib/index.js:15:29)
    at file:///C:/Users/laura/AppData/Local/deno/npm/registry.npmjs.org/pagefind/1.0.4/lib/index.js:50:5
    at new Promise (<anonymous>)
    at Module.createIndex (file:///C:/Users/laura/AppData/Local/deno/npm/registry.npmjs.org/pagefind/1.0.4/lib/index.js:44:40)
    at https://deno.land/x/lume@v2.0.0/plugins/pagefind.ts:135:40
    at Processors.run (https://deno.land/x/lume@v2.0.0/core/processors.ts:31:13)
    at eventLoopTick (ext:core/01_core.js:178:11)
    at async Site.#buildPages (https://deno.land/x/lume@v2.0.0/core/site.ts:638:5)

It's weird because the package exists: https://www.npmjs.com/package/@pagefind/windows-x64

👋 hey @oscarotero
Hmm, might need more details to dig in. Testing on Node 18 on Windows I'm not seeing any issues, both through npm i pagefind & the NodeJS API, as well as the npx pagefind wrapper flow.
Due to the way this is installed as an optionalDependency, this can happen if that install fails for whatever reason and NPM silently moves on. Or in this case, Deno could once again be causing an issue with optional / target architecture dependencies? I'll get Deno up and running on a Windows machine to test that...

I'll note yesterday's Deno release has the changelog item:

fix(npm): do not create symlink for non-system optional dep in node_modules directory (#21478)

Perhaps the system check that Deno is running isn't matching the dependency correctly, and is now being filtered out?

Hi Liam!
Thanks for the quick response (and sorry for my delay).
Okay, I'll check different Deno versions and will let you know.

Hi. Sorry for taking so long to answer. 🙏
Today I could test again pagefind with Deno on a Windows machine and works fine. Maybe it was a bug from Deno that was fixed in next versions, I don't know.
Anyway, it's fixed, so I can close this.
Thanks!


genabout.py input field about_file results in about_resource field in generated .ABOUT file

When running genabout.py, the mandatory field about_file field maps to about_resource field in the corresponding generated .ABOUT file instead of the about_file field.
Currently:
about_file --> about_resource
Expected:
about_file --> about_file
Used v1 of code on 2014-10-30

This really a documentation issue.  USAGE.rst updated to clarify what genabout.py will do if you do not use --mapping option, and what it will do if you use it.  Closing.


List GENERATED columns in SQL table schema

When I define a table where some columns are calculated from others using the GENERATED ALWAYS AS function (https://docs.delta.io/latest/delta-batch.html#-deltausegeneratedcolumns), I can't retrieve any reference to that in the table schema (DESCRIBE [table_name]), the generated columns appear to be as standard ones.
It would be great if the DESCRIBE function could add a section "Generated columns" reporting all the columns that are generated and their generating functions, similar to the existing "Partitioning" section.
This could help have a better and more complete introspection power for Delta tables.
Example:
CREATE TABLE test(
  timestamp_utc TIMESTAMP,
  timestamp_utc_date DATE GENERATED ALWAYS AS (DATE(timestamp_utc))
)
USING DELTA
PARTITIONED BY (timestamp_utc_date)
;

DESCRIBE test
;

Current result:
col_name	data_type	comment
timestamp_utc	timestamp
timestamp_utc_date	date

# Partitioning
Part 0	timestamp_utc_date

Expected result:
col_name	data_type	comment
timestamp_utc	timestamp
timestamp_utc_date	date

# Partitioning
Part 0	timestamp_utc_date

# Generated columns
timestamp_utc_date	DATE(timestamp_utc)

This is a great idea. Spark doesn't provide an interface for this though. We need to fork Spark's describe command in order to support this.

Would appreciate this change! It would save a lot of investigating to find out if someone else's table properly used generated columns for the timeseries data partitions.


Problem setting values with HTML

This issue I had before so it's not only the development branch.
HTML

    <input type="range" class="rangeslider" min="0" max="15" value="5" step="1" data-rangeslider>

JS code
Might be a little messy but when I uncomment what I have commented, it works. Now with the comments the slider function work but it does not get the slider values from the HTML. It says undefined.
My current solution is that I force the values to the JS. It works but it bloats the JS a little bit.
Maybe it's a bug, or maybe I just missed something.
document.addEventListener("DOMContentLoaded", function() {
	if( document.querySelector('.template-home') ) {
		var slider = document.querySelector('.slider');
		var max = document.querySelector('.rangeslider').getAttribute('max');
		var value = document.querySelector('.rangeslider').getAttribute('value');

		var slider_values = {};
		rangesliderJs.create(slider, {
			// callbacks
			/*min: 0,
			max: max,
			value: value,
			step: 1,*/
			onInit: function () {
				var json = get_array_from_data_json();
				var init_value = document.querySelector('.rangeslider').getAttribute('value');
				var init_price = json[init_value];

				document.querySelector('.rangeslider__handle').innerHTML = '
' + init_price + ' kr
';
			},
			onSlideStart: function (value, percent, position) {
			},
			onSlide: function (value, percent, position) {
				var json = get_array_from_data_json();
				document.querySelector('.value').innerHTML = json[value] + ' kr';
			},
			onSlideEnd: function (value, percent, position) {
				console.log( 'END' + value + " " + position);

				var json = get_array_from_data_json();
				slider_values['belopp'] = json[value];

				ajax_callback( slider_values );
			}
		});
	}
});

Thanks for reporting, will look into this soon.

@jenstornell - could you provide a jsfiddle  that shows what is not working?

Sure! Check the console when drag and release. In the fiddle the value is at most 100, but I have set max="15" in my input range html.
http://jsfiddle.net/fpLknbw9/4/
There are also javascript values commented out. If uncommenting them it works because that way I get the numbers myself by javascript, as a workaround. I would prefer by setting the values in the html.

Ok, this should be
var slider = document.querySelector('.rangeslider');
Heres the updated fiddle:
http://jsfiddle.net/fpLknbw9/5/

Ahh, so simple! Then I'm surprised it worked at all the other way.


docs: add working group details

This is an initial version, feel free to add you feedback.
There are some areas with _TBC_ as I am working in parallel with the teams initial composition, I can push the changes to this PR or in a separate PR if this one gets merged first.

This is ready for review (cc: @expressjs/express-tc)

I think that this can be merged with an additional approval 👍


Add graphml parser

What is the expected enhancement?
Graphml is an xml serialization format for representing graph files. You can refer to: http://graphml.graphdrawing.org/primer/graphml-primer.html and http://graphml.graphdrawing.org/ for details on the format. It's richer than what we currently provide for saving and loading graphs with the read/write edge list methods on PyGraph and PyDiGraph. We should add a new function to read (and eventually write, but this issue is only for reading) a graphml file into a retworkx graph object.
For reference networkx has support for graphml here: https://github.com/networkx/networkx/blob/main/networkx/readwrite/graphml.py

For reference when I've needed to do XML parsing in the past I've used the quick_xml crate: https://docs.rs/quick-xml/0.22.0/quick_xml/ for example https://github.com/mtreinish/junitxml2subunit uses quick_xml


docs: add a roadmap page pointing to SIP-53

For if/when SIP-53 passes!

@benceorlai FYI ^^^

Codecov Report

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

@@            Coverage Diff             @@
##           master   #11169      +/-   ##
==========================================
- Coverage   65.95%   59.95%   -6.00%
==========================================
  Files         828      392     -436
  Lines       39120    24544   -14576
  Branches     3687        0    -3687
==========================================
- Hits        25801    14716   -11085
+ Misses      13212     9828    -3384
+ Partials      107        0     -107

Flag
Coverage Δ

#cypress
?

#javascript
?

#python
59.95% <ø> (-1.40%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/examples/unicode_test_data.py
22.00% <0.00%> (-78.00%)
:arrow_down:

superset/databases/commands/create.py
31.91% <0.00%> (-59.58%)
:arrow_down:

superset/db_engine_specs/hive.py
53.90% <0.00%> (-30.08%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.32%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/api.py
81.38% <0.00%> (-7.98%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

... and 466 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 071c81f...0762d65. Read the comment docs.


Test failure: UseDefaultAddress_WhenNoServerAddressAndNoDirectConfiguration

This issue was made automatically. If there is a problem contact ryanbrandenburg.
This test failed with the following error:
Microsoft.AspNetCore.Server.HttpSys.HttpSysException : The process cannot access the file because it is being used by another process
   at Microsoft.AspNetCore.Server.HttpSys.UrlGroup.RegisterPrefix(String uriPrefix, Int32 contextId) in /_/src/Microsoft.AspNetCore.Server.HttpSys/NativeInterop/UrlGroup.cs:line 90
   at Microsoft.AspNetCore.Server.HttpSys.UrlPrefixCollection.RegisterAllPrefixes(UrlGroup urlGroup) in /_/src/Microsoft.AspNetCore.Server.HttpSys/UrlPrefixCollection.cs:line 141
   at Microsoft.AspNetCore.Server.HttpSys.HttpSysListener.Start() in /_/src/Microsoft.AspNetCore.Server.HttpSys/HttpSysListener.cs:line 157
   at Microsoft.AspNetCore.Server.HttpSys.MessagePump.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken) in /_/src/Microsoft.AspNetCore.Server.HttpSys/MessagePump.cs:line 132
   at Microsoft.AspNetCore.Server.HttpSys.MessagePumpTests.UseDefaultAddress_WhenNoServerAddressAndNoDirectConfiguration() in /_/test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/MessagePumpTests.cs:line 115

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
This test failed on 2.2.
CC Eilon

This comment was made automatically. If there is a problem contact ryanbrandenburg.
Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

Is there any logging or extra information that we could add to make this more diagnosable when it happens again?

Yes?

[ ] Add the logging (TODO: Link to PR/commit)

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 10:13:55 PM:

UseDefaultAddress_WhenNoServerAddressAndNoDirectConfiguration

@Tratcher can you take a look?

I blame SignalR. @BrennanConroy why are those tests all using 5000?

So assign this to @BrennanConroy 5000 times? 😄


Fix up and Add new images and components for LearnPage

https://olas-website-ishi4iw8g-autonolas.vercel.app/learn

Re-add 'what's an autonomous service" image

Fix index of education articles

Adds pages for education articles

Add Learn to Resources menu

Adds What could you build links

deletes mission

replaces all Autonolas with Olas

regarding the table of contents, the width is full screen, would probably look better uniform with the rest of the page

why build on olas section appears to be missing styling


Migrated to mongosh and support mongodb versions 4.4+ only

This is a breaking PR:

Migrated to mongodb-mongosh as the client binary, discontinuing support for mongo.
Added support for MongoDB version 7.0.x on Debian systems.
Removed journal.enabled option for MongoDB versions prior to 6.1, following MongoDB's documentation here.
Tested on RHEL 8 and Ubuntu 22.04 with MongoDB versions 6.0.x and 7.0.x."

duplicate of https://github.com/voxpupuli/puppet-mongodb/pull/703  closing this one


Make better use of the intro text on the contribution page

@alexandermendes a simple solution for documenting which text is updated where could be to annotate screenshots with the underlying location of different bits of text

I wonder if this is something for our wiki.
Basically, configuration options for the site as a whole are here: https://libcrowds.gitbooks.io/vue-pybossa-frontend/content/configuration.html (I think the one we're talking about there is the About page text, I guess we should also add one for the 'Contribute' page text).
Configuration options for projects are here: https://github.com/LibCrowds/project-playbills

The README.md is out of date, btw!

Ok, which one? The docs generally do need a bit of work but they are getting there (slowly)!

https://github.com/LibCrowds/project-playbills/tree/master/config - references tutorials rather than help folder.

Ok thanks, updated. I might look at a different solution for editing help files if they're going to be changing a lot, but this works for now (even if it isn't a nice as a web interface)!

I wonder if we actually need to bother with any text at the top of the 'Browse Projects' page. Once people have navigated here and are presented with a list of projects and big green contribute buttons it should be pretty obvious what they need to do. If we look at some other projects, they just assume that people know how to deal with a list of projects:
https://transcription.si.edu/browse?filter=all
https://www.zooniverse.org/projects
http://menus.nypl.org/menus
http://ensemble.nypl.org/programs
Just a thought, but I am starting to think that more text everywhere isn't always the answer! In fact, it starts to get in the way at some point - short internet attention spans and all that. Might be nicer to just have a cleaner browse/sort interface - maybe changing the title to 'Browse Projects' is the only description we need...

Decision to make the text editable

@alexandermendes I can set aside some time to write text for this on Thursday - if there's nowhere to add it directly by then I can email it to you

Cool, thanks. I'll have a look at this one now.

So you can just add it here for now:
https://github.com/LibCrowds/libcrowds-frontend-settings/blob/master/playbills/contribute.md
Like with the about page, it will update each time the site is rebuilt (which happens when new branches are merged in). Eventually it would be nice to have it be editable via the interface but I don't think it's a priority right now when this does the job!


Empty file saved

Saves empty files:

tested urls:
http://google.com
https://google.com
osx64.zip v1.1

Could you try other site?

same here not working on Mojive 10.14  emtpy file saved.
has this project stopped?

We’ll have to update some dependencies to make it work on mojive.


Fix some typo in variable name, comments, log and properties messages

+1 for "occurred" and "overridden" but I wouldn't agree that "unRegister" (etc.) is better than "unregister"


Please provide way of waiting for background notification to complete

I was surprised to learn that the Notify() call does not return a Task I can wait for completion on, and instead triggers the notification on a hidden background thread which can be accidentally cancelled if the program exits early.
Why is this a problem? Firstly because we need to insert manual delays into tests to give bugsnag .net time to complete:
        [Test, Ignore("This sends a real bugsnag report. Only used for manual testing so we don't spam the server")]
        public async Task TestNotifyAsync()
        {
 // .. setup

            bugsnag.Notify(new Exception("BugSnagUnitTest"));

            // BugSnag notifications are done on a background thread, give it time to complete
            await Task.Delay(2000);
        }

Second problem is that sometimes we get errors on our CI:
[10:50:57.056] [FileSystem] Retrying delete directory
[10:50:57.056] [FileSystem] Failed to delete
Exception type: System.UnauthorizedAccessException, Exception message: Access to the path 'Bugsnag.dll' is denied., StackTrace:
   at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
   at CommunityInstaller.FileSystem.<Delete>d__2.MoveNext()

Possibly because of background tasks not completing in time.
Can we either get a Task returned or another method we can call to wait for the background uploads to complete?

Hi @mikeparker we do not have any plans to get notify() to return a task.
The DLL likely can't be deleted because the process which is using it hasn't terminated rather than because Bugsnag is still doing anything.


Add option to display description in output

It is apart of my workflow to basically re-write the description that is auto pulled in so that I can describe why I bookmarked something.
ex:

I do this sometimes when I do not have anything specific to highlight, but I want to remember something particular about a page as a whole.
Could you please give us the option in the plugin to show the description with each document that is pulled in? Please let me know if you have any questions

Similar to #23 - both mention displaying "description" field


ARC-50: Delegated Asset Opt Ins

A reference implementation can be seen here: https://github.com/joe-p/delegated_optin_arc/tree/main
This implementation will be added to the ARC repo and this ARC once it's reviewed and finalized.

Because of ARC59 (#285) I am withdrawing this ARC.


IDB intraday reload fix for default writedown mode, fixed row counts

The existing IDB implementation had 2 issues:

bug: default writedown method incorrectly created db path.
row counts were not updating
This change includes the fix for these 2.

IDB intraday reload fix, row counts fix


Layers tab Scroll bar

Hi, I start animating with piskel using multiple layer. the problem is, when the layers amount increase, Transform & palletes tabs are pulling down too. Perhaps adding scroll bar to layers tab might fix this problem.

Hi, I think this is a duplicate of #467
Will be fixed when 0.8.0 is released.

Hi, Oh, sorry about that. Thanks for answering my question.

no worries at all!
v0.8.0 has just been released, so feel free to test it and check if we were thinking about the same issue.

Hi! I just test it. There's issue with color tab now. It won't display if layer & color palletes are much.

Looks like this issue is specific to the offline version, might be linked to the chrome version embedded by the node-webkit build :/
Tried with a newer version and reuploaded here: https://dl.dropboxusercontent.com/u/17803671/piskel/standalone/mac/Piskel-0.8.0.dmg
Let me know if you can give it a try.

Sorry, but im not using OS X, Is there any windows version?

Ah sorry about that, will upload a new windows version as soon as I can !

Forgot to update the issue! Windows and Linux versions have been released @Willsm50 could you give them a shot?

Should be good, please reopen if needed.


LIBUSB_ERROR_NO_DEVICE during startup of Electron app on Windows

Hey there, we use libusb to detect attach/detach events of USB devices in our Electron app. We recently came across two users that reported the error below.
I'm not sure if this is caused by registering the event handlers, or if this caused by loading the module in the first place. Can anyone shed some light on this?
I found this issue https://github.com/node-usb/node-usb/issues/173 but it only refers to the exception while unplugging a device, which doesn't seem to be the case in our scenario.

I think it's a race. a while ago, we replaced the native hotplug patch with an emulation by periodically polling the output of getDeviceList() and taking differences:
https://github.com/node-usb/node-usb/blob/54c6e5dfc4cc990d278805b7ed6d32825b17479d/tsc/usb/index.ts#L60-L74
this deviceAddress isn't a property, it's a getter that calls libusb_get_device_address. it's possible for a device to appear in getDeviceList and go away just before calling libusb_get_device_address, therefore resulting in a NO_DEVICE error. we should handle that error correctly.

I came cross with the same problem,

Is this still occurring since v2.3.0?

Closing this issue due to inactivity, please create a new issue as required.


fix: typo in year, good or bad, we're now in 2022

Takes me a month to stop using the prior year when writing dates :)

I still find myself saying 2021 here and there today - time is a wierd thing indoors X_X


fix: show whole review on preview

Closes https://github.com/UserOfficeProject/issue-tracker/issues/1279
In the meetings they would like to be able to see the whole review when looking at the FAP reviews

Is this so urgent it needs to be hotfixed?


bad transient current

remove node_charge_model in simple_physics  to fix issue detected by user

see https://forum.devsim.org/t/problem-with-circuit-elements-and-reverse-biased-pn-diode/218


fix: npt atSign handling

- What I did

Fixes #1331
ensure npt rejects malformed atSign args

- How I did it

added atSign parameter checking to NptParams constructor
Note: did not modify SshnpParams nor the shared superclass ClientParamsBase because of the complication of --list-devices which should allow blank daemon and relay atSigns

- How to verify it
Tests pass

Enforcing lowercase is a breaking change.

Yes this is technically a breaking change re the noports programs - however, atSigns may only ever include lowercase, so this should never break anyone's installation. Nevertheless I'll remove the strict validation and just do the coercion to lowercase silently.


[#155431687] Support Redis CLI

What
I added support for Redis CLI.
Additional changes:

support for redis-cli (we add extra args to the redis-cli command to set host, port and password)
if the redis service is using TLS and the redis-cli program is used we start a TLS tunnel so a non-TLS enabled client, like redis-cli can connect
big refactor, all logic from the command was moved to a separate package and struct
several structs were moved to separate packages (out from main)
the credentials structure was changed to map[string]interface{} instead of a fix structure
all VCAP_SERVICES fields will be automatically updated with the local address

Bonus:

we check if a known application has a matching service type passed (so you get an error if you try to connect to a Postgres db with the mysql client), fixes https://github.com/alphagov/paas-cf-conduit/issues/32

❗ Before merging bump the minor version in https://github.com/alphagov/paas-cf-conduit/blob/fbcbbf65c51c9945ce2b82d41735df3a818824e9/plugin.go#L65
How to review

Create a service instance for all service types

cf create-service mysql Free mysql-test
cf create-service postgres Free postgres-test
cf create-service redis tiny-unclustered redis-test

Connect to all services with all known clients

cf conduit mysql-test -- mysql
cf conduit mysql-test -- mysqldump

cf conduit postgres-test -- psql
cf conduit postgres-test -- pgdump

cf conduit redis-test -- redis-cli
cf conduit redis-test -- redis-cli set foo bar

Check if connecting to the wrong service throws an error

cf conduit redis-test -- mysql

Check if all environment variables are properly set (all connection params should be updated with localhost and local port in VCAP_SERVICES)

cf conduit mysql-test -- env
cf conduit postgres-test -- env
cf conduit redis-test -- env

Who can review
Not me.

@samcrang could you please run the command in verbose mode and paste the result?
cf conduit redis-test --verbose -- redis-cli

@bandesz helped me out and it was my fault 😬


WFLY-5322 Singleton deployments should not attempt to restart a DeploymentUnitPhaseService.

https://issues.jboss.org/browse/WFLY-5322
This PR removes the need to restart any DeploymentUnitPhaseServices, which has proven problematic.
@n1hility This solves the problem I had previously attempted to fix with https://github.com/wildfly/wildfly-core/pull/1052

Can you explain what InstallationService is doing? It looks like you are avoiding restart by removing then re-adding the underlying phase service, however the way the underlying phase service is coded this will still hit the restart check (as it just checks for start() being called twice)

Ah - you're right.  I see from the log that full deployment restart is indeed being triggered.  The full restart actually necessary anymore (due to the InstallationService indirection) - but let me re-enable Attachments.ALLOW_PHASE_RESTART for now.  I'll submit a subsequent PR to wildfly-core that properly resets the runonce flag on service removal.  Once that is merged, we can omit Attachments.ALLOW_PHASE_RESTART for singleton deployments entirely.

For some reason the PR is not showing this comment from @pferraro :

Ah - you're right. I see from the log that full deployment restart is indeed being triggered. The full restart actually necessary anymore (due to the InstallationService indirection) - but let me re-enable Attachments.ALLOW_PHASE_RESTART for now. I'll submit a subsequent PR to wildfly-core that properly resets the runonce flag on service removal. Once that is merged, we can omit Attachments.ALLOW_PHASE_RESTART for singleton deployments entirely.

@n1hility I deleted because I realized, upon second thought, that it was rubbish.

I think all you might need to do is remove the
unit.putAttachment(Attachments.ALLOW_PHASE_RESTART, Boolean.TRUE);
this will mean that the deployment will restart as expected, if this is a singleton that is not supposed to be up the restart will stop at the usual place.

@stuartwdouglas I was thinking that too.
This is still not ideal though. Triggering a restart of the whole deployment unit service will trigger a restart of the singleton service that wraps the service for the FIRST_MODULE_USE phase for the newly elected master node.  Because clustering services start on demand, the bouncing of the deployment can cause the node's jgroups channel, on which the singleton service policy depends, to reconnect - triggering a new singleton election, where a different singleton master will be elected.  The reconnecting node will not be part of that election - but when it does will trigger yet another election, which it may or may not win.  You can see how this can quickly get messy.

Maybe we should address this by providing a kind of persistent service target, that will survive restarts ,although still be removed on undeploy. You could install the singleton services in this service target so they don't bounce on restart. I have not really thought this through because it just occurred to me, but it seems like it could work?

I think the key thing we need is that the non-singleton portions of the DUP chain are restarted as a coarse entity. I think this amounts to having top-level mounting, singleton parsing, and singleton service installation being done before structure, configuration parsing, module, and install are done.  The work require for singleton processing and setup would be as minimal as possible and not necessary for deployment services to function. This would guarantee that a passive node can subsequently deploy after a failover has occured. This is already mostly the case it seems, since the singleton configuration has its own dedicated parsing logic.

The important bit is that conceptually singleton processing is distinct from the actual deployment that happens at runtime. It really just a coincidence that we need to read a descriptor in the zip, thats the only commonality between singleton process and deployment. So we need a strong line, otherwise odds are high that behavior will differ depending on whether the deployment is a singleton and I would expect lots of bug reports.

Is there such a thing as a singleton subdeployment? That would complicate the kind of architectural separation Jason describes.

@bstansberry Currently, singleton deployment descriptors are only valid for the root deployment.

Yeah I don't see how a singleton subdeployment could ever work. Subdeployments share contexts so you can't really restart them.

So - despite the concerns above - this is fine to merge, no?
Let's discuss the above at the F2F.

Sure


Android client showing "Invalid SSL certificate" with https server on non-standard port.

Android 14.0
App 2.14.0
Server 9.4.1
I'm running the server on port :444, the android client is telling me that I have an invalid cert (3 different android phones tested)
Chrome and Firefox* on the phones have no issue with the certificate, nor do those browsers on windows, linux or the respective desktop apps on those OSes.  If the android client is using a different CA from everything else, the port thing could be a red herring but it seems edge casey and the android app is the only thing I can find that is mad about the certificate.  Popup box tells me I'm at risk and allows no way to carry on regardless.
*firefox only tested on one phone.
Certificate issuer is ZeroSSL retrieved from Let's Encrypt.

Have you checked if your cert chain is complete? Maybe check ssllabs.com

ssllabs doesn't seem to like non-standard ports and points me to some paid service or at least something that wants to harvest my email addr.
www.sslshopper.com works with non-standard ports and seems fine with the caveat that there could be some browsers where I need an intermediate chain certificate.  That seems out of my pay grade and really a zerossl/letsencrypt issue.
Certainly the various desktop clients are happy as are chrome/firefox across the board.

Well the app also needs the intermediate chain to be set in order to get rid of the warning

So the app is using a different CA list than chrome and Firefox on Android?  I'm by no means an ssl expert or an android one for that matter but I thought the OS supplied the certificate management on android (settings->security and privacy->more security settings->view security certificates) so if one thing worked they all should, should they not?
The cert chain chrome shows on android is:  mysite -> zeroSSL ECC Domain Security Site CA -> USERTrust ECC Certification Authority.

Is not about a different CA, is about your SSL cert not being fully trusted as is missing a part. You should configure your webserver to serve the fullchain.pem instead of the cert.pem
I believe there are many results about how to do this with a quick web search or in the let's encrypt forums

Groovy cool, thank you.
Swapping the fullchain.cer for the [site].cer on the mattermost server and restarting MM has fixed me up.  I'm still kinda confused how this is unnecessary for the web browser connections and desktop clients to be content but not the android app but I can't argue with results.  Thank you again.


Panel-buttons are displayed for inappropriate kind of tab (Statistics)

Description
Panel-buttons are displayed for inappropriate kind of tab (Statistics) if the select-statement has been executed before update-statement.

use dvdrental database
use this code:

select *
from rental;

update rental
set staff_id = staff_id;

Please also check other kinds of tabs for this issue

https://github.com/user-attachments/assets/f567dd07-6e12-47cc-b557-089390336446
DBeaver Version
Enterprise Edition 24.2.2-202409192322
Operating System
Windows 10
Database and driver
PostgreSQL 16
PostgreSQL JDBC Driver 42.7.4
Steps to reproduce
No response
Additional context
No response

Yes, these panels are not working for Statistics tab. We shouldn't show them for this tab.


vim glitches out when scrolling up if already at top

Can't reproduce. Would it be possible for you to record a screencast?

Thank you.

I'm not sure the circumstances but I've had it happen much more noticeably as well, idk if it's the same bug or not.

Fixed.


Trim screenshots

Based on discussion in https://github.com/probot/probot.github.io/pull/57#issuecomment-332008375, this uses imagemagick to trim the whitespace around screenshots so they have consistent margins.

[ ] automatically run trim on CI?
[ ] document adding screenshots to assets/screenshots/APP-NAME
[ ] Remove need for screenshot metadata in yml and automatically show any images in the screenshots folder for the app?

Skipping this for now.


Replace column number with virtual column number

I think the column number should indicate the position of the column of the cursor that human sees but not the number of the characters between the cursor and the start of the line by default.
If one uses tab for indentation, column number is important for tipping if the line is longer than the limitation of code conventions.
Refer to #305.

should be safe to merge, hopefully no one relied on the existing behavior.


REST service to update an existing Rasa rule

AS AN Architect
I WANT to have a REST service to update an existing Rasa rule
SO THAT there wouldn't be duplicate services for it
Acceptance Criteria

[ ] Use POST service /rasa/rules/update
[ ] Apply changes on Rasa rules.yml
[ ] Changes apply only in case #113 responds with HTTP 200
[ ] When updating a rule, use #111 to re-write an existing slot with new content

sample input for /rasa/rules/update
{
  "rule": "tervitused",
  "steps": [
    {
      "intent": "greeing_ee"
    },
    {
      "intent": "greeing_en"
    },
    {
      "action": "utter_laters"
    }
  ]
}

@RaulAltmae please link this issue with an appropriate pull request.

Pull request https://github.com/buerokratt/Training-Module/pull/157

Short summary: Can not edit any of the rules in the list. When clicking on the edit button, it takes to an empty page.
Real result: user is taken to an empty page
Expected result: User can edit the selected rule
How to reproduce: After logging in, go to https://admin.dev.buerokratt.ee/training/training/stories and select rules. Then try to edit any of the rules.
Pic:


Very dark ring

Hi, recently I've come across a case where the ring is very dark (letters cannot be found). It happens only on 7s phones. See screenshot below.

Someone has any idea of what can be?

I can not debug iOS 7 as it is not supported by Xcode anymore. Maybe someone else has an idea.

Sorry, my mistake. This a is an iPhone 7 running on iOS 10.2.

self.hudVibrancyView.effect = [UIVibrancyEffect effectForBlurEffect:blurEffect];
commenting it resolve problem on 8 iOS.

Hi @hychen1024, thanks for commenting. You were experiencing a very similar issue to this?

Yes it this the vibrancy, which will be removed in a future update.


coprocessor/dag/expr: add some un-pushed builtin UDF(Left)

What have you changed? (mandatory)
implement builtin function: Left  in coprocessor.
This is for #3275
What are the type of the changes? (mandatory)
Improvement
How has this PR been tested? (mandatory)
unittest
Does this PR affect documentation (docs/docs-cn) update? (mandatory)
Does this PR affect tidb-ansible update? (mandatory)
Refer to a related PR or issue link (optional)
#3275
Benchmark result if necessary (optional)
Add a few positive/negative examples (optional)

@siddontang conflicts resolved. PTAL :)

LGTM.


termstatus: Use io.WriteString to output messages.

The previous implementation was repeating the implementation that is
found inside of io.WriteString. Simplify by making use of the stdlib's
implementation.

What is the purpose of this change? What does it change?
Basic code code cleanup. Use stdlib functions over code duplication.
Was the change discussed in an issue or in the forum before?
No. Was starting to read through the code, and noticed the opportunity for improvement.
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[x] I have added tests for all changes in this PR

No functional change - shouldn't require additional tests.

[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

Looks like test failure is a flake.


1.21 Weapon Bug

Could you maybe describe the bug?

List: Musket, Pistol, Blunderbuss, Hand Mortar, Crossbow can block Skeleton attacks when reloading.

Okay, thanks! I will close this as a duplicate of #32 then


213/improveErrorReporting

As a part of #213 , I have focused to improve user experience by providing more details on error messages and fixing inconsistent behavior. Also I've focused on individual download path only to make sure that PR is small and focused. Following are the changes:

The given issue described has been resolved by handling the exception when permission is denied to download a YouTube video. The user is informed with the error message: "You do not have access to download the video, permission is denied."
It is very common that when downloading a file from non YouTube link, the file may not exist. So I'm handling file not found exception explicitly to let the user know with the error message: "An error occurred! Requested file does not exist, please check the file name and the extension."
Suppress other messages when an error occurs so the last message printed is the error and the user knows what/how to act upon. This is the reason I’m returning as soon as an error occurs in start() of drifty.java instead of proceeding to the next stage and polluting console with irrelevant messages.
For CLI path, the code block prompts the user to rename fileName (to be downloaded from a url which is not a YouTube link) or use the YouTube video title as the fileName. There’s an inconsistency in the question asked as shown below:
a. Rename File prompt: "Would you like to rename this file? (Enter Y for yes and N for no) :"
b. Rename YouTube video: "Do you like to use the video title as the filename? (Enter Y for yes and N for no):"
Renaming file prompt is asking user if they’d like to rename it while the other prompt is asking the user if they’d like to keep the name unchanged. From my personal experience, after experiencing renaming file prompt flow a couple of times, I was expecting similar behavior for YouTube video renaming prompt. That is, would you like to rename it instead of asking me would you like to keep the name as it is. So with a simple prompt (question) change, I’ve tried to fix the inconsistent question (hence the change in Drifty_CLI.java file).
Lastly, there was a bug in CLI file download path where if the user didn’t enter fileName and/or the extension, the program is devised to prompt the user to enter fileName with the extension. Although using SC.nextLine was causing the program to proceed without waiting for the user to respond to the "enter fileName" prompt. Hence the change in line#146 of Drifty_CLI.java.

So overall, I’ve focused to improve the user experience by providing detailed error message and fixing inconsistent flow. As a part of testing, I've tested the following scenarios with both CLI and GUI but in future, would like to have test files included as a part of the codebase.

Test incorrect URL with incorrect domain name, missing fileName or the extension, missing protocol, etc (non-youtube link).
Test with correct URL and having an actual file to download (non-youtube link).
Test with YouTube link with insufficient permission to download a video file.
Test with a YouTube link with having an access to download a video.

@rohanshah18 Thank you for opening this PR. I am currently out of station. Hence, I shall be reviewing this on 1st July.
I have approved and started the build workflow to build the project with your changes.

@SaptarshiSarkar12 Thanks! Also I noticed that the workflow you started "package-Drifty-for-windows" is failing since the head is detached and no branch is checked out before running. Here's the error:
"You are not currently on a branch.
(https://github.com/SaptarshiSarkar12/Drifty/actions/runs/5306988589/jobs/9611477038?pr=214#step:4:18)
Please specify which branch you want to merge with."

@SaptarshiSarkar12 Thanks! Also I noticed that the workflow you started "package-Drifty-for-windows" is failing since the head is detached and no branch is checked out before running. Here's the error: "You are not currently on a branch. (https://github.com/SaptarshiSarkar12/Drifty/actions/runs/5306988589/jobs/9611477038?pr=214#step:4:18) Please specify which branch you want to merge with."

@rohanshah18 Yeah, I have seen it. I am trying to fix it. Let me know if you have any solution to this issue.

@rohanshah18 I have tried many times fixing it. But, it unfortunately did not work. Let me know if you can provide me a solution to this issue.

Can you please delete the 9 commits and try to merge my changes into master instead? In the workflow file, please try to add the following after line# 34 (i.e. before git pull):
- name: Fetch latest changes
run: git fetch
- name: Checkout master branch
run: git checkout master

@SaptarshiSarkar12 can you please delete the last 9 commits (of merging master into my branch) and instead try to merge my changes into master? In the workflow file, please try to add the following after line# 34 (i.e. before git pull): - name: Fetch latest changes run: git fetch - name: Checkout master branch run: git checkout master

@rohanshah18 I need to review this before your changes can be merged into the master branch.
I have tried adding the changes you told to add in the workflow file, but the build files does not get pushed to your branch on your repo. I shall try again. Also, these changes fails to push the changes in themy original repo, which was not expected. Can you think of a solution for this @rohanshah18 ?

Let me review the workflow and get back to you.

Let me review the workflow and get back to you.

Ok 👍 @rohanshah18

@rohanshah18 I have found a better alternative to pushing the build files to the repository. I have used upload-artifact action to upload the build files as build artifact. I think it's far better. What do you think?

@rohanshah18 please make the requested changes, then I can approve this PR.

@SaptarshiSarkar12 Sure I’ll update it by weekend.

@SaptarshiSarkar12 Sure I’ll update it by weekend.

Ok, that's great 👍

@SaptarshiSarkar12 if you merge, would you please merge by combining all commits into 1 commit only?

@SaptarshiSarkar12 if you merge, would you please merge by combining all commits into 1 commit only?

Yes, I shall. @rohanshah18


Smoke test failure: verifies that "hot exit" works for dirty files

  1) VSCode Smoke Tests (Electron)
       Data Loss (insiders -> insiders)
         verifies that "hot exit" works for dirty files (with delay):
     electron.launch: Browser closed.
==================== Browser output: ====================
<launching> /mnt/vss/_work/1/VSCode-linux-x64/code-insiders --inspect=0 --remote-debugging-port=0 /tmp/vscsmoke/vscode-smoketest-express --skip-release-notes --skip-welcome --disable-telemetry --no-cached-data --disable-updates --disable-keytar --crash-reporter-directory=/mnt/vss/_work/1/s/.build/crashes/smoke-tests-electron/4_suite_test_verifies_that_hot_exit_works_for_dirty_files_with_delay --disable-workspace-trust --extensions-dir=/tmp/vscsmoke/extensions-dir --user-data-dir=/tmp/vscsmoke/d-fypzz8ny --logsPath=/mnt/vss/_work/1/s/.build/logs/smoke-tests-electron/4_suite_test_verifies_that_hot_exit_works_for_dirty_files_with_delay --disable-dev-shm-usage --enable-smoke-test-driver
<launched> pid=158611
[pid=158611][err] Debugger listening on ws://<IP_ADDRESS>:34885/56639b89-3ddf-49f8-a872-d33695831100
[pid=158611][err] For help, see: https://nodejs.org/en/docs/inspector
[pid=158611][err] Debugger attached.
[pid=158611][out] Found --crash-reporter-directory argument. Setting crashDumps directory to be '/mnt/vss/_work/1/s/.build/crashes/smoke-tests-electron/4_suite_test_verifies_that_hot_exit_works_for_dirty_files_with_delay'
[pid=158611][err]
[pid=158611][err] DevTools listening on ws://<IP_ADDRESS>:36971/devtools/browser/c3c8f51e-cc94-4fb3-9ccb-c6cf2a28b3e9
[pid=158611][err] [158645:0905/154009.199811:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
      at measureAndLog (/mnt/vss/_work/1/s/test/automation/src/logger.ts:52:9)
      at launchElectron (/mnt/vss/_work/1/s/test/automation/src/playwrightElectron.ts:32:19)
      at launch (/mnt/vss/_work/1/s/test/automation/src/playwrightElectron.ts:20:38)
      at measureAndLog (/mnt/vss/_work/1/s/test/automation/src/logger.ts:52:9)
      at launch (/mnt/vss/_work/1/s/test/automation/src/code.ts:85:39)
      at Application.startApplication (/mnt/vss/_work/1/s/test/automation/src/application.ts:107:29)
      at Application._start (/mnt/vss/_work/1/s/test/automation/src/application.ts:82:16)
      at /mnt/vss/_work/1/s/test/automation/src/application.ts:74:4
      at measureAndLog (/mnt/vss/_work/1/s/test/automation/src/logger.ts:52:9)
      at Application.restart (/mnt/vss/_work/1/s/test/automation/src/application.ts:72:3)
      at Context.testHotExit (src/areas/workbench/data-loss.test.ts:120:4)

Build: https://dev.azure.com/monacotools/a6d41577-0fa3-498e-af22-257312ff0545/_build/results?buildId=230497
Changes: https://github.com/Microsoft/vscode/compare/a3d328a...d697093

@deepak1556 does the error ring a bell?
[158645:0905/154009.199811:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization

Should we be running with disable-gpu?
Besides, many crash dumps again, such as:
crash-dump-linux-x64-smoke-1.zip

Crashes are tracked in https://github.com/microsoft/vscode/issues/192175
As for GPU initialization failure, it could be due to various reasons depending on the hardware. Need additional logging to identify the cause --enable-gpu-debugging. I would suggest to disable gpu, since it is not worth addressing them for CI.


Chapter as first tab in episode page below player if chapter is present

A/B test to see if it increase watchtime for users?

v5.0.5
chapters-first-tab in unleash
Also improved the styling a little


add last_permanent_messages

surfaces messages from threads with only one message

@liyicky good find! will need to bump version or similar to get our prod app pointing to this code i think


Rollback to genesis uses empty block hash

It seems that when rollback to genesis(?), I get a rollback event
EventData::RollBack {
    block_slot,
    block_hash,
}

where block_slot is 0 and block_hash is empty string
This doesn't look right given that the genesis block has no slot number and should have a block hash.
More concretely, I got this by setting the starting point for Oura sync to be f0f7892b5c333cffc4b3c4344de48af4cc63f55e44936196f365a9ef2244134f (the first block after genesis)

thanks for reporting!
I can't reproduce with that particular hash, I get a valid rollback event when pointing Oura using the watch command:
oura watch relays-new.cardano-mainnet.iohk.io:3001 --bearer tcp --since 0,f0f7892b5c333cffc4b3c4344de48af4cc63f55e44936196f365a9ef2244134f
Oura terminal output started, waiting for chain data
BLOCK:------- █ TX:-- █ RLLBCK { slot: 0, hash: f0f7892b5c333cffc4b3c4344de48af4cc63f55e44936196f365a9ef2244134f }
BLOCK:0000002 █ TX:-- █ BLOCK  { era: Byron, slot: 1, hash: 1dbc81e3196ba4ab9dcb07e1c37bb28ae1c289c0707061f28b567c2f48698d50, number: 2, body size: 667, tx_count: 0, issuer vkey: 50733161fdafb6c8cb6fae0e25bdf9555105b3678efb0...
BLOCK:0000002 █ TX:-- █ ENDBLK { slot: 1, hash: 1dbc81e3196ba4ab9dcb07e1c37bb28ae1c289c0707061f28b567c2f48698d50, number: 2 }
BLOCK:0000003 █ TX:-- █ BLOCK  { era: Byron, slot: 2, hash: 52b7912de176ab76c233d6e08ccdece53ac1863c08cc59d3c5dec8d924d9b536, number: 3, body size: 667, tx_count: 0, issuer vkey: 50733161fdafb6c8cb6fae0e25bdf9555105b3678efb0...
BLOCK:0000003 █ TX:-- █ ENDBLK { slot: 2, hash: 52b7912de176ab76c233d6e08ccdece53ac1863c08cc59d3c5dec8d924d9b536, number: 3 }
BLOCK:0000004 █ TX:-- █ BLOCK  { era: Byron, slot: 3, hash: be06c81f4ad34d98578b67840d8e65b2aeb148469b290f6b5235e41b75d38572, number: 4, body size: 667, tx_count: 0, issuer vkey: 26566e86fc6b9b177c8480e275b2b112b573f6d073f9d...
BLOCK:0000004 █ TX:-- █ ENDBLK { slot: 3, hash: be06c81f4ad34d98578b67840d8e65b2aeb148469b290f6b5235e41b75d38572, number: 4 }

but there is one scenario where the rollback returns empty data: when requesting a sync from genesis (aka: no intersect points).
In this case, the chainsync miniprotocol returns a rollback event with a CBOR point structure that represents "origin". This is the CDDL:
point = origin / blockHeaderHash
origin = []
blockHeaderHash = [ slotNo , int ]

Since crawling from origin was added after Oura v1, to avoid breaking compatibility at the event model level, we opted for sending a rollback event with empty data. The idea is to switch to a more suitable structure in v2.