Run tests after model creation, persisting updates only if the tests pass

Feature
Feature description
There have been a bunch of suggestions int Slack to run tests during model creation, and only persist changes if the tests pass. Here is a sampling of such suggestions:
jdub:

It’d be interesting if dbt could run tests within a transformation transaction, and bail out of the transaction if the tests fail. [...] Simple things like the existing unique and null checks, but also more interesting tests like, “Did this transformation produce data within correct / sensible boundaries?”

Josh Temple:

Or create data in a staging environment, test it, and copy to production only if tests pass. That way if the tests don't pass, you have data you can reference and explore to understand why.

Leon:

I think the data lake paradigm for ETL is the ideal that we personally want to move to -> create everything in staging, run tests, update catalog conditionally on things passing

tmurphy:

The way we’re solving this is using zero-copy clones on Snowflake. Each merge request gets its own clone, and only once dbt runs successfully and passes do we merge the code in to be run on production.

Who will this benefit?
A paradigm like this would help ensure that errant transformations are caught before they are deployed to production.
Things to think about:

If the test fails for a model, should dbt revert the update and then SKIP all of the dependent models?
Should this rollback paradigm happen for every test? Or just certain designated tests?
How should this work for things like incremental models? They're going to be difficult to "roll back" without doing presumably expensive operations on BQ/Snowflake

There's lots more to discuss here too, so please drop your thoughts in the comments below!

I think this is a great idea. There are a few inter-related issues and features which I'll try to start picking apart. This would be a pretty major architecture change, so I think we will all benefit if we can get clear on the requirements, priorities, and streams of work.
Transactions
I feel strongly that DBT should be running in pseudo-transactions(henceforth "transactions") when it's running in production (i.e., there are downstream users querying the transformations). Here's why: in the middle of a DBT run, end users could receive  invalid query results if two relations have become inconsistent.
Imagine you're calculating an order rate among users as the share of users that have an order. If this query gets execute after the users relation has been created but before the orders relation has finished, you're going to get misleading results.
Proposed architecture:

All transformations get written into staging schemas like $staging_my_schema_name
Once the DBT run completes, you do the following (maybe in a db-level transaction for seamlessness):

All "live" relations get renamed to "$old_"
All of the new relations get renamed into their production namespaces
All of the "$old_" relations get dropped

In this world, end users will never be querying data that are part old and part new.
Concerns:

People who are using post-hooks for managing permissions may end up wanting to tweak when these permissions are getting set.

DBT Run Modes
As I've alluding to above, you probably do not want this transaction-like behavior when you're developing. To support this, I'd recommend implementing DBT run "modes" that allow users to control how DBT behaves with respect to handling this transaction-like behavior.
To start, I'd propose the following modes (not mutually exclusive):

with-staging-schemas: this gets you the transaction-like behavior described above
fail-fast: stop dbt run as soon as it encounters an error (in with-staging-schemas mode, this means that the new transformations will not be promoted)
keep-going: inverse of fail-fast -- dbt builds as many models as it can despite any errors encountered (this is the current default behavior, I believe)

Note: I'm not at all committed to these names and I'm sure we can come up with better ones.
Tests
Once the above concepts are implemented, we can add some configuration so that tests can cause "errors" which may or may not halt a DBT run depending upon which run mode we're in.
One could imagine another configuration flag that indicates whether or not tests should be counted as "errors" for the purpose of a dbt run.
The last feature, which I expect people will want, would be the ability to configure tests with severity levels. So we could introduce "log", "warn", and "error" types (or whatever) for tests, then we could update the configuration options so that different test failure levels can be handled differently. In my mind, this feature comes last.

See also https://github.com/fishtown-analytics/dbt/issues/1005 which is relevant.

Shooting blind here, but would it be possible to use tagging under the hood somehow to implement this? After running dbt test, dbt would tag models as failed or passed, and then the user would choose to run only models tagged as passed or failed.
This would also help in cases where you run successfully, test and find a few models failing tests, fix the issues with the models, and want to only re-run the models that ran successfully but didn't test successfully. In that case you could just run with tag failed.

@joshtemple I really like the workflow you're describing! I'm unsure if tags are going to be the best way to do it, but I think this is absolutely something that dbt should support

hey @Michael Kaminsky -- this is a pretty significant departure from how dbt currently works. I just took another scan through here, and I think your description of an all-or-nothing build is most closely aligned with how I think this should work. I think there are still some unanswered questions here, and I think the first step in making headway on this issue is probably making sure that we have most/all of our bases covered. Some questions I have:

how should incremental models work in this paradigm?
what do we do on BigQuery (it does not have a rename statement)
how do we interleave tests with models?
at what “level” are the old/new relations swapped? Do we rename whole schemas/datasets? Or the individual database relations?

@mikekaminsky I really like your view approach to incremental models! That's a fantastic way to test changes without applying them. I think you're right about the performance penalty, but maybe that's tolerable given the other benefits of this approach. AFAIK, the deep copy approach will probably work on every database in existence (definitely BigQuery), so that could also be compelling,
I'm always super wary of modifying dbt's materialization code, as we've done seemingly innocuous but wholly incorrect things in the past. There's a whole list of things to know like:

Redshift chokes if a table is dropped inside of a transaction at the same time as a user selects from that table
Redshift chokes if two drop table... cascade statements run concurrently, trying to drop the same downstream view
Redshift chokes if you look at it funny
Snowflake's views cannot be renamed if the tables they depend on have changed in ways that make the view no longer valid
BigQuery has draconian limits around ddl/dml operations like:

Maximum number of table operations per day — 1,000
Maximum rate of dataset metadata update operations — 1 operation every 2 seconds per dataset

There is more to this list, but I just wanted to sketch out the kind of thinking that goes into a feature like this. These constraints are individually workable, but together, make it challenging to design a feature that 1) operates as intended and 2) uses each database to its fullest potential.
In the past, we've built features that weren't implemented on certain databases due to limitations of the database itself. BigQuery, for instance, only got create table as syntax within the past year! The biggest challenge here is going to be defining the desired dbt workflow, then figuring out how to make it happen for each database. So, I do really like your idea of DBT Run Modes from above. It could just be that this more advanced stuff isn't available on BQ until that particular technology reaches DDL parity with the rest of dbt's adapters.
Last, I agree that we should tackle the model building part of this first, then add testing into the mix separately. That change has more to do with how dbt's graph selector includes nodes in a given run, and should "just work" once this "atomic swap" paradigm is implemented.
PS I think we'll need to make dbt drop these new relations somehow. A failed run should stick around long enough to debug the problem, and then should be easy to clean up with a dbt command IMO.

Lots of good thoughts, @drewbanin!
I'd be interested in moving this forward without bigquery support (especially because of the draconian ddl limits!!)
You definitely have a better perspective on where / how this can go wrong given the diversity of implementations you've seen. I've only really seen a handful (and all of them with redshift), so I just haven't seen these issues crop up. I'll defer to you if this is worth moving forward on!
Regarding having DBT clean up, it sort of depends on how you implement it. We could have DBT drop the old, failed relations, or we could also just let those get blown away when the next successful run happens (if we build everything in a dedicated staging schema like $dbt_staging it'd be pretty straightforward to just DROP CASCADE that schema when we want to clear out the old stuff.
Another comment incoming on late-binding views ...

When building relations in "staging" mode, we need to make sure they are not late-binding. Let's imagine we have table_a and view_b in our build where view_b depends on table_a.
In atomic mode, we run CREATE TABLE $dbt_staging.table_a AS ... and then CREATE VIEW $dbt_staging.view_b AS SELECT .... FROM $dbt_staging.table_a.
At the end of the run, we run RENAME $dbt_staging.table_a TO prod_schema.table_a; RENAME $dbt_staging.view_b TO prod_schema.view_b; If the view was late-binding, when we do the rename the view won't be pointed to the correct place!
So the view would need to be "regular" in order for this to work. Since we use late-binding views to get around the DROP CASCADE that happens during a non-atomic build, I think this will be fine unless there's some other use case for late-binding views I'm not thinking of!

@mikekaminsky I totally buy the premise but I'm unsure about that implementation. For one, relations on Redshift can't be renamed across schemas :)
Will keep this in mind, but I think that we'll likely be best served by late binding views in the general case. Redshift (and Postgres) are really the only databases out there that support bound views, so I'd be hesitant to leverage them as a core part of this strategy.

"Redshift chokes if you look at it funny" quote of the century.
There's another potential option @mikekaminsky 's view + UNION suggestion, which is to use APPEND once the test is successful
Downsides are that it commits implicitly, and can't be run in a transaction, also needs a vacuum, although Redshift does that automatically these days so don't worry about it. Upsides are that it is a metadata operation and almost instant.
Ideally I would do something like this however since you can't append in a transaction...

CREATE TABLE "tempy" LIKE destination_table
.. do the incremental insert into "tempy"
...create the view over "tempy" & destination_table
... run the tests

--if the tests succeed:
BEGIN TRANSACTION;
DELETE FROM destination_table WHERE exists ( select unique_key from "tempy" table );
ALTER TABLE destination_table APPEND FROM "tempy" table;
COMMIT;

There might be a cleverer way to do it that doesn't lead to a timespan where destination_table has deleted data. The reason for reducing the update&insert into a delete&append is that updates already work by marking rows as deleted, and inserting both insert&update rows to the unsorted sector at the end of the table so may as well do the same. Vacuuming takes care of garbage collecting deleted rows, but any sorting is not auto but as per standard Redshift that's already maintenance the user has to worry about.

Deepcopy is faster than doing a vacuum and recommended in some cases, but uses a huge amount of space and does take a long time for large tables. I've seen 28 mins for a ~1TB table, although it was on a small 6 node cluster.
Late-binding is preferred for views, mainly because we don't want to drop views when dropping tables and CASCADE is scary.

hey @davehowell - cool idea! We played around with alter table ... append before. I'm not sure if the requirements changed, but in #395 I found that:

both the source and destination tables must be permanent
both tables must share identical schemas (i think including varchar sizes)

this is tractable (but hard) given that the source data we want to append is generated from a select statement. Redshift determines the exact column types as the result of the query

dbt's incremental models currently use delete + insert for exactly the reason you've described!

