[Bug]: Out of bounds timestamp for temporal averaging

What happened?
In trying to compute annual averages for data with non-cf-compliant time units I get an OutOfBoundsError.
What did you expect to happen?
I think this functionality should work with non-cf-compliant time.
Minimal Complete Verifiable Example
import xcdat

fn = '/p/user_pub/climate_work/pochedley1/cmip6_msu/ttt_Amon_ACCESS-ESM1-5_piControl_r1i1p1f1_gr_10101-100012.nc'
ds = xcdat.open_dataset(fn)
ds_yearly = ds.temporal.group_average('tf2', freq='year', weighted=True)

Relevant log output
.
.
.

File ~/code/xcdat/xcdat/temporal.py:1358, in TemporalAccessor._convert_df_to_dt(self, df)
   1351     dates = [
   1352         cftime.datetime(year, month, day, hour)
   1353         for year, month, day, hour in zip(
   1354             df_new.year, df_new.month, df_new.day, df_new.hour
   1355         )
   1356     ]
   1357 else:
-> 1358     dates = pd.to_datetime(df_new)
   1360 return np.array(dates)

.
.
.

ValueError: cannot assemble the datetimes: Out of bounds nanosecond timestamp: 1010-10-01 00:00:00

Anything else we need to know?
This issue does not occur with original data (with cf-compliant datetimes).
The condensed log above shows that this issue arises in the _convert_df_to_dt function when the dataframe is cast to datetime objects using pandas (because year_is_unused = False). year_is_unused is set to False because the mode is set to average and the _freq is not yearly. I don't totally understand why we use cftime for this step for some conditions, but use pandas for others.
Can we use cftime for all cases? I'm wondering if we started by using pandas and then used cftime for some conditions (e.g., see the documentation), but in reality we may be able to simply use cftime. @tomvothecoder – do you remember these details well enough to know?
If I remove the if year_is_unused conditional and re-run the code I don't get an error. But I fail a bunch of unit tests – I'm not sure if this is a unit issue or an actual problem.
Also note that it is possible that this issue affects other functions/functionality (but using cftime might resolve those potential issues).
Environment
main branch

Thanks for raising this issue @pochedls. I'll be able to take a closer look next week, but it looks like you're beating me to it.
Here's that method's docstring to explain when cftime or pd.to_datetime() is:
https://github.com/xCDAT/xcdat/blob/050d57edc591b78480c14ea0e581391b00fe23b1/xcdat/temporal.py#L1308-L1318
Basically, I didn't take into account a situation where you would compute averages for datasets outside the pd.Timestamp range.

Can we use cftime for all cases? I'm wondering if we started by using pandas and then used cftime for some conditions (e.g., see the documentation), but in reality we may be able to simply use cftime. @tomvothecoder – do you remember these details well enough to know?

Yes, I think using cftime is the safest thing to do here because it accommodates datasets outside the pd.Timestamp range.

If I remove the if year_is_unused conditional and re-run the code I don't get an error. But I fail a bunch of unit tests – I'm not sure if this is a unit issue or an actual problem.
Also note that it is possible that this issue affects other functions/functionality (but using cftime might resolve those potential issues).

Yes, the solution is to probably remove the year_is_unused conditional altogether and fix the tests (they probably expect datetime objects and not cftime). Also, we should derive the correct cftime object based on the calendar type, similar to decode_non_cf_time().


Maybe ~/.profile is where PATH modifications should go

@Diggsey had multirust-rs installing path modifications to ~/.profile and I changed it because ~/.profile is only read for login shells, and that seemed wrong since most shells are not login shells. I'm happy to change this to do the right thing, but I'd like to understand better why it's ok not to set the PATH for non-login shells.
Source.

As @Diggsey pointed out on IRC the main problem with ~/.profile is that it requires you to actually re-login to take effect, not just start a new shell.

but I'd like to understand better why it's ok not to set the PATH for non-login shells.

For example if a user launches application (IDE or Emacs, for example) via desktop environment and not via command line, then the PATH will be wrong.
Please note that not all desktop managers execute ~/.profile on startup. I think it is more like ~/.profile ^ ~/.xprofile get executed. I can not point to authoritative documentation on this issue, but this thread in nixos has some info https://github.com/NixOS/nixpkgs/issues/5200#issuecomment-65380460

For example if a user launches application (IDE or Emacs, for example) via desktop environment and not via command line, then the PATH will be wrong.

Ah, ok, that makes a lot of sense. So it's not just cli shells then that run ~/.profile, it's whichever program does the login.
So today if you do any development not under a shell the PATH is going to be misconfigured.
Putting this into ~/.profile again will make it so that you can't just start a new shell after install, but maybe that's ok. We already have instructions after install that say how to source the correct env.

Putting this into ~/.profile again will make it so that you can't just start a new shell after install, but maybe that's ok.

I think I've miscommunicated the part about ~/.xprofile. Depending on your login program, either .profile OR .xprofile will be executed. So putting this just in .profile will not work for some users.
I believe there is no single place where you can robustly do PATH manipulation. And of course there are users who have something like
export PATH="/bin:/usr/bin:/home/matklad_several_years_ago/bin"

