Can't download from youtube

% youtube-dl --verbose https://youtu.be/GurkREc-q4I                                                                          :(
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://youtu.be/GurkREc-q4I']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.05.14
[debug] Python version 3.6.1 - Linux-4.4.68-1-MANJARO-x86_64-with-glibc2.3.4
[debug] exe versions: ffmpeg 3.3, ffprobe 3.3, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] GurkREc-q4I: Downloading webpage
[youtube] GurkREc-q4I: Downloading video info webpage
[youtube] GurkREc-q4I: Extracting video information
[youtube] {22} signature length 43.42, html5 player vfl8jhACg
[youtube] GurkREc-q4I: Downloading player https://www.youtube.com/yts/jsbin/player-vfl8jhACg/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1162, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1085, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1138, in
return lambda s: initial_function([s])
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 254, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 55, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError('Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1162, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1085, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1138, in
return lambda s: initial_function([s])
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 254, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 55, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1162, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1085, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1138, in
return lambda s: initial_function([s])
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 254, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 55, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 760, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 433, in extract
ie_result = self._real_extract(url)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1755, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1172, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1162, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1085, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/youtube.py", line 1138, in
return lambda s: initial_function([s])
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 254, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 55, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.6/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError('Unsupported JS expression 'oE"do"'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
youtube-dl --verbose https://youtu.be/GurkREc-q4I  4,74s user 0,32s system 32% cpu 15,477 total

You are using an outdated version of youtube-dl. Read this FAQ entry if you have troubles updating.


ROX-10735: SAC integration tests for process baseline datastore.

Description
Add SAC integration tests for processbaseline/datastore. This also includes code generating fixtures for the resource.
Testing Performed

see CI (go-unit-tests)

Note: The CI failures for gke-postgres-api-e2e-tests (namely DeploymentEventGraphQLTest, IntegrationsSplunkViolationsTest, K8sRbacTest, VulnScanWithGraphQLTest) are known and not related to this PR

/retest


feat(gatsby-plugin-fastify): Support new trailingSlash config

Is your feature request related to a problem? Please describe.
Gatsby now has a native config option for trailing slash config...we should support this.
https://github.com/gatsbyjs/gatsby/pull/34268

https://github.com/gatsbyjs/gatsby/discussions/34205

https://www.gatsbyjs.com/docs/reference/config-files/gatsby-config/#trailingslash

https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v4-to-v5/#trailingslash-is-set-to-always

So this went down hill...
The First Attempt
First I thought I'd just add code to the 404 Handler that returned a redirect if the given path did/didn't end in a / as determined by the config.
This generally works. But when stuff shouldn't exist it breaks down. For files...it'll appends slash (e.g. /page-data.json/). Using file extensions to detect would be possible, but also seems like a loosing battle and too much config need. Using the . in the file isn't reasonable as this is a valid character anywhere in the URL.
The other issue is sub paths...this doesn't work with client-only routes or SSR splat routes...for those we need to be able to check the actual URL and redirect based on the existence or lack there of of the final /.
This method fails cause it's both overly applied and not applied in specific cases.
The Second attempt
I began implementing this at a per plugin basis. As conversation on the spec notes...this only applies to "pages"...thus not Functions. I'll assume that applies to Redirects as well.

But That's not really true. Cause our router setting of ignoreTrailingPaths changes with our Gatsby config option. So if we changes something that should only apply to pages...it'll still affect all routes. We need to either resolve this issue or actively apply it to Functions and Redirects.

Problem 1: Static files. Because our static routing is currently handled exclusively by @fastify/static plugin which doesn't have a resolution directive capable of handling this flexibility. It has redirect which handles /test => /test/ but not the reverse.
Problem 2: Splat Routes. This issue actually currently exists. Our implementations around splat routes can't handle the situaltion where a route param is followed by a splat. Because of https://github.com/fastify/fastify/issues/3331 we're currently re-writing /test/* => /test* so that it matches /test, /test/, and /test/example.... But if we palce a route param before (e.g. /test/:param/*) this becomes /test/:param* which is garbage and find-my-way can't route to it. Worse yet it doesn't complain about this format,

To me this feels like a LMW bug. It should a least throw an error. But also IMO I shold be able to pass it /test/* or /test:/:param/* and have /test and /test/example work if ignoreTrailingSlash is true. 🤷🏻

Path Forward
Okay I see to primary issues;

find-my-way doesn't have the built in flexibility to handle routing as we'd like.
@fastify/static doesn't contain flexibility we need to correctly server static files.
Even if the router is working correctly the router can't know to handle splat routes that aren't the root with a redirect instead of a 200. Nor should it...this is an application level issue.

Potential solutions

While I disagree with aspects of the find-my-way implementation...and we could work to upstream some issues...that'd take lots of time. The clearest path forward in my mind is to no rely on ignoreTrailingPaths. This fixes several long standing issues mentioned above and means we can be very specific in how we want the router to work.
Other server have the concept of fall backs...e.g. if /test comes in check for test.html. /test/index.html and all that's handled separate from the fact that we should or shouldn't (or don't care) about a trailing slash. We have three options.

Stop serving static files! You heard me right. I've been clear that things like compression, certs, and more all fall under the realm of "edge server" not "application server". Do static files to? That's how PHP-FPM works! I'd be configuring Caddy to serve non PHP files and Caddy proxies via PHP-FPM to serve all PHP. The same could be applied with Node. Though not all JS is executed on the server. If Caddy got a request for a file that existed...it'd serve that. IF not, it'd ask node. This isn't as clear cut as PHP, and has the down side of more hassle for the user needing to know another server and how to configure that for Gatsby static files. The more I think through this option...the less I like it.
Write a custom implementation of the static plugin. We could still use it's sendFile method but write our own file lookup algorithm.
Upstream a patch to the plugin to allow for this functionality. This might be a good solution...it means we only write specific code to our problem space and don't duplicate efforts. I'm guessing landing this wouldn't be a battle as we should be able to make it backwards compatible. The only potential issues is @fastify/static is implemented using send from the express world. I don't know either plugin well enough to judge which one is the culprit, and where we could fix this issue. This would require some investigation. If it's in send that could take a while if we have to update 2 levels of packages.

This is solved by checking page based routes (things that this setting should affect, not functions, static files, redirects) for the existence or lac there of a a trailing slash and redirecting appropriately. Along with this we'd be registering redirect routes for only what's needed.

Remaining obstacles
Does LMW block our custom implementation for splat routes? Context, light my way handles ignoreTrailingPaths by modifying the requested URL to not include a trailing slash and probably does the same on registration. For the ignore More this is helpful, cause we don't have to register two paths with the same response code. Though I'm not sure that's actually a performance issue. If we're passing it a function, it should still only have that in memory once. We might be able to use some kind of rewrites in our custom implementation for this too. I think we can handle all this.
There are 2 kinds of static serving though (hmmmm). css, js, images, etcs (aka. assets) will be served directly...trailingSlash need not apply. But any HTML files will need to be redirected to the correct path.
Questions

If this is an SEO thing, should this affect rewrites?

Conclusions
I though it was going to be hard...then I started and it was getting easier...than it got hard like I didn't think possible.  😢 We'll need to watch performance and hopefully that gets better ...or not worse!

With the announcement of the Gatsby Adapters spec, we'll be discontinuing any work on this plugin. Should the need for a performant node server still be needed, this work can continue under the official spec as gatsby-adapter-fastify.


Failing to create Code build job when using Cloudformation template

Referenced in Implementation Guide for Service work bench (https://docs.aws.amazon.com/solutions/latest/service-workbench-on-aws/automated-deployment.html ) used the following link https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-reference%2Fservice-workbench-on-aws%2Flatest%2Fservice-workbench-on-aws.template  to build the Server Work Bench using Cloud formation template.
Failing in Code build. Below are the log details. Any fix to this is helpful. Thanks
[Container] 2021/04/07 15:28:58 Running command npm install -g pnpm
980 | /usr/local/bin/pnpm -> /usr/local/lib/node_modules/pnpm/bin/pnpm.cjs
981 | /usr/local/bin/pnpx -> /usr/local/lib/node_modules/pnpm/bin/pnpx.cjs
982 | npm WARN notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":">=12.17"} (current: {"node":"12.16.1","npm":"6.13.4"})
983 | npm WARN notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>984 |
985 | +<EMAIL_ADDRESS>986 | added 1 package in 0.997s
987 |
988 | [Container] 2021/04/07 15:29:04 Running command echo "Installing dependencies"
989 | Installing dependencies
990 |
991 | [Container] 2021/04/07 15:29:04 Running command ./scripts/install.sh
992 | About to install all dependencies, please hang in there tight
993 | /usr/local/bin/pnpm
994 | /codebuild/output/src838261437/src/main/solution /codebuild/output/src838261437/src
995 | ERROR: This version of pnpm requires at least Node.js v12.17
996 | The current version of Node.js is v12.16.1
997 | Visit https://r.pnpm.io/comp to see the list of past pnpm versions with respective Node.js version support.
998 |
999 | [Container] 2021/04/07 15:29:04 Command did not exit successfully ./scripts/install.sh exit status 1
1000 | [Container] 2021/04/07 15:29:04 Phase complete: INSTALL State: FAILED
1001 | [Container] 2021/04/07 15:29:04 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: ./scripts/install.sh. Reason: exit status 1

995 | ERROR: This version of pnpm requires at least Node.js v12.17
996 | The current version of Node.js is v12.16.1
Try updating your version of NodeJS.
I used WSL and the repo's had older versions of Node. I ran these commands and upgraded to version 14.16.
2017  30/03/21  15:45:12 yum remove nodejs
2018  30/03/21  15:48:22 yum clean
2019  30/03/21  15:48:28 yum clean all
2020  30/03/21  15:48:48 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
2021  30/03/21  15:49:36 export NVM_DIR="$HOME/.nvm"
2022  30/03/21  15:49:36 [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
2023  30/03/21  15:49:38 [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
2024  30/03/21  15:49:52 nvm ls
2025  30/03/21  15:50:38 nvm install v14.16.0
2026  30/03/21  15:58:53 node --version
2027  30/03/21  15:59:14 npm install -g pnpm
2028  30/03/21  16:01:19 sudo yum install go

The cloudformation template is building the code using AWS CodeBuild and I cannot update the nodejs of the container

Thanks for reaching out this is an unfortunate break due to PNPM update and AWS CodeBuild discrepancy. We have fixed this in our GitHub repository: https://github.com/awslabs/service-workbench-on-aws/commit/262b5c8f937d49a47be29a97ab39ff1efcfe02fd
For the time being we advise you to work off of the latest tag: https://github.com/awslabs/service-workbench-on-aws/tree/v2.1.4

Looking forward for the updated AWS Solution code. thanks.

@rkowtha Just wanted to update you that the AWS Solution code has now been fixed.

This is still failing when upgrading the solution implementation.

Hi @rmontroy do you have a current SWB instance that was deployed using SWB Solutions. What version number is it?
And then to confirm you're trying to update that SWB instance to version 1.4.7?

Testing the upgrade process from 1.4.5. I added the output to my comment above so you could see the new version.

I tested a fresh install with version 1.4.7 and it didn't have this issue. I see that this command is being run  Running command npm install -g pnpm in your log file.
That is from CodeBuild in version 1.4.5. It's using the old build script to upgrade to version 1.4.7.
I would recommend doing a fresh install with version 1.4.7 which locks down the pnpm version.
Note: The SWB solutions was published in May 2021, which is 5 months old now. To get the latest code I would recommend following the guide here. We've made many bug fixes and feature enhance since May.

Noted. Can I install from a feature branch? I'm anxious to try out RStudio behind AppStream.

Our feature branch for AppStream is here. However for P1 we will only support Linux, WIndows, and Sagemaker instances behind AppStream. Support for RStudio with AppStream is coming later.
Finally, do not use the feature branch code for production. We are going through Penetration testing for the feature branch and there will likely be additional changes before the code is ready for production.


No reference gnome for SISTR hIT

Hi All,
I have some salmonella enterica typhi isolates. I used sistr to subtype  my salmonella isolates and the cgmist_genome_match was given as Legon (SRR1968150). I would like to perform a reference guided scaffolding annotation but unfortunately I could not find any sequence file for the genome_match . The only data available is the one in SRA.  I will be grateful if you could advice on what I can do   to perform these tasks. Thanks

Hello,
SRR1968150 is labeled as serotype Fanti not legon in the sistr database and the record in NCBI has the same identification, so you might have meant a different sample. The SISTR database includes data which we just assembled from the SRA and there isn't necessarily high-quality annotations for the genome. You can assemble the data from the SRA in the same way you did for your Typhi samples. Here is the fasta for that assembled sample if it is useful for you. I would be cautious interpreting the closest cgMLST match if it is below 200 alleles as that is really not a strong indicator of serotype below that level.
SRR1968150.fasta.zip

Hi @jrober84
Please find attached the output.tab of sistr. I would be happy to get your interpretation on it. Thanks
sistr-output.pdf

Based on the identified biomarkers in this sample, SISTR thinks this matches Legon. However, there are only 111 perfect matching cgMLST alleles to this sample, so SISTR is telling you to not trust this result without confirmation. The closest cgMLST matching genome is not a Legon but a Fanti but at that level of similarity it is not suitable to draw any conclusions other than it is definitely a divergent sample from what is in the database.
None of the identified biomarkers are matching Typhi, so if you are expecting it to be based on traditional typing then, there may have been some sort of sample mix up. There are some serovars which can get muddled but the antigen biomarkers here are very clearly different.  This sample could potentially be a legon but it really should be tested with traditional phenotypic serotyping to confirm.


React form support for LookupField

See https://github.com/silverstripe/silverstripe-framework/issues/5521 for context. LookupField is the readonly variation of OptionSetField and CheckboxSetField, so would be used in many readonly form variations. Excludes changing the behaviour of Form->performReadonlyTransformation(), which should really leave the field identity alone and let the field+frontend decide how to represent a readonly view of it (rather than replacing it with a LookupField)

Added commit as part of https://github.com/silverstripe/silverstripe-framework/pull/6120
Close when that pull request merges


Design / Perf

Nice base thanks for sharing,
It seems overkill for each light to update itself, the Camera script should register all lights and update them. it would furthermore allow for general controls like a max number of light having shadow at a time and camera frustrum coverage priority.

 Having the lights self-register with a camera (or cameras) would be a much more efficient way of handling things so it's only 1 Update call per camera instead of 1 update per light, and would also allow more interesting additional quality / optimizations that could be added on a camera-by-camera basis.
I chose this way to make it very clear to follow in the tutorial even for more beginner level developers. I will update the readme with some notes about further optimizations that could be done to make this more efficient and configurable.


Request for RestoreDatabase

It could be nice to provide a RestoreDatabase(string connectionString, string databaseName, FilePath backupFile) to quotename escape the string and the name to do this:
ExecuteSqlCommand(connectionString, "restore database [" + escapedDatabaseName + "] from disk = N'" + escapedBackupFileFullPath + "'");

When creating a code sample, the connection string should not specify the database name (similar to CreateDatabase) because it's recommended that the master database be used for restore operations.

Here's what I'm currently doing. You don't have to do anything with any of this but I thought it might prompt ideas:
Because I can't use extension methods in .cake, I'm using https://gist.github.com/jnm2/b00ef6455b532e3893b7220ccf6f4ba6
Then:
void RestoreDatabase(string connectionString, string databaseName, string backupFile, IReadOnlyDictionary<string, FilePath> moveLocationsByName = null)
{
    var sql = new SqlStringBuilder().AppendRaw("restore database ").AppendSqlName(databaseName).AppendRaw(" from disk = ").AppendSqlLiteral(backupFile);

    if (moveLocationsByName != null)
    {
        sql.AppendRaw(" with");
        var isFirst = true;
        foreach (var locationByName in moveLocationsByName)
        {
            if (isFirst) isFirst = false; else sql.AppendRaw(',');
            sql.AppendLine()
                .AppendRaw("   move ").AppendSqlLiteral(locationByName.Key)
                .AppendRaw(" to ").AppendSqlLiteral(MakeAbsolute(locationByName.Value).FullPath.Replace('/', '\\'));
        }
    }

    ExecuteSqlCommand(connectionString, sql.ToString());
}

Then:
IDisposable TempDatabaseFromBackup(string connectionString, string databaseName, string backupFile, IReadOnlyDictionary<string, FilePath> moveLocationsByName = null)
{
    RestoreDatabase(connectionString, databaseName, backupFile, moveLocationsByName);
    return On.Dispose(() => DropDatabase(connectionString, databaseName));
}

And I use it like so:
var databaseName = "ProjectName integration " + Guid.NewGuid();

using (TempDatabaseFromBackup(
    new SqlConnectionStringBuilder { DataSource = @"(LocalDb)\MSSQLLocalDB" }.ToString(),
    databaseName,
    @"path/to/backup.bak",
    new Dictionary<string, FilePath>
    {
        { "DatabaseName", "temp/DatabaseName.mdf" },
        { "DatabaseName_log", "temp/DatabaseName_log.ldf" }
    }))
{
    var connectionString = new SqlConnectionStringBuilder { DataSource = @"(LocalDb)\MSSQLLocalDB", InitialCatalog = databaseName }.ToString();
    // ...
}

###Note for implementation

Use RESTORE FILELISTONLY from Disk = 'd:\backup.bak'  to get list of logical names - these are needed if Move is used. Read it in C# because results can't be easily stored in SQL
Instead of dictionary with LogicalNames/path, take only folder where new mdf/ldf will be stored. Take logical names from the previous step, generate full path based on base path and new db-name

@jnm2 Can you please take a look at https://github.com/AMVSoftware/Cake.SqlServer/blob/RestoreDatabase/src/Cake.SqlServer/SqlServerAliasesImpl.cs#L173
With usage being like this https://github.com/AMVSoftware/Cake.SqlServer/blob/RestoreDatabase/src/Tests/RestoreDatabaseTests.cs#L33
Does it look useful?

It's useful for me for the immediate future, but what if someone has a database with .ndf files or multiple .ldfs? The only reason I used a dictionary was to make myself responsible to know that information rather than relying on a convention.
This isn't for Cake, but the generic TSQL I use for day-to-day restores: restore headeronly to get the original database name, restore filelistonly to figure out what files I need to come up with names for, and then replace all instances of the original database name in the filenames with the new name.

@jnm2  My plan was to do *.mdf restore a separate function along with restores from *.bacpac.  Why do you need to run restore headeronly separately? does restore filelistonly not contain the database name? I mean can logical name for mdf file be different from the original database name?

I just think it's safer to read the actual database name rather than relying on the convention that master data file's logical name will match. It looks like the logical file name can be changed, too, without affecting the database name.
https://dba.stackexchange.com/questions/66173/sql-server-filelistonly-command-providing-incorrect-logical-database-name

backup restore is now implemented in v1.5.0.
@jnm2  thanks for the link to the SQL script - that was the good inspiration to complete this issue.

These days what I'm doing has diverged significantly:
RestoreDatabase(connection, backupSourcePath, databaseName);
// For use later on
var originalDbName = GetSqlBackupDatabaseNames(connection, backupSourcePath).Single();

https://gist.github.com/jnm2/b6e9c51ed9c7ec5ecfbb9fa7def02d4b

@jnm2 is this a better approach? what is the difference from what is available in the current codebase?

@trailmax Oh maybe, not necessarily. I just tried to replace what I was doing with your RestoreDatabase alias and didn't see a way to do that, so posted when I am doing in case you found an interesting element in it. I don't know if that's a scenario you want to cover.

I'm keen to cover all the valid scenarios, yet I'm not entirely sure what happens in your snippet. Do you replace the DB names when you restore them?

My RestoreDatabase is doing the C# equivalent of the SQL script I posted awhile back:

Get the single database name from the backup. (I don't have backups with multiple databases but if I did, the target database name would have to be passed in.) This is the original database name.
Get the instance's default data and log paths.
For each file, replace the original database name with the new database name (if they are different) and combine with the instance's default data and log paths.

But you could also pass in your own Func<FileDestinationCalculatorArgs, FilePath> to customize your own paths given e.LogicalName, e.PhysicalName, and e.Type.

I see. I have all that hidden and without an option to tap in - internal funcs. I think it'll be relatively easy to add stuff you need without breaking existing functionality. I'll see what can be done, probably over the weekend

It's up to you what you think is worth adding. I'm frankly not even using the fileDestinationCalculator parameter.


Added docs hook

Coverage remained the same at 91.718% when pulling 6c62bee426fa3b9d734d09065c30586e11649b8d on docs-hook into 4dcc4550639ca9c3731b6106ce20d87dd36e5457 on master.

Coverage remained the same at 91.718% when pulling ec0ee03e7668e649b43402ed0366320f41ee21cd on docs-hook into 5f116416a82e22b7e106b92a0636d289104196a0 on master.


Some bug about NotionTable render

Hi, I found some render bug like this:

It's format is wrong. And I find that almost every table(database) displayed in wrong format.
Sometimes we just want to add an easy table in our blog to show data, so table is necessary. Could you help us to deal with it?
Thank you very much.

Facing the same issue. Is it resolved?

This would be an issue with the underlying notion renderer https://github.com/NotionX/react-notion-x


Princess Luna: Watch vipdongle.com

Princess Luna requests the watch of the watch_keyword vipdongle\.com. See the Metasmoke search here and the Stack Exchange search here.

vipdongle\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

!!/approve

Coverage remained the same at 65.558% when pulling 9d00d072e92499a5e95b63ccbcc929bbd5e6f374 on auto-blacklist-1523038159.4292047 into 689da492b41b6e0e32ab40ccf1271d091d7d14d5 on master.


[9.x] Add ability to mark a class as singleton with interface

Add ability to mark a class as singleton with interface instead of using service provider and.

Why?
When we create a lot of services / actions and we are heavily using dependency injection it is better to mark the classes as singleton to speed things up.
It takes some time to register all actions / services in service provider and the file is getting bigger. This would make marking singleton easy to write and even enables to find which classes are singletons via using IDE and find usages.
Checklist

[x] Unit test
[x] Tested on real app - I have not found any performance issues (no notable difference in ms).
[ ] Does it math Laravel ecosystem? I think yes, there is already a lot of "magic" using interfaces

class SharedStub implements IsSingleton {
    //
}

Thank you for your time

It takes some time to register all actions / services in service provider and the file is getting bigger.

Really? What use case do you have to register so much services that it slows your app down? I don't see how this is possible.

This would make marking singleton easy to write and even enables to find which classes are singletons via using IDE and find usages.

This isn't an exact truth tbh. You could still register the classes as non-singletons. Tbh, you can already create your own interface in userland if you wanted to to achieve this.

It is some time ago, but in quite large code base with heavy dependency injection and using events system the app on , while responding on events, had some performance issues. There were bigger loops (not so big) that would trigger events and Laravel would create listeners. We did a profile of the application and found most of the bottleneck was in make method of container. We did use singleton and this resolved the issues.
I've no idea how you mean this. Without extending and changing container implementation.

Of course I can do it in service provider, but if I want to move services / actions that are heavily used then I want to mark then as singleton to prevent issues above :) There is minimal memory cost on this.
If you do not like it, we can close the PR, I've no problem with that. It was an idea how to simplify my life (and maybe others).
I don't mind and don't want to waste your time if you don't see it matching teams vision 👍
Thanks


Error in MvcModel::find() method while joining tables in a separate database

My "wpmvc" tables are in a separated database of wordpress.
I use the var $database attribut in all my models.
Let's suppose two models : modA and modB
The relationship is A has many B.
In the A controller, I would like to do a join between this two models :
 $this->model->find( 'joins' => array('B') )
The query doesn't work because the database prefix is not added before the table name.
I looked in the MvcModel source I don't have the level to determine where is the error.
If any one would have a look, it would be wonderful.

Hi @zeemil thanks for this. If you think you have found a bug please submit a pull request.

@zeemil do you have relations build properly in you models?
please also - show us the exact code that is causing this kind of problems


Exception in _connect(): localhost:27017: [Errno 111] Connection refused (MainProcess - pid: 19041)

Hi,
I am using ubuntu 16.04
completed all the steps successfully  unto H as mentioned in the link provided ,
https://docs.bigchaindb.com/projects/server/en/latest/quickstart.html
Now running the blockchaindb start facing the following error

Thank you in advance.

I think maybe the Quickstart instructions have changed since the "Latest" version in the docs. Maybe try the "master" version of the Quickstart, at:
https://docs.bigchaindb.com/projects/server/en/master/quickstart.html
If that doesn't help, then I need to see what you did before you did bigchaindb start. You can copy text from the Terminal application: just select all the text, right-click it, and select Copy. Or press CTRL + SHIFT + C
To paste it here just put three backticks (like ` ) before the text you paste, and three backticks after the text you paste.

Its working now,Thanks a lot!
Actually I missed starting the mongodb i.e step D.
Pardon me for my foolish mistake


How to add headers to a request made with PromiseKit/OMGHTTPURLRQ?

PromiseKit version: 4.4

I can't figure out how to add headers to my requests when I make them in the same format as the examples in the README. Is there a way to do so?
Thanks!

Yes, you use OMGHTTPURLRQ directly. There's some docs here: https://github.com/mxcl/OMGHTTPURLRQ
Though not for Swift, but should give you some initial direction.

Got it, thanks.


Fix deploying

I was just wondering why TypeScript needs to be a dependency?  Isn't it only needed at build time?  So doesn't it being a devDependency work just fine?
Could be completely wrong - just wanted to understand :smile:

Yes, you have right, it should not be in dependencies part :) I've just tried to find out how to fix deploy issue. I've fixed first issue - added skip_cleanup: true directive in .travis.yaml but there is second issue - probably npm key format has been changed or someone regenerated key in our organization. I will check this as soon as possible but I'm affraid it will not be tomorrow :/

Sure - this is probably why I've kept the ts-loader release steps rather manual :wink:

Hey @piotr-oles - any ideas when this will ship?  Sorry to chase - we'd just :heart:  to be able to use v0.2.9 :sunflower:

Hey @piotr-oles, I hope you're well.
It'd be really nice to be able to use this.  Is there anything I can do to help make a release happen? I appreciate this is done in your spare time and so if I can help make this easier then I'd like to offer my services.

Hey @piotr-oles, because I'm impatient for the 0.2.9 release I've set up a short-term repo here:  https://github.com/typestrong/fork-ts-checker-webpack-plugin
nb The repo above will be removed from GitHub once 0.2.9 is released to npm.  This is just for those impatient people out there (well, me mostly :wink:)  FWIW I noticed that fork-ts-checker-webpack-plugin won't compile with TypeScript 2.6.  I fixed that here: https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/commit/448ba32dd25cb1cb35ff0cb211a08b59a2ba65f8
I'll submit a PR to the initial repo for you

Done - see here: https://github.com/Realytics/fork-ts-checker-webpack-plugin/pull/69

Thank you, PR merged :)

@smonteil - Could you send me the actual npm key by email? There are lot of impatient people waiting for v0.2.9 :)

Just to second what @piotr-oles says @smonteil: I'd love to use 0.2.9 from npm rather than my own fork. Please could you provide the key? Thanks!

@vnguyenhuu @etienne-dldc ? :)

Hi guys,
sorry for blocking the release 😞,
the key should have been send to you @piotr-oles, please take a look and tell me if it's ok.

Thanks!

@etienne-dldc please send it to my work email<EMAIL_ADDRESS>- I don't have access to Realytics mail :)

@etienne-dldc ok, I missed it - you send it already there , thanks, I will check it asap :)

@etienne-dldc Thank you, @johnnyreilly fork-ts-checker-webpack-plugin is now available in version 0.2.9 on npm :)

Wonderful! Well done all!!!!


no longer working in Atom

Currently using Atom ver 1.23.1 and it no longer works.
I used to have many cards, now it only pops up one within one "DONE" column. Everything else is gone. the config.js also doesn't sync with the labeling conventions on the columns or filters which would autocompile from within the documentation.
Tried replicating the issue in new repos and projects and its the same error: always one card within the "DONE" column.
Tried uninstalling and reinstalling and wiping the config.js within the .imdone dir. Same thing. Nothing works.

What version of imdone-atom?  Can you include a sample file who's TODOs are not showing up?  Are you using .imdoneignore?

Setup

It's the most recent: imdone-atom version 2.3.18
not using .imdoneignore
there is nothing manually added within the config.js "exclude" array outside of its defaults:

  "exclude": [
    "^(node_modules|bower_components|\\.imdone|target|build|dist|logs|flow-typed)[\\/\\\\]?|\\.(git|svn|hg|npmignore)|\\~$|\\.(jpg|png|gif|swp|ttf|otf)$"
  ],

Vcs paths are not excluded

Alternate File Watcher does not help

have tried setting up a new project in Atom to QA the issue:

Used a new project folder that is not a sub-dir of any parent folders holding .imdone folders.
When setting up a new project, I use 3 default template markdown files to build the columns and filters within the imdone Kanban

What's interesting to note
The only column it will now adds is the "Done" column. Usually it will build all from this Columns.md template:
#BACKLOG:100_
#MUST:100_
#SHOULD:100_
#COULD:100_
#WONT:100_
#DONE:100_
#GUIDANCE:100_

Ordinarily that would immediately build those columns with a single card labeled "_"

config.js
Here is the default config.json when setting up the new QA project to test this issue:
{
  "exclude": [
    "^(node_modules|bower_components|\\.imdone|target|build|dist|logs|flow-typed)[\\/\\\\]?|\\.(git|svn|hg|npmignore)|\\~$|\\.(jpg|png|gif|swp|ttf|otf)$"
  ],
  "watcher": true,
  "keepEmptyPriority": false,
  "code": {
    "include_lists": [
      "TODO",
      "DOING",
      "DONE",
      "PLANNING",
      "FIXME",
      "ARCHIVE",
      "HACK",
      "CHANGED",
      "XXX",
      "IDEA",
      "NOTE",
      "REVIEW",
      "DONE"
    ]
  },
  "lists": [
    {
      "name": "DONE",
      "hidden": false
    }
  ],
  "marked": {
    "gfm": true,
    "tables": true,
    "breaks": false,
    "pedantic": false,
    "smartLists": true,
    "langPrefix": "language-"
  }
}

UPDATE
I got the QA Project to sort of work and in the process found the associated issue:
CAUSE: Conflict with outline-selection package
Below is the stack trace and here is the associated issue:
TypeError: Cannot read property 'NaN' of undefined
    at TextEditorComponent.renderedScreenLineForRow (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:959:37)
    at TextEditorComponent.pixelLeftForRowAndColumn (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:2381:35)
    at TextEditorComponent.pixelPositionForScreenPosition (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:203:46)
    at HTMLElement.pixelPositionForScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:243:32)
    at _updateOutline (/Users/Work/.atom/packages/outline-selection/lib/outline-selection.js:122:43)
    at /Users/Work/.atom/packages/outline-selection/lib/outline-selection.js:25:9
    at Array.forEach (native)
    at TextEditor.observeSelections (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:844:32)
    at /Users/Work/.atom/packages/outline-selection/lib/outline-selection.js:21:14
    at Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:725:15)
    at Object.activate (/Users/Work/.atom/packages/outline-selection/lib/outline-selection.js:18:20)
    at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app/src/package.js:255:25)
    at /Applications/Atom.app/Contents/Resources/app/src/package.js:227:38
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:99:21)
    at /Applications/Atom.app/Contents/Resources/app/src/package.js:220:32
    at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app/src/package.js:217:40)
    at PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:695:42)
    at config.transactAsync (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:670:36)
    at Config.module.exports.Config.transactAsync (/Applications/Atom.app/Contents/Resources/app/src/config.js:367:24)
    at PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:668:23)
    at PackageManager.activate (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:647:50)

Steps in finding the conflict

input Column names manually within config.js  to both arrays

  "code": {
    "include_lists": [

and also:
  "lists": [
		{

move the hash tasks from one column to another. they will disappear on the board. however the new hash task priority and label will change in the associated document. unlike before, there is a brief GitHub logo spinning queue when it does associate the new task labels.
initiate a Window:Reload within the Atom menu and the items will re-appear and can now be moved around freely and their associated hash task values will update on the associated files
However the only way to manually add column names is within the config.js and if you adjust the hash task feature labels to anything that doesn't pair within config.js, the stack trace error will appear as referenced above.

SOLUTION: buh-bye outline-selection...

I fixed this one in 2.3.19.  Try adding a task with a new list name to a non-code file like README.md.
Create new lists for all tasks in non-code files · imdone/imdone-core@631d1d0

@orebeer I'd like to hear more about how your using imdone-atom.  Would you mind if I contact you via email?  Just email me if you have some time to chat.


Minecraft restarts infinitely after session token is remade

error message "Profile not found, please restart your launcher if you recently created your profile":
[2024-05-14T15:10:14.567] [DEBUG] Censured - connecting to proxy...
[2024-05-14T15:10:14.786] [DEBUG] Censured - connection to proxy established. forwarding proxied connection to minecraft
[2024-05-14T15:10:15.214] [ERROR] Censured - Minecraft Bot Error:  Error: Profile not found, please restart your launcher if you recently created your profile
    at call (/bridges/censured/node_modules/yggdrasil/src/utils.js:35:40)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async join (/bridges/censured/node_modules/yggdrasil/src/Server.js:20:12)
[2024-05-14T15:10:15.351] [ERROR] Censured - Minecraft bot disconnected from server,attempting reconnect in 5 seconds

src\instance\minecraft\minecraft-instance.ts
https://github.com/aidn3/hypixel-guild-discord-bridge/blob/2ddcf4a36d3d6022a12a1c6406a2552b3c3feb87/src/instance/minecraft/minecraft-instance.ts#L116-L119
After reseaching similar issues, many recommend using username field to force a re-login. Also clear credential cache to remove any potentially invalid details.

src\instance\minecraft\minecraft-instance.ts
https://github.com/aidn3/hypixel-guild-discord-bridge/blob/2ddcf4a36d3d6022a12a1c6406a2552b3c3feb87/src/instance/minecraft/minecraft-instance.ts#L116-L119
After reseaching similar issues, many recommend using username field to force a re-login. Also clear credential cache to remove any potentially invalid details.

username field is only used to to create a cache dir. Force full re-login by changing the cache dir will require user input, which isn't ideal. The solution would be to only redo the last step of the authentication while using the previous cached ones.
How to detect it and how to force re-login the last step is still pending.


Update azure-developer-guide.md

Updated outdated references to ACS, BizTalk Services with correct links to respective articles.

@pazdedav : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks @pazdedav!

#sign-off


UserManager reads expired token from browser storage

Hello,
Just spotted that when token stored in browser storage is expired and user manager reads it, it doesn't check for expiration. So if token is already expired it'll be used anyway.
I think there should be check for token expiration when it's being read.

any info?

No time to look into it yet. Sorry

Well, there is an expired property on the loaded user. does that not work for you?

but shouldn't you reject this token? Sure I can check it while reading but it doesn't seem to be correct place. I think it's token manager responsibility to handle expiration when reading token. you wrapped token manager and it's level of abstraction which should handle this for me and user should not be bothered.

But by default there is automatic silent renew so if token is going to expire it'll try to renew it.

But by default there is automatic silent renew so if token is going to expire it'll try to renew it.

But not everyone might be using this. Also, it's always possible that the token is a reference token and the user or server could revoke it at any time. So this means a properly coded client should always need to check for 401 and handle renewal.

brockallen. First of all, thank you so much for this amazing library. I'm a junior dev and just started using it for a really big project and I've been amazed how many things it does for you. I'm not sure if this is the place, but above you describe checking for 401 and handling renewal. I think this is what I need to do, because I've noticed some of my calls failing because of expired tokens. I think I was under the impression that "automatic silent renewal" would handle this.
So if I make a call and it fails with 401, does that mean that the token for the user doesn't get updated on auto renewal? I thought it does indeed get a new token when it expires, so I am curious why I would ever get a 401?. Does it just mean that that it's failing during the token renewal operation (ie, making the renew call in between the token expiring and the new one retrieved?) What would be the logic for handling this in a reusable api function.
eg:
const callAPI  = () => {
res = axios.get (url, headers {Authorization: user.access_token}}
if res.status === 401 {
usermanager. (what method to renew a token for the current user?)
if (user.access_token)
{
axios.get(url, user.access_token);
(does it automatically populate the current user with the new token on renew,
or do I have to overwrite it on the user? )
}
}
Are you aware of any "properly coded clients" that handle this issue that I can look at? Iv'e seen lots of examples of other stuff but this one is slim pickings.


description field to support basic text formatting

I recently got a linkding instance set up for myself and an issue I've run into is that the description field formats all text as a single unbroken paragraph. I imported a large number of bookmarks where having hard returns in my descriptions is important in being able to easily read the information I put there. Having this field in the bookmarks list respect the returns that are in the input form would be very helpful.

Can you post a screenshot of exactly where you are seeing the issue. As the description shows up in a few places.

sure thing, here you go:

Is this what you are looking for?

yes exactly!

Its a simple fix. I'll push a PR for it shortly.

wonderful, thanks so much!

The meta description scraped from websites may contain arbitrary line breaks, which are usually ignored when displaying the text. Here's an example: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule. Since most people probably just use the automatically generated description, changing the default is a no go. Maybe this could be an option, but I'd wait with adding something until there is a decent amount of interest in this.
At the moment, the notes field would be more appropriate for your use-case, as it is intended to support formatting. Since you imported your bookmarks that's not going to be a huge help. You'd need some automatism that would move your description into the notes field. It should be possible to write a script that does this with the REST API I think.

Thanks for the response, I do get it about the default way people use it. Unfortunately, moving my comments into the notes section won't help with my use case because it's important to me for my comments on my shared bookmarks to be visible, as this is a major way I make recommendations to people within my online community. Would you have another suggestion on how I could achieve what I'm looking for (publicly visible comments on bookmarks that can contain line breaks) without interfering with the defaults that other users prefer?

Making the description respect line breaks can be done by adding custom CSS via the settings:
ul.bookmark-list li .description.separate {
  white-space: pre;
}

However that doesn't work properly at the moment due to how the HTML template is formatted - it adds leading and trailing whitespace. That would be an easy fix that could be done in the next patch release.
If you are comfortable with tinkering with files in the Docker container, you could fix it manually by making the following change to /etc/linkding/bookmarks/templates/bookmarks/bookmark_list.html:
-

-              {{ bookmark_item.description }}
-

+
{{ bookmark_item.description }}

But wait, if you want this to work on the shared bookmarks page for anonymous users then this doesn't help either. Those settings are stored in your user's profile, whereas anonymous users use a default profile. The default profile doesn't use a separate description, nor does it show the description over multiple lines. You can test this by logging out and then check the shared bookmarks page - it will look different from what you see when you are logged in.
I think what you want is being able to configure the default profile used for anon users.

ahhh yes, configuring the default for anon users is definitely what I want, on top of changing my personal view! I'll add that custom css for myself, thanks for that. Should I open a new issue thread for the question of configuring the default profile?

Sure


Serialize to bytes

This is question more than an issue ...
How do I serialize the http::Request struct into its RFC-2616 byte array representation?

I'm interested too. Also, how to I deserialize?


Sometimes get error when calling GetTransactionResult

Problem
Sometimes get error when calling GetTransactionResult of Access API and no transaction result is returned.
Steps to Reproduce
Get the transaction result of the transaction bcFyY1Udl9KasyOtT01LIru0T63OosLw4N5ViluHkf4= and will get the following error with flow-sdk-js.
Error: failed to find: rpc error: code = Internal desc = failed to retrieve result from execution node: rpc error: code = Unimplemented desc = unknown service flow.execution.ExecutionAPI

Acceptance Criteria

Context
<what are you currently working on that this is blocking?>

Hi @kwunyeung, are you still experiencing this issue?

Hi @kwunyeung, are you still experiencing this issue?

@caseyturnerarrington no. It's good to close this now.

@caseyturnerarrington no. It's good to close this now.


Dropdown's componentWillReceiveProps performs deep equal on React component

Bug Report
Steps
Create a Dropdown with content, for example like in https://react.semantic-ui.com/modules/dropdown#usage-item-content. The content must contain a React component, for example:
content: <Header icon='desktop' content='Desktop' subheader='The largest size' />,

Expected Result
App should run normally, display the header, update the dropdown as needed, etc.
Actual Result
When Dropdown's componentWillReceiveProps runs, the app freezes for a minute or more. The issue is in line https://github.com/Semantic-Org/Semantic-UI-React/blob/972b999b7e9f85fb6722a1749c4c121c03e5613d/src/modules/Dropdown/Dropdown.js#L426. The deep equals recurses into the Header object, which has cyclical references (for example nextProps.options[0].content._owner === nextProps.options[0].content._owner.return.child) as well as recursive references through the entire app treee (like _owner._debugOwner._debugOwner._debugOwner... all the way to the root) and thus the app hangs.
The code in question came in via https://github.com/Semantic-Org/Semantic-UI-React/pull/2252, where performance risks of a deep equal were already mentioned.
Version
0.82.0
Testcase
The bug won't reproduce in a small sample app, because in that case lodash.isEqual can traverse the entire app quickly. You'll need a fairly large app to get a freeze of several seconds and it gets worse in debug mode, because then React components have the _debugOwner property set, which can be followed all the way to the root component.

This will be not easy to fix, see #2252.

@levithomason @layershifter What about a deep equals that does not recurse into react components, or at least not into their debug properties like _debugOwner, would that be an acceptable compromise?

We just need to be sure that changes to nested properties within options will be considered a change and update the component.
We could add our own lib util for doing equality checks.  It could ignore private React properties.  Thoughts?

@levithomason I agree, a falsely skipped property is worse than recursing into one too many. I was thinking of a blacklist approach, i.e. use a heuristic to determine if the current object is a React component (i.e. it has a render function, maybe some other properties or functions) and then blacklist certain properties (maybe only _debugOwner if things are speedy after that) and then see how far that gets us. If people are generally ok with such an approach, I'll try to find time this week to make a PR. Let me know!


Add hooks for gamm and lockup modules

Cherrypicked addition of hooks to x/gamm and x/lockup from @Thunnini's work in #80

Update: We're redoing the changes to actually git cherry-pick the history, to get proper accreditation for commit authorship

Fixed 👍

The reason why the hook was added to the lockup module was because the pool-yield module needed a hook, and it wasn’t implemented at the time. It was mostly a temporary measure. @antstalepresh If you’ve implemented it now, then I think Eugen’s code should be merged. What do you think?

The reason why the hook was added to the lockup module was because the pool-yield module needed a hook, and it wasn’t implemented at the time. It was mostly a temporary measure. @antstalepresh If you’ve implemented it now, then I think Eugen’s code should be merged. What do you think?

I didn't have time to write hooks for lockup module, was focusing on incentives module. But it seems good, already have 2 hooks added to the codebase.


Move Display Settings to Tab and Limit Options by OS

The settings dialog now has two tabs, Gameplay and Display.
I've also limited some settings by OS.

The Display tab is disabled for mobile and web.
The Borderless Fullscreen mode is removed on macOS.

This is phenomenal. Thank you so much!


LEST-11 - Add pretty printer

This PR adds a pretty printer which attempts to exactly copy the Jest version.
Example:

Not at all ready for merging, but I would love a preliminary code review before I go on and implement the summary and error reporter (hardest feature of them all).

Added the two major features.
Error reporting does not have a code display as this is currently impossible because debug information is lost while a test is ran. This PR or another may need to introduce debug information into a test result, such as the line expect was called and etc.
 Some features are missing but you mentioned it doesn't have to exactly match Jest, so it should be fine (such as the summary lines not aligning)
And again, we need to figure out a solution to include debug information in the test results so I can add the code display to the error reporter.

Your type annotations are still incorrect, and you haven't resolved all of the above comments.
I'll re-review once you've got the branch further along.

Ok, this PR affects more files now. Basically, fails are propagated up the tree now allowing for clearer code and huge optimizations. I was able to have the test fail reporter not look at certain branches of the tree that have no failing tests, making it much faster and optimized.
Also, I improved some of the code quality. Technically, this PR is pretty much done unless you want me to work on displaying the line (and surrounding lines) of the error like how Jest does it. However, that requires syntax highlighting and even more runtime changes to include introspective information like that.
Would appreciate a review

Mm forgot to mention the newly added matcher error message:


chore: migrate to scheduled pipelines

What does this PR do?
Adds 4 new parameters:

run-promote-to-latest
run-build-latest-rc
run-dependabot-automerge
run-test-ts-update

all are set to false by default and are used to gate workflow execution.
The schedule is now defined in Project settings > Triggers
Docs: https://circleci.com/docs/2.0/scheduled-pipelines/
What issues does this PR fix or reference?
@W-10425244@

TODO: I've edited the target branch to cd/switch-to-main in scheduled triggers to avoid failed jobs show up in the dashboard, move back to main after this PR merged.

Draft until every plugin repo has the new workflow pipeline parameter in their circle config file.


Displaying form error message instead of individual fields

Hi aldeed, I'm trying to display form-wide error messages on the client instead of displaying them per field. Any ideas of I can accomplish this with autoform? See attach image.

On a separate note, is it better to use mySimpleSchem.addValidator(myFunction) when implementing manual validation instead of autoForm's AutoForm.validateForm(formId)? Your thought on these would be greatly appreciated.

If I may..As to your first question, use the afFieldMessage helper to display the error message for a specific field. To automate the display of error messages for a list of fields:

Create a helper that returns the list of field names.
Iterate over that list calling afFieldMessage on each field name.

As to your second question, the ss method you reference adds a custom validation function to all keys of a specific ss instance (which is probably not what you're looking for). To implement custom validation for a specific key, use the custom option on the schema definition for that key.
As to when to use the AutoForm validation methods and when to use the ss validation methods:

Use the AutoForm validation methods when performing manual validation inside of the context of an AutoForm.
Use the ss validation methods when performing manual validation outside of the context of an AutoForm.

Keep in mind that manual validation shouldn't be necessary in most cases. Here are a couple of examples where it may be needed:

When using non-AutoForm elements inside of an AutoForm. In this case you may want to define a custom input type so that AutoForm is always working with AutoForm-aware elements.
When you need to interact with an AutoForm from elements outside of the form.

@mlurz71 thanks for your support...slowly getting the hang of autoform/ss. A related question I have is that, if I want to implement validation for a range of fields as per the image I earlier i.e. comparing inputs in one field against another ad rendering validation errMsg, what do u think my approach should be with autoform/ss?

The ss docs include an example for [validating one field against another] (https://github.com/aldeed/meteor-simple-schema/#validate-one-key-against-another). That should get you started.


Replaced Date and Promise with Js.Date and bs-promise

cc @chenglou Can you review? This has breaking changes.
(Replaces #22 if merged)

Accidentally merged (but reverted) #22. This should be ok?

oops! Yea, looks good!


Report title formula is different in NewDot

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.1-10
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @heyjennahay
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1719222853627669
Action Performed:

Create a workspace and set the report title format in the OD
Submit reports in the workspace
Check the report title

Expected Result:
Should match with one set in OD
Actual Result:
Showing same format Expense Report #{long report ID] for all the reports
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

View all open jobs on GitHub

@caitlinwhite1 @thienlnam is this on your radar? Will it need to be Internal?
Adding it to #wave-control in the meantime. CC: @JmillsExpensify

Is there a photo of what the report title looks like in NewDot?
IIRC this is partially expected. NewDot generates the report title based on the formula optimistically since it could be offline, but the thing it can't support is long report IDs, or anything that requires server side knowledge.
However, if you are online it should just take the report name. So depending on the circumstances this is likely external

If I look at the reports in my online web NewDot they have the incorrect format

Oh gotcha, so it's not just a visual bug in NewDot.
Hmm, I was testing this on dev and it seems to work alright for me.

My only other guess is NewDot Test - Expensify a collect policy not a control policy?

@thienlnam can you please check your personal NewDot Test reports in NewDot?  To confirm your theory about the Collect v Control workspace being the cause?  My NL Test workspace is Collect but the US Test workspace has been Control for about a month now so if your theory is correct then I would expect to see a difference.
That said, why would the formula not be applied to both Collect and Control workspaces (this feature applies to both types in OldDot today)?  Also if the intention is to require you to upgrade to Control to use Report Formulas then I would still expect the default report title for Collect workspaces to show the short report ID and not the long.  So I still think there is an issue that needs to be resolved.

I agree there's a bug here, just trying to isolate where the problem might be. It does seem to be a control policy so that rules out that theory.

So it looks like the report fields are not being returned into this policy - going to have some queries run to see why that is the case. This would be internal

Created an internal GH for a query request here

Nice, what are the next steps?

Bump on this, @thienlnam.

Just got back from OOO - got the results of the query back and everything looks as expected.
However the report field is still not getting returned in NewDot so there is likely something wrong in the flow.
Next is investigating the query to see if there's something that might be impacting the return of this data

Haven't looked into this further yet

Any luck?

Sorry, haven't looked into this further due to instantscan. I've also got app deploy duty this week, so I am hoping to get around to this sometime next week. Feel free to re-assign if needed

Noticed this is also happening on reports created on our OldDot production workspace when they are created via Expensify Travel.  Example report ID<PHONE_NUMBER>309383

Although I just found one which isn't travel or NewDot testing report ID<PHONE_NUMBER>960611

@thienlnam putting this customer bug report on your radar as potentially related: https://github.com/Expensify/Expensify/issues/413468

Looks related, I think the flow is broken on OldDot too

Okay, well this might be a CRITICAL bug where we're messing with the report title formulas set on OldDot. CC: @JmillsExpensify

Okay as I was looking into this again, this has just started to work again. Like all my reports are now created with the correct report name. Are you seeing the same? After Jul 16th all of my reports have started to get the correct reportName

This seems to be resolved, but wanted to get some confirmation

@heyjennahay can maybe confirm from accounting perspective on the prod policy.
Interestingly, I was just testing something and I'm seeing this in the report history:

I didn't take that action myself. Not sure where it's coming from.. 🤔

Oh yeah looks like we should not generate a policy history when a report is updated from a template value

That's a reportAction though on the report, not a workspace change log in #admins.

Ah whoops, yeah I mean no edited reportAction when a title is updated from a template value on a report

Cool, let's address that then. 👍

There was a conversation about this here - https://expensify.slack.com/archives/C06ML6X0W9L/p1722534299058619 and here https://expensify.slack.com/archives/C06ML6X0W9L/p1722534322032729
Turns out this will require moving the report title template generation to auth

That sounds good to me

Updating priority based on this, we will re-prioritize Auth Report Fields in Nov

Same

I got assigned this bug report , where now all new reports in NewDot seem to use the long report ID format, rather than including the amount or merchant. Seems kind of related to this issue, but curious if you guys agree?

Yeah, that's a dupe I'd say. @thienlnam, where are you on this?

From this convo it seemed de-scoped and deprioritized so I haven't worked on it since. Not sure when we want to re-prioritize it though

Hm, I guess I'm not following @JmillsExpensify's comment:

Keeping them in scope, moving them to auth in a follow-up. Basically just like we did for report next steps.

What exactly is in scope now if this remains broken and blocked until moving them to auth?

From the linked Slack convo, I was voting for option A, which is this:

A. Fix the whole report formula inconsistency thing right now i.e. if a formula is updated on either NewDot or OldDot it should update all the reports everywhere. New policies created via NewDot can then set a formula similar to what we are doing in the getMoneyRequestReportName() (but we will have to accept that it won’t be translated). Anything that would cause the name to be recomputed (e.g. amount, report state, etc) should also queue Onyx updates with report name changes. However, the report formula logic stuff is all in PHP at the moment so we would have to queue those updates from there.

cc @marcaaron

Sounds like we agreed in Slack that this should be prioritized, so I'm going to put the Daily label back on this issue.

Should we move it to #quality as suggested in thread?

@marcaaron has very kindly offered to look into this while I clear some other things off my plate
Marc is going to look into porting this into auth
In the meantime, I will look into the quick fix that doesn't involve that

Unassigning for now to clear the Overdue off my K2. I can start looking into the report fields stuff when this is more of a priority.

PR in review to address the quick fix that doesn't involve moving everything to auth at the moment

PR is in review, and @iwiznia was back today to take a first pass.

@thienlnam how you getting on with that Web-PR?

I have to move some things to auth and then Web-PR is on hold for that, hopefully will get around to it today or tommorow

Getting into the final review stages for the Web PR

Merged, pending deploy

Nice! The Web PR went to prod on Thurs. Are we done here?

To clarify, all new reports created in NewDot since last Thursday should be using the default report title of the workspace?  As it appears we are still using the NewDot default and not the workspace formula

This came up here as well, will re-open to look into it

Found the issue, it only happens when the report title is not forced. If you force it, the report title gets changed.
Need to update it so that it makes it the new default

Fix is merged, pending deploy

@thienlnam opening an expense report I see this report action which is pretty weird:

This was reported as a blocker here https://github.com/Expensify/App/issues/53820.
I've got a revert PR on hold here: https://github.com/Expensify/Web-Expensify/pull/44733, though ideally we can find a fix that doesn't reintroduce the previous issue.
The original fix PR doesn't have any explanation of what it does and why, @thienlnam can you think of an alternative fix? updateFieldsToMatchPolicy() hasn't been changed since like 2016, so it's surprising that report titles would have broken just now in NewDot.

This is likely just a side effect of not having it moved in Auth - basically what we're doing here is we are creating the report with a different default in Auth, and then in web updating the report title based on the default. Let me see if we can skip the message for that easily but I don't know if this needs to be a blocker.

I suppose what we could try to do here is check to see if the updated report NVP is the report_title, and see if it was previously a default and the policy it is on has a non-default report title? But I'm not entirely sure how the system messages get calculated

The default report title gets computed in Auth here, I was starting to think we'd need to update that method to use the policy's name formula 🤔

Yeah exactly, we would need to port over the policy formula logic to auth - we have just been avoiding having to do that hence this workaround but it seems to have other issues

IMO it seems a little confusing but not a blocker

I dunno, I think it's pretty bad as it records an action the user never took. That's bad from an audit perspective, as you lose trust in the audit history.

I tend to agree. I don't think we should be adding history items for actions a user never took. By the way, what's stopping us from moving the formula logic to auth?

In fact, I had this come up on a report today. Notice how it's saying I renamed the report when I rejected a couple of expensees.

Update:
The short-term change we added didn't work because it started adding policy log messages for each time the report was updated and that was an undesirable update. So now, we are just going to move it to auth. It's going to take a while, and given the holidays I probably won't get back to this until mid Jan if someone else would like to take it over


Backups are not working as intended

Steps to reproduce

Create a backup of a point you want to restore
Restore the backup if wanted to revert back

Expected behavior
To restore everything that the backup stored
Actual behavior
Nothing changed, it remains the same like the backup was the same as the current setup.
There's no changes in any backup category(Chapters, Library, Extensions, Settings, etc.).
The app just remains the same with no changes done.
Mangayomi version
0.1.85
Device
Windows 11/Samsung S23+ (Android 14)
Other details

Before the update I was able to backup my file back and forth between Windows and Android, by selecting all but "Settings" to backup.

Now, the backup file is not working and all my chapters and library wont change to the backup, the app just stays the same after is says "Backup Restored".

The only way for it to take affect is to backup a file with nothing to backup(deselecting all options) and restore that backup. But it just deletes everything since the back is a restore point of nothing that is saved.

Reinstalling the app does restore back to an old unknown point but not from the backup. I don't know how and why that happens and I have to revert everything back to the way I had it manually from that point.

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have updated all installed extensions.

can confirm that prior to 0.1.85 backup and restore still works. Something must have been broken between 0.1.85 and 0.1.75


Install command doesn't need quotes

On the homepage:

Quotes are not needed here.

This was fixed in #152. Thanks for finding it.


[Transaction] Remove @ORM\Entity

Following Doctrine's documentation (http://docs.doctrine-project.org/en/latest/reference/inheritance-mapping.html)

a mapped superclass cannot be an entity

otherwise extending the class leads to errors such as described here : http://stackoverflow.com/questions/21536634/doctrine-query-crashing
There is hence an architecture choice to be made : either keep the @ORM\MappedSuperclass annotation or remove it.
I personally think it is the bundle's user responsibility to extend the class should he need to persist the object, this is why I removed the @ORM\Entity annotation.

You are right, thank you !


issue#301 : Work on tightening the contract for lucene sail components

This PR addresses GitHub issue: #301
Briefly describe the changes proposed in this PR:

Adds more checks and sychronisation to avoid calling into Lucene API at unexpected times

Make sure you've followed the Contributor Guidelines. In particular (please tick to indicate you've taken care of it):

[x] RDF4J code formatting has been applied
[x] tests are included
[x] all tests succeed

Lock more Lucene methods. The internal Lucene API isn't stable for long term threaded access so external synchronisation is necessary.
Add checks on calls after closure
With these changes I have not been able to replicate the issue after several (30+) invocations of the testsuite. Previously I was getting the error about 1 in every 10 runs through LuceneSailTest.
Signed-off-by: Peter Ansell<EMAIL_ADDRESS>

Great stuff, thanks Peter! I will merge and then cherrypick to have it on the 2.0 branch.

I was a bit over-eager in merging this - should have run verification first and also get @pulquero's feedback. But it appears no harm was done and all tests succeed.

Hopefully the tests stay stable ;) Thats the trouble with an intermittent bug like this.

fwiw, looks fine to me.


Scoped Packages from default registry

If you run:
npm set registry <verdaccio registry url>
npm install @sailshq/lodash

the result errors out, with:
npm ERR! registry error parsing json
npm ERR! Darwin 16.1.0
npm ERR! argv "<home dir>/.nvm/versions/node/v4.6.0/bin/node" <home dir>/.nvm/versions/node/v4.6.0/bin/npm" "install" "@sailshq/lodash"
npm ERR! node v4.6.0
npm ERR! npm  v2.15.9

npm ERR! Unexpected token <
npm ERR! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
npm ERR!
npm ERR! <title>404 Not Found</title>
npm ERR!
npm ERR!
Not Found

npm ERR!
The requested URL /@sailshq/lodash was not found on this server.

npm ERR!

npm ERR! <address>Apache/2.4.18 (Ubuntu) Server at <registry server> Port 80</address>
npm ERR!
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

If you revert the registry to the default npm one, the command works perfectly.

npm install /@sailshq/lodash  ? From where the / comes from @pdyxs ?

I think that came from a dependency tree somewhere (this showed up when installing something else). The error is the same when I omit the '/' though.

The requested URL /@sailshq/lodash was not found

You were using /@sailshq/lodash. I install @extjs/reactor with no problem.

If you have more issues and there is actually a problem with scoped packages, we can reopen this issue.


Outdated Iced Backend

When creating a simple gui with a text box and a graph, when setting widths/lengths for both, the program fails to compile saying
expected enum iced_core::length::Length, found enum Length.
It suggests that multiple versions of iced_core are being used. I'm using iced version 0.4, which uses iced_native 0.5. I looked, and it seems like this repository is using iced_native 0.4. I think this is preventing people from using newer versions of iced in conjunction with plotters-iced. Is there any possibility this repository will be updated? Or is there another issue here?

I will update it this weekend

code was updated. but there is some problem with web version.

Hey thanks a lot, I think the build for ubuntu failed because the example split-chart has a Cargo.toml named cargo.toml. The build is looking for one starting with a capital C.

done


test: --output-dir automation tests

What ❔
Automation tests for next test cases:

Why ❔
Increase automation test coverage.
Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.

@olehbairak I have performed a rebase and moved the PR to Draft.
A few recommendations regarding the PR:

For this set of tests use path.join() in that we use in entities instead of / or \  separators. You will be able to avoid issues that you have now.
For all dirs to test I would recommend to work in artifacts dir (we do not need trash in the file tree)
It will be nice to add to afterAll() a function that will clean our tmp dirs.


Automated cherry pick of #11122

Cherry pick of #11122 on release-7.3.
/cc  @plant99
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 21aa5144dd3281fa3fc65fca9ffa3fbbe5ab7368


Fix broken hash fragments in DeveloperGuide

Coverage remained the same at 90.405% when pulling<PHONE_NUMBER>925e0cc7519254edecf4f8adb8c199 on docs-hash-fragments into 88592a2a080007e3ca084f14ad72ba588362f292 on master.

Coverage remained the same at 90.405% when pulling 0256246a973476234dfde1464d39f127db4e37ad on docs-hash-fragments into e052ebd630d83f8ba8dfd27dceaa741193c9a995 on master.


Add e2e test for hive kubeconfig

Which issue this PR addresses:

Fixes
What this PR does / why we need it:
Add new e2e test to cover hive kubeconfig manipulation
Signed-off-by: Petr Kotas<EMAIL_ADDRESS>
Test plan for issue:

Is there any documentation that needs to be updated for this PR?

/azp run e2e

/azp run e2e

/azp run e2e

/azp run e2e

/azp run e2e

/azp run e2e

/azp run e2e

/azp run e2e

This PR doesn't take into consideration the absence of AKS in FairFax and the 6 regions that do not have Hive installed and is going to result in E2E failures in those regions. We are going to need a follow up PR that skips this test in a predefined list of regions.


[api-docs] Changelog: Experimenting w/ E2EE Voice & Video (#6554)

A new commit was made into the api-docs repo: https://github.com/discord/discord-api-docs/commit/636552900468bb08a71f3bc74487006960e94826

e2ee experiment changelog

Update docs/Change_Log.md

Co-authored-by: Zoddo<EMAIL_ADDRESS>
Co-authored-by: Zoddo<EMAIL_ADDRESS>This is a bot created issue.

Not relevant for us at this time.


Fix #3309

LibFuzzer basic template was missing target_timeout

Codecov Report

Merging #3334 (aec631d) into main (e5d7a60) will decrease coverage by 1.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #3334      +/-   ##
==========================================
- Coverage   31.83%   30.49%   -1.35%
==========================================
  Files         307      133     -174
  Lines       37358    14308   -23050
==========================================
- Hits        11894     4363    -7531
+ Misses      25464     9945   -15519

see 174 files with indirect coverage changes


freeze  model graph failure

I can generate the pbtxt,but freeze  model graph failure
I use tensorflow1.2
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 178, in
Main()
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 117, in Main
module_space = FindModuleSpace()
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 91, in FindModuleSpace
sys.argv[0])
AssertionError: Cannot find .runfiles directory for /Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph
Traceback (most recent call last):
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 178, in
Main()
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 117, in Main
module_space = FindModuleSpace()
File "/Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph", line 91, in FindModuleSpace
sys.argv[0])
AssertionError: Cannot find .runfiles directory for /Users/gouwei/tensorflow/bazel-bin/tensorflow/python/tools/freeze_graph

by the ways ,I use MAC 10.12.6

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Clarity on init with Self requirement of SectionModelType in RxDataSources

I posted this  on StackOverflow first, but I assume, this community should be able to help me better / faster in this case.
Binding a sectioned table with RxDataSources using a TableViewSectionedDataSource, requires sections which conform to SectionModelType.
This SectionModelType protocol has the following initializer as one of it's requirements:
    init(original: Self, items: [Item])

In addition, the same protocol enforces var items: [Item] { get }. We can now initialize the items array backing variable (in above mentioned init) with either from original.items, or items passed as init parameter. This is very confusing. The SectionModelType code has no comments.
How section of README which explains creation of sections for this very case, talks about creating typealias (for associated value), and the items array, but not a word about following implementation of init with original: Self :
init(original: SectionOfCustomData, items: [Item]) {
    self = original
    self.items = items
}

While this can work in a struct, doing the same in a class shouts:

Cannot assign to value: 'self' is immutable

Can anyone here explain what is happening here and why do we NEED to init with Self
Lastly, is there another (cleaner) way to reactively (in RXSwift / RxCocoa only) bind a sectioned table view to an observable datasource.
e.g.

my cells, and sections have their own data model, which need to be mutable (hence classes)
there are multiple screens with this requirement for different entities, so i would be interesetd in achieving this with protocols instead, and slap the corresponding data model with the protocol ans have a common implementation for RXBinding

Any pointers to either get clarity more on existing implementation, or achieving above points would be really helpful.

I have this problem now. I need to add a new mutating field in my SectionModel.
@lukya Do you have a workaround?


Tweak: How to add "Click here for your search URL" at bottom of the email?

Sometimes I need to revisit the unsold items to compare prices and see what's on the market. How do I add "Click here for your search URL" at bottom of the email template, where I click on and it will redirect me to the current search URL?
Thanks

It is unclear whether this request is related to this project. Please provide more context and reopen if needed.


[iOS][plugin] OpenGL with Texture Widget: Memory leak after unregisterTexture.

Steps to reproduce
There is the demo.
After creating and destroying multiple FlutterTexture, I found that the memory kept rising.
(Demo provides buttons to create and destroy Texture)

Expected results
No leak.
Actual results

I found that FlutterDarwinContextMetalSkia textureCache retain them.
Code sample
See Demo.
Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
❯ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.6, on macOS 14.0 23A344 darwin-arm64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.85.1)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

Thanks for filing this @xzeroplus.

After creating and destroying multiple FlutterTexture, I found that the memory kept rising.

Testing this on the latest master and stable channels, I can't seem to reproduce this

Does this reproduce on your end with the latest versions as well?

@dam-ease Do you run on iOS? Only reproduce this issue on iOS .

@dam-ease I found that Flutter DevTools did not correctly track the native memory. I think you can run on Xcode.

Thanks for your response @xzeroplus.
I can see the rise when running this from Xcode testing with a real iOS device.

flutter doctor -v

[!] Flutter (Channel stable, 3.16.5, on macOS 14.0 23A344 darwin-arm64, locale
    en-NG)
    • Flutter version 3.16.5 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    ! Warning: `dart` on your path resolves to
      /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/damilolaalimi/sdks/flutter.
      Consider adding /Users/damilolaalimi/sdks/flutter/bin to the front of your
      path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (3 days ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio
      Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        •
      android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)  • 00008110-001964480AE1801E            • ios
      • iOS 17.1.1 21B91
    • iPhone 15 Pro (mobile)      • 08CB1E0F-4299-4651-AF30-498EE2040E78 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)             • macos                                •
      darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)                • chrome                               •
      web-javascript • Google Chrome 120.0.6099.129

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Assigning to @chinmaygarde to investigate if the fix is feasible.

Same issue, is there any progress? My Flutter Version is 3.22.1


python312Packages.sqlfmt: 0.23.2 -> 0.23.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.sqlfmt is: Sqlfmt formats your dbt SQL files so you don't have to
meta.homepage for python312Packages.sqlfmt is: https://github.com/tconbeer/sqlfmt
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.23.3 with grep in /nix/store/1796x6dbmbvjl5bzv79qjdlizhadiay9-python3.12-sqlfmt-0.23.3
found 0.23.3 in filename of file in /nix/store/1796x6dbmbvjl5bzv79qjdlizhadiay9-python3.12-sqlfmt-0.23.3

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

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

harlequin
python311Packages.sqlfmt
python312Packages.sqlfmt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1796x6dbmbvjl5bzv79qjdlizhadiay9-python3.12-sqlfmt-0.23.3 \
  --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 python312Packages.sqlfmt https://github.com/r-ryantm/nixpkgs/archive/2f097593e7c43fa4bd92b8abb20a0bb5e965671c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/2f097593e7c43fa4bd92b8abb20a0bb5e965671c#python312Packages.sqlfmt

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1796x6dbmbvjl5bzv79qjdlizhadiay9-python3.12-sqlfmt-0.23.3
ls -la /nix/store/1796x6dbmbvjl5bzv79qjdlizhadiay9-python3.12-sqlfmt-0.23.3/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.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 6 packages built:

harlequin
harlequin.dist
python311Packages.sqlfmt
python311Packages.sqlfmt.dist
python312Packages.sqlfmt
python312Packages.sqlfmt.dist

Maintainer pings
cc @pcboy for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


Module '"permissionless"' has no exported member 'privateKeyToSimpleSmartAccount'

Module '"permissionless"' has no exported member 'privateKeyToSimpleSmartAccount'

It is exposed in permissionless/accounts


Add more benchmarks

Add more benchmarks for benchmark tracking. Add also the menu link for the Bechmarks page

The Julia cache gives some errors. Using back again the cache management used in the example of the action resolved this issue. Already in the previous PR #97 there was this error, but I had directly merged since I changed  only the readme file.


luci-app-attendedsysupgrade: add required acls

Add required ubus acls from package rpcd-mod-attendedsysupgrade.
Signed-off-by: Paul Spooren<EMAIL_ADDRESS>

i this we dont need it.
corresponding package rpcd-mod-attendedsysupgrade has that file already, and its better hosted there..
btw, the file there is almost the same, but with better ubus-description
https://github.com/openwrt/packages/blob/master/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.acl

@FreifunkUFO I thought of removing the acl-files from rpcd-mod-attendedsysupgrade to luci-app-attendedsysupgrade as a possible cli wouldn't need the acls afaik.

i think the rpcd-acls belong to the rpcd-packet (as a config).
when using attendeedsysupgrade via CLI neither rpcd-alcs nor the rpcd-attended-sysupgrade is needed.

@jow- do you have an opinion about that?

The ACL definitions belong with the package / program needing them in order to talk to ubus, so the LuCI application in this case.

Please merge if there are no further doubts. After merging I'd create another PR to move it in lede-17.01

@jow- if the postinst script looks good I'd merge this

what about the nicer description inside the acl file?
this is a bit better: https://github.com/openwrt/packages/blob/master/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.acl

@FreifunkUFO better now?

Now the app waits until the rooter is rebooted and asks the user to reload.

needs https://github.com/openwrt/packages/pull/5053 first


Break ordering ties by str

This changes task ordering to break ties using the string representation
of the key.  This is particularly useful when computing dask collections
on an asynchronous scheduler, because the beginning parts of the
computation start first.  This will allow for df.head() for example to
work almost immediately after e.persist(df).  The keys like ('df', 0) will run before keys like ('df', 242).
I haven't benchmarked this to see if it significantly affects overhead.

I ran the following benchmark:
from dask import delayed, compute, get
@delayed
def inc(x):
    return x + 1
@delayed
def add(x, y):
    return x + y
L = [inc(i) for i in range(10000)]
K = [inc(-i) for i in range(10000)]
J = list(map(add, L, K))
total = delayed(sum)(J)
%load_ext snakeviz
%snakeviz total.compute(get=get)

And got roughly the following breakdown of costs with this PR

4s full cost

0.7 Optimize
3.5 get_async

1s fire-task (actual computation)
0.875 order

0.037 the new key function

So this adds around a 4% bump in the cost of order, which, for ~10k keys is around 40% of the administrative costs (it would be less for fewer keys, order employs sorted, which is nonlinear.)
Personally I'm willing to incur this cost for now

cc @jcrist  for review

Overall this looks fine to me, the overhead is almost certainly negligible on less contrived cases. +1.