If you create a permanent (I called it "tempy" because it's permanent but you would drop it later) table using "like" then the properties are identical, you've cloned the metadata of the destination table. That the increment comes from a select statement is inconsequential, because the "append" is from "tempy" to the destination table. If the incremental select can be coerced directly into the destination table then it follows it will successfully be inserted into a table just "like" it. Sure when the incremental model is first run it determines the datatypes of that destination because CTAS, but in this scenario the datatypes have been set in stone already.

Oh, roger, i think i misread tempy :)
dbt actually does some amount of "column expansion" for incremental currently. The first time you run an incremental model, it's possible that the type of your last_name column is varchar(12). Then, someone with a longer last name signs up, and then type generated by Redshift is instead varchar(32). In this case, dbt resizes the column in place for you.
In order to determine the datatypes for the newly selected data, we'd probably need to create a temp table from a select statement, inspect the types, then insert into the tempy table, then append into the destination table.
The alternative is of course to not do column expansion (or try to handle changing column type inconsistencies at all!) which is honestly a pretty reasonable answer. It just means that folks might be running a whole lot of --full-refreshes :)
In the interest of completeness, I think that another solution to this is to have users specify their model types in their sql statements, eg:
select
  first_name::varchar(128) as first_name,
  last_name::varchar(128) as last_name,
...

I think if we imposed this responsibility on users, then the append statement would be a little more tractable for most use cases.
Final thoughts: If you'd like, we can re-open the discussion on #395 to discuss the use of alter table append in dbt. I think that's a more appropriate place for us to go deep on this particular Redshift optimization.

Ah yes that would be a problem. I knew about the column expansion, that's bitten me in a weird edge case where the dist-key field became a candidate for expansion, and altering dist-keys is another case where Redshift chokes. Of course, the fix was exactly as you suggested, explicitly casting the column type :)
I think column-expansion is really nice for analysts, same with CTAS type-inference generally, so it totally makes sense for the dbt use-case of accelerating the analyst workflow, but I secretly hate inferred types and have started casting explicitly anyway. I also apply some encoding/compression as well with macros on first-run of incremental models. Actually I hate that I have to do so much hand-holding for Redshift and I keep hearing the wonders of Snowflake...but I digress.
So yeah I totally agree that column-expansion is a case of being too nice to users, but now it's there you can't really take it away without making analysts face up to the realities of strong types.  Maybe allow disabling of that feature, or disabling it when this testing mode is enabled. Or maybe just as you said take the functionality away and make people use explicit types. In most cases they wouldn't be needed anyway.


feat: add getRequirements as a subcommand

for #34

close #34

thanks @runz0rd for your contribution ! :)


Still couldn't validate schema 😕

Still some of my users got couldn't validate schema... error :(
I dove deeper into it and saw that sometimes collections don't have lastModified param which is required in the schema.
What I suggest is to:

maybe not making it optional, but
a) filter out records without it
b) make it default to new Date() when function is called?
I think that every inconsistency in schema shouldn't throw a direct error, rather skip this entry and return all that matches, what do you think? It seems reasonable, as we can't predict how reMarkable will change their api. Also in this particular case only one entry isn't matching and the whole operation is rejected 😕
last thing I want to mention is to maybe enable an option to hide user files from this error? It shouldn't expose direct files structure in just an error, don't you think?

Thanks in advance!

Thanks for reporting!
If some files don't have lastModified, then the type shouldn't require it, as it's not consistent with what's returned. Therefore, I just made lastModified optional.
Because you've run into this a few times, and the types are just what I saw not an actual contract, I also added an option that allows turning off verification, by adding a { verify: false} to most calls. This ideally shouldn't be used, because it breaks typescript guarantees, but if you run into it again, you won't need me to fix it.

this should be fixed in v4.0.0

Seems like implementation is ok, but Typescript types are missing from the final bundle? Could you check it, please?

Can you be more specific with your error? npm is showing the types.

Yes, but without { verify } param, shouldn't it be there?

@erikbrinkman

I'm not sure what you're asking. What I updated should have fixed the verification issue you were seeing, and if you ever see it again, add { verify = false } to temporarily disable it. What problem are you seeing?

I'm talking about missing types in type definitions as, for example, getEntriesMetadata doesn't have any type parameters defined. Then when I'm trying to use it, it's complaining about missing type definitions. I silenced it using @ts-expect-error, but I think final types should be present in output bundle ;)

I see, I forgot to update the interfaces to reflect the underlying change. This should fix it in 4.0.1


Install the Azure AD Connect provisioning agent by using a CLI and PowerShell (Add-AADCloudSyncADDomain) fails

Install the Azure AD Connect provisioning agent by using a CLI and PowerShell (Add-AADCloudSyncADDomain) fails
https://learn.microsoft.com/en-us/azure/active-directory/cloud-sync/how-to-install-pshell
The process fails on step 13
pwsh Add-AADCloudSyncADDomain -DomainName contoso.com -Credential $contosoDomainAdminCreds
The error shows
Add-AADCloudSyncADDomain : Could not load file or assembly 'Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its
dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
At line:4 char:1
+ Add-AADCloudSyncADDomain -DomainName "actenum.local" -Credential $con ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-AADCloudSyncADDomain], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.CloudSync.Powershell.AddAADCloudSyncADDomain

Findings
The AADConnectProvisioningAgent installer, installs Newtonsoft.Json.dll version 13, but the command fails because it requires version 12. Manually replacing the DLL on C:\Program Files\Microsoft Azure AD Connect Provisioning Agent with version 12 fixes the issue, but for an automated deployment is failing.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b137e370-23ff-b91f-1d27-91d443eb6622
Version Independent ID: 6c827baa-592b-3c2a-bea6-dceaf6d394ba
Content: Install the Azure AD Connect cloud provisioning agent using a command-line interface (CLI) and PowerShell - Microsoft Entra
Content Source: articles/active-directory/cloud-sync/how-to-install-pshell.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@dgonzalezp
Thanks for your feedback! We will investigate and update as appropriate.

Hi, any news on that issue ?
I'm facing the same problem
Thanks !

Same here I have to install old version.

I've the same problem. Any idea when this problem will be solved?

Thank you for your issue submission. Unfortunately, this appears to be a problem with the cmdlt and a support issue. Issues in this repo are for documentation issues. You can try one of the following links for additional help.
Microsoft Support: https://support.microsoft.com/
Azure AD forums: https://social.technet.microsoft.com/Forums/en-US/home?forum=windowsazureaditpro
Stackoverflow: https://stackoverflow.com/
#please-close

Any updates...?

Any updates?

Don't forget to copy it back for the actual run, otherwise the agent won't start.
Connect-AADCloudSyncAzureAD -Credential $Credential1
Add-AADCloudSyncGMSA -Credential $Credential2
Copy-Item C:\Temp\AVDDSC\Newtonsoft.Json.dll "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll" -Force
Add-AADCloudSyncADDomain -DomainName $DomainName2 -Credential $Credential2
Copy-Item "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\RegistrationPowershell\Newtonsoft.Json.dll" "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll" -Force
Restart-Service -Name AADConnectProvisioningAgent

Thank you @MariuszFerdyn & @KrazeyKami - here's how I worked around it:
`Rename-Item "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll" -NewName "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll-ori"
Backup original (included) Newtonsoft.Json.dll
$src="http://publicbinaries.blob.core.windows.net/bins/Newtonsoft.Json.dll"
$dst="C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll"
(New-Object System.Net.WebClient).DownloadFile($src, $dst)
Download older version of Newtonsoft.Json.dll
$preferredDCs = @("dc01")
Specify pref DCs
Add-AADCloudSyncADDomain -DomainName  -Credential $contosoDomainAdminCreds -PreferredDomainControllers $preferredDCs

Rename-Item "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll" -NewName "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll-old"
#Rename older Newtonsoft.Json.dll or optionally delete it!
Rename-Item "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll-ori" -NewName "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Newtonsoft.Json.dll"
Restore the original Newtonsoft.Json.dll
Restart-Service -Name AADConnectProvisioningAgent
`


fix: Improve attention component styling

Improve attention component by running the recompute function on render.
Ensures that arrow/highlight position is computed correctly on first render, giving correct styling if the highlight is shown by default.

Not sure it's related, but I see that there's another recompute call resulting from this.requestUpdate(). It gets triggered at the end of updated() method (see code), which is the last method in the update lifecycle. handleDone triggers a recompute, too, so I was wondering if any of the two would be redundant here.

I think we need to keep both recompute calls. 🤔  If we remove this recompute from the updated() method, then the repositioning of both the attention-element and the arrow-element could jump and get misaligned. See video for example:
https://github.com/user-attachments/assets/568b85c1-ad70-4047-baff-ba631d7cfb20

Good points! I'll merge.


Make the alert popup on delete of client a MUI modal component (ClientListTableRow.jsx)

Issue:
When clicking the delete icon in the table of clients, an alert message pops up to confirm.  Need to use an MUI modal and styling to match rest of app instead.