in one of their dot files, which undoes all PATH manipulation.
PATH is a global mutable static, so accessing it is unsafe :(

The nature of environment variables on linux means we can't hope to get this to "just work" in all cases: .profile will cover the majority of cases, and the remainder will have to be handled by the user. We can only assist them by telling them which directory needs to be added to the PATH.

I think it is the best practice to have . ~/.profile inside ~/.xprofile assuming either one of them gets executed upon starting a console/GUI session.

I doubt ~/.xprofile will be read when running under a Wayland compositor or the Mir equivalent either.

In any case, please don't write useless files to my $HOME without asking. I don't have or use ~/.profile.

oh, there's already an issue for that https://github.com/rust-lang-nursery/multirust-rs/issues/170

@jrobeson FYI, X, Wayland and Mir are display servers while it is a display manager like GDM or LightDM which typically sources .xprofile for you and then launches a window manager like fluxbox, Ubuntu Unity or GNOME shell's Mutter. I just found a nice memo on which software shipped by which Linux distro is responsible for sourcing .xprofile:

https://gist.github.com/marbu/a09ed26c77704441eba3

i had no idea about xprofile, because I've never had any ~/.xprofile on any of my linux desktops for at least the past 8 years.


XN-1579 unify handle request

References

XN-1579
~depends on #707 and must be rebased after that is merged~

Summary
reduce code duplication:

add default trait impls for impl Handler for PhaseState
move process_during()/process_until_enough() related code from phase-dependent run() to a unified process() method (as a macro instead of a generic impl in preparation for the next refactoring step, see #715 for some reasoning)
add some metric! shortcuts and move calls from process_single() to Handler impl

In this way we don't have to keep the counters in the private state of sum / update and sum2 and we can also remove the increment_..., has_enough_... methods from the Handler trait. I see the point that by passing the MessageCounters object to the underlying methods, their method signatures suffer a bit but i think it's better than to bloat the Handler trait with the increment_..., has_enough_... methods because I think they don't really fit in there. wdyt?

avoiding this additional MessageCounter struct was one of the main reason to use macros, but i agree that macros are not nice to read by nature. the simplified Handler trait is a good argument. i'll update this pr accordingly such that we can compare the differences directly. this will also have some major implications on the follow up pr, especially on the impls of the changed Phase trait, but i'll wait to update those until we have decided on how to proceed here.


bug: Not close the sidebar dropdown

What version of daisyUI are you using?
3.6.1
Describe your issue
It is not possible to close the sidebar dropdown when clicked and even when it loses focus. I'm using Nuxt 3 in SPA mode.

  Contas

      <NuxtLink onclick="document.activeElement.blur()"
        >Pagar</NuxtLink
      >

      <NuxtLink onclick="document.activeElement.blur()"
        >Receber</NuxtLink
      >

What browsers are you seeing the problem on?
Edge
Reproduction URL
https://play.tailwindcss.com/hZauBl2l2n?size=672x720

From the docs:

Stays open until gets clicked again. Or you can close it using JS by removing the open attribute

Learn more about the HTML  tag:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
Let me know if you have any questions

No problem, thank you.
I switched to Preline, it already does that and stuff.

daisyUI dropdown can also get closed when losing focus.
There are 2 methods as explained on the docs: https://daisyui.com/components/dropdown/
You used  tag and HTML  tag works this way. It opens with first click and closes with second click.
You could use the second method which closes when losing focus:
https://daisyui.com/components/dropdown/#method-2-using-label-and-css-focus

@eagor You can use document.activeElement.blur() to programmatically close the dropdown since it's working with CSS focus

No problem, thank you.
I switched to Preline, it already does that and stuff.

just knowing that daisyui-alternative is exist.
i like that, but i'm still prefer daisyui because it doesn't require javascript much.

No problem, thank you.
I switched to Preline, it already does that and stuff.

just knowing that daisyui-alternative is exist.
i like that, but i'm still prefer daisyui because it doesn't require javascript much.

Yes, it is necessary, but it is up to the user.

No problem, thank you.
I switched to Preline, it already does that and stuff.

just knowing that daisyui-alternative is exist.
i like that, but i'm still prefer daisyui because it doesn't require javascript much.

Yes, it is necessary, but it is up to the user.

yup, i agree, user is the most important.


First version of vtctld webdriver test.

@enisoc
There are definitely still more test cases that could be added, but this should work as a baseline.  The test right now does the following:

Set up two keyspaces with different sharding and tablet counts.
Fetches the main vtctld page.
Ensures the main page displays all the keyspaces.
Ensures the main page displays a link to each shard for each keyspace.
Clicks each shard link, checks the tablet types.
Compares the master tablet to the master listed in the shard record.

We can add more test cases, like:

Check that tablet/shard/keyspace actions work.
Multi-cell test cases.

I updated some of the html templates to add some ids to make it easier for selenium to fetch.  You will need to do a 'sudo pip install selenium' as well but I'm not sure where to add this in documentation.

This change is

 once tests pass. Thanks for taking this on!

Reviewed 4 of 6 files at r1, 2 of 2 files at r2.
Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks broke.

bootstrap.sh, line 225 [r2] (raw file):

$selenium_dist/bin/pip install selenium
mkdir -p $VTROOT/dist/chromedriver
wget -N -q http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip

Can you use curl instead of wget? We already install curl in Docker images and guides. No need to add wget as a dependency too.

test/vtctld_web_test.py, line 89 [r2] (raw file):

      t.start_vttablet(wait_for_state=None,
                       extra_args=utils.vtctld.process_args())
    shard_0_replica.create_db('vt_test_keyspace')

Couldn't shard_0_replica be merged into the loop above?

test/vtctld_web_test.py, line 93 [r2] (raw file):

                                   wait_for_state=None)

    shard_0_master_ks2.create_db('vt_test_keyspace2')

Looks like this is the same as the loop below?

Comments from Reviewable

Review status: 4 of 6 files reviewed at latest revision, 3 unresolved discussions.

bootstrap.sh, line 225 [r2] (raw file):
Previously, enisoc (Anthony Yeh) wrote…
> Can you use `curl` instead of `wget`? We already install `curl` in Docker images and guides. No need to add wget as a dependency too.

Done.

test/vtctld_web_test.py, line 89 [r2] (raw file):
Previously, enisoc (Anthony Yeh) wrote…
> Couldn't `shard_0_replica` be merged into the loop above?

Done.  In general this was a shameless copy/paste job, looking at the code I think a lot of tablet initialization code across our tests can be simplified, I may look into this next quarter.

test/vtctld_web_test.py, line 93 [r2] (raw file):
Previously, enisoc (Anthony Yeh) wrote…
> Looks like this is the same as the loop below?

Done.

Comments from Reviewable

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

bootstrap.sh, line 225 [r3] (raw file):

$selenium_dist/bin/pip install selenium
mkdir -p $VTROOT/dist/chromedriver
curl http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip > chromedriver_linux64.zip -s

Recommend curl -sL to follow redirects as well.

Comments from Reviewable

Review status: 5 of 6 files reviewed at latest revision, 1 unresolved discussion.

bootstrap.sh, line 225 [r3] (raw file):
Previously, enisoc (Anthony Yeh) wrote…
> Recommend `curl -sL` to follow redirects as well.

Done.

Comments from Reviewable

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

Comments from Reviewable


docs(tracing): add tracing.md for byo jaeger

Signed-off-by: Sanya Kochhar<EMAIL_ADDRESS>
Description:

Affected area:

New Functionality      [ ]
Documentation          [x]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?
References language from https://www.jaegertracing.io/docs/1.21/#about

Resolves #2415


refactor: extract lambda configuration to separate module

#38  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MickVanDuijn and the rest of your teammates on  Graphite


[BUG] Mysql is not running after first provisioning

Here is a reference to the original issue: r8/vagrant-lamp#118
My test environment
I tested your cookboock in a vagrant ubuntu environment in which i used only the cookbooks mysql, apt and build-essential**
I created a repo for you with that you can easily reproduce the bug: https://github.com/ernsto/vagrant-cookbook-mysql-test
Here are some codesnippets of my test vagrant systems:
./Berksfile:
source "https://supermarket.getchef.com"
cookbook 'apt', '~> 2.6.1'
cookbook 'mysql', '~> 6.0.20'

./cookbooks/vagrant_main/recipes/default.rb
include_recipe "apt"
include_recipe "build-essential"
# Install Mysql
mysql_service 'default' do
  port '3306'
  version '5.5'
  initial_root_password 'vagrant'
  action [:create, :start]
end
mysql_config 'default' do
  source 'mysite.cnf.erb'
  notifies :restart, 'mysql_service[default]'
  action :create
end

./cookbooks/metadata.rb
depends          "apt"
depends          "build-essential"
depends          "mysql", "~> 6.0"

THE RESULT
`vagrant@vagrant:/vagrant/public/local.dev$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
vagrant@vagrant:/vagrant/public/local.dev$ sudo service mysql start
start: Job failed to start`

Looks like you're probably overriding the socket config in your mysite.cnf.erb.
Try omitting it and letting the resource handle it

Also, refer to the example cookbooks in test/fixtures/cookbooks

A mysite.cnf.erb does not exist. As you can see in the directory cookbooks/vagrant_main/templates/default of the repository mentioned above there is no such file. Could this be the reason for the bug?

I also get the same error.  So frustrating...

I also got the same error in a fresh clone and vagrant up.

You have to bring your own mysite.cnf.erb as a template source.
Please read the README.
Chef cookbooks do not use "Vagrant up" as a testing methodology. Please use
test-kitchen.
-s
On Wed, Sep 9, 2015 at 2:32 PM, Richard<EMAIL_ADDRESS>wrote:

I also got the same error in a fresh clone and vagrant up.
—
Reply to this email directly or view it on GitHub
https://github.com/chef-cookbooks/mysql/issues/325#issuecomment-138909758
.


Resource manager live tests investigation

It's unclear what the needs of the resource manager live tests are.
Currently, the vast majority of the track 2 libraries utilize the eng/pipelines/templates/jobs/archetype-sdk-tests.yml for running live tests. Typically, sitting alongside of the an sdk/'s ci.yml, which controls the CI/release pipeline, is the tests.yml (I've linked the keyvault one as an example) which is used by the live tests pipelines. We have things like dynamic resource provisioning (to eliminate static resources) and test parallelization which may be something mgmt can utilize.
It would be good to know the requirements but to be clear, I'm assuming getting live tests for resource manager will be one of the last items done as this will rely on other work items in the epic.

For now we run live test manually. It will be great if test execution time could be improved.


Not Compatible with Twilight forest?

back on 1.16.5 i used to have both this mod and twilight forest installed, but as i have upgraded to 1.18.2 it says they are not compatible?
When i die and respawn, the screen turn white after a seconds, i am forced to save and exit, then load the game up again to fix this (until i die next).
due to this i have had to remove this mod which has fixed the issue (my son prefers twilight forest).
is there a way you can make it compatible again? as i hate the loading screen on end/nether portals lol

They need to fix it, it's there issue. Nothing (I know of) to do on this end. Sorry.

Fristly, ImmPtl does not intentionally break anything of twilight forest. And ImmPtl is compatible with most Fabric dimension mods. So there is someting special with twilight forest. It's not an issue of only ImmPtl's side.
Last time I tested ImmPtl with twilight forest and the chunk data packets of the twilight forest dimension has deserialization error. I don't know what caused the packet deserialization error. I roughly checked twilight forest's mixins and asm scripts and did not see anyting related to chunk data packets. Maybe I missed something.
ImmPtl wraps some packets as redirected packet. The redirected packet contains the dimension id and packet type id and the packet being wrapped.

https://github.com/iPortalTeam/ImmersivePortalsMod/issues/1133

@TelepathicGrunt I already mentioned that this issue also exists in the forge version on the original fabric issue report, in hope they transfer the issue.
I'm going to create a new issue on their Forge Project.

@TelepathicGrunt @qouteall @firestorm2039
From now on, this will be tracked in #36, as that issue provides way more details.


Notification for simlayer?

It appears notification is not supported for simlayer -- I get the following error:
Property 'notification' does not exist on type 'SimlayerRuleBuilder'. ts (2339) [38, 36]

Here's the full code snippet, in case it's relevant:
  simlayer('d', 'navigation mode').notification('nav mode').manipulators([
    map('h').to('left_arrow'),
    map('l').to('right_arrow'),
    map('k').to('up_arrow'),
    map('j').to('down_arrow'),

    map('a').to('left_arrow', 'command'),
    map(';').to('right_arrow', 'command'),

    map('f').to('left_option'),
    map('s').to('left_shift'),
  ]),

I'm assuming it's just because notification isn't supported for simlayer (and not that I'm doing something wrong -- please correct me if I am though).
Would it be possible to add this? I took a look at https://github.com/evan-liu/karabiner.ts/pull/96 -- not sure how hard this would be.
P.S., thanks for this great library -- this has made managing and iterating on Karabiner configurations way, way more reasonable (the type safety autocomplete is super helpful).

Thanks for using karabiner.ts and glad to hear it is useful. You are right that notification is not supported right now. For layers notifications are useful as it shows up before triggering any actions. However simlayer is only activated when one of the keys on the layer is pressed, so the notifications are only shown after one action is triggered. I was not sure how useful it would be. Would it be useful for you when it only show after one action is triggered?

BTW can you try if this works:
simlayer('d', 'navigation mode')
  .toIfActivated(toNotificationMessage('simlayer-d', 'Navigation Mode'))
  .toIfDeactivated(toRemoveNotificationMessage('simlayer-d'))
  .manipulators([
    //...
  ]),

If it does and you find it useful after a while, I will add the notification() method like layer().

The toIfActivated / toIfDeactivated approach works. Thank you!

However simlayer is only activated when one of the keys on the layer is pressed, so the notifications are only shown after one action is triggered.

And I think you're right -- I'm not sure how useful this is for simlayer, but the workaround is sufficient for now. I'll report back if I find other uses for it with simlayer


[BUG]: GoogleVertex EF now raises and error when requests dep is missing

Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

The Goolge Vertex EF did not check for requests dependency install, which does not come by default with Chroma. A check has been added

Test plan
Local tests are passing. No new tests added.
Documentation Changes
No docs update

@tazarov shouldn't it?
chromadb
https://github.com/chroma-core/chroma/blob/main/pyproject.toml#L18
chromadb-client
https://github.com/chroma-core/chroma/blob/main/clients/python/pyproject.toml#L18

@jeffchuber ah nvm, I looked at the wrong dep file (requirements). Then we can remove the same from the HuggingFace.
https://github.com/chroma-core/chroma/blob/48700dd07f14bcfd8b206dc3b2e2795d5531094d/chromadb/utils/embedding_functions.py#L172-L177

Probably yea.
But how did this happen GoogleVertex EF now raises and error when requests dep is missing?

No problem at all. I was looking for something else and this jumped to me so I though I'd make it consistent.

@jeffchuber @tazarov Can we close this out?

Close it. Requests lib comes by default so no, real differences if we merge this or not

Ok! Thanks just wanted to confirm


Add documentation missing docstring rules (D1XX)

Summary
Add documentation to the D1XX rules that flag missing docstrings.
The examples are quite long and docstrings practices vary a lot between projects, so I thought it would be best that the documentation for these rules be their own PR separate to the other pydocstyle rules.
Related to #2646.
Test Plan
python scripts/check_docs_formatted.py

Added references to the NumPy and Google style guides. These third-party style guides available as convention options, so I felt it would be a good idea to use them in the examples.


Connection browser enhancements

Changes
This PR adds some enhancements to the server browser:

add a sort connection option

add Rename Connection menu item

remove most connection commands from command palette
only show Connection Settings in command palette when connected
remove cached server settings when option is changed to disable

Checklist

[x] have tested my change
[x] Remove any/all console.logs I added
[x] eslint is not complaining

Not part of my review but an issue nonetheless:
If I rename a connection, enter a new name, and get this error:

But then if I refresh the view, the name is updated correctly.

@worksofliam Could your error be caused by some "molested" configuration settings in VS Code, where the name attribute is not there as expected?
I've seen many examples of this in my own settings - like the "button" = "save"example, which is also seen in other users settings in some of the issues...
A connection has values in up to four different places in the settings / storage, and currently there is a danger in the code, that only part of them gets the new name for the connection. So be careful when testing - do not test on important connections!
I will add a try-catch block to catch any errors and not update anything if errors occurred - stay tuned...

@worksofliam Error handling has been added and you should get more error information - and not get any connection changed if error occurred. (Tested this with settings.json opened - cool to see the file being updated by the rename command!)
@sebjulliand Now even more messages to translate to French... 😉


DAC incorrectly sets containment type = Partial when it should be None during Azure SQL bacpac restore

I'm generating a bacpac file from a SQL Azure hosted database (compatibility level SQL Server 2017) and restoring it to a SQL Server localdb instance. This was working fine, but then I upgraded my localdb instance to SQL 2019, and now the restore fails:
Creating deployment plan
Initializing deployment
Verifying deployment plan
Analyzing deployment plan
Importing package schema and data into database
Updating database
*** Error importing database:Could not import package.
Error SQL72014: .Net SqlClient Data Provider: Msg 12824, Level 16, State 1, Line 5 The sp_configure value 'contained database authentication' must be set to 1 in order to alter a contained database.  You may need to use RECONFIGURE to set the value_in_use.
Error SQL72045: Script execution error.  The executed script:
IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET FILESTREAM(NON_TRANSACTED_ACCESS = OFF),
                CONTAINMENT = PARTIAL
            WITH ROLLBACK IMMEDIATE;
    END

Error SQL72014: .Net SqlClient Data Provider: Msg 5069, Level 16, State 1, Line 5 ALTER DATABASE statement failed.      Error SQL72045: Script execution error.  The executed script:
IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET FILESTREAM(NON_TRANSACTED_ACCESS = OFF),
                CONTAINMENT = PARTIAL
            WITH ROLLBACK IMMEDIATE;
    END

The important point to note here is that the SQL Azure database has containment type = None so I have no idea why (what I presume to be) the generated script is trying to alter the destination DB to have CONTAINMENT = PARTIAL. I believe that SQLPackage is assuming that a 2019 DB must always be set to have containment type = Partial, rather than using the source database's containment type - i.e. this is a bug.
The arguments I'm passing to SQLPackage are simple: /a:Import /sf:"${bacpacFile}" /tcs:"${targetConnectionString}"