Direction:
Take inspiration from our other MUI modals to have similar styling for this.
LogoutModal, AddClientModal (which isn't 100% complete yet), and even InactivityMessage are all closely styled and fit within the app theme.

@xscottxbrownx I am interested in this, can you assign this to me?

@xscottxbrownx I am interested in this, can you assign this to me?

Have you read this repo's readme's on contributing and such?
When creating new branch from Development for this, make sure to start branch name with issue-223/ followed by whatever you want to call branch (something like: "delete-client-modal")

@xscottxbrownx I have a made delete client modal and it works fine, I have attached a screenshot of it, could you review it, please?

@xscottxbrownx I have a made delete client modal and it works fine, I have attached a screenshot of it, could you review it, please?

Well, all I can do right now is see what it looks like from your screenshot.
Can you make a pull request, so I can test on local machine and look at the code?

@xscottxbrownx I have a made delete client modal and it works fine, I have attached a screenshot of it, could you review it, please?

Well, all I can do right now is see what it looks like from your screenshot.
Can you make a pull request, so I can test on local machine and look at the code?
And in the future, could you make sure you get assigned to the issue before proceeding? You didn't get assigned because you never responded to my questions.
If an issue isn't assigned, other developers will think it's free to be worked on and it will lead to somebody wasting their time or merge conflicts.

As a beginner to open source, I didn't know about it, but in the future, I will take care of it, thank you @xscottxbrownx for helping me.

@xscottxbrownx I have a made delete client modal and it works fine, I have attached a screenshot of it, could you review it, please?

Well, all I can do right now is see what it looks like from your screenshot.
Can you make a pull request, so I can test on local machine and look at the code?
And in the future, could you make sure you get assigned to the issue before proceeding? You didn't get assigned because you never responded to my questions.
If an issue isn't assigned, other developers will think it's free to be worked on and it will lead to somebody wasting their time or merge conflicts.

Now i made a pull request with the title Created DeleteClientModal, could you review, please

Now i made a pull request with the title Created DeleteClientModal, could you review, please

Thank you.
Also just another thing to help with GitHub use...   you can link to an Issue or PR  by using it's number.
So in this case you could add #257 and it would provide a link to the PR you created.   As soon as you type the # symbol it should popup a list for you to select from.   Just another tip.

We may want to reassign this to @xscottxbrownx since he is now taking over responsibility.

Assignment switched to @xscottxbrownx


Version in pubspec.yaml should be 1.0.3

The package from pub.dev is now at version 1.0.3  since may the 18th but the version in the pubspec.yaml file is still at 1.0.2.
It should be 1.0.3.

Pushed now to master


Added new gamemode, time left alert

Added time left alert

New Gamemode: "Climb"
This is TETR.IO Quick Play 2 but for teti, for hyperspeed practice i guess...

great implementation, especially love how you recreated the flashing text and the climb bar.
remember to pull main so that stuff is synced

about the grade system, i'm not doing it right now cus i'm busy for studying
maybe next update...

F10 Any% WR

ok wow that looks good (feel free to change the font to something more readable for timers)


Planning: Create Roadmap for the framework development in 2016

Add page in documentation (http://slashgames.org:8090/display/SF)
Roadmap should be pretty high level and only list the release dates and the goals that we like to achieve with every release.
Flag specific issues in github issue tracker to indicate in which version they will be added (set Milestone)

Created a page in the wiki: http://slashgames.org:8090/display/SF/Roadmap
Added basic structure of the roadmap page, using the structure of the Unity roadmap (https://unity3d.com/unity/roadmap)
Todo together with @npruehs:

Setting date for version 1.0
Flagging issues for version 1.0

No roadmap will be used, the framework will be extended while using it in projects and with help of the issue tracker


Make URL context path configurable do not require security questions

Hi,
We are currently switching from our old LDAP Server to IPA and we want to use mokey for password resets. There are two things that are bothering us a bit, although we will probably be able to use mokey anyways.
1: We need to set a root context path for mokey so the it will be available via https://url.com/mokey/.
2: It is possible to deactivate the security question for password resets, but when a user tries to log in he is still asked to provide a security question. It would be nice if those security questions could be turned off completely.
Apart from this: Great app. Thanks and keep it up!
regards,
Jörg

Regarding the context path:
I am not a GO developer, but am I right that this needs just a small adjustment in server.go?
viper.SetDefault("context_path", "")
...

// Public
	router.PathPrefix(viper.GetString("context_path") + "/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(fmt.Sprintf("%s/static", ctx.Tmpldir)))))
	router.Path(viper.GetString("context_path") + "/auth/login").Handler(handlers.RateLimit(ctx, handlers.LoginHandler(ctx))).Methods("GET", "POST")
	router.Path(viper.GetString("context_path") + "/auth/logout").Handler(handlers.LogoutHandler(ctx)).Methods("GET")
	router.Path(viper.GetString("context_path") + "/auth/forgotpw").Handler(handlers.RateLimit(ctx, handlers.ForgotPasswordHandler(ctx))).Methods("GET", "POST")

	// Token required
	router.Path(fmt.Sprintf(viper.GetString("context_path") + "/auth/setup/{token:%s}", app.TokenRegex)).Handler(handlers.SetupAccountHandler(ctx)).Methods("GET", "POST")
	router.Path(fmt.Sprintf(viper.GetString("context_path") + "/auth/resetpw/{token:%s}", app.TokenRegex)).Handler(handlers.ResetPasswordHandler(ctx)).Methods("GET", "POST")
...

@joerg We're about to release a new version of mokey (v0.5.1) that completely removes the security question and also adds user sign up. We should be releasing soon.
Regarding the context path, yes we should be able to include this feature in the next release.

Amazing. This is great news, thanks a lot!
P.S.: I found that the README still mentions IPA 4.1 as a requirement. Maybe you could update them for this release. ;-)


can ARIMA  model   deal with periodicity of time series？

can ARIMA  model   deal with periodicity of time series？
I didn't find the parameters involved in pyflux.

You mean seasonality/cycles? Unfortunately I didn't get the time to implement these extensions - would be super nice to have in future.


Sas48 event

This PR takes care of adding Makeen as a group and adding Sas48 event.

PS: Need to confirm the start time and end time of the event.

Nice! Thanks again for your contributions.
Right now the events are in November 😅 I think it's safe to estimate the time as long as the date is correct and then we can make a new PR to update the time after.


Scroll to top on "refresh"

Hey there, I'm having an annoying issue, I wonder if it's an intended "feature", a configuration issue, or an actual bug.
If I got a column with a lot of items on it, so that it won't fit on one screen, there's a scrollbar. If I scroll down to see items in the bottom, after a few seconds i'll get automatically scrolled back to top. My guess is that it does so after a "db check for update", but it's pretty annoying on a day to day use basis.
Is anyone facing the same issue, or having an idea on how to fix this ?
If this helps reproducing the bug (haven't had time to test extensively), said column have items with longish descriptions so that some of them also  have "internal" vertical scrollbars. I doubt it's involved in causing the situation, but who knows.

Still there after so many time. Is a fix planned?

@deligant Yes and yes. I'm currently re-writing TaskBoard and this issue will be gone thanks to the new architecture.


Week 4: TDD + Scheduling Algorithm

TDD Intro:

modify code to trim whitespace and remove special characters such as @%#$
add relevant test to test the functionality of symbol removal

TDD Project:

add Claudia's test case to the test file
Algorithm: Let E be the number of events running and P be the maximum number of participants in each event. Then, the algorithm will run in O(ElogE + EP) time. Firstly, we need to create overlappingTime, which takes O(EP) as we need to iterate through each events and use retainAll to check for intersections (takes O(P) time). After that, we need to merge this array, which can be done by sorting it (takes O(ElogE) time) and merging it greedily, which takes O(E) time as we only need to iterate and all operations within are O(1). Finally, we can use sliding window to mark available time which satisfy the duration. Again, this takes O(E) time. So, the total complexity is O(ElogE + EP).

Note that when E is big (>200), we can construct a better algorithm with complexity O(EP + N) where N is the number of timestamps. One modification we can do is use a Boolean Array with size N (which is finite!), in this case the size is only 24*60=1440 instead of sorting the events. We first initialize this array with true. After determining which timestamps are unavailable, we immediately mark them as false inside this Boolean array. After that, we can just iterate through this array to determine which timestamp is available and compare them accordingly with the intended duration.

Great algorithm.
Time complexity analysis can actually be part of the function comment instead of in the PR description.
I think you missed to consider the complexity of sorting, so you might want to add that.

My bad, you already consider sorting in the ELogE component. All good.


Error trying to build the visual encoder for llava-v1.6-34b-hf using build_visual_engine.py

System Info

2x H100 80GB on docker container (nvidia/cuda:12.4.1-devel-ubuntu22.04)
last version of the library

Who can help?
No response
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[x] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction

Installation of tensorrt_llm as described in https://nvidia.github.io/TensorRT-LLM/installation/linux.html
download of llava-v1.6-34b-hf model as described in https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/multimodal/README.md
run the script python3 build_visual_engine.py --model_path tmp/hf_models/${MODEL_NAME} --model_type llava_next --model_path tmp/hf_models/${MODEL_NAME} --max_batch_size 5

Expected behavior
conversion of the visual encoder in  .engine format.
actual behavior
Received an error:
[TensorRT-LLM] TensorRT-LLM version: 0.12.0.dev2024080600
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 15/15 [00:01<00:00, 11.09it/s]
[08/08/2024-10:27:28] [TRT] [I] Exporting onnx to tmp/trt_engines/llava-v1.6-34b-hf/vision_encoder/onnx/model.onnx
Traceback (most recent call last):
File "/workspace/test/TensorRT-LLM/examples/multimodal/build_visual_engine.py", line 817, in
builder.build()
File "/workspace/test/TensorRT-LLM/examples/multimodal/build_visual_engine.py", line 84, in build
build_llava_engine(args)
File "/workspace/test/TensorRT-LLM/examples/multimodal/build_visual_engine.py", line 374, in build_llava_engine
export_onnx(wrapper, image, f'{args.output_dir}/onnx')
File "/workspace/test/TensorRT-LLM/examples/multimodal/build_visual_engine.py", line 118, in export_onnx
torch.onnx.export(model,
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 516, in export
_export(
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 1612, in _export
graph, params_dict, torch_out = _model_to_graph(
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 1138, in _model_to_graph
graph = _optimize_graph(
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 677, in _optimize_graph
graph = _C._jit_pass_onnx(graph, operator_export_type)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/utils.py", line 1956, in _run_symbolic_function
return symbolic_fn(graph_context, *inputs, **attrs)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/symbolic_helper.py", line 306, in wrapper
return fn(g, *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/symbolic_opset14.py", line 176, in scaled_dot_product_attention
query_scaled = g.op("Mul", query, g.op("Sqrt", scale))
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 87, in op
return _add_op(self, opname, *raw_args, outputs=outputs, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 238, in _add_op
inputs = [_const_if_tensor(graph_context, arg) for arg in args]
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 238, in
inputs = [_const_if_tensor(graph_context, arg) for arg in args]
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 269, in _const_if_tensor
return _add_op(graph_context, "onnx::Constant", value_z=arg)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 246, in _add_op
node = _create_node(
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/jit_utils.py", line 305, in _create_node
_add_attribute(node, key, value, aten=aten)
File "/usr/local/lib/python3.10/dist-packages/torch/onnx/internal/jit_utils.py", line 356, in add_attribute
return getattr(node, f"{kind}")(name, value)
TypeError: z(): incompatible function arguments. The following argument types are supported:
1. (self: torch._C.Node, arg0: str, arg1: torch.Tensor) -> torch._C.Node
Invoked with: %482 : Tensor = onnx::Constant(), scope: main.build_llava_engine..LlavaNextVisionWrapper::/transformers.models.clip.modeling_clip.CLIPVisionTransformer::vision_tower/transformers.models.clip.modeling_clip.CLIPEncoder::encoder/transformers.models.clip.modeling_clip.CLIPEncoderLayer::layers.0/transformers.models.clip.modeling_clip.CLIPSdpaAttention::self_attn
, 'value', 0.125
(Occurred when translating scaled_dot_product_attention).
additional notes
The environment was set up exactly as described in the documentation, using a Docker container with Ubuntu (https://nvidia.github.io/TensorRT-LLM/installation/linux.html).
The build of the LLM part,  completed successfully without any issues.
I suspect the problem may be due to a mismatch of the libraries installed by the TensorRT-LLM installation procedure.
I have no idea how to resolve this issue.
Is there anyone who could provide some guidance on where to start?
Thank you.

I'm facing the same issues. Any updates on this @alexemme ？ Thank you.

@pathorn @ttim @Superjomn can somebody help me please?

I'm facing the same issues. Any updates on this @alexemme ？ Thank you.

No updates

@alexemme Can you try this on latest preview package?
Tested this on latest package and engine build runs without error for both llava-v1.6-mistral-7b-hf and llava-v1.6-34b-hf
An earlier version might have had a package mismatch.

@alexemme If you have no further questions, we will close it in a week.


Release 0.15.4

Scheduled release date: TBD
This is a tracker to aggregate issues that should be part of 0.15.4. Please add specific Issues or PRs prefixed with the "Depends on" keyword (and remember that PRs need to be backported to the release-0.15 branch).
Depends on https://github.com/submariner-io/submariner-operator/pull/2971

@maayanf24 are we actually going to cut more 0.15 releases? Trying to figure out if I need to backport CVE patches to this branch.


chore Support Java UDF

Proposed changes
Issue Number: close #xxx
Problem summary
Previously, there are some issues with BE (built with Java UDF support) on macOS and we disable it by default (#13563).
Now, all issues are resolved.

ulimit -n doesn't work.
Root cause
RLIMIT_NOFILE will be assigned the minimum of OPEN_MAX (10240) and rlim_cur when create a Java VM.
openjdk (tag: jdk-11+16)
src/hotspot/os/bsd/os_bsd.cpp
jint os::init_2(void) {

  os::Posix::init_2();

  // initialize suspend/resume support - must do this before signal_sets_init()
  if (SR_initialize() != 0) {
    perror("SR_initialize failed");
    return JNI_ERR;
  }

  Bsd::signal_sets_init();
  Bsd::install_signal_handlers();
  // Initialize data for jdk.internal.misc.Signal
  if (!ReduceSignalUsage) {
    jdk_misc_signal_init();
  }

  // Check and sets minimum stack sizes against command line options
  if (Posix::set_minimum_stack_sizes() == JNI_ERR) {
    return JNI_ERR;
  }

  if (MaxFDLimit) {
    // set the number of file descriptors to max. print out error
    // if getrlimit/setrlimit fails but continue regardless.
    struct rlimit nbr_files;
    int status = getrlimit(RLIMIT_NOFILE, &nbr_files);
    if (status != 0) {
      log_info(os)("os::init_2 getrlimit failed: %s", os::strerror(errno));
    } else {
      nbr_files.rlim_cur = nbr_files.rlim_max;

#ifdef __APPLE__
      // Darwin returns RLIM_INFINITY for rlim_max, but fails with EINVAL if
      // you attempt to use RLIM_INFINITY. As per setrlimit(2), OPEN_MAX must
      // be used instead
      nbr_files.rlim_cur = MIN(OPEN_MAX, nbr_files.rlim_cur);
#endif

      status = setrlimit(RLIMIT_NOFILE, &nbr_files);
      if (status != 0) {
        log_info(os)("os::init_2 setrlimit failed: %s", os::strerror(errno));
      }
    }
  }
...

Here MaxFDLimit is true by default.
Solution
Disable MaxFDLimit on macOS.

Core dump when using lldb to debug.
Environment variable DORIS_JNI_CLASSPATH_PARAMETER should be set before BE starts and BE use this variable to get the classpath needed by JVM.
We can provide a workaround. If DORIS_JNI_CLASSPATH_PARAMETER is unset, we scan the ${DORIS_HOME}/lib to get the jars and produce the classpath.

Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 37.84 seconds
load time: 570 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221027115254_clickbench_pr_34548.html

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.94 seconds
load time: 559 seconds
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221027081127_clickbench_pr_34660.html


Installed this over docker, but api calls seems to be not working

Describe the bug
<EMAIL_ADDRESS>this is the url where i have installed the docker and installed your project , but the api is giving me not found value everytime, instead of a response, so can you help with this?

Hello @anantsparrow,
Thank you for raising this question.
Please ensure you have enabled Google Datastore and authenticated either directly online or in the local emulator, as outlined in the installation requirements.
Additionally, the search criteria will need data to display results. For instance, if your Datastore is not populated with sample data, you might not see any results.
Please let me know if you are trying to use this as a service or if you are developing/adding more features to it.
If you are just looking to use it, the direct API routes and website will be helpful. If you are looking to develop/add more features to this API, you may need to start populating some content into the primary tables like xon, xon_alert, etc., to see output.

Let me try again, i am not that much technical in this, i will update you if i face any error


Run a minimal circleci maven build on 3.14 branch

@swankjesse not sure how else to avoid the noise of broken builds on branch PRs

@swankjesse Landing to clear errors on branch PRs.  No risk to the branch (just a circleci build) and publishing is via TravisCI post build script.

LGTM!


APP-413: Links fixed upon manual QA review.

@kaa-leeroy test this fully please

@kaa-leeroy test this fully please

@kaa-leeroy test this fully please


M2: Basic performance improvements

Replaced several forEach loops with faster for loops
forEach is quite a bit slower in Chrome than a traditional for loop. Until Chrome better optimizes forEach, we probably want to avoid it in any code path that executes frequently.
Interestingly, forEach seems to be fairly comparable to for on Firefox.
Simplified translation value transform
Turns out it's not necessary to incur the expense of cloning the bone to translate it. Rather, simply cloning the bone's position and calling add() on it with the translation vector gets the job done.

:tada:


Rfs Unified Client

Description
Rewrite RFS to use a unified http client with sigv4 support.
Refactors the SigV4 client use the non-deprecated AwsV4HttpSigner
Note: Changes in migration console/cdk to call RFS with these parameters has not been added.

Category Refactoring, Maintenance
Why these changes are required? Reduce surface area for bugs
What is the old behavior before changes and new behavior after changes? No SigV4 Support, now SigV4 is supported with new parameters to RFS.

Issues Resolved
MIGRATIONS-1842
Is this a backport? If so, please add backport PR # and/or commits #
Testing
Unit test suite
Tested some new flows with SigV4 which showed correct verification on the server in positive and negative cases
Positive

2024-07-26 19:52:42,590 INFO c.r.CreateSnapshot [main] Running CreateSnapshot with --snapshot-name sigv4testsnapshot --s3-repo-uri s3://migration-artifacts-767398060394-aws-integ-us-east-2/folder --s3-region us-east-2 --source-host https://vpc-instance-store-backup-4a5wsdhlqoemni5sr2ptv5ynsy.us-east-2.es.amazonaws.com:443 --source-sigv4-region us-east-2 --source-sigv4-service-name es --s3-role-arn arn:aws:iam::767398060394:role/OS-Snapshot
2024-07-26 19:52:43,823 INFO c.r.w.SnapshotRunner [main] Attempting to initiate the snapshot...
2024-07-26 19:52:46,411 INFO c.r.c.SnapshotCreator [main] Snapshot repo registration successful

Negative

2024-07-26 19:48:31,893 INFO c.r.CreateSnapshot [main] Running CreateSnapshot with --snapshot-name sigv4test --s3-repo-uri s3://migration-artifacts-767398060394-aws-integ-us-east-2/folder --s3-region us-east-2 --source-host https://vpc-instance-store-backup-4a5wsdhlqoemni5sr2ptv5ynsy.us-east-2.es.amazonaws.com:443 --source-sigv4-region us-east-2 --source-sigv4-service-name es2 --s3-role-arn arn:aws:iam::767398060394:role/OS-Snapshot
2024-07-26 19:48:33,099 INFO c.r.w.SnapshotRunner [main] Attempting to initiate the snapshot...
2024-07-26 19:48:35,735 ERROR c.r.c.OpenSearchClient [reactor-http-epoll-2] Could not register snapshot repo: _snapshot/migration_assistant_repo. Response Code: 403, Response Message: Forbidden, Response Body: {"message":"Credential should be scoped to correct service: 'es'. "}

Check List

[x] New functionality includes testing

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@gregschohn, Please take a look at the changes to the awsUtilities SigV4Signer

Adding @peternied as assigner as he reviewed the draft pr

#1 concern - please bring back the streaming approach to payload processing for sigv4 rather than buffering. I don't believe that the latter is tenable for the loads that I've seen go through some clusters. There were a number of other copies that should be replaced with adapters. In some cases, the copies may break existing behaviors.

I addressed this concern and many of the nit's that you left


Updated element IDs for new Fastmail layout

The DOM changed with the latest UI refresh, so I updated the handlers to look for the new IDs.
A: This is fragile. There must be a better way.
B: The fact that we assure the document looks like we expected means we failed safely, so there's that.

Hi! Thanks for the patch.
I think a better way may be to check the current URL within the Fastmail code perhaps? For example, when viewing a mail,
it looks something like this: https://www.fastmail.com/mail/Inbox/{mail-id}, but when replying to one, it's https://www.fastmail.com/mail/Inbox/compose/{mail-id}. Would this give you enough safety checks to know when to run the shortcuts?

Another idea is to somehow override the Fastmail bindings. In their source code they have this inside mail.mod.js:
    Uo = {
        r: "reply",
        a: "replyAll",
        "Alt-r": "replySender",
        f: "forward",
        n: "goNext",
        p: "goPrevious",
        e: "toggleExpand",
        s: "toggleFlagged",
        '"': "toggleQuotes",
        ":": "toggleDetails",
        ";": "showActions",
        "Shift-E": "expandAll",
        "Alt-Shift-E": "collapseAll",
        "Shift-L": "showRemoteImages",
        "Cmd-a": "selectMessageBody"
    },

perhaps one could extend it and simply add the arrow shortcuts there. But I think the URL approach is simpler


[Bug?] Weird magical mysterious crashes during scanning

https://media.discordapp.net/attachments/461797735427735562/876235551248904243/unknown.png
Hell if I know what's going on

@NovaSAurora have you run into this error at all on the same discs? A lot has changed this past month.

Can't reproduce, closing.


Fix conditions in UnusualGuestActivity.yaml

Change(s):

Take the correct part ([0]) of #EXT# users in AuditLogs.
Replace "@" by "_" to make correct comparisons.
Add AADNonInteractiveUserSignInLogs to make comparisons.
Make the join comparing the InvitedUser, NOT the user that made the invitation (InitiatedByUser).
Comment the line where the user who made the invitation has to be a Guest.
Remove Office365 Shell WCSS-Client app.
Change OperationName conditions.

Reason for Change(s):

In my tenant these Guest users have the following format<EMAIL_ADDRESS>#EXT# users have their "@" character automatically replaced by "_", I prefer not to bring "@" back to make comparisons.
An attacker does not need to signin interactively in a Powershell app as their first step.
The description talks about a guest user who is invited AND this invited user signins with a Powershell app, NOT that a guest user invites a user AND the user who made the invitation signins with a Powershell app.
I think the interesting part is the invited user signins with a Powershell app, not the nature of the inviting user. The reference link does not talk about this scenario.
I think this app is logged by usual web browser activities.
I have observed in my tenant some bulk OperationNames do not start by the "Bulk" string, even if Microsoft documentation says so.

Testing Completed:

Yes but RECHECK

Please, if you only want to detect if the invitation was done by a Guest user, uncomment line 31.

I see now that "Bulk invitation" does not have any TargetResources (it expands to "Invite external user" operations). So I "restored" the detection to check if the initiator user is a guest and signins with a PowerShell App.
Now this dectection would check both invitator guest users and invited guest users using PowerShell Apps.
I have also added the app Pnp Management Shell.

I did not realize I have opened another Pull Request (https://github.com/Azure/Azure-Sentinel/pull/4312) for the app PnP Management Shell. I will take out that part in this PR. Sorry.


nvtop-amd: 3.0.2 -> 3.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Syllo/nvtop/releases.
meta.description for nvtop-amd is: A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs
meta.homepage for nvtop-amd is: https://github.com/Syllo/nvtop
meta.changelog for nvtop-amd is: https://github.com/Syllo/nvtop/releases/tag/3.1.0
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.1.0 with grep in /nix/store/lg51kb1f30k7fk1q3g04m3m6jbpiyw0s-nvtop-amd-3.1.0
found 3.1.0 in filename of file in /nix/store/lg51kb1f30k7fk1q3g04m3m6jbpiyw0s-nvtop-amd-3.1.0

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

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath
nvtop
nvtop-amd
nvtop-intel
nvtop-msm
nvtop-nvidia

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lg51kb1f30k7fk1q3g04m3m6jbpiyw0s-nvtop-amd-3.1.0 \
  --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 nvtop-amd https://github.com/r-ryantm/nixpkgs/archive/d3adf6d0b3cba7f39c107c212157a86803999392.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/d3adf6d0b3cba7f39c107c212157a86803999392#nvtop-amd

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lg51kb1f30k7fk1q3g04m3m6jbpiyw0s-nvtop-amd-3.1.0
ls -la /nix/store/lg51kb1f30k7fk1q3g04m3m6jbpiyw0s-nvtop-amd-3.1.0/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

2 packages failed to build:

nvtop-intel
nvtop-nvidia

3 packages built:

nvtop
nvtop-amd
nvtop-msm

Maintainer pings
cc @WilliButz @gbtb @anthonyroussel for testing.

Superseded by https://github.com/NixOS/nixpkgs/pull/291305


Add configuration file support to direct entries to system configured DNS.

Need a way to setup the configuration file with entries like:
www.openpojo.com=SYSTEM
This would mean use whatever java was going to default to whether from environment dns servers override, or from OS resolv.conf (or equivalent) file.

Additionally support for pointing to a hosts file like config to pin certain entries


Naming Conventions for Output.  [Circle (Artist)] Title

I am bothered by the fact that ouput directories dont follow the naming consensus:
[Circle (Artist)] Title
but instead just use the relative url link as a directory name. For sorting and searching purposes this is very inconvient.
I wrote a laymen script for me which does this locally after fakku downloader. Maybe It will help somebody or spark impulse to add to the main script.
import requests
from bs4 import BeautifulSoup
import os

# Function to clean a string for use as a file name for Windows
def clean_filename(filename):
    #define invalid chars and clean them
    invalid = '<>:"/\|?*'
    for char in invalid:
        filename = filename.replace(char, '')
    #decode filename and ignore all non-UTF8 chars
    filename=bytes(filename, 'utf-8').decode('utf-8','ignore')
    # Return the cleaned string
    return filename

url = "https://www.fakku.net/hentai/"
root_dir = os.getcwd()
manga_dir = os.path.join(root_dir, "manga")
dirlist = [d for d in os.listdir(manga_dir) if os.path.isdir(os.path.join(manga_dir, d))]
subdirectories = {}

for manga in dirlist:
    if '[' not in manga:
        subdirectories[manga]= {'manga': manga, 'link': url + manga, 'source': os.path.join(manga_dir, manga)}

for manga in subdirectories:
    link=subdirectories[manga].get('link')
    if link:
        print(link)
        # get the HTML and parse it into BeautifulSoup Object
        response = requests.get(link)
        soup = BeautifulSoup(response.text, "html.parser")
        # Find the element with class="block sm:table-cell relative w-full align-top p-4 space-y-4"
        element = soup.find("div", {"class": "block sm:table-cell relative w-full align-top p-4 space-y-4"})
        if element:
            # Find Title
            titleElement = element.find("h1")
            if titleElement:
                title = titleElement.get_text().strip()
                subdirectories[manga].update({'title': title})
            artistElement = element.find("a", href=lambda href: href and "/artists/" in href)
            # Find Artist
            if artistElement:
                artist = artistElement.get_text().strip()
                subdirectories[manga].update({'artist': artist})
            # Find Circle
            circleElement = element.find("a", href=lambda href: href and "/circles/" in href)
            if circleElement:
                circle = circleElement.get_text().strip()
                subdirectories[manga].update({'circle': circle})
            # Try to rename dir
            try:
                source = subdirectories[manga].get('source', '')
                circle = subdirectories[manga].get('circle')
                artist = subdirectories[manga].get('artist')
                title = subdirectories[manga].get('title')
                if circle:
                    folder= '[' + circle + ' (' + artist + ')] ' + title
                elif artist:
                    folder= '[' + artist + '] ' + title
                else:
                    continue
                folder = clean_filename(folder)
                target = os.path.join(manga_dir, folder)
                print('Renaming %s to %s' % (source, target))
                os.rename(source, target)
            except Exception as e:
                print('Error renaming folder:', e)

I tried the script but it appears the page code changed.  I updated
element = soup.find("div", {"class": "block sm:table-cell relative w-full align-top p-4 space-y-4"})
to
element = soup.find("div", {"class": "block md:table-cell relative w-full align-top p-8 pt-0 md:pt-8 md:pl-2 space-y-4"})
I hope that hit the right spot.  Seems to be working.  I don't see any circle data though so I don't know which ones have that to verify?

I tried the script but it appears the page code changed. I updated element = soup.find("div", {"class": "block sm:table-cell relative w-full align-top p-4 space-y-4"}) to element = soup.find("div", {"class": "block md:table-cell relative w-full align-top p-8 pt-0 md:pt-8 md:pl-2 space-y-4"})
I hope that hit the right spot. Seems to be working. I don't see any circle data though so I don't know which ones have that to verify?

Yeah the site got updated, which is not surprising. I'll updated the script in my original post.
I ran a test against a doujin with circle information, it also gets croped correctly.


use bigint printer when int attr exceeds uint64 range

IntegerAttr's uint64 getter fails when attribute is out of range; test for that condition and use the print function instead of the stream output

While this change is probably fine for its own sake, it arose as a downstream consequence of a problem in R1CS lowering which no longer repros, so it is no longer necessary.


Improve name of application currency setting - Fiat Currency

The name of the application setting 'Fiat Currency' is misleading because the picker contains options for BTC and ETH which are not fiat currencies.
It would be more accurate to just call it 'Currency' which would also be consistent with the header title when the picker is opened.

Great point, this should be Pairing currency.

Ticket - YV-95


Removed redundant data parameter on Request's transformData(_:serviceSuccess:) method.

This is some experimentation with what was discussed in #69. The unit tests and documentation still needs to be updated if we decide to implement this.

This looks good to me. I like how it's basically the best of both worlds. All the 'default' implementations can still work normally and operate on Data (allowing them to be composed into the function if you don't want to modify that direct functionality) and you also get the ability to operate on the HTTP.Response if you need to.
Two thumbs up here.

@wmcginty with regards to the 2.0.0 adopters, how strict do you think we should be with semantic versioning? I'm torn between if this should be another major version update or just an update to the minor version number.

@tylermilner I don't think we need to be overly strict - for instance, technically 2.1 could (and did in some cases) cause compiler errors in update. Now that 2.1 is out the door, we should probably stick to the rules of thumb we've been using.

Codecov Report

Merging #70 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #70      +/-   ##
==========================================
+ Coverage   96.46%   96.48%   +0.02%
==========================================
  Files          33       33
  Lines        1187     1195       +8
==========================================
+ Hits         1145     1153       +8
  Misses         42       42

Impacted Files
Coverage Δ

...perspace/Request/Decoding/DecodableContainer.swift
100% <100%> (ø)
:arrow_up:

Sources/Hyperspace/Request/Request.swift
94.02% <100%> (+0.37%)
:arrow_up:

Sources/Hyperspace/Request/AnyRequest.swift
100% <100%> (ø)
:arrow_up:

...erspace/Service/Backend/BackendServiceHelper.swift
100% <100%> (ø)
:arrow_up:

Tests/NetworkRequestTests.swift
100% <100%> (ø)
:arrow_up:

Tests/DecodingTests.swift
95.55% <100%> (+0.08%)
:arrow_up:

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 ff36cf2...064d303. Read the comment docs.

@wmcginty @earlgaspard I fixed the unit tests and updated the documentation so I think this should be good to merge into master now. Take a look whenever you get a chance.


Fetch remove relations

Fixed a bug where fetch requests were not removing relation data, resulting in the error:-
Error: Called relation() on non-relation field items
Updated tests to highlight the bug/fix

Would you mind keeping the .then on the same line as the closing parens/braces?

Thanks for putting this up, nice work!

Thanks Tyler,
I tried to keep the .then on the same line but eslint was not happy!
Any ideas as to how to fix this? I spent a while fiddling with the
formatting, but couldn't get it to work...
Kind regards,
Rauf
On 5 January 2017 at 15:06, Tyler Brock<EMAIL_ADDRESS>wrote:

Thanks for putting this up, nice work!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/HustleInc/parse-mockdb/pull/60#issuecomment-270665437,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALnM7EKjHmL6FvyaKjJUvRPQWfhcbPQjks5rPQbpgaJpZM4LbpTJ
.

I'm in need of these changes too, any progress on reviewing @TylerBrock ?

In that case, it looks good.

Released as part of 0.1.21, thanks!


small correction in Descriptors.py

I suspect self should not be there two times.

Reference Issue
Fixes https://github.com/rdkit/rdkit/issues/7554
What does this implement/fix? Explain your changes.
Any other comments?

I'm going to close this since the code is already correct as-is

Are you sure about the repetition of the self parameter?


Task/40 - Adding a screen for a user who is not logged in

Task/40 - I added a new activity "Login Layout Activity" and initially presented the screen. I am not sure which layout to use. I also have doubts about the correct layout of the components. I think that doing "align parent left and top" for each component and then using "margin left, top" is not the best solution

Duplicate task, please open as task 33


Get-XpDirTreeRestoreFile, use SMO for fixed queries

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
For fixed queries, now that the annoying SMO connection bug is fixed, better to use .Query(). This fixed a bit of issues where the "smo" server object gets passed to invoke-sqlcmd2 (which autoconverts to a string, which drops the dns suffix, ending in a big pool of red blood). I was playing with Get-DbaBackupInformation ^_^ . Incidentally, backup-/restore- related cmdlets which make a lot of function cooperate now seems to be a bit speedier (probably because a proper reuse of the connection pool).
tl;dr : whenever the query is fixed (i.e. you don't need parameters) stick with SMO, else, go with invoke-sqlcmd2

submitted.

No probls but being explicit is better than explicit, more so in an
internal function that relies on feature x. There's nothing scary in being
verbose
Il 21 nov 2017 4:18 PM, "Stuart Moore"<EMAIL_ADDRESS>ha
scritto:

@Stuart-Moore commented on this pull request.
In internal/Get-XpDirTreeRestoreFile.ps1
https://github.com/sqlcollaborative/dbatools/pull/2710#discussion_r152305796
:

@@ -63,7 +63,7 @@ function Get-XpDirTreeRestoreFile {
ForEach ($d in $dirs) {
$fullpath = "$path$($d.Subdirectory)"
Write-Message -Level Verbose -Message "Enumerating subdirectory '$fullpath'"

$Results += Get-XpDirTreeRestoreFile -path $fullpath -SqlInstance $SqlInstance

$Results += Get-XpDirTreeRestoreFile -path $fullpath -SqlInstance $Server -SqlCredential $SqlCredential

More me checking I'd done the right thing when I took the credential
passes out when I streamlined the connection stuff (your comment reminded
me), and wanted to make sure I wasn't going to cause problems later one.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/2710#discussion_r152305796,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHdB2n_tRkc5-_2efDw9w3tO_auy_Xkks5s4unKgaJpZM4Ql36h
.

ok, last commit removes the redundant $sqlcredential. Let's see if this fails, too.

aha! passed. Thanks for the pointer @Stuart-Moore , I've been a bad boy submitting without running tests before.

@wsmelton : now the capitalization is consistent function-wise as per your specs


[Feature request] Script ecosystem

Excalidraw-Obsidian has its own script engine that users can use to create and share custom scripts that do a lot of cool things with Excalidraw. Is it possible for a similar feature to be made for the browser app? I'm not sure how much effort it would take but it would be a really cool and effective tool. I'd definitely work on it myself because I really want it to happen.

It's supported in my desktop-app version, and I think we some adjustments can be integrated into excalidraw core https://github.com/galaxydo/galaxy-polkadot
In case of desktop app, custom user scripts are saved as files in root directory, perhaps in web version we can just save them in local storage OR embed as a new field in .excalidraw file next to elements and files?

If we did make a new .excalidraw field, would we still have to store scripts in localStorage since the scripts have to be stored somewhere in the browser anyway?

If we did make a new .excalidraw field, would we still have to store scripts in localStorage since the scripts have to be stored somewhere in the browser anyway?

Exactly same as elements fields, when opening either file from local file system or loading it from localStorage when page was refreshed, we can instantiate macros from sources embedded in .macros field next to .elements
for (const macroSource of excalidrawFile.macros) {
      const parsedFunction = Function(`return ${macroSource};`)();
      const functionName = parsedFunction.name || "Anonymous";
      this.macros[name.toLowerCase()] = fn.bind(this);
}

Thank you for explaining, this would be really cool to work on. I looked into the JSON schema for .excalidraw files more and it makes a lot more sense now. Is it better to start with just getting them working in local storage and then later adding them to .excalidraw files? I wasn't thinking as much about portability when evaluating how good of an idea the script library is for the web version.

Thank you for explaining, this would be really cool to work on. I looked into the JSON schema for .excalidraw files more and it makes a lot more sense now. Is it better to start with just getting them working in local storage and then later adding them to .excalidraw files? I wasn't thinking as much about portability when evaluating how good of an idea the script library is for the web version.

Then you can simply allow to register any text elements as macros and evaluate its code whenever invoked, as demonstrated here https://github.com/zsviczian/obsidian-excalidraw-plugin/pull/1252

Register macro:

    const macrosDefinition = macrosTextElement.text;
    const codeToEvaluate = `window.${macrosName} = ${macrosDefinition}`;
      eval(codeToEvaluate);

Execute macro:

  const codeToEvaluate = `new Promise(async (resolve, reject) => {
      try {
        const result = window.${functionName}(${functionArgumentsString});
        resolve(result);
      } catch (err) {
        console.error("Error in executing the function", err);
      }
    });`;
  const functionResult = await eval(codeToEvaluate);
  // await updateOutputMessage(endBindingElement, functionResult);


Add syntax check before validation

Also added tests for has_no_variables_that_shadow_default_names validator, put them in general group, because they do not mix well with syntax error fixtures.

Why can't we user pre validator checks for that?

We shouldn't use pre validator checks for that, that would break warning validators.
The issue is due to a bug in code validator. Please don't merge this PR, I will submit the fix shortly

I won't merge it anyway since I don't understand why we can't use prevalidators for that.

Well we can't use prevalidators, because prevalidators run before LocalRepositoryInfo object is created, and we check for syntax errors during creation of LocalRepositoryInfo object, currently everything fails if there is indeed a syntax error in repo see #80.

In #85, I tried to show that there's no need to move the syntax validator anywhere. The underlying bug is in the validate method. I'm sorry I haven't spotted that earlier.


Generics from 1.18 not working

I'm using a package https://github.com/samber/do to implement DI in my project.
This package uses at least 1.18 and generics. And when I'm trying to swag init --pd it doesn't work.
cd cmd/api && swag fmt && swag init --pd
2022/09/06 20:13:23 Formating code....
2022/09/06 20:13:23 Format API Info, search dir:./
2022/09/06 20:13:24 Generate swagger docs....
2022/09/06 20:13:24 Generate general API Info, search dir:./
2022/09/06 20:14:13 ParseFile error:/Users/weijinnx/go/pkg/mod/github.com/samber/do@v1.2.1/di.go:5:13: expected '(', found '[' (and 10 more errors)

In this di.go:5:13:

I did some research. This issue was mentioned before here, here, and here and it seems to have been implemented here, and released here.
However, having that said, I'm also struggling to get it working nevertheless:
swag init --pd -g v1/v1.go                                                                                ⇡ master 47m ⬡
2022/09/09 19:30:17 Generate swagger docs....
2022/09/09 19:30:17 Generate general API Info, search dir:./
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x87de48]

goroutine 1 [running]:
github.com/swaggo/swag.(*PackagesDefinitions).parseFunctionScopedTypesFromFile(0xc0000127b0, 0xc000503100, {0xc0002727c8, 0x15}, 0xc0051f3f50)
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/packages.go:168 +0xa8
github.com/swaggo/swag.(*PackagesDefinitions).ParseTypes(0xc0000127b0)
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/packages.go:110 +0xc9
github.com/swaggo/swag.(*Parser).ParseAPIMultiSearchDir(0xc0001fa2a0, {0xc0001edfd0?, 0x1?, 0x0?}, {0x7ffc0877aa0f?, 0x8?}, 0x64)
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/parser.go:362 +0x3bf
github.com/swaggo/swag/gen.(*Gen).Build(0xc0001f3920, 0xc0001f4c30)
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/gen/gen.go:177 +0x5c9
main.initAction(0xc0001c3680?)
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/cmd/swag/main.go:151 +0x757
github.com/urfave/cli/v2.(*Command).Run(0xc0001cab40, 0xc00020c340)
	/home/mrus/.go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/command.go:163 +0x5dc
github.com/urfave/cli/v2.(*App).RunContext(0xc0001b5860, {0xa57690?, 0xc000032140}, {0xc0000240a0, 0x5, 0x5})
	/home/mrus/.go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:313 +0xb7d
github.com/urfave/cli/v2.(*App).Run(...)
	/home/mrus/.go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:224
main.main()
	/home/mrus/.go/pkg/mod/github.com/swaggo/swag@v1.8.5/cmd/swag/main.go:221 +0x5c5

try the master branch of swaggo. You can install it with the following command.
go install github.com/swaggo/swag/cmd/swag@master

@mrusme - looks like the fix for that bug made it in #1310

@TomHellier thank you for pointing it out / linking the PR!

try the master branch of swaggo. You can install it with the following command.
go install github.com/swaggo/swag/cmd/swag@master

Thanks so much, it works! And, as I understood, the fix will be in the nearest release, isn't it?

Yes my understanding is this repo gets monthly releases and the maintainer will be doing one soon

Yes my understanding is this repo gets monthly releases and the maintainer will be doing one soon

The idea of having a 1-month time frame between releases is that the new version will get enough window to be tested and to have time to write fixes for known bugs.

v1.8.6 is now available.

why same error to me:
pkg/common/util.go:29:14: expected '(', found '['
have try v1.8.8, master branch.

why same error to me: pkg/common/util.go:29:14: expected '(', found '['
have try v1.8.8, master branch.

Maybe your swag is compiled by go lower than v1.8


missing annotation?

https://www.pombase.org/reference/PMID:11702950
protein binding
| rad24 binds transcription factor ste11 phosphorylated 1 (Schizosaccharomyces pombe) binds ste11
I don't see this on the rad24 page?

Isn't this it from the rad24 page?:

Weird...rad24 seems to have several go protein binding annotations that
show on the publication page and detailed view in gene pages, but not in
the collapsed view
Collapsed
Detailed view
--
Antonia Lock, PhD
PomBase Biocurator, http://www.pombase.org
Department of Genetics, Evolution and Environment,
The Darwin Building,
University College London
London WC1E 6BT, UK

yes this is related to the ticket I wanted to discuss today!
PR ID display https://github.com/pombase/canto/issues/1591
I think it's because the gene is not specified, only the modified entity, maybe?

although
binds ste11 | IPI | Kitamura K et al. (2001)
is there on its own.....

So is the bug that the annotation is missing from the summary?

It looks like it?

Turns out there were quite a few annotations missing from summaries.
On the rad24 page this was missing too:
binds tyrosine-protein phosphatase Clp1 phosphorylated 1 (Schizosaccharomyces pombe)
   binds clp1

Another example, on the ste11 page, this was missing:
 binds transcription factor ste11 phosphorylated 1 (Schizosaccharomyces pombe)
     binds rad24
     part of negative regulation of transcription by RNA polymerase II

And:  binds rad24 active form PR:000027543
It took a while to track down the problem, but it's fixed now.
It was only happening in cases where the same relation (like binds) can have two different range types.  eg. binds(PR:000027543) vs binds(SPAC8E11.02c).
There aren't a lot of pages where that happens which is why we hadn't noticed.


Remove containers leads to unconsistency state

Not sure if it will be marked as invalid/opinion, probably better Feature Request...

Create a service
Run some tasks
Remove containers

Expected result

swarmd notice that, somehow
swarmctl task remove could purge tasks to restore (maybe add a -f option?)

Actual result
Starting swarmd:
ERRO[0000] error removing task                           error=bucket not found module=worker
...
ERRO[0007] task unavailable                              method=(*Dispatcher).processTaskUpdates module=dispatcher task.id=1o96jnnor8y4h7va4x7ii9rzy

Swarmctl:
# swarmctl task remove web.8
Error: task web.8 not found

In dockerd:
ERRO[0213] Handler for GET /containers/web.8.ag4umymb1x04a1djtofovnpfg/json returned error: No such container: web.8.ag4umymb1x04a1djtofovnpfg

Info:
root@vagrant-ubuntu-trusty-64:/var/lib/docker# docker -v
Docker version 1.12.0-dev, build b6a8a3d
root@vagrant-ubuntu-trusty-64:/var/lib/docker# docker info
Containers: 35
 Running: 0
 Paused: 0
 Stopped: 35
Images: 3
Server Version: 1.12.0-dev
Storage Driver: vfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: default
Default Runtime: default
Kernel Version: 3.13.0-87-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 490 MiB
Name: vagrant-ubuntu-trusty-64
ID: U7TO:RUKV:VRCZ:P6PB:I5QD:LL6S:FYA5:WURL:GE7J:J4S5:BKUM:5JRG
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

@fsoppelsa
swarmctl task remove only support <task ID>
Can you try this and see what's going on. Thanks

Also, I think we should support service_name.x when task remove/inspect.
@vieux @aluzzardi @stevvooe @aaronlehmann WDYT?
If OK, I will take this.

Yes please support also service_name, for UX, I think it's a very quick add ;)

Also, I think we should support service_name.x when task remove/inspect.
@vieux @aluzzardi @stevvooe @aaronlehmann WDYT?
If OK, I will take this.

Names aren't sufficient to identify the unique instance of a task. Doing this will only remove the current instance of task. And when it is removed, the orchestrator will immediately re-schedule it.
Typically, removal should only be used to force a re-launch of a task.
For the most part, this looks like just loud log messages. Could you include the service inspect output?

@fsoppelsa I just going through old issues here.
Is this one still valid?


Research: test on OpenShift

Goal
Research how to run our test on an OpenShift installation.
Details
OC 4.11 is the first version that supports K8s v1.24 required by the toolkit: https://docs.openshift.com/container-platform/4.11/release_notes/ocp-4-11-release-notes.html
It would be good to automate the tests for a matrix of OC releases, 4.11 and the latest version available (at the moment of writing is 4.12.0-ec.5): https://openshift-release.apps.ci.l2s4.p1.openshiftapps.com/

This should not be in the scope of the lifecycle-toolkit atm


Update Mac Spacemouse driver

In the Mac code you have:
https://github.com/looooo/freecad-feedstock/blob/2b8a2d4fe0b6619ee8d28133a5892e96f66cff27/recipe/build.sh#L41
The latest driver is:
https://download.3dconnexion.com/drivers/mac/10-7-4_C5CD2A0D-58B6-4A8F-AFD1-54D5EB1BD29C/3DxWareMac_v10-7-4_r3493.dmg
This works on both my Intel and my M2 machine, so I think it's safe to update.

reports on forum claim 10.7.0 worked on arm but further version not.
are these commands correct for both architectures?
https://github.com/FreeCAD/freecad-feedstock/blob/2b8a2d4fe0b6619ee8d28133a5892e96f66cff27/recipe/build.sh#L41-L44

https://github.com/FreeCAD/FreeCAD-Bundle/issues/146#issuecomment-1607208459
please test

Quick test :-) FreeCAD starts on a Mac Studio, my 3DConnexion devices (SpaceMouse) is directly supported. Files can be opened and creating a MESH is really fast in this version. You are my hero. Thanks a lot

For intel machines I kept the old version for compatibility with mac >=10.12, let me know if it's preferable to stop supporting macOS 10 for a more recent driver


A more convoluted #pragma once file identity test, using relative paths.

Could you fill in the PR description with a summary of what this fixes, and how?


Emtpy links in people pages

I ran Wave to check for accessibility on the website.
In the people pages, I got many errors because of empty links, in the people information:

It would be good to fix them

how do we go about this @bebatut

Hello, @bebatut I would like to work on this.

@Munnachienyi you will need to look at the template for the people and check how to fix the empty links

do you mean the links to the GitHub page of the contributors

I do not know which links. You can install the wave extension in your browser and activate it on the people page to see where these links are empty

okay, i am not familiar with wave but i would try to see it through

Hi,
I'd like to give this a shot!!

As defined in the OLS Outreachy contribution guide,

If someone else has already commented, let them try first. Here @Munnachienyi seemed interested so is assigned to the issue
If they don’t update after three days, the issue is “free” again, and @tolubishops0, you can pick it up.

hello, @bebatut am I to delete the empty links? thanks for assigning this issue to me

and I can't really find the people|OLS. I navigated through the people HTML,i really don't understand

In the layouts folder you'll find the people.html file you need to work on :+1:

I ran Wave to check for accessibility on the website. In the people pages, I got many errors because of empty links, in the people information:

It would be good to fix them

@bebatut When you say empty links here I don't quite get it. I ran my wave extension and it did give me the same flags. Does it mean the links are broken? or that they do not lead anywhere? Because the links work...

I experienced same yesterday,the link works but not all does. Some of the links points out to a  nonexistent GitHub address or Twitter handle
What do you suggest @bebatut ?

I am not sure what does the error really mean. Could you look at the documentation about this error and see how it could be fixed?

@bebatut I have been struggling for days now to remove broken website links, but when I run the web accessibility tool, it feels like I am doing nothing.please help

To follow, can you explain me more in details what you did?

I navigated to the people.yaml file to edit, i deleted the broken website links and went ahead to run the wave extension and was greeted with the empty link.

Can you open a draft Pull Request so I can have a look?

I tagged you in a draft pull request

Thanks. I will have a look

Just linking here the PR: #467

thanks @AndreaSanchezTapia


Pico audio improvements

This should be all the relevant patches from my branches so that PicoVision support doesn't break VGA board (and also not require core1 to be enabled).

Thank you! 🎉
(Yes I have been a little distracted by Pi 5 mayhem)

Hah, I'm getting distracted now just thinking about it...


Tidying up some docstrings

Nothing fancy, just cleaning some stuff up.

Docstrings currently in call functions aren't being shown in the API. @nielsenmb is there a way to fix this?

A quick google didn't return anything. Might have to look around for some
examples that use call, and also have readthedocs. Although to be
honest, I didn't even know it was a thing until we started work on PBjam.
On Thu, 18 Jul 2019 at 15:58, Oliver Hall<EMAIL_ADDRESS>wrote:

Docstrings currently in call functions aren't being shown in the API.
@nielsenmb https://github.com/nielsenmb is there a way to fix this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/pull/116?email_source=notifications&email_token=AEJWO3YXG4K5ZKSOR7QUE4TQACAJFA5CNFSM4IEZMYQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2IYEWA#issuecomment-512852568,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJWO33ANW77Y4QZ3QPE2D3QACAJFANCNFSM4IEZMYQA
.


Add postgres samples and instruction

Thanks for your effort, however I don't think I want to go ahead with this. The reason is that I don't want to end up maintaining and providing support for multiple setups. As mentioned in the other PR, I'd encourage people to create their own repos, and then link them from the community section.


Add BetaGeoBetaBinomModel

Description

Reopening https://github.com/pymc-labs/pymc-marketing/pull/922 due to the force push.
The BG/BB model is for non-contractual purchase opportunities across discrete time periods; a good example would be sporting events.
Sampling is rather slow because NUTS defaults to compound sampling due to the discrete distributions used in this model. I recommend that https://github.com/pymc-labs/pymc-marketing/pull/707 be merged to speed up performance.
A small addition to CLVBaseModel was required for the input validations, and the dev notebook is rather minimalist right now but will be expanded into a full how-to in a future PR. An inefficiency in distribution_new_customers that is shared by all CLV models was also identified and will be fixed in a separate PR.
Related Issue

[ ] Closes https://github.com/pymc-labs/pymc-marketing/issues/176
[ ] Related to https://github.com/pymc-labs/pymc-marketing/pull/707

Checklist

[x] Checked that the pre-commit linting/style checks pass
[x] Included tests that prove the fix is effective or that the new feature works
[x] Added necessary documentation (docstrings and/or example notebooks)
[x] If you are a pro: each commit corresponds to a relevant logical change

Modules affected

[ ] MMM
[x] CLV

Type of change

[x] New feature / enhancement
[ ] Bug fix
[ ] Documentation
[ ] Maintenance
[ ] Other (please specify):

📚 Documentation preview 📚: https://pymc-marketing--1031.org.readthedocs.build/en/1031/

Is there a ruff version discrepancy between the CI and the pre-commit config? I'm not getting these errors when working locally and all dependencies are up to date.

pre-commit.ci autofix

Fixed by https://github.com/pymc-labs/pymc-marketing/pull/1031/commits/b3abdab678ac7ae46a5491d26911cada469d494f using https://github.com/pymc-labs/pymc-marketing/pull/1031#issuecomment-2349538095
@ColtAllen If you wanna add some changed make sure to pull first ;)

@ColtAllen regarding

Sampling is rather slow because NUTS defaults to compound sampling due to the discrete distributions used in this model. I recommend that https://github.com/pymc-labs/pymc-marketing/pull/707 be merged to speed up performance.

Do you see a speed-up with this model or all CLV models?

@ColtAllen
This test is very slow:
6182.49s call     tests/clv/models/test_beta_geo_beta_binom.py::TestBetaGeoBetaBinomModel::test_model_convergence[mcmc-0.1]

Any ideas if we can make it a bit faster?

Do you see a speed-up with this model or all CLV models?

https://github.com/pymc-labs/pymc-marketing/pull/707 only impacts BetaGeoBetaBinomModel.

This test is very slow. Any ideas if we can make it a bit faster?

Merging https://github.com/pymc-labs/pymc-marketing/pull/707 would make it about 3x faster. Only other way to speed it up would be to use a smaller fit dataset. There's another test here that is also rather slow, but addressing the TODOs will fix that.

Ok! Then from my side we can merge this one and lets work on those to-dos 🙂


Fixed BaseService.initialize() hiding stack trace for init exceptions

I have noticed that exceptions thrown by implementations of BaseService.init() using the BaseService.parallelInit() method do not show their full stack trace. This was because we were cutting off the exception "history" in BaseService.initialize().

Jakub -- great catch, and this works, but I think there might be a more elegant way to do it, that avoids doubling up.  Just have a catch block first that catches ExecutionException and logs the cause
Sorry I missed this the first time around -- can't believe how long this has been wrong!!!!!
See
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html
Also See a similar bit in timer:
https://github.com/xh/hoist-core/blob/develop/src/main/groovy/io/xh/hoist/util/Timer.groovy
(here we also explicitly catch the timeout and rethrow a simpler exception, which you could also do, but not necessary)


updated installation

without npm install express we will face this error https://github.com/azat-co/expressworks/issues/52#issuecomment-72242312

@rk08 thank you


Create variable code action generates invalid return types for stdlib methods

Description:
$subject for below example.
import ballerinax/java.jdbc;
import ballerina/sql;
import ballerina/io;

public function main() returns error? {
    // Initializes the JDBC client.
    jdbc:Client jdbcClient = check new ("jdbc:h2:file:./dbdir2/bbes/java_jdbc",
        "rootUser", "rootPass");
    jdbcClient->execute(`CREATE TABLE tutorials_tbl (
    id INT NOT NULL,
    title VARCHAR(50) NOT NULL,
    author VARCHAR(20) NOT NULL,
    submission_date DATE
    );`);
    check jdbcClient.close();
    io:println("After client close");
}

It generates invalid return type as follows.
sql:ExecutionResult|ballerina/sql:1.0.0:
Refer to the below video for more details.
https://user-images.githubusercontent.com/16300038/141429133-0eaf6924-1f22-4c28-b342-016d58b7757b.mov
Affected Versions:
Ballerina Swan Lake Beta 3
Language specification 2021R1
Update Tool 1.3.6```

This should be due to https://github.com/ballerina-platform/ballerina-lang/issues/33721. Need to verify.

Verified on SL Beta 4 RC2. This has been fixed.


Proactive flushes should be enabled by default

Describe the bug
The proactive flushes feature should be enabled by default.

@bosmatt - I apologize. Proactive flushes are enabled by default so nothing to do here.
Closing.


bug? heron's steam engine apparently not working

i'm trying to implement a rigidbody that is operated by individual smaller jet engines. currently i do this by applying forces at points.
i reproduced the problem in a minimal project, a heron steam engine. this mechanism should be possible in the current system, correct?
i tried to implement it, but it looks like something is off. maybe my code is wrong? or maybe the torque is actually incorrectly handled in avian?
schematic:

from popularmechanics.com
however, instead this happens: the body finds an equilibrium at some arbitrary rotation. (the arrow symbolizes how the forces are applied. they are the heron jet exhausts. it should result in continuus rotation.)
https://github.com/user-attachments/assets/37628fa6-330d-4db7-b2de-6c261864c2f8
full code

full code example
main.rs:
use std::f32::consts::PI;
use avian3d::math::Quaternion;
use avian3d::PhysicsPlugins;
use avian3d::prelude::*;
use bevy::prelude::*;
use bevy::prelude::*;
use bevy::color::palettes::tailwind::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(PhysicsPlugins::default())
        .add_systems(Startup, setup)
        .add_systems(Update, (
            (
                update_herons_steam_engine.before(PhysicsStepSet::First),
            ).chain(),
        ))
        .run();
}

/// applies two forces to the body, one on each side in opposite directions.
/// from https://www.popularmechanics.com/science/energy/a34554479/heron-aeolipile/
fn update_herons_steam_engine(
    mut gizmos: Gizmos,
    mut bodies: Query<(&Mass, &mut ExternalForce, &CenterOfMass, &GlobalTransform), With<TheBody>>,
) {
    let Ok(
        (
            mass, mut force, local_body_center_of_mass,
            body_w_transform
        )
    ) = bodies.get_single_mut() else {
        return
    };

    // note: all calculations are in world space unless otherwise marked.
    // all angles in "rotations" (0 to 1).
    let body_to_world = body_w_transform.affine();

    let body_right = body_to_world.transform_vector3(Vec3::X).normalize();
    let body_forward = body_to_world.transform_vector3(Vec3::Z).normalize();
    let body_center_of_mass = body_to_world.transform_point(local_body_center_of_mass.0);

    let local_sub_force_position = Vec3::Z;
    let sub_force_direction = body_right * mass.0 * 5.0;

    force.apply_force_at_point(sub_force_direction, local_sub_force_position, local_body_center_of_mass.0);
    gizmos.arrow(body_center_of_mass + body_forward, body_center_of_mass + body_forward + sub_force_direction*0.1, GRAY_700);

    force.apply_force_at_point(-sub_force_direction, -local_sub_force_position, local_body_center_of_mass.0);
    gizmos.arrow(body_center_of_mass - body_forward, body_center_of_mass - body_forward - sub_force_direction*0.1, GRAY_700);

    // visualize center of mass
    gizmos.sphere(body_center_of_mass, Quaternion::IDENTITY, 0.1, RED_900, );
}

#[derive(Component)]
pub struct TheBody {}

fn setup(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut gizmo_config_store: ResMut<GizmoConfigStore>,
    mut materials: ResMut<Assets<StandardMaterial>>,
) {
    let cam = commands.spawn((
        Camera3dBundle {
            transform: Transform::from_xyz(6.0, 8.0, 8.0).looking_at(Vec3::ZERO, Vec3::Y),
            ..default()
        }
    )).id();

    commands.spawn(DirectionalLightBundle {
        directional_light: DirectionalLight {
            shadows_enabled: true,
            ..default()
        },
        transform: Transform::from_rotation(Quat::from_rotation_x(-PI / 3.0)),
        ..default()
    });

    commands.spawn((
        Collider::cuboid(12.0, 2.0, 12.0),
        RigidBody::Static,
        PbrBundle {
            mesh: meshes.add(Cuboid::new(12.0, 2.0, 12.0)),
            material: materials.add(Color::WHITE),
            transform: Transform::from_translation(Vec3::Y * -1.0),
            ..default()
        }
    ));

    let body = commands.spawn((
        TheBody {},
        RigidBody::Dynamic,
        ExternalForce::default().with_persistence(false),
        ExternalTorque::default().with_persistence(false),

        MassPropertiesBundle::new_computed(&Collider::cuboid(2.0, 2.0, 2.0,), 1.0),
        Collider::cuboid(2.0, 2.0, 2.0,),

        PbrBundle {
            mesh: meshes.add(Cuboid::new(2.0, 2.0, 2.0)),
            material: materials.add(Color::BLACK.mix(&Color::WHITE, 0.5)),
            transform: Transform::from_translation(Vec3::Y * 2.0),
            ..default()
        }
    )).id();

    // draw gizmos in front of everything else
    for (_, config, _) in gizmo_config_store.iter_mut() {
        config.depth_bias = -1.0;
    }
}

cargo.toml
[package]
name = "bevy-hovertruck"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
# todo: features=["dynamic_linking"]
bevy = { version = "0.14.0", features = [] }
avian3d = "0.1"
interpolation = "0.3.0"

[target.x86_64-pc-windows-msvc]
linker = "rust-lld.exe"

# Enable a small amount of optimization in debug mode.
[profile.dev]
opt-level = 1

# Enable a large amount of optimization in debug mode for dependencies.
[profile.dev.package."*"]
opt-level = 3

# Enable more optimization in release mode at the cost of compile time.
[profile.release]
# Compile the entire crate as one unit.
# Significantly slows compile times, marginal improvements.
codegen-units = 1
# Do a second optimization pass over the entire program, including dependencies.
# Slightly slows compile times, marginal improvements.
lto = "thin"

# Optimize for size in wasm-release mode to reduce load times and bandwidth usage on web.
[profile.wasm-release]
# Use release profile as default values.
inherits = "release"
# Optimize with size in mind (also try "s", sometimes it is better).
# This doesn't increase compilation times compared to -O3, great improvements.
opt-level = "z"
# Strip all debugging information from the binary to reduce file size.
strip = "debuginfo"

Disclaimer: just passing by and saw this issue.
From what I see in the video it looks like the forces applied aren't rotated with the cube like gizmos would show. Then I've look inside apply_force_at_point implementation and it looks that it takes simply a cross product between "center of mass to given point" vector in local coordinates and force taken in world coordinates. This alone should be suspicious, as the former value will be constant whereas latter constantly change even though in such scenario we would expect constant torque.
So to my inexperienced eye it should either be all world coordinates or all local coordinates.

Yes, I agree, good point. The doc explicitly mentions the force to be world-space, but the other coordinates to be local space. I guess it's not appropriate to simply pass a local force vector, event though it should be world space?

Actually I would try first with all world-space values as the other methods like apply_force all mention world-space force. Maybe the docs are misworded for the "local point" part.

I thought about that and came to the same on conclusion. Using all world space sounds like it could work.

I implemented this simple fix and it worked perfectly.

Thanks for your help, @kmotyka-zx! Appreciate it.