I just tried to import a BACPAC via [SSMS's "Data-tier Import Wizard ][1]

I believe the bug is in Microsoft.Data.Tools.Schema.Sql.dll, to be particular the Microsoft.Data.Tools.Schema.Sql.Deployment.Sql110DeploymentPlanGenerator#BuildAlterDatabaseStatements() method, in particular this block:
	if (targetOptions != null && sourceOptions.Model.Platform == SqlPlatforms.SqlAzureV12 && SqlDeploymentPlanGenerator.IsPropertySupported(base.TargetModel.Platform, SqlDatabaseOptions.ContainmentClass) && !Sql110ModelComparer.CompareContainmentProperty(sourceOptions, targetOptions, SqlDatabaseOptions.ContainmentClass, null) && base.SupportsContainment)
	{
		bool updateContainment = true;
		foreach (DatabaseOption option8 in setStatement.Options)
		{
			ContainmentDatabaseOption option2 = option8 as ContainmentDatabaseOption;
			if (option2 != null)
			{
				updateContainment = false;
				option2.Value = ContainmentOptionKind.Partial;
				break;
			}
		}
		if (updateContainment)
		{
			ContainmentDatabaseOption option = new ContainmentDatabaseOption
			{
				Value = ContainmentOptionKind.Partial
			};
			setStatement.Options.Add(option);
		}
	}

I'm obviously no expert in this code, but it seems to me that either this block is being entered incorrectly (the outermost if is evaluating when it should not be and/or the inner ifs in the foreach are not), or something upstream is setting a property incorrectly.
If this was an open-source project I would be able to pull the source, replicate the bug, make a fix, and submit a pull request... but it's not, and it's only due to the magic of ILSpy that I'm able to get this far.

This issue is present since at least 15.0.4538.1 (the oldest .NET Core Windows build of SQLPackage that is available for download).

Issue present as far back as 15.0.4316.1 (from the oldest downloadable version of the 15.x DAC package I could find).

Significant time with ILSpy has confirmed that the issue is due to the aforementioned block of code. However I now believe that the block itself is correct, and the condition causing it to be entered is the problem.
In particular, it seems that the method Microsoft.Data.Tools.Schema.Sql.SchemaModel.Sql110ModelComparer#CompareContainmentProperty is buggy. It's comparing containment properties for two models, neither of which has containment set or required, yet is returning false (indicating that it thinks the containment between the two is/should be different) when it should be returning true.
I think this is because that method only considers the source containment for SqlAzureV12 when it should also be considering the target containment.

@IanKemp, One of the reasons DacFx changes target db to be containment is if the source db has contained user. Exporting a db with contained user cannot happen if target db is not changed to partial.


Increase contrast of favicon in dark mode

The favicon on GH is almost invisible if you have a browser in dark-mode. Now that you can detect the theme of the browser with prefers-color-scheme we could make the favicon more visible on dark theme browsers.

Initially suggested on twitter: https://twitter.com/PhilippSpiess/status/1136985270874714117?s=20

The problem is that the favicon is dynamic in PRs (e.g. see the favicon in https://github.com/sindresorhus/refined-github/pull/2073) and I think I've also seen a blue dot on the favicon in some cases before.

Yeah the dynamic favicon would definitely need to be preserved, a brief look into the source shows that it would be possible to detect what favicon is currently being served so we wouldn't need to reimplement that feature.
Yeah it would definitely miss some people, but I think it would catch a large amount of users. The only issue is its a CSS query but we want to use the result in JS, from what I can see there isn't an elegant way to do that, but it is possible.
If we were okay with it only working on firefox the have their own API to get the theme in JS.

The only issue is its a CSS query but we want to use the result in JS

There's window.matchMedia() you can use in JS to run CSS media queries.
But if you are talking about prefers-color-scheme CSS media query, then I'd like to mention beforehand that it is highly unreliable on browsers that don't support the query. All the queries report back false if the browser can't handle the query.

Using prefers-color-scheme: dark makes sense. If it's false, leave untouched; if it's true, it's supported by the browser and that's what we want.

Perfect, didn't know that was possible!
What do we want the favicon to be if the user is in dark mode?

What do we want the favicon to be if the user is in dark mode?

Something like https://github.com/sindresorhus/notifier-for-github/blob/master/source/icon-notif.png should work for both light and dark modes (view the png on dark background to see how it looks).

That's a good one too, so it would work for everyone

Perfect, ill work on this feature.
Is there an easy way to host images from an extension?

You can use web_accessible_resources

You can also use MutationObserver to listen to the changes made on .js-site-favicon, and update the favicon again to a dark theme friendly one.

@dotconnor thanks 👍🏻
I'm busy for a few days but will try and get to this in the next week or so

PR welcome for favicon-contrast

Thanks, GitHub!

Thanks, GitHub!

Wow i was wondering why my github tabs started sticking out


Timeout sometimes reached with search_all

When running the following code :
from eodag import EODataAccessGateway

# init the eodag object
dag = EODataAccessGateway()

# query eodag
search_results = dag.search_all(
productType='S2_MSI_L1C',
# the geojson is supposed to have 1 polygon
geom=feature["geometry"][0], # accepts WKT polygons, shapely.geometry, ...
start="2018-01-01",
end="2018-01-15"
)

With feature["geometry"][0] being a shapely polygon :
 POLYGON ((-73.24993888888889 -42.51593611111111, -73.25799722222222 -42.51612222222222, -73.25734166666666 -42.51266388888889, -73.24988888888889 -42.515166666666666, -73.24993888888889 -42.51593611111111))
I obtain sometimes the following error :
Skipping error while searching for peps QueryStringSearch instance:
Traceback (most recent call last):
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
    response.begin()
  File "/usr/lib/python3.9/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.9/http/client.py", line 268, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.9/socket.py", line 704, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.9/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.9/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 451, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 340, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='peps.cnes.fr', port=443): Read timed out. (read timeout=5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/eodag/plugins/search/qssearch.py", line 910, in _request
    response = requests.get(url, timeout=HTTP_REQ_TIMEOUT, **kwargs)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/aval/Desktop/eodag/venv/lib/python3.9/site-packages/requests/adapters.py", line 578, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='peps.cnes.fr', port=443): Read timed out. (read timeout=5)

This is not specific to these areas and dates.
Is this because I make too many requests? Is there any quota? Is it possible to be blocked?
Thank you in advance for your help.

Hello @josselin-aval , peps is under maintenance since some days, see https://peps-mission.cnes.fr/en/search/site/Peps.
That's why you get timeout errors when searching on it. You may search on a different provider, modifying other providers priority in your configuration file, or changing dynamically https://eodag.readthedocs.io/en/stable/notebooks/api_user_guide/3_configuration.html#Set-a-provider's-priority

Hello @sbrunato , thank you very much for your explanation and proposal, I will test that.


Support for architecture in Xcode IDE

Context

See https://github.com/gradle/gradle-native/issues/916
Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

I tried running in Xcode 9 and it's the same behavior with Xcode 10. Basically the My Mac (32-bit) and My Mac (64-bit) is the runtime environment as opposed to what to build. To switch between architecture, you have to Edit the scheme and, for the run configuration, you switch Build configuration so something else. It's not intuitive but it seems to be what you get with a project created by Xcode. We can ask for some feedback with our partners that have more experience with Xcode.

@lacasseio this needs to be based on release and not master


inexplicable hash change to 1.6.0 tar.gz release

The sha256 hash for release openh264-1.6.0.tar.gz seems to have change from 951109b86cf82be7d2aa65e7542edf4bdf26ae9ec93674c638d28c02a9d1a59a to 65d307bf312543ad6e98ec02abb7c27d8fd2c9740fd069d7249844612674a2c7 .
Is this an unintentional, secondary result of an action such as retagging, or is there some greater significance, from slight revisions for example?

@ HaiboZhu do you know the answer to this? I'm one of the homebrew maintainers and the one in particular who bumped the formula to 1.6.0. It would be helpful to understand why the checksum was changed after we shipped 1.6.0, especially so we know whether we need to regenerate the bottles or not.

CC @HaiboZhu do you know the answer to this?

Hi, all, the sha256 hash of openh264 changed as we retagged the source code. Here we add a commit #2522 into the openh264v1.6 branch. Thanks for your support on it.

@HaiboZhu You're welcome. In the future, do you mind just bumping the version to 1.7.0 or 1.6.1 or <IP_ADDRESS> instead of retagging?

i.e., create a new tag (we always need a tag) instead of destroying and recreating the original? Alternatively, if you leave the original tag alone, we can always apply a sequence of commits as patches if it's not convenient for you to actually create a new tag. Of course, our preference is always to distribute a fixed tag with zero patch commits whenever possible, so new tags are much appreciated whenever there are important back ports, etc.

@ilovezfs Thanks for your suggestions. We will improve this process and make it more effective later.

@HaiboZhu you're welcome. Thanks for your attention to this. We're picky about it mainly because we consider changed checksums to be a security issue until we find out what happened.


Fix log4j2 for Quickstart.

In QuickStart, we start all Pinot components in a single JVM. And the existing
log4j2 config for it directs package specific logs to different components.
This is broken because packages can be shared across components (eg pinot-core).
During debugging recent problems reported in OSS, we found that realtime
consumption would stop in Pinot, but no errors/exceptions would appear in
the logs. This was due to the fact that the exceptions were thrown by packages
that were not part of any component's log, and were missed.
In this PR we address the problem as:

We create a single log file (logs/pinot-quickstart.log) with log level info for quick-start, as it
starts all components in single JVM.
We set the log level to error for console.

Description

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #6919 (14bf60f) into master (8102e43) will decrease coverage by 8.08%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #6919      +/-   ##
============================================
- Coverage     73.53%   65.45%   -8.09%
  Complexity       12       12
============================================
  Files          1432     1432
  Lines         70591    70591
  Branches      10205    10205
============================================
- Hits          51908    46203    -5705
- Misses        15250    21088    +5838
+ Partials       3433     3300     -133

Flag
Coverage Δ
Complexity Δ

integration
?
?

unittests
65.45% <ø> (+<0.01%)
12.00 <ø> (ø)

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

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8102e43...14bf60f. Read the comment docs.


[BUG] Crash on initialisation (ptrace failed: Operation not permitted)

Is there an existing issue for this?

[X] I have searched the existing issues and none matched.

Operating System
Linux Mint
CPU
Core 2 Duo T7500
GPU
Intel Mobile GL960
Storage
Crucial MX500 500GB
Game Version
4.14.0
Game Mode
dance
Theme
Default
Describe the problem
Crashes upon initialisation, terminal output stated that "ptrace had failed".
Describe what should happen
I think the game should boot normally, but I am still in the process of upgrading.
  Trying Theme preference default value '_fallback'.
WARNING: Theme preference defaults to '_fallback', which cannot be used.  Trying DefaultTheme preference 'default'.
WARNING: [Options.ReturnCurrentTiming] Current Timing 'false' is not present on TimingWindows, using 'Original' instead.
WARNING: [Options.ReturnCurrentTiming] Current Timing 'false' is not present on TimingWindows, using 'Original' instead.
Sound writeahead has been overridden to 4096
ALSA Driver: 0: HDA Intel [Intel], device 0: AD1984 Analog [AD1984 Analog], 1/1 subdevices avail
ALSA Driver: 0: HDA Intel [Intel], device 1: AD1984 Digital [AD1984 Digital], 1/1 subdevices avail
ALSA Driver: 0: HDA Intel [Intel], device 2: AD1984 Alt Analog [AD1984 Alt Analog], 1/1 subdevices avail
ALSA: Mixing at 44100hz
Sound driver: ALSA-sw
Lights driver: SystemMessage
Lights driver: Export
WARNING: VORBIS ERROR: -132
Video renderers: 'opengl'
Language: en
Theme: default
Partial log:
00:28.439: Starting thread: Worker thread (/@mc2int/)
00:28.452: Profile::LoadAllFromDir( /Save/MachineProfile/ )
00:28.454: SaveStatsXmlToDir: /Save/MachineProfile/
00:28.460: RageFileDriverDirect.cpp:142: remove '/home/shoob/.project-outfox/Save/MachineProfile/Edits/newdir.temp.newdir'
00:28.460: RageFileDriverDirect.cpp:142: remove '/home/shoob/.project-outfox/Save/MachineProfile/EditCourses/newdir.temp.newdir'
00:28.461: RageFileDriverDirect.cpp:142: remove '/home/shoob/.project-outfox/Save/MachineProfile/Screenshots/newdir.temp.newdir'
00:28.461: RageFileDriverDirect.cpp:142: remove '/home/shoob/.project-outfox/Save/MachineProfile/Rivals/newdir.temp.newdir'
00:28.570: UnlockManager::Load()
00:28.639: Last seen video driver:
00:28.639: Video renderers: 'opengl'
-- End of report

Duplicate


Hoststatus and dependency back ports to 8.1.x

This is a back port of Hoststatus changes and dependencies to 8.1.x
Backports:
#3899 - Add a reason tag option to the host subcommand
#4217 - Fix a regression in the traffic_ctl host status subcommand
#4441 - Corrects the wording of the usage messages for traffic_ctl host subcommand
#4422 - TCL: Remove TCL dependency from HostStatus.   (Hoststatus back port dependency).
#4664 - Use hash string when it is provided for hashing  (Hoststatus back port dependency).
#5143 - Fix a self detection issue where parents are not marked down during ATS startup.
#5248 - parent host status is not persistent across restarts.
#5252 - Make host status persistent across restarts
#4253 - Add the capability to mark origins down with traffic_ctl
#5417 - Change HostStatus to use only one stat per host
#6518 - Fixes a bug where HostStatus::getHostStatus() creates too many stats

[approve ci clang-format]

[approve autest]

[approve ci clang-format]

[approve ci autest]

[approve ci]

[approve ci autest]

[approve ci autest]

[approve ci autest]


RangeError with form of method "POST

As reported here, this simple app:
<app></app>

<script>
  Vue.component('app', {
    template: '\
      <form method="POST">\
        <input name="attributes">\
      </form>\
    '
  })

  new Vue({ el: 'body' })
</script>

throws:
vue.js:235 Uncaught RangeError: Invalid array length

If changing the form method to something other than POST or the input name to something other than attributes, it seems to work fine.

I believe that it is not a bug.
Each element has an attributes property which returns a collection of all attribute nodes. By using an input field named attributes, replaces the contents of that property (demo).
The Vue uses that property and I thought that it is hard (even impossible) to change.
An error message to inform about that conflict, I believe it's ok:
function extractAttrs (el) {
  if (el.nodeType === 1 && el.hasAttributes()) {
    if (!(el.attributes instanceof NamedNodeMap)) {
      console.error('...')
    }
    return toArray(el.attributes)
  }
}

Also, if (for any reason) we want to set a field named attributes, we could interpolate the name attribute:
https://jsfiddle.net/pespantelis/qoLpbxfv/

This is exactly what @pespantelis described above. Unfortunately, there's no way to workaround this from Vue's part. The recommended solution is avoid using input names that are also native DOM Element properties.


[bug]: IP Adapters fail in v4.0.2

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Linux
GPU vendor
Nvidia (CUDA)
GPU model
RTX 4070
GPU VRAM
12GB
Version number
v4.0.2 (and main)
Browser
chrome
Python dependencies
No response
What happened
Attempts to generate with an IP adapter result in "Failed to Queue Batch: Unknown Error".
git bisect indicates that the error started with commit 91a70c8d0702fc2bdca92e37b3793dc947337987
What you expected to happen
I expected generation to start.
How to reproduce the problem
Activate an IP adapter, add a control image, and attempt to generate
Additional context
No response
Discord username
l.stein

Bug report withdrawn. Fixed by resetting the front end.


FEATURE: Add some logic for topic list linking

Per some internal discussions, this adds some logic for linking when there are unread posts in a Q&A topic.

when user has no unread posts, link to OP (unchanged, but logic moved to JS code)
when user has one unread post, link to it
when user has 2+ unread posts, link to first unread post and switch to sorting by activity

Sadly, I don't think we can easily add a useful test here. It would need to rely entirely on fixtures, which isn't ideal.

I don't think we can easily add a useful test here. It would need to rely entirely on fixtures, which isn't ideal.

Would you be able to expand on this? I'm wondering why relying entirely on fixtures is not ideal here since our entire front end tests framework is fixtures based.


[nx-maven] add mavenRootDirectory option to init generator

with nx 17, we will add this option so users can choose where to generate Maven wrapper and config and projects.

@jbadeau, the work is almost done here: https://github.com/khalilou88/jnxplus/pull/539

published in version 0.13.0


BACK TO TOP link in instance library pages does not work

For terminology pages the link points the the schema page for the respective instances.
For contentTypes the link is broken
For licenses the link is broken

@ehennestad
terminology issue not sure what you meant but I think it's fixed.
contentTypes issue not sure which link you are referring to but I think it's fixed.
licenses issue not sure which link you are referring to but I think it's fixed.
Can you double check and close the issue if everything is solved (or provide more detailed information on what is broken)?

Everything works as it should now!


Tag a new version so that pkg.go.dev works

https://github.com/golang/go/issues/50021

golang/go#50021

tks, done


chore: Upgrade ember-css-modules

Purpose
Get several bugfixes in newer versions of ember-css-modules (I ran into one in registries)

Summary of Changes
Upgrade ember-css-modules to 1.1.0
Use @localClassNames, @localClassName decorators from the addon
Delete our own local-class decorators

Side Effects
Different imports for the decorators, fewer bugs.

Feature Flags
n/a

QA Notes
n/a

Ticket

n/a
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 2000

150 of 159 (94.34%)  changed or added relevant lines in 84 files are covered.
316 unchanged lines in 49 files lost coverage.
Overall coverage increased (+0.3%) to 69.242%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/collections/addon/components/collection-item-picker/component.ts
0
1
0.0%

lib/collections/addon/components/collection-search-result/node/component.ts
1
2
50.0%

lib/collections/addon/components/collections-submission/component.ts
1
2
50.0%

lib/collections/addon/components/discover-page/facets/checklist/component.ts
0
1
0.0%

lib/collections/addon/components/discover-page/facets/collection-provider/component.ts
0
1
0.0%

lib/collections/addon/components/discover-page/facets/taxonomy/component.ts
2
3
66.67%

lib/osf-components/addon/components/maintenance-banner/component.ts
0
1
0.0%

lib/collections/addon/components/collection-search-result/component.ts
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

lib/registries/addon/components/registries-discover-search/x-sidebar/component.ts
1
88.89%

lib/osf-components/addon/components/validated-input/checkboxes/x-checkbox/component.ts
1
76.74%

lib/registries/addon/components/registries-search-result/component.ts
1
86.67%

lib/osf-components/addon/components/institution-carousel/component.ts
1
82.0%

lib/collections/addon/components/discover-page/active-filters/filter/component.ts
1
63.16%

lib/registries/addon/components/registries-header/component.ts
1
87.5%

lib/registries/addon/components/registries-recent-list/component.ts
1
82.22%

lib/registries/addon/components/registries-discover-search/x-results/component.ts
1
84.85%

lib/collections/addon/components/discover-page/facets/taxonomy/list/component.ts
1
51.52%

lib/osf-components/addon/components/noteworthy-and-popular-project/component.ts
1
78.95%

Totals

Change from base Build 1994:
0.3%

Covered Lines:
4636

Relevant Lines:
6085

💛  - Coveralls


Works in css files but not in tsx

Hi,
Thanks for your plugin, I'm using styled component and looking for a css var completion.
It's working well in css files but can't manage to make it work in typescript files as announced in your last commit.
Thanks for your help !

Hi!
Thanks for your support and opening this issue. 🙏🏾
I verified the plugin on .tsx files as well, and it's working for me.
To support .tsx files you will have to add the following settings:
{
  "cssvar.extensions": ["css", "scss", "typescript", "typescriptreact"],
}

If you are using .ts or .tsx, instead of typescript or typescriptreact as extension values,
please change accordingly. Will update the docs as well, for the same

Hi, thanks for your reply !
Here is the config i'm using :
{
  "cssvar.files"<EMAIL_ADDRESS>  "cssvar.extensions": ["ts", "tsx", "css", "less"]
}

I'm using yarn workspaces maybe that's a problem ? I'll try to make a repro !
Thanks

Yeah!
Please convert your configs a little bit:

If @app points to ./src (Since this project is language agnostic, it doesn't support @app from tsconfig.json paths.):

{
  "cssvar.files": ["src/client/assets/vars.css"],
  "cssvar.extensions": ["typescript", "typescriptreact", "css", "less"]
}

Convert ts to typescript and tsx to typescriptreact.
Will add a support for short extensions like: js or tsx in next release. For now, please modify your config as mentioned above.

Thanks a lot for your help @phoenisx
@app is a real path but switching to ["typescript", "typescriptreact", "css", "less"] works !


Promote some loader tests to commonTest

Unfortunately there's a bug where Okio's FakeFileSystem doesn't
work on Kotlin 1.7.0 on native due to a transitive dependency on
kotlinx-datetime.
https://youtrack.jetbrains.com/issue/KT-52554
I'm going to need to update Okio and ship a release. In the interim
just use the regular file system for these tests.

FYI I’ve added a commit to disable Android tests for zipline-loader.
Previously we had JVM tests only. Now that I’ve promoted tests to commonMain we’re seeing the Android tests crash because QuickJS and SQLite are not availble.


Users randomly receiving "User revoked consent" 401 errors

Some users are (randomly?) receiving "User revoked consent" 401 errors whenever their access token is refreshed. This is happening multiple times a day, and it forces them to reauthorize their account over and over again - but the reauthorizations are automatic and do not prompt them for consent, so consent has not actually been revoked.
They claim they are not altering their Tesla account in any way and have no other apps or services running.
Here is an example Tesla OAuth response:
HTTP 401
{"error":"login_required","error_description":"User revoked consent","error_uri":"https://auth.tesla.com/error/reference/c9e8ec46-74d8-4eb1-9ff1-caab349db462-1705012163951"}

I think the problem happens if a user who is signing in is registered in another region than the partner account. My partner account is in the EU but NA users are getting exactly this error.

I think the problem happens if a user who is signing in is registered in another region than the partner account. My partner account is in the EU but NA users are getting exactly this error.
After changing the region from one account from NA to EU everything works fine for this account.

It sounds like you found a solution to this, but I don't follow. What do you mean you changed the region?

You can move a user to EU servers (the region of the account) in the account settings on the Tesla Website. As a developer you should know how because it's disabled for some reason to "normal" users.

You can move a user to EU servers (the region of the account) in the account settings on the Tesla Website. As a developer you should know how because it's disabled for some reason to "normal" users.

@sapkra Weird, I can't find this setting anywhere on either user or developer accounts. Can you post a URL and screenshot of this setting?

https://accounts.tesla.com/account-settings/personal-information/edit-basic-information

Here the full explanation how to change the region:

Go to the page Account Settings and click on "Edit Basic Information"
Make "Inspect element" on the region select input.
Remove disabled and add a new option with the value of your region e.g. DE for Germany.
You can now select the new region and language in the user interface and save the changes.

It looks like this is related to an issue I just posted as well.  Were you able to figure anything out besides going into the users profile page on Tesla.com?

I am getting the same when refreshing a token.  Data calls work fine until the token expires.
HTTP 401
{"error":"login_required","error_description":"User revoked consent"
It's only for eu users.  We are registered in the US.
We have tried every combination of things to change when registering an eu user but still get stuck on the refresh not working.  Unfortunately we cannot ask every user to go in and change their region in developer mode.
Did anyone figure this issue out?

I'm receiving hundreds of emails about this and really am not sure what to tell people. I have tried pretty much everything imaginable.

+1 I’m one of those people emailing @stx as a user. This needs to be fixed, as it’s clearly not implementing the OAuth2 standard correctly from a user perspective

Can confirm we are seeing many cases of this. This should be treated as critical @sethterashima

Hey!
I have this problem with one of my two 3rd party apps, the Smart charging at home connected to my electricity company "Tibber" works perfectly but the Tessie app (for driving record) logs out after exactly 8 hours. Very surprising as I need it for accounting of the car's private versus service miles. Do we know if anyone is working on a solution?

Same here. Tessie logout every 8h. very annoying :(
Didn't found any working workaround.

About 50% of our EU fleet is now having this issue of token's not refreshing and "user revoked consent" 401 (despite evidence that consents are still valid). We are EU-based, and all the fails are cars with customers on EU-accounts. Our Tesla-community is disappointed, after having taken them through the Fleet API onboarding efforts.
Tesla, please advise. Also happy to provide additional info as needed.

It happen to me as well. My wifes car was for any reason in region "US". After moving it to "EU" / German account as described by @sapkra it works now. Please Tesla fix the bug!

My account is locked to my country sweden and i can't choose any other? i did however put in my home adress, se if that will change the fault...

Did you define the scope "offline_access" at registration and did the token refresh work?
offline_access enables token refresh without another login by the customer.
Token expiry time is 8h.
I don't know much about the Go technique refreshing tokens, but my python implementation kind of works.
Hope this helps.

@stx I'm not sure if this helps, or is just random. As has been usual over the past few days Tessie kicked me out yesterday and asked for an access token. However this time I happened to be in a private browser on Safari on iOS. I had to log back in with username, password, authenticator code.
Since I've done this I've not been kicked out again (I was expecting that to have happened this morning and yesterday afternoon).

@stx I'm not sure if this helps, or is just random. As has been usual over the past few days Tessie kicked me out yesterday and asked for an access token. However this time I happened to be in a private browser on Safari on iOS. I had to log back in with username, password, authenticator code.
Since I've done this I've not been kicked out again (I was expecting that to have happened this morning and yesterday afternoon).

It appears that Tesla has rolled out an auth system update with a new refresh token format, and this problem seems to be fixed now judging from the experience of several users. Can anyone else confirm this issue has been resolved for them as well before I close this?

@stx No I'm still seeing frequent cases of login_required. I'd hold off on closing this.

We see that Tesla updated refresh_token structure yesterday. Which means all fleet_api token refreshes failed (401 login required - our entire fleet on those), but then after customers log in again, then everything works and the original 401 Error Revoked problem disappears.
So a heavy-handed fix it seems, but did the trick.  Now just have to get all our drivers to re-connect :(.

This is very inconvenient.

Hi, mine seems to have been working since yesterday, had an update to the Tesla app from the App-store in my phone, but so far it's been working and I'm hopeful now. But eagerly waiting for it to crash again…

Just out of curiosity, where are you seeing that Tesla updated the token refresh system?  Are they publishing a log somewhere?

Hi, I don't have to log in to Tesla since yesterday as well. I switched my connectivity in Tessie account yesterday and I had to log in again with my ID and 2FA. No problem anymore.

No logout anymore on my side since +30h ago. That never happened.
Maybe the issue is solved ?

How difficult would it be for tesla to create a driving journal themselves to keep track of their private vs business miles, with the option to save as an excel file? then we wouldn't have this problem...

Hey all we've now upgraded the system, this bug should be resolved. Thank you for the feedback to chase this down!

@ThomasAlxDmy
Thanks for confirming. I believe those still having issues are running into the new change that refresh tokens can no longer be used twice: https://github.com/teslamotors/vehicle-command/issues/160.


Enable Image Preview in Nautilus File Picker

Is your feature request related to a problem? Please describe.
Enable Image Preview for the File Picker on Gnome.
Describe the solution you'd like
Please allow users to preview images with the Gnome File Picker like shown below (Image of the File Picker in the default Discord App):
https://imgur.com/a/Yim99Av
Describe alternatives you've considered
None currently
Additional context
I am Currently on the Latest Version of the Flatpak (3.7.1) on Fedora Gnome

File picker is handled internally via a GTK implementation in Electron or Chromium. I don't think I can modify this and therefore it probably won't be implemented. Also, wasn't there a way to show an image preview (eg. via right-click context menu)?

works with Mate - Caja file preview
(gnome2 gtk2/3)


Add test to validate the pod bindings api

Include test to validate pod create, start, stop, restart,
pause, unpause, list, and inspect api bindings.
Also includes bug fixes that resulted in invalid api responses.
Signed-off-by: Sujil02<EMAIL_ADDRESS>

LGTM assuming happy tests

@baude @jwhonce PTAL

/approve

/lgtm

/approve


Add automatic generation of mocks.

-Add automatic generation of mocks.
-Add batch files for running and testing.

Mock files are kept in kubernetes. In this repo I have chosen to not gitignore mock files.
https://github.com/kubernetes/kubernetes/blob/v0.18.0/pkg/kubelet/cadvisor/cadvisor_mock.go


Implement Hooks from spec

https://openfeature.dev/specification/sections/hooks

Hello sir!
I got a bit carried away and started on this. It's at least instructive for actually learning sorbet and Ruby a bit.
Do you feel comfortable granting write access? 😆

Sure! Just sent an invite


Near infinite loop when renaming node with trailing high number in SceneTreeEditor

Godot version:
35b421b
OS/device including version:
Mageia 7 x86_64
Issue description:
While doing some tests, I renamed a node from "Button7" to Button7222222222222222222222222222222222" or something like that. The SceneTree looks like this:

Upon validating the new name, the editor froze, keeping one CPU core busy at 100%.
Attaching gdb to the process, I could get a stacktrace hinting that it seems stuck in some loop in Node::_generate_serial_child_name(). It seems to trigger the "" naming logic and I assume iterates over<PHONE_NUMBER>222222222222222222222222?
(gdb) bt
#0  0x0000000001190c53 in CowData<wchar_t>::_unref (this=0x7ffe10821eb8, p_data=0x0) at ./core/cowdata.h:207
#1  0x0000000001192801 in CowData<wchar_t>::_ref (this=0x7ffe10821eb8, p_from=...) at ./core/cowdata.h:318
#2  0x000000000119f7a4 in String::String (this=0x7ffe10821eb8, p_str=...) at ./core/ustring.h:295
#3  0x0000000003143788 in String::operator+ (this=0x7ffe10821e50, p_str=...) at core/ustring.cpp:225
#4  0x0000000002430289 in Node::_generate_serial_child_name (this=0x1612aee0, p_child=0x167ef0f0) at scene/main/node.cpp:1056
#5  0x000000000242f97a in Node::_validate_child_name (this=0x1612aee0, p_child=0x167ef0f0, p_force_human_readable=false) at scene/main/node.cpp:975
#6  0x000000000242f6f1 in Node::set_name (this=0x167ef0f0, p_name=...) at scene/main/node.cpp:935
#7  0x0000000001e45fda in SceneTreeEditor::_rename_node (this=0xbde8450, p_node=30767, p_name=...) at editor/scene_tree_editor.cpp:648
#8  0x0000000001e4f4c4 in MethodBind2<unsigned long, String const&>::call (this=0xbdfcdd0, p_object=0xbde8450, p_args=0x7ffe108224b0, p_arg_count=2, r_error=...)
    at ./core/method_bind.gen.inc:1428
#9  0x00000000030da5c7 in Object::call (this=0xbde8450, p_method=..., p_args=0x7ffe108224b0, p_argcount=2, r_error=...) at core/object.cpp:945
#10 0x00000000030da0f6 in Object::call (this=0xbde8450, p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...) at core/object.cpp:869
#11 0x000000000313cec8 in UndoRedo::_process_operation_list (this=0xa390668, E=0x1631db80) at core/undo_redo.cpp:271
#12 0x000000000313d20b in UndoRedo::redo (this=0xa390668) at core/undo_redo.cpp:310
#13 0x000000000313cd0a in UndoRedo::commit_action (this=0xa390668) at core/undo_redo.cpp:247
#14 0x0000000001e46e07 in SceneTreeEditor::_renamed (this=0xbde8450) at editor/scene_tree_editor.cpp:696
#15 0x000000000121d59f in MethodBind0::call (this=0xbdfcc70, p_object=0xbde8450, p_args=0x0, p_arg_count=0, r_error=...) at ./core/method_bind.gen.inc:54
#16 0x00000000030da5c7 in Object::call (this=0xbde8450, p_method=..., p_args=0x0, p_argcount=0, r_error=...) at core/object.cpp:945
#17 0x00000000030d1221 in MessageQueue::_call_function (this=0x57fe5c0, p_target=0xbde8450, p_func=..., p_args=0x57fead8, p_argcount=0, p_show_error=true) at core/message_queue.cpp:256
#18 0x00000000030d1477 in MessageQueue::flush (this=0x57fe5c0) at core/message_queue.cpp:300
#19 0x000000000245a621 in SceneTree::iteration (this=0x9b8a590, p_time=0.0166666675) at scene/main/scene_tree.cpp:476
#20 0x00000000011c8acc in Main::iteration () at main/main.cpp:1834
#21 0x000000000119e08f in OS_X11::run (this=0x7ffe10822ed0) at platform/x11/os_x11.cpp:2821
#22 0x0000000001190a0d in main (argc=4, argv=0x7ffe10823608) at platform/x11/godot_x11.cpp:55

(gdb) bt ful
#0  0x0000000001190c53 in CowData<wchar_t>::_unref (this=0x7ffe10821eb8, p_data=0x0) at ./core/cowdata.h:207
        refc = 0x7ffe10821d70
        count = 0x7ffe10821de8
        data = 0x9843a80 L"Button"
#1  0x0000000001192801 in CowData<wchar_t>::_ref (this=0x7ffe10821eb8, p_from=...) at ./core/cowdata.h:318
No locals.
#2  0x000000000119f7a4 in String::String (this=0x7ffe10821eb8, p_str=...) at ./core/ustring.h:295
No locals.
#3  0x0000000003143788 in String::operator+ (this=0x7ffe10821e50, p_str=...) at core/ustring.cpp:225
        res = {_cowdata = {_ptr = 0x0}}
#4  0x0000000002430289 in Node::_generate_serial_child_name (this=0x1612aee0, p_child=0x167ef0f0) at scene/main/node.cpp:1056
        attempt = {_cowdata = {_ptr = 0x1629c9d0 L"Button"}}
        found = true
        nnsep = {_cowdata = {_ptr = 0x0}}
        num = -630718970
        explicit_zero = false
        num_places = 23
        name = {_cowdata = {_ptr = 0x1629c9d0 L"Button"}}
        nums = {_cowdata = {_ptr = 0x160a13c0 L"7", '2' <repeats 22 times>}}
#5  0x000000000242f97a in Node::_validate_child_name (this=0x1612aee0, p_child=0x167ef0f0, p_force_human_readable=false) at scene/main/node.cpp:975
No locals.
#6  0x000000000242f6f1 in Node::set_name (this=0x167ef0f0, p_name=...) at scene/main/node.cpp:935
        name = {_cowdata = {_ptr = 0x167e7250 L"Button7", '2' <repeats 22 times>}}
        __FUNCTION__ = "set_name"
#7  0x0000000001e45fda in SceneTreeEditor::_rename_node (this=0xbde8450, p_node=30767, p_name=...) at editor/scene_tree_editor.cpp:648
        o = 0x167ef0f0
        __FUNCTION__ = "_rename_node"
        n = 0x167ef0f0
--Type <RET> for more, q to quit, c to continue without paging--
        item = 0x16361c40
#8  0x0000000001e4f4c4 in MethodBind2<unsigned long, String const&>::call (this=0xbdfcdd0, p_object=0xbde8450, p_args=0x7ffe108224b0, p_arg_count=2, r_error=...)
    at ./core/method_bind.gen.inc:1428
        __FUNCTION__ = "call"
        instance = 0xbde8450
#9  0x00000000030da5c7 in Object::call (this=0xbde8450, p_method=..., p_args=0x7ffe108224b0, p_argcount=2, r_error=...) at core/object.cpp:945
        __FUNCTION__ = "call"
        ret = {type = Variant::NIL, _data = {_bool = 152, _int = 372366232, _real = 1.8397336290255145e-315, _transform2d = 0x1631db98, _aabb = 0x1631db98, _basis = 0x1631db98,
            _transform = 0x1631db98, _ptr = 0x1631db98, _mem = "\230\333\061\026\000\000\000\000\340#\202\020\376\177\000"}}
        _debug_lock = {obj = 0xbde8450}
        method = 0xbdfcdd0
#10 0x00000000030da0f6 in Object::call (this=0xbde8450, p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...) at core/object.cpp:869
        argptr = {0x1631dba0, 0x1631dbb8, 0x1631dbd0, 0x1631dbe8, 0x1631dc00}
        argc = 2
        error = {error = Variant::CallError::CALL_OK, argument = 27878016, expected = Variant::NIL}
        ret = {type = 4711, _data = {_bool = 80, _int = 371449424, _real = 1.8352039956591902e-315, _transform2d = 0x1623de50, _aabb = 0x1623de50, _basis = 0x1623de50,
            _transform = 0x1623de50, _ptr = 0x1623de50, _mem = "P\336#\026", '\000' <repeats 11 times>}}
#11 0x000000000313cec8 in UndoRedo::_process_operation_list (this=0xa390668, E=0x1631db80) at core/undo_redo.cpp:271
        res = 0xa390990
        op = @0x1631db80: {type = UndoRedo::Operation::TYPE_METHOD, resref = {reference = 0x0}, object = 4711, name = {_cowdata = {_ptr = 0x112ba9c0 L"_rename_node"}}, args = {{
              type = Variant::INT, _data = {_bool = 47, _int = 30767, _real = 1.5200917725597632e-319, _transform2d = 0x782f, _aabb = 0x782f, _basis = 0x782f, _transform = 0x782f,
                _ptr = 0x782f, _mem = "/x\000\000\000\000\000\000@\333\061\026\000\000\000"}}, {type = Variant::STRING, _data = {_bool = 80, _int = 377385552,
                _real = 1.8645323648003533e-315, _transform2d = 0x167e7250, _aabb = 0x167e7250, _basis = 0x167e7250, _transform = 0x167e7250, _ptr = 0x167e7250,
                _mem = "Pr~\026\000\000\000\000\360\322\061\026\000\000\000"}}, {type = Variant::NIL, _data = {_bool = 116, _int =<PHONE_NUMBER>36, _real = 2.0158960019901248e-312,
                _transform2d = 0x5f00000074, _aabb = 0x5f00000074, _basis = 0x5f00000074, _transform = 0x5f00000074, _ptr = 0x5f00000074,
                _mem = "t\000\000\000_\000\000\000t\000\000\000o\000\000"}}, {type = Variant::NIL, _data = {_bool = 116, _int =<PHONE_NUMBER>96, _real = 2.2280955810866521e-312,
                _transform2d = 0x6900000074, _aabb = 0x6900000074, _basis = 0x6900000074, _transform = 0x6900000074, _ptr = 0x6900000074,
                _mem = "t\000\000\000i\000\000\000p\000\000\000\000\000\000"}}, {type = Variant::NIL, _data = {_bool = false, _int = 0, _real = 0, _transform2d = 0x0, _aabb = 0x0,
--Type <RET> for more, q to quit, c to continue without paging--
                _basis = 0x0, _transform = 0x0, _ptr = 0x0, _mem = "\000\000\000\000\000\000\000\000\200\313:\026\000\000\000"}}}}
        obj = 0xbde8450
        __FUNCTION__ = "_process_operation_list"
#12 0x000000000313d20b in UndoRedo::redo (this=0xa390668) at core/undo_redo.cpp:310
        __FUNCTION__ = "redo"
#13 0x000000000313cd0a in UndoRedo::commit_action (this=0xa390668) at core/undo_redo.cpp:247
        __FUNCTION__ = "commit_action"
#14 0x0000000001e46e07 in SceneTreeEditor::_renamed (this=0xbde8450) at editor/scene_tree_editor.cpp:696
        which = 0x16361c40
        __FUNCTION__ = "_renamed"
        np = {data = 0x167e7200}
        n = 0x167ef0f0
        new_name = {_cowdata = {_ptr = 0x167e7250 L"Button7", '2' <repeats 22 times>}}
[...]
(Rest not relevant)

Steps to reproduce:

Add a Button to a scene
Duplicate it a few times, rename one instance to make the trailing number very big

Other example:

I left this one computing for a while and it did manage to exit the loop eventually, so it's not infinite as I suspected, just very long. Then it adds a bogus "2":

I'll have a look at this. It looks interesting to solve.

I've found the cause.
The number in the name of the node is parsed as an int
https://github.com/godotengine/godot/blob/2d6b994e476f00e5725117501f6fc006eadd0d30/scene/main/node.cpp#L1047
that way when you (in some systems) have a number higher than<PHONE_NUMBER> it becomes a negative number.
This large loop only happens when you already have a Node with the same base name without numbers because when it creates the next attemp:
https://github.com/godotengine/godot/blob/2d6b994e476f00e5725117501f6fc006eadd0d30/scene/main/node.cpp#L1056
the condition num > 0 is false so the number added to the name is "". As we already  have a node with the same name and without a number in the end it goes to the end of the loop
https://github.com/godotengine/godot/blob/2d6b994e476f00e5725117501f6fc006eadd0d30/scene/main/node.cpp#L1078
increases the variable +1 but it is a huge negative number so this process is repeated until it becomes positive.

Another option would be to disable this feature when the number has more than X digits.

I left this one computing for a while and it did manage to exit the loop eventually, so it's not infinite as I suspected, just very long. Then it adds a bogus "2":

This happens because of itos(num).pad_zeros(num_places) in:
https://github.com/godotengine/godot/blob/2d6b994e476f00e5725117501f6fc006eadd0d30/scene/main/node.cpp#L1056

Fixed by #23859.


The estimated cost for mac1.metal AWS instance type returns $0

A user reported an issue with the mac1.metal instance type:

I ran an estimated for as Instance usage (Linux/UNIX, on-demand, mac1.metal) and it came back as $0.00

Debug log:

No products found for aws_instance.web_app Instance usage (Linux/UNIX, on-demand, mac1.metal), using 0.00

TF code to reproduce:
provider "aws" {
  region                      = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs
  skip_credentials_validation = true
  skip_requesting_account_id  = true
  access_key                  = "mock_access_key"
  secret_key                  = "mock_secret_key"
}

resource "aws_instance" "web_app" {
  ami           = "ami-674cbc1e"
  instance_type = "mac1.metal" # <<<<< Try changing this to m5.8xlarge to compare the costs

  root_block_device {
    volume_size = 50
  }

  ebs_block_device {
    device_name = "my_data"
    volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs
    volume_size = 1000
    iops        = 800
  }
}

@vdmgolub
I tried to figure out where the problem is here and searched around a little bit.
So, Macs in AWS are dedicated hosts and I used that blog https://marcincuber.medium.com/aws-mac-instances-with-terraform-701b8b292e9e to understand how Mac instances are created.
Support for creating dedicated hosts with Terraform was introduced here https://github.com/hashicorp/terraform-provider-aws/pull/10817, which gives us the new resource aws_ec2_host, which we would use to create a Mac host of instance family mac1. After creating the Mac host, you would use aws_instance (with host_id parameter) to create the mac1.metal instance.
AWS pricing is for the dedicated host mac1, for a minimum of 24h. The instance mac1.metal is free as you're paying for the host.
And as last note/finding: Infracost isn't supporting dedicated hosts or aws_ec2_host resource yet.

@jgrumboe Thank you for researching this! 🙏 :)

#2135 fixes this issue as well. This will go out with the next release. Thank you, @robh007, for your contribution!

@injectedfusion, @caimeq, @jgrumboe this has now been released in v0.10.14.


Tag Creation

Close #16
PR Type

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Others. (Please describe)

PR Info.
Changes

Able to create, delete, edit tag.

Codecov Report

Merging #25 (724a4fe) into iteration3 (4950263) will decrease coverage by 13.33%.
The diff coverage is 3.62%.

@@               Coverage Diff               @@
##           iteration3      #25       +/-   ##
===============================================
- Coverage       57.14%   43.81%   -13.34%
===============================================
  Files              19       24        +5
  Lines             385      509      +124
  Branches           41       44        +3
===============================================
+ Hits              220      223        +3
- Misses            164      285      +121
  Partials            1        1

Impacted Files
Coverage Δ

src/components/AssignmentEdit.vue
0.00% <0.00%> (ø)

src/components/Create.vue
0.00% <0.00%> (ø)

src/components/TagDetail.vue
0.00% <0.00%> (ø)

src/layouts/Main.vue
0.00% <ø> (ø)

src/views/Assignment/AssignmentDetailView.vue
0.00% <0.00%> (ø)

src/views/Assignment/Assignments.vue
0.00% <0.00%> (ø)

src/views/Tag/TagDetailView.vue
0.00% <0.00%> (ø)

src/views/Tag/Tags.vue
0.00% <0.00%> (ø)

src/components/AssignmentDetail.vue
70.00% <41.66%> (-20.00%)
:arrow_down:

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 4950263...724a4fe. Read the comment docs.

I tested, LGTM 👍


[Question] How to switch between pre-releases

Problem
We're going from alpha into beta. It's a yet unreleased package, so the pre mode is on the main. We'd like to switch the pre mode into beta, but there is no "switch pre mode" command.

Proposed solution
Provide a npm changeset pre switch beta command that allows to go from 1.0.0-alpha.143 to 1.0.0-beta.0.

vote for this

Any update on this? The only option I've found is to manually change the "tag" in pre.json and then manually update all the components versions or create a patch changeset for them to trigger a new version.

I want to go from (e.g.) 1.0.0-alpha.27 to (e.g.) 1.0.0-beta.0; the best workaround I've come up for this so far is (assuming you're already in alpha preset mode):

Exit alpha, and then enter beta:

yarn changeset pre exit
yarn changeset pre enter beta

Edit all your package.json version fields, replacing -alpha.* with -beta.0 (for those curious, -beta.-1 causes a crash).

Run yarn changeset version

Result: 1.0.0-beta.1 - it's not the .0 we'd like, but it's good enough for me.

@benjie What worked for me to get 1.0.0-beta.0 instead of 1.0.0-beta-1 is the following small change:

Edit all package.json files to version 0.0.0
Run npx changeset exit
Run npx changeset enter beta. This will add initialVersions to your pre.json with version 0.0.0
Run npx changeset add and create a major bump for all packages (e.g. use "release beta version" as summary)
If you now run npx changeset version you will get the expected version 1.0.0-beta.0 for all packages


Better spacing for the button of change language

I have added better spacing for the change languages button at the bottom of the home page.
Previous:

Changed:

Its Minor change :smile:. And I really Like RTD.

Thanks for the submission! Because this will affect all button elements on the site, can you ensure that this does not affect spacing on existing forms? Especially for admin forms and list displays with buttons in them.

It can be done through adding a change-language id to that specific button and using css for only that id. It would end the endless searching for buttons all over the website.

Now I have used the id selector, so it specifically spaces the change-language-input. I hope no other similar id is used in the website. :smile:

Great, yeah, this should be just fine. Thanks for the fix! 🎉


[Task][Design]: Typography scale Research

New typography tests and results. Tested the type in as many scenarios as I could find, works alright and looks much cleaner than the app is today—
https://www.figma.com/file/wvN4v0Dxazlegk8XbTdhv7/Typography-Update-Trials?type=design&node-id=0%3A1&mode=design&t=CmZrgywPcJU6bdNe-1


Update bcpkix-jdk15on, bcprov-jdk15on to 1.75

About this PR
📦 Updates

org.bouncycastle:bcpkix-jdk15on
org.bouncycastle:bcprov-jdk15on

from 1.70 to 1.75
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (1.70).
You might want to review and update them manually.
docs/images/webshop-example-1.svg

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.bouncycastle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.bouncycastle" }
}]

labels: library-update, old-version-remains, commit-count:1

Superseded by #1550.


🚀 Feature: Surface Git Commit Hashes in all Scaffolder SCM Actions

🔖 Feature description
The utility of the publish scaffolder actions could be increased by returning the commitHash of the initial commit done as part of repository creation.
This would for example allow a better integration of diverse CI/CD systems into the scaffolder.
🎤 Context
Each inbuilt publish scaffolder action should return the commitHash as part of its return values.
As the commitHash is discarded at the moment, but readily available via isomorphic-git, the implementation would be fairly straightforward.
Please see below for an implementation suggestion.
✌ Possible Implementation
Please find below a sequential description of the changes needed to surface the commitHash for the inbuilt actions.
Surfacing the commitHash in the SCM Helper of the backend-common package
https://github.com/backstage/backstage/blob/6b33267ada75fbcbac2f72c0459f18cea4c68d96/packages/backend-common/src/scm/git.ts#L115
Await git.commit, as it returns a Promise<string>, which resolves to the Git Commit Hash (https://isomorphic-git.org/docs/en/commit)
Returning the commitHash in the Scaffolder Git Helper Methods
Return the commitHash at the following places:
initRepoAndPush
https://github.com/backstage/backstage/blob/6b33267ada75fbcbac2f72c0459f18cea4c68d96/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts#L113
and
commitAndPushRepo
https://github.com/backstage/backstage/blob/6b33267ada75fbcbac2f72c0459f18cea4c68d96/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts#L167
And subsequently in the separate github helper function initRepoPushAndProtect
https://github.com/backstage/backstage/blob/6b33267ada75fbcbac2f72c0459f18cea4c68d96/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/helpers.ts#L280
Output the commitHash via the Scaffolder Action Context
Finally return it in every 'normal' (i.e. non PR/MR) publish action via the context:
https://github.com/backstage/backstage/blob/6b33267ada75fbcbac2f72c0459f18cea4c68d96/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.ts#L219
for example via
const { commitHash } = await initRepoPushAndProtect(
  // (snip)
);

ctx.output('commitHash', commitHash);

👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

Sounds like a good idea!
Perhaps someone is interested in drafting a proposal for this? 🙏
FYI @benjdlambert

Sorry I totally dropped the ball on this and hadn’t seen it. Think this sounds reasonable if anyone wants to pick this up!

/remove-stale


add one site (useful for testing)

@amaltaro, Alan please review, usefull for testing specific sites to track data flow.

test this please

Sounds good, Seangchan. Indeed, it's going to be super helpful.

test this please


Ch07 your second activity challenge

Chapter 7: Your Second Activity (challenge)
This pull request shows a solution for the chapter's challenge.
Topics Covered

Closing Loopholes for Cheaters
Tracking Cheat Status by Question

How to Test
To test the new feature, you can do the following:

Clone the repository.
Install the dependencies.
Run the application.
The new feature should be available.

Screenshots

Known Issues
There are no known issues with this pull request.
References
Reviewers
Thanks!

Looks good to me.


Dev -> Master: 0.1 -> 0.1.4

Significantly updated functionality. See commits for further details.

8/8 TravisCI checks have passed, going ahead with the merge.


either bitcoin.active or litecoin.active must be set to 1 (true) ?? [no litecoin at all]

Background
admin@raspberrypi:~ $ cat /home/bitcoin/.lnd/lnd.conf
# RaspiBolt LND Mainnet: lnd configuration
# /home/bitcoin/.lnd/lnd.conf

[Application Options]
debuglevel=info
maxpendingchannels=5
alias=XXXX
color=#68F442
rpclisten=<IP_ADDRESS>:10009
tlsextraip=<IP_ADDRESS>/24

[Bitcoin]
bitcoin.active=1

# enable either testnet or mainnet
#bitcoin.testnet=1
bitcoin.mainnet=1

bitcoin.node=bitcoind

[autopilot]
autopilot.active=1
autopilot.maxchannels=10
autopilot.allocation=0.9

admin@raspberrypi:~ $ lnd
loadConfig: either bitcoin.active or litecoin.active must be set to 1 (true)

Your environment
rasbpy

Something in your config is wrong. Progressively remove (or comment) out items until it parses.

The issue is most likely to do with your alias including [].

I do not understand, you can see the config. What's wrong with it?

admin@raspberrypi:~ $ cat /home/bitcoin/.lnd/lnd.conf
# RaspiBolt LND Mainnet: lnd configuration
# /home/bitcoin/.lnd/lnd.conf

[Application Options]
#debuglevel=info
#maxpendingchannels=5
#alias=Mr_Man[LND]
#color=#68F442
#rpclisten=<IP_ADDRESS>:10009
#tlsextraip=<IP_ADDRESS>/24

[Bitcoin]
bitcoin.active=1

# enable either testnet or mainnet
#bitcoin.testnet=1
bitcoin.mainnet=1

bitcoin.node=bitcoind

[autopilot]
#autopilot.active=1
#autopilot.maxchannels=10
#autopilot.allocation=0.9
admin@raspberrypi:~ $ lnd
loadConfig: either bitcoin.active or litecoin.active must be set to 1 (true)

I've commented everything and I still get it...

@wpaulino @Roasbeef  and whoever read this ticket. The problem was that the lnd.conf was not in the right folder.. I followed the instructions here: https://github.com/Stadicus/guides/tree/master/raspibolt and something with the users configuration is wrong

In which folder should it be?

I believe the issue was with lnd looking in the wrong directory for the lnd.conf file, and once i configured that, it could not locate the bitcoin.conf file. I was able to make it work by explicitly passing the location of both files:
lnd --lnddir=/home/eyal/.lnd --bitcoind.dir=/home/eyal/.bitcoin

I was able to comment out the [Bitcoin] header line in the lnd.conf and was able to get this error to go away.  Ref issue #97 from Lit repo (https://github.com/lightninglabs/lightning-terminal/issues/97)


python310Packages.bc-python-hcl2: 0.3.37 -> 0.3.38

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.bc-python-hcl2 is: "Parser for HCL2 written in Python using Lark"
meta.homepage for python310Packages.bc-python-hcl2 is: "https://github.com/amplify-education/python-hcl2"
meta.changelog for python310Packages.bc-python-hcl2 is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38/bin/.hcl2tojson-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38/bin/hcl2tojson had a zero exit code or showed the expected version
0 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 0.3.38 with grep in /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38
found 0.3.38 in filename of file in /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
checkov
python310Packages.bc-python-hcl2
python39Packages.bc-python-hcl2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.bc-python-hcl2 https://github.com/r-ryantm/nixpkgs/archive/788917d54756c14b6bed968dd954de5027fd6e03.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38
ls -la /nix/store/2qp3f3x5x3pflivyb5mvnq39r9xybxcy-python3.10-bc-python-hcl2-0.3.38/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

checkov

2 packages built:

python310Packages.bc-python-hcl2
python39Packages.bc-python-hcl2

Maintainer pings
cc @anhdle14 for testing.

Superseded by #168710


Fixed codeclimate issues

Coverage remained the same at 100.0% when pulling 9729fa18c6dacb21919898d08a20683055366c64 on fix/fix-codeclimate-issues into a6c36eeee5fc1169c286e3cb1c4bcfa46472f50a on master.


Performance of the algorithm

Here we can discuss the performance of the various functions in the MOArchive3d class. I timed all the functions using the points sampled from the nondominated distributions as we discussed earlier in #4. I also include the leading coefficient of the polynomial fit of first or second degree (as determined by myself), which is sometimes useful for comparing, but should also be taken with a grain of salt. Also note, that the x axes are not always the same.
add:
3D:

computing hv for a set of n dominated points: O(nlogn)
adding n points one by one and computing hypervolume at each step: O(n^2)
adding s points after each generation and computing hypervolume at each step: O(n^2)
recalculating hv from scratch for every s new points: O(n^2/s logn)

4D:
For every new addition the whole caclulation is repeated - so adding one by one is very slow. That also means that using add list for each generation or recomputing every generation is actually the same.

contributing hypervolume:
Implemented naively, by calculating the difference between the hv with and without the element removed. It doesn't need to copy the archive so it works quite fast (only uses add, remove and calculate_hypervolume).
3D:

4D:

hypervolume improvement:
3D:
It is using one_contribution_3d function that is implemented as in the paper - quite fast.

4D:
Naive implementation - not so fast.

lexsort:
My implementation of the lexsort is about 10 times slower than the numpy one, but I think it is not the bottleneck in the algorithm (It is only used on initialization).
3D:

4D:

get kink points:
The function is used in the distance_to_pareto_front function (which is then just looping over the kink points, and calculating minimal distance - complexity O(n)). If distance_to_pareto_front is calculated for many points on the same archive, then it would be smart to not recompute the kink points every time. For comparison, there is also the initialization time for the archive of given size shown - in 3D kink points calculation is not much slower than the initializatino, while in 4D it is much more complex.
3D:

4D:

calculate hypervolume:
Calculating hypervolume for an already existing archive is implemented in linear time ni 3D. In 4D we always calculate it together with data structure initialization as we don't know how to update it.

I managed to implement a more efficient preprocessing function implementation, as it is described in the paper and it works much faster (can be seen on the updated graphs above - in add section). However this is only for adding all points at once, and now the difference between adding points all at once and one by one is really big. As we discussed, adding points one by one is very important use case as well, so I will also take a look if this can be done more efficiently.

Adding one point

Adding more points (1, 10 or 100):
When adding s new points to the archive of size n the complexity of adding them is:

O(sn) when adding one by one
O((n+s)log(n+s)) = O(nlogn) for s << n when reinitializing the archive

Updated graphs with time/archive size on y axis
Adding one point

Distance to pareto front

Contributing hypervolume

Hypervolume improvement