[$1000] Attaching file names with space appears as a underscore

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

Action Performed:

Rename any video file on your computer to "Hello - world"
Go to any chat and click on the plus sign to attach a file
Add the renamed file as an attachment
Observe that the display name in the chat is not correct and shows as "Hello_-_world"

Expected Result: The attachment should display the same
name as the renamed file on the computer.
Actual Result:
The attachment displays a modified version of the renamed file, replacing spaces with underscores, such as "Hello_-_world".
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.57-2
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
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/38336ecd-5e1f-4643-bd12-62d91b388c82

Expensify/Expensify Issue URL:
Issue reported by: @tewodrosGirmaA
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692193230614919
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d067ae608a3a34f7
Upwork Job ID:<PHONE_NUMBER>984388608
Last Price Increase: 2023-08-26

Proposal
Please re-state the problem that we are trying to solve in this issue.
Attaching file names with space appears as a underscore
What is the root cause of that problem?
The upload file logic here:
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/AttachmentModal.js#L260-L270
and in this logic, you call the FileUtils.cleanFileName function at line 261
function cleanFileName(fileName) {
    return fileName.replace(/[^a-zA-Z0-9\-._]/g, '_');
}

and this function change space to underscore
What alternative solutions did you explore?
Move the change file name logic to submitAndClose
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/AttachmentModal.js#L178-L191
like this
const submitAndClose = useCallback(() => {
    // If the modal has already been closed or the confirm button is disabled
    // do not submit.
    if (!isModalOpen || isConfirmButtonDisabled) {
        return;
    }

    if (props.onConfirm) {
        const cleanName = FileUtils.cleanFileName(file.name);
        let updatedFile = file;
        if (file.name !== cleanName) {
             updatedFile = new File([file], cleanName, {type: file.type});
        }
        props.onConfirm(lodashExtend(updatedFile, {source}));
    }

    setIsModalOpen(false);
    // eslint-disable-next-line react-hooks/exhaustive-deps
}, [isModalOpen, isConfirmButtonDisabled, props.onConfirm, file, source]);

OR bester we can move the clearName logic to backend

Can repro, sertting as external

Proposal
Please re-state the problem that we are trying to solve in this issue.
Attaching file names with space appears as a underscore
What is the root cause of that problem?
We are cleaning filename already when preview modal is presented, here:
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/AttachmentModal.js#L261
And for the mobile, here:
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/AttachmentPicker/index.native.js#L256
https://github.com/Expensify/App/blob/c16995257c738761206ea07645e863ee717ecbc0/src/components/AttachmentPicker/index.native.js#L67
What changes do you think we should make in order to solve the problem?
We should remove cleaning name logic from above mentioned places and move cleaning file name to after showing preview modal. We can move it to submitAndClose
We should consider both mobile and web logic since file is handled a bit different in each of them:
const updatedFile = file;

            if (updatedFile instanceof File) {
                const cleanName = FileUtils.cleanFileName(updatedFile.name);

                updatedFile = new File([updatedFile], cleanName, {type: updatedFile.type});
            } else {
                // For mobile devices, since file is not an instance of File and should be handled differently
                updatedFile.name = FileUtils.cleanFileName(fileName);
            }

            props.onConfirm(lodashExtend(updatedFile, {source}));

What alternative solutions did you explore? (Optional)

Why this is even a bug??
> function cleanFileName(fileName) {
...      return fileName.replace(/[^a-zA-Z0-9\-._]/g, '_');
...  }
undefined
> cleanFileName("Hellow-World")
'Hellow-World'
> cleanFileName("Hellow - World")
'Hellow_-_World'

Proposal
Please re-state the problem that we are trying to solve in this issue.
Uploaded file names get modified, replacing spaces with underscores.
What is the root cause of that problem?
We have a function for modifying the file name in,
App/src/libs/fileDownload/FileUtils.js
Here the lines 117 to 119 contain the function cleanFileName as so,

Here, we do not ignore spaces in the regex, so it gets replaced by underscore in the uploaded file name, which is the main problem this issue talks about.
Now, the file name is modified using the cleanFileName function in
App/src/components/AttachmentPicker/index.native.js
on line 73 as so,

Thus the spaces in the file name get replaced by underscores in the final file name, that is the fileResult object which is returned by the getDataForUpload function.
What changes do you think we should make in order to solve the problem?
We should modify the existing Search Pattern /[^a-zA-Z0-9\-._]/g to /[^a-zA-Z0-9\-._\s]/g in the cleanFileName function, so that it also ignores the spaces in the original file name.
Result
The spaces in original file name do not get replaced with underscores while uploading.

Sure,
Here it is.
@PrgrmrHarshShukla
Contributor Details
My Expensify account email<EMAIL_ADDRESS>Upwork profile Link: https://www.upwork.com/freelancers/~015c1d391eba8e9cdc

Proposal
Please re-state the problem that we are trying to solve in this issue.
File names containing spaces are displayed with underscores when attached, causing an inconsistency in the displayed names.
What is the root cause of that problem?
Upon investigating the matter, the core of the problem stems from the current approach to file name sanitation, specifically within the cleanFileName function situated at App/src/libs/fileDownload/FileUtils.js. The present regular expression (/[^a-zA-Z0-9-._]/g) lacks provision for accommodating spaces.
function cleanFileName(fileName) {     return fileName.replace(/[^a-zA-Z0-9\-._\s]/g, '_'); }
Proposed Solution
In order to rectify the matter and align with expected behavior, a strategic adjustment of the regular expression within the cleanFileName function is recommended. By incorporating spaces (\s) into the expression, we can effectively mitigate the issue.
Anticipated Outcome
Upon implementation of this refined solution, the issue is expected to be entirely resolved. File names that include spaces will be accurately reflected in chat attachments. This modification ensures that only characters other than letters, numbers, hyphens, periods, underscores, and spaces are substituted with underscores.
Workaround Assessment
While the issue of file names displaying with underscores when attached persists, users can continue using Expensify without encountering significant obstacles. Although the presented workaround involves the file name being altered, it doesn't substantially hinder the functionality of the application.

📣 @sainath998! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:

Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Here are my details:-
Contributor details
Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01d249fed6544da4f3

Proposal
Please re-state the problem that we are trying to solve in this issue.
The issue at hand pertains to the misrepresentation of filenames containing whitespaces when attached in chat. Presently, the display name exhibits underscores in place of spaces, leading to discrepancies. In this case the anticipated outcome is "Hello - world," but the actual display is "Hello_-_world."
What is the root cause of that problem?
The root cause of this problem lies in the cleanFileName function that replaces underscores with underscores for spaces, resulting in the unexpected display of underscores in the chat.

What changes do you think we should make in order to solve the problem?
To rectify the issue, I propose a strategic adjustment to the regular expression used in the cleanFileName function. By incorporating spaces (\s) into the expression and taking advantage of the match parameter, we can ensure that spaces are not inadvertently replaced with underscores. This modification ensures the retention of spaces while still allowing the replacement of non-alphanumeric characters and underscores.

My Contributor details:
Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~017e7c1b2eaf633e9c

Proposal
Please re-state the problem that we are trying to solve in this issue.
When attaching, the attachment displays a modified version of the renamed file, replacing spaces with underscores.
What is the root cause of that problem?
https://github.com/Expensify/App/blob/c029dc509d03fd13ece058ba89ab25c4318a9050/src/libs/fileDownload/FileUtils.js#L117-L119
The regex does not account for spaces.
What changes do you think we should make to solve the problem?
Several issues other than converting space to underscore should be addressed here:

Improper handling of accented characters.
Improper handling of non-English characters
Improper handling of trailing spaces.

A robust sanitization solution would be to blacklist problematic characters that impose security threats like SQL injections or XSS.
function cleanFileName(fileName) {
   return fileName.replace(/[\\\/<>:"|?*#';&%\r\n\u0000$]/g, '_').trim();
}

FYI, the cleanFileName() should not be moved to the backend to ensure no filename inconsistencies.

Contributor details
Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0125cffb1e32b32756

Oh interesting - thank you for surfacing @ntdiary : so it seems that spaces should generate underscores. So I guess this isn't really a bug then. Sorry everyone, I'll close this one now!


Clustering error due to invalid database read

Expected Behavior
After a plass assembly, the clustering of the various coassemblies.
mmseqs linclust -c 0.9 --min-seq-id 0.95 --cluster-mode 0 \
                                      ${output}/plass_assembly_noclust \
                                      ${output}/plass_ass_clust \
                                      $scratch

Current Behavior
Raises an error stating the following:
Invalid database read for database data file=data/02_geneclust/plass_assembly_noclust, database index=data/02_geneclust/plass_assembly_noclust.index
Size of data:<PHONE_NUMBER>74
Requested offset:<PHONE_NUMBER>089269
Invalid database read for database data file=data/02_geneclust/plass_assembly_noclust, database index=data/02_geneclust/plass_assembly_noclust.index
Size of data:<PHONE_NUMBER>74
Requested offset:<PHONE_NUMBER>9901201
Invalid database read for database data file=data/02_geneclust/plass_assembly_noclust, database index=data/02_geneclust/plass_assembly_noclust.index

Steps to Reproduce (for bugs)
Initial creation of the database with createdb:
mmseqs createdb data/plass_assembly/whole_assembly.faa \
                ${output}/plass_assembly_noclust

MMseqs Output (for bugs)
Error raised:
https://gist.github.com/adriaaula/92582186d55e5a8575420c6e8f8ce7e1
General output:
https://gist.github.com/adriaaula/ed7062dffd5f7ca2f498bed2fa3217db
Context
Clustering of a big fasta with  4 independent coassemblies of ~8 samples each.
250 Gb of RAM and 48 cpus.
Your Environment
Include as many relevant details about the environment you experienced the bug in.

Git commit used: d36dea
Which MMseqs version was used: statically compiled  (Statically-compiled, self-compiled, Homebrew, etc.): statically compiled
Server specifications (especially CPU support for AVX2/SSE and amount of system memory):AVX2 supported
Operating system and version:

Could you run something like this to check if the sequence database is in someway unusual:
awk 'BEGIN { min = 2^32; } $3 < min { min = $3 }; $3 > max { max = $3 } { sum = sum + $3; n = n + 1; } END { print sum/n,min,max;  }' ${output}/plass_assembly_noclust.index

We might have an issue with out split logic for databases larger than the available system memory.

I found the issue, our split logic is indeed faulty and corrupting unrelated memory.
We'll discuss the issue and try to resolve it.

Thank you for the fast response!
With the last version of mmseqs2 (7-4e23d)  I was able to process this same dataset with the only difference being --cluster-mode 2 instead of --cluster-mode 0.
Maybe this helps solving the problem.
Have a good weekend! I am Sending the awk output monday

Thanks, I don't need the output of the awk call anymore, since I tracked down whats going wrong.
It just a bit tricky to fix correctly and not waste a lot of RAM in doing so.

I have pushed one fix that might already fix this error. But I will further improve the code.

Thanks a lot! Tomorrow I try it out 👍

So far so good. The program is running smoothly and the kmermatcher step is ended without errors.
kmermatcher data/02_geneclust/plass_assembly_noclust /mnt/lustre/scratch/aauladell/9518450204626139512/pref --sub-mat blosum62.out --alph-size 13 --min-seq-id 0.95 --kmer-per-seq 21 --adjust-kmer-len 0 --mask 0 --mask-lower-case 0 --cov-m
ode 0 -k 0 -c 0.9 --max-seq-len 65535 --hash-shift 5 --split-memory-limit 0 --include-only-extendable 0 --skip-n-repeat-kmer 0 --threads 48 --compressed 0 -v 3

Database size: 823952135 type: Aminoacid
Reduced amino acid alphabet: (A S T) (C) (D B N) (E Q Z) (F Y) (G) (H) (I V) (K R) (L J M) (P) (W) (X)

Estimated memory consumption 263893 MB
Generate k-mers list for 1 split
[=================================================================] 823.95M 37m 20s 931ms
Sort kmer 0h 11m 29s 726ms
Sort by rep. sequence 0h 2m 46s 392ms
Time for fill: 0h 3m 48s 1ms
Time for merging files: 0h 4m 55s 350ms
Time for processing: 1h 13m 27s 843ms

Thanks!

Thank you for check it again :)

I seem to be getting the same error when running linclust, but the error seems to occur during the rescorediagonal step. The log from my run:
rescorediagonal /tmp/inclust/genes_db /tmp/genes_db /tmp/linclust_tmp/12839115596035141496/pref /tmp/linclust_tmp/12839115596035141496/pref_rescore1 --sub-mat nucl:nucleotide.out,aa:blosum62.out --rescore-mode 0 --filter-hits 0 -e 0.001 -c 0.9 -a 0 --cov-mode 0 --min-seq-id 0.9 --min-aln-len 0 --seq-id-mode 0 --add-self-matches 0 --sort-results 0 --global-alignment 0 --db-load-mode 0 --threads 24 --compressed 0 -v 3

[Invalid database read for database data file=/tmp/linclust/genes_db, database index=/tmp/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (1084240)
Invalid database read for database data file=/tmp/linclust/genes_db, database index=/tmp/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (1084240)
Invalid database read for database data file=/tmp/linclust/genes_db, database index=/tmp/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (1084240)
Invalid database read for database data file=/tmp/linclust/genes_db, database index=/tmp/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (1084240)
Invalid database read for database data file=/tmp/linclust/genes_db, database index=/tmp/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (1084240)
Error: Rescore with hamming distance step died

My linclust job is the following:
mmseqs linclust   --threads 24 --min-seq-id 0.90 -c 0.9 --kmer-per-seq 50           /tmp/linclust/genes_db /tmp/linclust/clusters_db /tmp/linclust_tmp/

I'm using mmseqs2  9.d36de   h76f5088_0    bioconda

@nick-youngblut could you please try to run your example on the newest release?

Yep, that fixed the problem. Sorry to bug you about old versions of mmseq2!

At least for one dataset that I'm working on, I seem to still be getting this error even though I'm using MMseqs2 Version: 10.6d92c:
rescorediagonal /tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db /tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db /tmp/global/nyoungblut/LLMGAG_274879977417/linclust_tmp//7142606106325398954/pref /tmp/global/nyoungblut/LLMGAG_274879977417/linclust_tmp//7142606106325398954/pref_rescore1 --sub-mat nucl:nucleotide.out,aa:blosum62.out --rescore-mode 0 --filter-hits 0 -e 0.001 -c 0.9 -a 0 --cov-mode 0 --min-seq-id 0.9 --min-aln-len 0 --seq-id-mode 0 --add-self-matches 0 --sort-results 0 --db-load-mode 0 --threads 24 --compressed 0 -v 3

[Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (184470)
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (184470)
getData: local id<PHONE_NUMBER>) >= db size (184470)
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (184470)
Invalid database read for database data file=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db, database index=/tmp/global/nyoungblut/LLMGAG_274879977417/linclust/genes_db.index
getData: local id<PHONE_NUMBER>) >= db size (184470)
Segmentation fault
Error: Rescore with hamming distance step died

For other metagenome datasets, this version of mmseqs2 seems to be working fine.

Could you post the full log please? This error invalid read error usually means some step before went wrong.

That is the full log. The command that I ran was:
mmseqs linclust   --threads 24 --min-seq-id 0.90 -c 0.9 --kmer-per-seq 50           /tmp/global/nyoungblut/genes_db /tmp/global/nyoungblut/clusters_db /tmp/global/nyoungblut/linclust_tmp/        2>> linclust.log 1>&2

My conda env:
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
bzip2                     1.0.8                h516909a_1    conda-forge
ca-certificates           2019.9.11            hecc5488_0    conda-forge
curl                      7.65.3               hf8cf82a_0    conda-forge
gawk                      5.0.1                h516909a_0    conda-forge
htslib                    1.9                  h4da6232_3    bioconda
krb5                      1.16.3            h05b26f9_1001    conda-forge
libcurl                   7.65.3               hda55be3_0    conda-forge
libdeflate                1.2                  h516909a_1    bioconda
libedit                   3.1.20170329      hf8c457e_1001    conda-forge
libgcc-ng                 9.1.0                hdf63c60_0
libssh2                   1.8.2                h22169c7_2    conda-forge
libstdcxx-ng              9.1.0                hdf63c60_0
llvm-openmp               8.0.1                hc9558a2_0    conda-forge
mmseqs2                   10.6d92c             h2d02072_0    bioconda
ncurses                   6.1               hf484d3e_1002    conda-forge
openmp                    8.0.1                         0    conda-forge
openssl                   1.1.1c               h516909a_0    conda-forge
pigz                      2.3.4                         0    conda-forge
plass                     2.c7e35              h21aa3a5_1    bioconda
samtools                  1.9                 h10a08f8_12    bioconda
seqtk                     1.3                  hed695b0_2    bioconda
tk                        8.6.9             hed695b0_1003    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
zlib                      1.2.11            h516909a_1006    conda-forge

@nick-youngblut I can not see the log. Maybe it did not upload?

I guess that 2> linclust.log 1>&2 didn't actually capture all of the output. I rerun the command. There's the log: mmseqs_linclust.log

Something went wrong in the first kmermatcher step that produced an invalid database. Now every time you rerun the job it will take the previous result in the tmp folder and try to run it through rescorediagonal to compute the alignment.
Can you clear out the tmp folder, rerun the job and post the log? Can't learn much from the rescorediagonal call sadly.


Update da-dynamodb-client, ... to 0.1.44

About this PR
📦 Updates

uk.gov.nationalarchives:da-dynamodb-client
uk.gov.nationalarchives:da-eventbridge-client
uk.gov.nationalarchives:da-s3-client
uk.gov.nationalarchives:da-sfn-client
uk.gov.nationalarchives:da-sns-client

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

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

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

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #27.


fix bug of GPU available number

Coverage remained the same at 51.488% when pulling d2fd6e773f469e0f51f48880dc74b54de985cb74 on qinsu/portal/fixxx into 07aac9e518fbd368ffb08d9985fec6ffac2af678 on pai-0.14.y.

Coverage remained the same at 51.488% when pulling d2fd6e773f469e0f51f48880dc74b54de985cb74 on qinsu/portal/fixxx into 07aac9e518fbd368ffb08d9985fec6ffac2af678 on pai-0.14.y.

Coverage remained the same at 51.488% when pulling d2fd6e773f469e0f51f48880dc74b54de985cb74 on qinsu/portal/fixxx into 07aac9e518fbd368ffb08d9985fec6ffac2af678 on pai-0.14.y.


new landsat8 metadata address

USGS updated their website! https://landsat.usgs.gov/download-entire-collection-metadata
@scisco @drewbo

Thanks @vincentsarago !


Test session with user key

The problem:

We have some reasons to think that Streamlit is mixing input on user session that are running at the same time (along with the msgs we get from our users related to strange behaviours when changing some inputs, e.g. change to a different city when the just changed the number of cases on app).

The (possible) solution:

Searching a while, I found a new implementation of State class using multiple states per app by setting user key. At first it wasn't working, but now the values are changing with user_input as expected (\o/).
I did some work on this branch to test but we still need to validate this approach - doing some simultaneous test on staging can be the way here!

 Adaptar sessão do streamlit para ID amplitude

 Adaptar sessão do streamlit para ID amplitude


check if user logs in on market trading page and refresh order book

https://github.com/AugurProject/augur/issues/8471
simple change to load orderbook if user logs in on market trading page.

@mergifyio backport dev

@Mergifyio rebase

/Azure run augur

/AzurePipelines run


UI too large in 0.3.0

Lapce Version
0.3.0
System information
EndeavourOS Linux with the XFCE desktop environment
Running on a small netbook with a 1366x768p display
Describe the bug
The entire UI is too large after updating to version 0.3.0. It was fine on version 0.2.8, but for some reason the scaling seems to be the wrong value or something. I'm not using any scaling on my system (it's a netbook with a small 1366x768p screen).
I don't have this problem when running version 0.3.0 on my desktop computer running KDE on a 2560x1440p display, it's only on this netbook running XFCE where I have this problem.
This may be similar to https://github.com/lapce/lapce/issues/2737, but my problem is with the entire UI, not just the menus, so it could be a separate problem.
Additional information
Here are some screenshots, the first is the UI in 0.2.8, and the second is the UI in 0.3.0.

Nothing about UI scaling appears in the logs. All I see is some debug info about keymaps.

Large UI mentioned in #2732

Ah, somehow I missed that when looking to see if someone had already posted this issue.


Fix 3d axes flickering in the negative direction when extremely zoomed out

When zooming out in the 3d node editor view, the negative half of all 3d axes starts flickering upon moving the camera. To fix this, the logic surrounding 3d transform "scaled" and "translated" calls has been altered so as to account for negative distance values.
Fixes #89215.

Rebased to fix a temporary CI issue.

Thanks! And congrats for your first merged Godot contribution :tada:


make llama2.go ref llama2.c

hello everyone:
First of all, I would like to thank Karpathy for his contributions.
I have successfully implemented a golang version of the code. If you're interested, I would be more than happy to share it with you.
https://github.com/haormj/llama2.go

cool!


Write generated bridge files to OUT_DIR as-is

Possible way to fix #213. Currently breaks things, if this is something that might make sense I'm happy to look into making it work.
This requires consumers to add
let out_dir = env::var("OUT_DIR").unwrap();
// ...
cxx.include(out_dir);

to their build script.

Works like a charm now. Thanks a lot for working on this! (And sorry that I didn't pick up my slack here after your fast response)


Full end device vs Router Eligible End Device vs Minimal end device in Thread network (CON-591)

In configuration file it is possible to choose Full Thread Device, Minimal Thread Device or Radio Only Device.
When Full Thread Device option was chosen the device acts like Router Eligible End Device. In the logs is written that it is child and than its role is changed into router. How to configure device to be Full Thread Device (so that it can't change role into router)?
Also it isn't clear what is the difference between Full end device and Minimal end device.

You can use otThreadSetLinkMode(otInstance *aInstance, otLinkModeConfig aConfig) to set mRxOnWhenIdle, mDeviceType, and mNetworkData to 1. And use otThreadSetRouterEligible(otInstance *aInstance, bool aEligible) to set Eligible to 0. You can find the difference in https://openthread.io/guides/thread-primer/node-roles-and-types

Thank you.


Deprecated selector in Ensime/styles/ensime.atom-text-editor.less

In Ensime/styles/ensime.atom-text-editor.less:
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:

atom-text-editor .highlight.implicit .region, atom-text-editor::shadow .highlight.implicit .region => atom-text-editor .highlight.syntax--implicit .region, atom-text-editor.editor .highlight.syntax--implicit .region

atom-text-editor .gutter .line-number.implicit, atom-text-editor::shadow .gutter .line-number.implicit => atom-text-editor .gutter .line-number.syntax--implicit, atom-text-editor.editor .gutter .line-number.syntax--implicit

atom-text-editor .gutter .line-number.implicit .icon-right, atom-text-editor::shadow .gutter .line-number.implicit .icon-right => atom-text-editor .gutter .line-number.syntax--implicit .icon-right, atom-text-editor.editor .gutter .line-number.syntax--implicit .icon-right

atom-text-editor .gutter .line-number.implicit .icon-right:before, atom-text-editor::shadow .gutter .line-number.implicit .icon-right:before => atom-text-editor .gutter .line-number.syntax--implicit .icon-right:before, atom-text-editor.editor .gutter .line-number.syntax--implicit .icon-right:before

Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.

I got annoyed with the deprecation notices enough, so I took a stab at fixing this in #276.

How's the effort going? Is this ready to be release?

@schrepfler My PR at #276 was merged, but it's not in a release as of yet. @hedefalk?

Oh, no, I don't think so. Sorry for being so slow on stuff. I'll try to
release soon!
On Sun, Mar 12, 2017 at 11:53 PM Nathan Kleyn<EMAIL_ADDRESS>wrote:

@schrepfler https://github.com/schrepfler My PR at #276
https://github.com/ensime/ensime-atom/pull/276 was merged, but it's not
in a release as of yet. @hedefalk https://github.com/hedefalk?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ensime/ensime-atom/issues/271#issuecomment-285984070,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHHKLDjNFH3eVpENGMjb8kcLcia564pks5rlHeGgaJpZM4Ljjd2
.

Fixed by https://github.com/nathankleyn/ensime-atom/commit/21a6295babde417cc5050631c98571686b229d6a


Geocoded(Georerenced) tif image load issue using GDAL Extension

Hi,
I have a TIF image which is geocoded (georefenced) using gdal_translate.  In DotSpatial demo application while trying to load the image it is not showing.
gdalinfo output showing the image is georeference with GCPs
Size is 673, 498
GCP[  0]: Id=1, Info=
          (74.1677165354332,263.116535433071) -><PHONE_NUMBER>97366,3065790.52791477,0)
GCP[  1]: Id=2, Info=
<PHONE_NUMBER>90551,467.806299212598) -><PHONE_NUMBER>33748,3065837.37023984,0)
GCP[  2]: Id=3, Info=
<PHONE_NUMBER>48032,392.51811023622) -><PHONE_NUMBER>96212,3065762.13862685,0)
GCP[  3]: Id=4, Info=
<PHONE_NUMBER>08662,67.8377952755906) -><PHONE_NUMBER>84123,3065751.25606648,0)
GCP[  4]: Id=5, Info=
<PHONE_NUMBER>92126,53.7212598425197) -><PHONE_NUMBER>34787,3065744.63189929,0)
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0,  498.0)
Upper Right (  673.0,    0.0)
Lower Right (  673.0,  498.0)
Center      (  336.5,  249.0)
Band 1 Block=673x3 Type=Byte, ColorInterp=Red
  Min=0.000 Max=255.000
  Minimum=0.000, Maximum=255.000, Mean=247.282, StdDev=34.553
  Mask Flags: PER_DATASET ALPHA
  Metadata:
    STATISTICS_MAXIMUM=255
    STATISTICS_MEAN=247.28208226666
    STATISTICS_MINIMUM=0
    STATISTICS_STDDEV=34.5533790588379
Band 2 Block=673x3 Type=Byte, ColorInterp=Green
  Mask Flags: PER_DATASET ALPHA
Band 3 Block=673x3 Type=Byte, ColorInterp=Blue
  Mask Flags: PER_DATASET ALPHA
Band 4 Block=673x3 Type=Byte, ColorInterp=Alpha

DotSpatial version: build of master
Expected behaviour
It was supposed to be loaded in the position where coding were applied as it does on the QGIS  as below, the original image is shifted as it should be.

Fig: QGIS
Actual behaviour
Orginal image is as below:

On demo application the image is not shown as it was in QGIS, and also the image was actually flipped as below.

Fig:Translated Image
I tried to load the image manually using gdal extension as well on separate project
var imageData = DotSpatial.Data.Rasters.GdalExtension.GdalImage.Open(file);
map.Layers.Add(imageData);

I tried map.AddLayer(); as well and still no luck. In custom application it is not even loaded.
Files
balambu_1KA.zip
balambu_1KA_georef.zip
How can we I fix this issue?

I have reproduced the actual behavior. I suspect the problem is that DotSpatial is not currently handling this type of georeference information. Based on GDAL documentation regarding the Raster Data Model, there are two options to describe the raster space (the transformation), either an Affine Transformation, or GCPs. It is specifically stated that:

Normally a dataset will contain either an affine geotransform, GCPs or neither. It is uncommon to have both, and it is undefined which is authoritative.

In the posted file, the raster space transformation is described through GCPs. According to a statement from the same link:

The GDAL data model does not imply a transformation mechanism that must be generated from the GCPs … this is left to the application. However 1st to 5th order polynomials are common.

I have retrieved the GCPs in code from the posted balambu_1KA_georef.tif file, so I can confirm that this is actually stored within the file. Based on the DotSpatial source code, I can also confirm that GCPs are not treated anyhow as an alternative to undefined Affine Coefficients. Therefore, it is, indeed, a missing capability (unless I am missing something), which, I assume, would be similar to an on-the-fly transformation of the image using some transformation model.
@rupakraj Regarding your problem, the only way to get around it is to actually transform the image (i.e. use gdal_warp) properly (using the GCPs), in order to get the actual image you are seeing in QGIS as an output image and try to open this in a DotSpatial Map. I suspect QGIS is transforming the image on-the-fly using some transformation. Beyond that, setting GCPs through gdal_translate does not (again, unless I am missing something) transform the image, it only assigns GCP points as georeference data.

Thanks @VectorZita I used gdalwrap to fix this issue.
Enabling GDAL the color bands (symbology) is automatically assigned. Do you have any idea how can we disable this and load the image with the color as it has.

Thanks a lot.

I had posted about such an issue a couple of years ago https://github.com/DotSpatial/DotSpatial/issues/1060


[FEATURE] Make Template Writeable

Is your feature request related to a problem?
The Template class does not properly impement Writeable:

there is no constructor taking StreamInput
the writeTo() implementation does not handle the List<Version>

// TODO: fix writeable when implementing get workflow API
@Override
public void writeTo(StreamOutput output) throws IOException {
    output.writeString(name);
    output.writeOptionalString(description);
    output.writeString(useCase);
    output.writeVersion(templateVersion);
    // output.writeList((List<? extends Writeable>) compatibilityVersion);
    output.writeMapWithConsistentOrder(workflows);
    if (user != null) {
        output.writeBoolean(true); // user exists
        user.writeTo(output);
    } else {
        output.writeBoolean(false); // user does not exist
    }
}

This is a similar issue to the resource mapping in #358 where output.writeList() needs a type that is supported in writeGenericValue.  See StreamOutput line 663.  These do not include the Version class.
The Version class itself (if not in a collection) can be written (it just writes the integer ID).
What solution would you like?
Option 1:  Just don't implement writeable.  We currently pass the template in the Response as a JSON string, parsing it at the other end.
Option 2: Properly make the whole template writeable so we don't have to use the string workaround. This should have improved performance.
For the specific TODO:
Manually write the list:
output.writeVInt(compatibilityVersion.size());
for (Version v : compatibilityVersion) {
  output.writeVersion(v);
}

And implement the corresponding readers in the constructor.

Going with option 1 since we don't ever write the template object itself to a stream, only the template json


Copy address data from shipping is not persistent

Current behavior
The billing address doesn't mirror changes done to the shipping address
Expected behavior
The billing address should automatically be updated to mirror changes done to the shipping address.
Steps to reproduce the issue

Add a product to cart
Go to checkout
Enter shipping address
Check the "Copy address" checkbox
Modify your shipping address
The billing address doesn't mirror changes done to the shipping address

Can you handle fixing this bug by yourself?

[x] YES but not anytime soon. Feel free to fix it
[ ] NO

Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a bug report for test version on https://test.storefrontcloud.io - In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[ ] This is a bug report for current Release Candidate version on https://next.storefrontcloud.io - In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[x] This is a bug report for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version hotfix - In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Environment details

Browser: Chrome 72
OS: Ubuntu 18.04
Node: 8.x
Code Version: master

Working on this.


Better Cluster Support

I added a new "cluster list" command to get a list of available clusters from the VCenter.

:ship: :it:


This important work is not yet in the NPM current version

https://github.com/oblador/react-native-progress/pull/60/commits/8527f96d56a0315d04bd9a2417b0182e42b9596f

I regard it as no longer needed and the author closed the PR. Why is it important?

It seems that the latest version on NPM is not compatible with the latest stable react-native due to React.propTypes being fully deprecated?


HV-953

Integration test still missing (could potentially be provided later). Ready for review though.

HV-5-MASTER #668 SUCCESS
This pull request looks good

HV-5-MASTER #669 SUCCESS
This pull request looks good

HV-5-MASTER #670 SUCCESS
This pull request looks good

Added wildfly integration test

HV-5-MASTER #671 SUCCESS
This pull request looks good

Rebased and applied. Added two more commits to remove that superfluous class and do some other minor fixes.

Thanks, good catch with the AggregateResourceBundle. I meant to delete it, but apparently I forgot.


Archive dnscrypt-proxy.log

Salut.
I noticed that while query.log gets archived correctly at the size I have specified (into a zip file) the log for the proxy itself does not get archived. Did I mis-configure or is this normal? Can the proxy log be archived too?
Thanks.

Maybe you can send these logs to syslog (or the Windows logger) instead?

Hmm, it's an option, but not an attractive one - It is much easier to read the log file in a text editor than it is to read Windows Event Logs (yes, I can use XPath in the Event Log, but I don't need that to read the DNSCrypt-Proxy log.) Why not support Automatic log files rotation for the proxy log?

Ah yes, I see now, it uses your own dlog library.
Alright, I'll just compress it in NTFS and delete it once in a while.
Thanks.

On Linux, this can be easily achieved by
Step one: modify '/opt/dnscrypt-proxy/dnscrypt-proxy.toml'
log_file = '/var/log/dnscrypt-proxy.log'
Step two; create a file '/etc/logrotate.d/dnscrypt-proxy', containing:
/var/log/dnscrypt-proxy.log {
daily
rotate 5
copytruncate
delaycompress
compress
notifempty
missingok
}


Popovers break after live navigation

After some live navigation events, popovers fail to open again until the next page refresh.
To reproduce:

View a client
Verify it
Notice popovers fail on the page

@jamilbk I can't reproduce this on staging

Disregard, reproduced. The issue is that Flowbite libraries don't really work with DOM pathcing.


Release v1.1

I have no idea why the check-dist action is failing, ran it like 5 times. Will figure it out eventually


Re-releasing produces mangled versions

We need a proper process to re-deploy a release, if the original deploy went wrong (as 0.2.0 did; the tests failed when doing the release build and we had to reset the branch). Partly, we just need to document the correct process, but there's a technical change required as well.
When the 0.2.0 release was made in Github, Github created a release-0.2.0 tag pointing to the same commit as the release-0.2 branch. For some reason, when gitlab re-ran the build jobs in the existing pipeline triggered by the creation of the release-0.2 branch, it got excited about this tag pointing to the same commit and checked out the tag rather than the branch - meaning that CI_COMMIT_REF_NAME seems to have been release-0.2.0 rather than release-0.2. This upset the versioner.
Suggested solution: Make the versioner, when looking at a git ref name, notice if it's already got a third numeric component. If so, just use it rather than counting commits to create an extra numeric component. Then builds from release-A.B.C tags will just automatically get the tag name as a version, which is right and proper.

[ ] Document how to re-release
[x] Make the versioner not be confused by tags

Then builds from release-A.B.C tags will just automatically get the tag name as a version, which is right and proper.

Done!
So now doing a re-release is the same process as doing a release. Can you think of any docs that need updating?


fix: Popup shows many times

errors and proposals

Fixed it...issue was caused by App.tsx updating too many times. So I moved it from that Component to main.tsx for now. Ideally, we need to separate App.tsx so not everything updates all the time...this may be causing other delays as well.


How is Jellyfish database in jf format created for PanGenie?

The PanGenie command line help indicates that  a jellyfish database in jf format is an option for input.
-i VAL	sequencing reads in FASTA/FASTQ format or Jellyfish database in jf format.
NOTE: INPUT FASTA/Q FILE MUST NOT BE COMPRESSED. (required).
What is the recommended JellyFish command for creating the jf file?  How does the jf formated file compare in size to the uncompressed fasta or fastq file?

For k-mer counting with jellyfish, PanGenie per default uses a kmer size of 31, a hash size of 3,000,000,000, a counter length of 7, the maximum number of reprobes is 126 and kmers are represented in canonical representation. Also, PanGenie counts only kmers present in the graph it internally generates from the VCF. So I think running jellyfish like shown below should give the same results for kmer counting:
jellyfish count -m 31 -s 3G -p 126 -c 7 -C -L 1 --if <path-segments.fasta> <input.fasta>
Here, "path-segments.fasta" is a file PanGenie produces for its k-mer counting (output as <prefix>_path-segments.fasta when running PanGenie). It contains all sequences present in the graph. At some point I have implemented the command
PanGenie-graph  -r <reference.fa> -v <variants.vcf> -o <output-prefix>
which can be used to generate this file only (instead of running the whole kmer counting and genotyping). So you can try running this first to generate the file containing all graph sequences, and then run jellyfish using the result for parameter --if.
So far, I always directly used the reads as input to PanGenie instead of generating the jf file first, so unfortunately, I never compared sizes of jf/fastq files. What I have done in the past in order to reduce reads in fastq format, is to convert it to fasta (without qualities), as PanGenie does not use any base quality information.


Errors errors everywhere

Editor.log
Editor-prev.log
symbol_upload.log
upm.log
We are accepting issues and we want your feedback.

Description
Describe your issue.
Trying the spatialos FPS started pack on Unity, follwed the set-up stage,
Current behaviour

when I open the project on the unity version 2019 3.15f1, I got about 166 errors almost all Are saying "The type or namespace name 'Worker' does not exist in the namespace 'Improbable' (are you missing an assembly reference"

Hey @Olaowo, can you attach your Unity editor logs?
https://docs.unity3d.com/Manual/LogFiles.html

Hey @Olaowo, can you attach your Unity editor logs?
https://docs.unity3d.com/Manual/LogFiles.html

done

Okay so looking at the Editor logs, you mentioned that you tried to use the FPS project, but the logs seem to be trying to compile https://github.com/spatialos/gdk-for-unity instead. For example I can see these file paths in the compile logs:
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\AssemblyInfo.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Attributes\DisableAutoRegisterAttribute.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Attributes\RemoveAtEndOfTickAttribute.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\CodegenAdapters\IComponentReplicationHandler.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Collections\EntityRangeCollection.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Collections\ListPool.cs"

Could you give the exact reproduction steps for this issue?

Okay so looking at the Editor logs, you mentioned that you tried to use the FPS project, but the logs seem to be trying to compile https://github.com/spatialos/gdk-for-unity instead. For example I can see these file paths in the compile logs:
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\AssemblyInfo.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Attributes\DisableAutoRegisterAttribute.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Attributes\RemoveAtEndOfTickAttribute.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\CodegenAdapters\IComponentReplicationHandler.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Collections\EntityRangeCollection.cs"
"D:\Unity Projects\gdk-for-unity\workers\unity\Packages\io.improbable.gdk.core\Collections\ListPool.cs"

Could you give the exact reproduction steps for this issue?

Okay. I follwed the set-up from the link "https://documentation.improbable.io/gdk-for-unity/docs/fps-1-set-up#section-4-install-the-gdk-dependencies"

I made a spatial os account

Configure my netwroks to allow TCP port 444 and 443 outbounds

Install the Unity version 2019 3.15f.1(latest one at the time from UnityHUB)

Install the netcore sdk but 3.1 instead of 2.22

Ran the spatialos installer and installed them in folder of my choosing

clone the git to the folder path where i keep my unity projects

opened the the unity project folder from inside the resulted git cloned in path "Unity Projects\gdk-for-unity\workers\unity"

Then got this errors,

What git command did you run to clone the Unity project?
git clone git@github.com:spatialos/gdk-for-unity-fps-starter-project.git

or
git clone git@github.com:spatialos/gdk-for-unity.git

or something else?

The spatialos/gdk-for-unity repository is where the GDK source lives before we publish the individual packages. It does not contain the FPS or Blank projects, which live in different repositories of their own.
To try the FPS project, you should be cloning the spatialos/gdk-for-unity-fps-starter-project repository, as mentioned in Step 5: https://documentation.improbable.io/gdk-for-unity/docs/fps-1-set-up#section-clone-the-fps-starter-project-repository

The spatialos/gdk-for-unity repository is where the GDK source lives before we publish the individual packages. It does not contain the FPS or Blank projects, which live in different repositories of their own.
To try the FPS project, you should be cloning the spatialos/gdk-for-unity-fps-starter-project repository, as mentioned in Step 5: https://documentation.improbable.io/gdk-for-unity/docs/fps-1-set-up#section-clone-the-fps-starter-project-repository

Got it, saw my mistake thanks


Update deps

Update dependencies to stay on track with the latest and greatest and to fix security warnings generated by GitHub

Coverage decreased (-0.04%) to 83.505% when pulling 8b8d6f79fa1665a471df6c323204b6c788c0f25d on update-deps into 4d6127b707e69cf802b207d7820cd5c875288232 on master.


[Bug]: Volume gets reset when switching songs

What Happened?
When a song ends and a new one starts playing, it starts at 100% volume.
The audio slider is still in the correct position, and If I click on it again it fixes itself.
Wora Version
0.3.5
Operating System
macOS Sequoia
Steps to Reproduce
Just play a song, change the volume inside the app and then either wait for the song to finish or skip to the next one
Environment Details
Normal macbook pro speakers
Severity
Minor
Screenshots/Logs
No response
Discord Username
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @afonsofrancof!
Thanks for trying out Wora. Unfortunately, this is a result of my own refactoring sorceries, which resets the volume on every song change. I am releasing a hotfix v0.3.6 shortly to fix this.
Meanwhile, many thanks for contributing to the project. We are open to welcome any QA Testers on our Discord to try out beta and alpha build so these kinds of issues don't occur in future.
Apologies for the inconvenience!

Hey @hiaaryan !
I appreciate this project, I had been looking for a media player/manager for a while, and they all looked 20 years old.
I will be giving you my feedback in case anything else happens :)

This is now fixed with v0.3.6 🎉


Adding HINTS.md file to Accumulate exercise

@ErikSchierboom, is it correct this time?

@GalaDe yes! Perfect 😀 Merged. :tada:

Cool!


Share buttons broken in multiplayer (ladder)

Sometimes they appear right as seen in:

But sometimes I can't barely understand what they are:

Sometimes they are not there (but there is space for them) and I need to hover over that space.
Note: Also, Like and Star could also be i18n.

I think it might happen after the page re-renders after a minute to get the latest stuff? Maybe we need to be smarter about what we rerender and what happens to those buttons when we do.


Randoms players get NULL in mysql

What it can be?

Those players didn't do anything at jobs, so they weren't saved.


Add DB replication support for mssql DB with SQL Server replication

Describe your problem(s)
Add DB replication support for mssql DB with SQL Server replication. At the moment we only have scripts tested for OGG replications.
Describe your solution

How will you implement it

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Fixed with https://github.com/wso2/carbon-apimgt/pull/9621/commits/0a8b9c51e95818cd673d9555259d000b60b7f718. Hence closing.

Fixed with https://github.com/wso2/carbon-apimgt/pull/9621/commits/0a8b9c51e95818cd673d9555259d000b60b7f718. Hence closing.


addOnBefore and addOnAfter for AntdSelect

Can addOnBefore and after be added to AntdSelect and AntdSelectTree?
I have some widget as AntdInput but for certain inputs I need AntdSelect which doesn't have addOnBefore to match the aesthetics of AntdInputs, could it be an easy add?

@DarkCTO I suggest you use the AntdCompact component: https://fac.feffery.tech/AntdCompact

So putting AntdCompact with width of 100%, with children equals AntdText and the input component right?

@DarkCTO Try like this:

html.Div(
    fac.AntdCompact(
        [
            fac.AntdButton(
                'before',
                style={
                    'background': '#fafafa',
                    'pointer-events': 'none'
                }
            ),
            fac.AntdSelect(
                options=[],
                style={
                    'width': '100%'
                }
            ),
            fac.AntdButton(
                'after',
                style={
                    'background': '#fafafa',
                    'pointer-events': 'none'
                }
            )
        ],
        block=True
    ),
    style={
        'width': 300
    }
)

Sweet!


[Plugin request] RSS Feed

Should it be an other plugin or an improvment of the Blog plugin, it would be really nice to have a rss feed of all blog posts.

https://github.com/robiso/simple-blog
Please open an issue here, and maybe someone will tackle it. Otherwise it would be a sweet improvement!


refactor sending of retransmission in the session

This won't be the last refactoring, but it's going in the right direction.

Codecov Report

Merging #1218 into master will decrease coverage by 0.04%.
The diff coverage is 77.5%.

@@            Coverage Diff             @@
##           master    #1218      +/-   ##
==========================================
- Coverage   91.11%   91.07%   -0.04%
==========================================
  Files         114      114
  Lines        7828     7840      +12
==========================================
+ Hits         7132     7140       +8
- Misses        465      467       +2
- Partials      231      233       +2

Impacted Files
Coverage Δ

session.go
80.17% <77.5%> (-0.28%)
:arrow_down:

Continue to review full report at Codecov.

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


Add getting started doc link

The link was missing in the README for the getting started page, the square brackets were there though so looks like whoever wrote it just forgot to put the link there.

Thanks, was kinda tired yesterday but you rock


Consistent getVertex/Edge Operation

getVertex/Edge behaves slightly differently from one graph implementation to the next.  I propose the following rules for consideration:

If the ID is null then the method returns null
If the ID is not formatted properly (ie. neo4j expects a long), the method returns null
If the underlying graph throws exceptions when the node cannot be found then the method return null

In all these cases, null represents a good answer to getVertex/Edge.  The caller asked for something specific from the graph and for all those scenarios (albeit different reasons) the requested element could not be found.  I suppose it might be nice to know more about the reasons why the item could not be found, but working with it from the Rexster level hasn't shown me that such information is all that important.
Thoughts?  Any other rules that should be present here?

@joshsh can you please take a look at the changes i made around SailGraph and the test cases in the commit referenced above?  i'd appreciate a quick sanity check...just want to make sure these changes were all sensible.  if you see problems, please let me know what they are and re-open this issue.  thanks.

Those changes look good to me.


Backup with Keeper feature

Backup with Keeper
Users can backup using seed words or ALSO ADDITIONALLY "Backup with Keeper "(for the other two apps). (These are not options, users can do both.) The second option is not there for Keeper.
The user will see a message till they have not backed up using one of the two options "Backup your wallet". Also, there will be an indication on settings to show where they need to go and do this.
On Hexa or Pledge - The app detects if there is Keeper installed on the phone or not. If the keeper app is not installed then "Install Bitcoin Keeper app to use this method" is shown which redirects to the app store to download the app.
If Keeper is installed, the option is active and the user is shown a message explaining what backing up with Keeper means.
Once confirmed, a QR is shown which can be scanned on the Keeper app (if they are not on the same device). Or there will be a CTA "Open in Keeper/ Send to Keeper" which opens a deep-link to the keeper app and stores the seed words in an encrypted manner in the wallet image.
On the Keeper app side, you can add a wallet, and instead of creating (after providing the name) you can "Import using QR". Here you scan the seed directly from the other wallet (even wallets other than hexa or pledge). The seed is encrypted and stored in the wallet image.
When the app image is updated, the keeper app will deep-link the success message back to hexa.
Then on hexa there will be a green flag on the "Backup with Keeper" option indicating that the wallet is successfully backed up with the Keeper app.
If the seed was shared via QR then hexa may not be able to detect if it's backed up on the Keeper, in that case, there should be an incomplete indication on the "Backup with Keeper" option. Clicking on that user can confirm that "I have Backed up with Keeper". User can also reshare the seed

Issue seems outdated, please reopen if still relevant


chore(master): release 0.61.0-alpha

:robot: I have created a release beep boop
0.61.0-alpha (2024-03-08)
Features

new (da7ed21)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mafqla/yalis-blog/releases/tag/v0.61.0-alpha :sunflower:


frb_generated error for protobuf messages with same name but different struct

Describe the bug
when using two protobuf files (a.proto and b.proto) that define response messages with the same name but different structures and generating frb_generated.rs file, the file produces a type mismatch error
a.proto:
syntax = "proto3";
package service_a;

service ServiceA {
    rpc Echo(ARequest) returns (SameResponseName) {}
}

message ARequest {
    string message = 1;
}

// Struct name is the same as in ServiceB, but structure is different
message SameResponseName {
    string a_string = 1;
}

b.proto:
syntax = "proto3";
package service_b;

service ServiceB {
    rpc Echo(BRequest) returns (SameResponseName) {}
}

message BRequest {
    string message = 1;
}

// Struct name is the same as in ServiceA, but structure is different
message SameResponseName {
    int32 b_int = 1;
}

api:

// Implementation for service_a
pub async fn service_a_echo(request: a::ARequest) -> Result<a::SameResponseName> {
    Ok(a::SameResponseName {
        a_string: request.message,
    })
}

// Implementation for service_b
pub async fn service_b_echo(_request: b::BRequest) -> Result<b::SameResponseName> {
    Ok(b::SameResponseName { b_int: 1 })
}

frb_generated.rs error:
the trait bound `b::SameResponseName: SseEncode` is not satisfied
the following other types implement trait `SseEncode`:
  ()
  ARequest
  BRequest
  String
  Vec<u8>
  a::SameResponseName
  anyhow::Error
  bool
and 2 othersrustcClick for full compiler diagnostic
boilerplate.rs(106, 16): required by a bound in `transform_result_sse`

Steps to reproduce
https://github.com/jhlee0133/frb_example
Logs
the trait bound `b::SameResponseName: SseEncode` is not satisfied
the following other types implement trait `SseEncode`:
  ()
  ARequest
  BRequest
  String
  Vec<u8>
  a::SameResponseName
  anyhow::Error
  bool
and 2 othersrustcClick for full compiler diagnostic
boilerplate.rs(106, 16): required by a bound in `transform_result_sse`

Expected behavior
No response
Generated binding code
No response
OS
macOS 15.0.1
Version of flutter_rust_bridge_codegen
2.5.0
Flutter info
No response
Version of clang++
No response
Additional context
No response

Yes, currently frb does not distinguish same struct name in different files. This is because there can be complex nested use etc with edge cases. The simplest solution is to rename your structs to avoid name conflicts, or try to configure the protobuf codegen to add prefix.


install without sudo

For my case, calling sudo is not permitted.
Install script works without sudo command. Should we remove sudo?

Actually we need to call it :) in rder to get copy of clang backup and update contents of Xcode application
:)
https://github.com/DyCI/dyci-main/issues/100


Add CONTRIBUTING.md and CODE_OF_CONDUCT.md

References #4

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Unit Test Fix for failing builds started after 6PM PT

Attempt to Fix the CRLP_RollupAccount_TEST failures that regularly fail during evening hours
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

**lurch: attach W-032840

Tracking W-032840


Single Frame GIF disappears (no rerender triggered) when modals and alerts are opened

Please provide all the information requested. Issues that do not follow this format are likely to stall.
Description
I display various GIFs on my application of many different frame lengths; however, the single frame ones seem to be causing a huge problem for React Native. Whenever I enter this base64 string into the URI for the Image Component it shows up initially then disappears without triggering a re-render when an alert or modal is opened. An example is shown in the Snack below.
React Native version:
version: 0.61.5
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

write a single frame base64 GIF and a multi-frame base64 GIF into two image components
put a button that opens an Alert and click it. the single frame GIF will disappear

Expected Results
opening an alert makes a single frame GIF disappear
Snack, code example, screenshot, or link to a repository:
https://snack.expo.io/@kurnal/disappearing-gif

same problem,please me

There is a way to fix this using idea suggested here https://github.com/facebook/react-native/issues/27032#issuecomment-667073239

Also specify the "defaultSource" property in addition to the regular source property (works on ios only, but the bug is ios only anyway, so...). No flicker, image always showing and up-to-date! :)


[storage] fix comment error about access tier

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] Validation errors from the Linter extension for VS Code have all been fixed for this spec. (Note: for large, previously checked in specs, there will likely be many errors shown. Please contact our team so we can set a timeframe for fixing these errors if your PR is not going to address them).
[x] The spec follows the patterns described in the Swagger good patterns document unless the service API makes this impossible.

This change is

Hi @JasonYang-MSFT, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (yabo). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

https://github.com/Azure/azure-sdk-for-node/issues/1855

Review status: 0 of 1 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

arm-storage/2016-01-01/swagger/storage.json, line 466 at r1 (raw file):
Previously, JasonYang-MSFT (Jason Yang) wrote…
> Yes

The optional aspect of the comment contradicts the how the model is defined. It should be removed. No tools that look at this swagger (which include autorest, which is used to generated client SDKs) will have the name as optional for update.

Comments from Reviewable


error re-importing dat

Download a dat
Remove the dat
Download the same dat again

Looks like we should be using mkdirp right?
On Thu, Jan 12, 2017 at 2:45 PM Julian Gruber<EMAIL_ADDRESS>wrote:

Download a dat
Remove the dat
Download the same dat again

[image: screen shot 2017-01-12 at 14 45 40]
https://cloud.githubusercontent.com/assets/10247/21892042/d07ce518-d8d5-11e6-9f2e-15d8bb889cec.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/datproject/dat-desktop/issues/142, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWleoe7_GQ83WKB2R6vI5Zf2gSAta8sks5rRi6TgaJpZM4LhxAc
.


Remove NewSession method from db.Engine interface

As title.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@931d0cf). Click here to learn what that means.
The diff coverage is 49.30%.

@@           Coverage Diff           @@
##             main   #17577   +/-   ##
=======================================
  Coverage        ?   45.54%
=======================================
  Files           ?      807
  Lines           ?    89810
  Branches        ?        0
=======================================
  Hits            ?    40906
  Misses          ?    42367
  Partials        ?     6537

Impacted Files
Coverage Δ

models/db/engine.go
32.00% <ø> (ø)

models/login/session.go
3.12% <0.00%> (ø)

models/migrate.go
0.00% <0.00%> (ø)

models/project_issue.go
29.35% <0.00%> (ø)

models/ssh_key_principals.go
6.55% <0.00%> (ø)

models/upload.go
2.77% <0.00%> (ø)

models/user/follow.go
15.15% <0.00%> (ø)

models/project_board.go
37.90% <16.66%> (ø)

models/webhook/webhook.go
74.39% <25.00%> (ø)

models/project.go
46.89% <27.27%> (ø)

... and 33 more

Continue to review full report at Codecov.

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


Consider adding a main element

Hi @hairuochen
Your app is so awesome! Love the progress so far.
Couple of opportunities for improvement:

Consider putting the contents of you app in a main element (still keep your header element but just add a main)
Consider putting your add to do elements in a <form> and then adding your todos on the “submit” event. This is cool because it’s a bit better for accessibility and if the user fills up a todo and hits “ENTER” it will add fire the add to do event.

Hello!
Thank you for your feedback!
 Thank you for pointing it out for me.
As for the form... I am not sure I completely understand what to do...
This is what I have so far but I am quite confused to be honest.

I would appreciate it if you could point me to the right direction!
Thank you!

Hi @hairuochen
You already have a <form> element on your page! (Whoops, I might have missed that earlier.
Here’s how you can modify your app to handle the submit event that occurs when a user hits the submit button.
Step 1
<!— Remove the onclick event handler —>
<button type="submit">✏</button>

Step 2
// NOTE: since it’s an ID you need a pound sign
const form = document.querySelector(“#addtask”);

// NOTE: this asks the browser to run the addTask function when the form is submitted
form.addEventListener(“submit”, addTask);

Step 3
// Modify your addTask function so that the default browser form submit event doesn’t fire
function addTask(event) {
  // confirm function runs on submit
  console.log(“I ran!”);

  // prevent the browser default handling of the form
 event.preventDefault();
  // the rest of the function as normal
  …
}

The addTask function should now work when your form is submitted either by the button click or by the user hitting enter.

I'm a bit lost... Is this what I am supposed to do?

It's giving out this message in the console...

Maybe because I added 's inside the ?

The form doesn't have a id, that's why the querySelector("#addTask"); is getting set to null.
Try something like this in the HTML where you add an id to the form element
<form id="addTaskForm">
  ...
</form>

And then in the JavaScript try to querySelector() or getElementById() to get the form

// get element by id using the name of the id

const form = document.getElementById("addTaskForm");

// or use the querySelector and # and the name of the id

const form = document.querySelector("#addTaskForm");


masking around stars or saturated pixels

Thanks! I will have a look and test when i get the chance!


csblast-2.2.3 missing

when running ../run_pyrosetta_ver.sh  input.fa . encouter error !
more make_ss.stderr
/training/nong/protein/RoseTTAFold/input_prep/make_ss.sh: line 11: /training/nong/protein/RoseTTAFold/csblast-2.2.3/bi
n/csbuild: No such file or directory
[makemat] FATAL ERROR: Unable to open file t000_.msa0.tmp.chk

Bad psipred pass1 file format!
rm: cannot remove '/training/nong/protein/RoseTTAFold/example2/t000_.msa0.a3m.csb.hhblits.ss2': No such file or direct
ory

It seems csblast was not in the install folder

Sounds like maybe you need to run this from theRoseTTAFold folder:
./install_dependencies.sh
That'll install csblast and the other necessary dependencies:


Async/await support in custom filters

See:
https://github.com/VulcanJS/Vulcan/blob/devel/packages/vulcan-lib/lib/modules/mongoParams.js#L143
If the filter function is async, it returns after the main filterFunction function instead of properly waiting, which means its return value is not taken into account and the filter doesn’t work.
The only way to make it work so far is to make sure no async operation happens inside the filter, and then remove the await altogether.

As discussed on the Slack this line Object.keys(filter).forEach( { (110) should be await Promise.all( Object.keys(filter).map( async fieldName => ... instead.


ZuulProperties.ZuulRoute consturctor missing explicitly setting of customSensitiveHeaders boolean

Addressing Issue https://github.com/spring-cloud/spring-cloud-netflix/issues/1636

interesting the build while running ./mvnw -s .settings.xml clean install org.jacoco:jacoco-maven-plugin:prepare-agent install -U -P sonar -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn locally passes all tests... any thoughts on why circleci would fail those feign tests?

Current coverage is 74.41% (diff: 100%)

Merging #1637 into master will increase coverage by <.01%

@@             master      #1637   diff @@
==========================================
  Files           194        194
  Lines          6034       6035     +1
  Methods           0          0
  Messages          0          0
  Branches        910        911     +1
==========================================
+ Hits           4490       4491     +1
  Misses         1215       1215
  Partials        329        329

Powered by Codecov. Last update 5d0b2fa...ff0ac56

Looks like it was just an intermittent failure.  This LGTM!  Thanks.


Unable to connect to open access points

I'm converting my Kaleidoscope project from using ESPAsync_WiFiManager to the _Lite version. I like that it enables me to provide default credentials so that in many situations, it will 'just work' without any user input. I also appreciate that the _Lite version has incorporated the DRD/MRD logic as well as the new 'Run' method that monitors the connection and will attempt to reconnect. I had to write the logic for these features before and appreciate being able to use you're more robust implementations. Thank you for making them available to us to use!
I've run into a couple of bugs/limitations I wanted to bring up. I'll open separate issues for each of them to make tracking them in Github easier.
First, I am unable to connect to open access points with ESPAsync_WiFiManager_Lite. I have a 'Guest' network/SSID that has no password. When I enter 'guest' and leave the password empty in the UI and press "Save" I get a popup that says '<IP_ADDRESS> says Updated' but when it reboots, it fails to connect and enters AP mode and I have to enter the config portal again.
After doing some investigation, it appears from both the readme.md and looking at the code that any password shorter than 8 characters is considered invalid.

The SSIDs, Passwords must be input (or to make them different from blank). Otherwise, the Config Portal will re-open until those fields have been changed. If you don't need any field, just input anything or use duplicated data from similar field.

WiFi password min length now is 8, max length is 63 chars according to WPA2 standard.

if ( strlen(ESP_WM_LITE_config.WiFi_Creds[i].wifi_pw) >= PASSWORD_MIN_LEN )

After reading this, I tried entering 8 characters of garbage (ie 12345678) in the password field and that did get the UI to accept and save the SSID and password but it then fails to connect to the open access point given it doesn't require a password. I entered a 2nd SSID and password that does require a password and it correctly connect to the second, password protected access point correctly, it just won't connect to an open access point with no password.

After doing some investigation, it appears from both the readme.md and looking at the code that any password shorter than 8 characters is considered invalid.

This is intentional for security reason, and I won't compromise the feature. Some router even won't let you connect if pwd length < 8
It's up to you to modify the code yourself for your special use-case.

I'm a little confused/surprised. Are you saying you won't allow the library to connect to open networks? This network is configured with no authentication - no WEP, WPA, or WPA2. It is not configured with encryption (TKIP, AES). This is an entirely valid way to configure a network that is supported by every device and OS I've ever known.
Sure, I can fork the library and add support for connecting to open networks myself but that defeats much of the value of having shared libraries I can use without having to write it all myself.


Clarify the state of the project in the README

Going through the README it seems like the project is in a more-or-less complete state. However, this blog post indicates that isn't the case:

There are still holes to fill — many built-in types are missing methods and attributes, built-in functions are absent and the standard library is virtually empty.

It would be good to clarify that in the README to avoid confusion.

Fixed in https://github.com/google/grumpy/pull/51
Let me know if there are other details you'd like to see.


Update brotli to v0.6.0 tag, and a sprinkling of minor refreshments

I bumped to 0.3.1 for your convenience. 😄

Thanks!
Do you need this version published on crates.io?

Not especially, I just fixed this on a whim. 😄


Improve CI Checks

Overview
I couldn't figure out deploying contracts to an anvil fork as part of the CI checks in #53. The yarn fork command executes successfully to start an anvil fork of sepolia as part of the GHA, but it would hang indefinitely instead of moving on to the next step to deploy the contracts
The following repository secrets have already been set:

SEPOLIA_RPC_URL
DEPLOYER_PRIVATE_KEY

I remember I had a similar issue a long time ago - I think I needed to add ampersand at the end of the command, so try: yarn fork &

True! That's how it's setup on the old SDK


Wrapper for Fundamental Data

Part of the AlphaVantage documentation mentions some endpoints that give generic company information, I was wondering if the wrapper for these endpoints exist?
Specifically the Company Overview, example: https://www.alphavantage.co/query?function=OVERVIEW&symbol=IBM&apikey=demo

This is now available in 2.2.0, thanks to @akerra6993 🎉


Add Kollaborate Transfer <IP_ADDRESS>

Batch uploader application for use with Digital Rebellion's Kollaborate
video editing servers. Version-specific URL deduced.

Ah thank you! Forgot about that. Coming right up

Same reasoning as https://github.com/caskroom/homebrew-cask/pull/17158#issuecomment-172290925

Updated license!

Thank you for the contribution. It was merged directly as 66fd4a2361237adb1b866522e1b657dd62e84807 to keep commit history cleaner. Your contribution is still credited to you.


window.openDatabase throws SECURITY_ERR: DOM Exception 18 when run on Selendroid

My .apk with WebView+JavaScript runs normally on its own and it uses window.openDatabase - but when I load it with Appium+Selendroid, the openDatabase fails with: "Error: SECURITY_ERR: DOM Exception 18"
It triggers Android permission problem:
java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
Can you help with what user is running and whether this is something under control of Selendroid or Selenium Web Driver (not Appium)?
I tried adding
android.permission.INTERACT_ACROSS_USERS_FULL
to AndroidManifest.xml -
But, I see more info on using that: http://stackoverflow.com/questions/20578474/permission-denial-this-requires-android-permission-interact-across-users-full, namely:
"... android.permission.INTERACT_ACROSS_USERS_FULL is a signature level permission. Your app will not be able to use it until and unless it has the same signature as the system.
"Which is not something you can achieve unless you either are the creator or the system build, or collaborating with them such that they are willing to sign your apk with their certificate. In other words, this is off limits for most developers."
My WebView loads a mobile app from a URL http://... It is built with Cordova 3.4. Device is Android 4.3. Thanks!

I'm closing this issue due to inactivity.
If is a question rather than an issue, please send questions to the selendroid user group.
If you think it's an actual problem with selendroid and still experience the issue described on the latest release of selendroid feel free to file a new issue. If you do please provide a concise reproducible test case and describe what results you are seeing and what results you expect.


Android widget 3

Fixing loading issue and adding widget transparent background option.

Can we change the "Tap to setup in NewsBlur" to say "Loading..." when it's just loading? I see that message every time and I know it's already setup. It should say it when necessary though.

By the way, I think we should switch to a system like what @Dejal and I are using, and that's to have a ticket for the overall feature (which I've just made here: ) and you'll just commit to a branch. I'll merge in the branch on my own so it's a bit less work for you, and that we have have a single ticket.
Feel free to create feature branches as necessary, but please make a sictiru branch as your main.


PHPExcel broken link

The "updated guide" link here is broken.
Bye :)

That is in the wiki, which is community-maintained. Not a CodeIgniter bug.

The entire point of a wiki is that you can change it yourself.
Anybody can write in there; there's no "wiki issues" section because that's like a "comments issues" section.


Not finding changelog.md or readme.md, is the logic case sensitive?

The grinder.dart project has a changelog.md file. However, it's not being displayed on pub.dartlang.org: https://pub.dartlang.org/packages/grinder
Is the logic case sensitive and only looking for CHANGELOG.md ? If so, can we change it to be case insensitive?
Thanks for checking it out.

Confirmed that the logic is case sensitive. Code is in backend.dart.

Hi @mkustermann , since you are rocking the fixes to pub.dartlang.org, could you take a look at this one, too?
e.g. the readme for grinder isn't appearing: https://pub.dartlang.org/packages/grinder
Thanks!

Sure - even though IMHO it should really be README.md and not readme.md :'(

Thanks! It's a left-over from the long-long ago. New packages use caps for README and CHANGELOG.

CL is up for review: https://codereview.chromium.org/1231673003/
But this has only an affect for newly uploaded packages, since the extraction of README/CHANGELOG happens during uploading. If really wanted, I could traverse existing packages and update them - though I'd prefer not to.
[The reason why I think this smells a lot is that if you have two files on linux 'CHANGELOG.md' and 'changelog.md' - which one is supposed to be used? There is ambiguity if one does it in a case-insensitive way]

Thanks Martin!

For new uploads this should be handled.
Let me know if you think it is really necessary to process all old packages and update their readme/changelog in case it's missing.

It would be really nice to reprocess them. Not sure we can expect all package authors to reupload.
Also, thanks for the patch!

Should be done.

Works for me! Really appreciate it.


A Poor performance on upload

There is a poor performance for upload (for Java version).
You write data (in sendString) directly into Socket's output stream without bufferization. It's a bad practice.
I've tested it on current implementation (without bufferization) a file (2Mb) had been uploaded in 1min, with bufferization it took 3sec.

If you could send a pull request, that would be nice


JAMS annotation querying/filtering

It would be useful to have basic query functionality for selecting annotations from a jams object.
The top-level groupings are useful for organizing data into tasks, but provide no mechanism for filtering by namespace.  As a concrete example, each SALAMI jam has segment annotations from 3 namespaces (function, upper, and lower), and we should have an interface to pull out only the data relating to one of them.
More generally, one might want to select out multiple namespaces ['salami_upper', 'salami_lower'] or 'segment_*'.  This might be most simply accomplished by allowing regular expression queries.
As long as we're allowing querying on namespace, would it make sense to support querying on other fields?  Annotator/curator?  Metadata?  Everything?  Where does the madness stop?
It's probably good to implement this both at the level of AnnotationArray first, and then propagate up to JAMS.
Any comments/suggestions before I dive in and start hacking this out?

On Fri, Jan 30, 2015 at 11:39 AM, Brian McFee<EMAIL_ADDRESS>wrote:

It would be useful to have basic query functionality for selecting
annotations from a jams object.

+ ∞

The top-level groupings are useful for organizing data into tasks, but
provide no mechanism for filtering by namespace. As a concrete example,
each SALAMI jam has segment annotations from 3 namespaces (function, upper,
and lower), and we should have an interface to pull out only the data
relating to one of them.
More generally, one might want to select out multiple namespaces
['salami_upper', 'salami_lower'] or 'segment_*'. This might be most simply
accomplished by allowing regular expression queries.
As long as we're allowing querying on namespace, would it make sense to
support querying on other fields? Annotator/curator? Metadata? Everything?
Where does the madness stop?

It doesn't stop; so yes, everything.

It's probably good to implement this both at the level of AnnotationArray
first, and then propagate up to JAMS.
Any comments/suggestions before I dive in and start hacking this out?

This sounds an awful lot like a database to me. Perhaps we can hijack
someone else's efforts so we don't have to do this ourselves. A quick
(albeit cursory) Google search turned up TinyDB as being a JSON-based
framework, which seems the most promising.
https://pypi.python.org/pypi/tinydb/ //
https://tinydb.readthedocs.org/en/latest/
I know little else about it, other than one might be able to form
arbitrary queries on a JSON object.
Other things that seem promising, but probably not what we want:

http://rethinkdb.com

http://charlesleifer.com/blog/python-bindings-for-unqlite-an-embedded-nosql-database-json-document-store/
(somewhat
hideous, but included for completeness)

—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/15.

This sounds an awful lot like a database to me.

I was thinking more like a dom, but yes.
For json objects, we can probably use existing tools without much effort.
I was thinking of filtering on JAMS objects in python though.  I'd rather not rely on serialization into json for querying though, since I want to work in-place on existing annotation objects.

In MSAF I added this functionality for the old pyjams version. It is pretty
customized to the MSAF needs (so I don't recommend anyone getting
inspiration from there), but it would have been really useful to have had
these general queries (or "getters") in the jams module, as I think we had
initially discussed with @ejhumphrey.
That being said, I'm not really sure what's the most effective way to
implement this, but regular expression queries seem the right way to go
(because, even though I see benefit in using SQL, I don't think we want
jams users to learn SQL in order to be able to fully use jams).
On Fri, Jan 30, 2015 at 12:44 PM, Brian McFee<EMAIL_ADDRESS>wrote:

This sounds an awful lot like a database to me.
I was thinking more like a dom, but yes.
For json objects, we can probably use existing tools without much effort.
I was thinking of filtering on JAMS objects in python though. I'd rather
not rely on serialization into json for querying though, since I want to
work in-place on existing annotation objects.
—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/15#issuecomment-72240221.

It might be possible to hack this into the root JObject as a generic query/filter function along the lines of:
def query(self, **kwargs):

    match = False

    for key in kwargs:
        if hasattr(self, key):
            match |= match_value(getattr(self, key), kwargs[key])

    if not match:
        for attr in dir(self):
            obj = getattr(self, attr)
            if hasattr(obj, 'query'):
                match |= obj.query(**kwargs)

    return match

This obviously is pretty limited, in that it can only match fields without regard to their containing object, and the semantics are limited to a disjunction of matches over an object and any of its contained objects.  But I think the basic idea could be expanded into a comprehensive-enough query engine for our purposes.

I'm reasonably confident that the method in the previous comment could be expanded to support dom-style queries, if they're specified as keys in a dict rather than direct keyword arguments.  For this to work, we'd have to specify queries in ** format, so
q = {'Annotation/AnnotationMetadata/corpus': 'RWC'}
match = J.query(**q)

Then, within the JObject, queries can be split on the separator ('/') and key prefixes can get popped off if they match the current object.  The remaining key suffix is retained and propagated down the recursion.

+1
On Fri, Jan 30, 2015 at 3:03 PM, Brian McFee<EMAIL_ADDRESS>wrote:

I'm reasonably confident that the method in the previous comment could be
expanded to support dom-style queries, if they're specified as keys in a
dict rather than direct keyword arguments. For this to work, we'd have to
specify queries in ** format, so
q = {'Annotation/AnnotationMetadata/corpus': 'RWC'}
match = J.query(**q)
Then, within the JObject, queries can be split on the separator ('/') and
key prefixes can get popped off if they match the current object. The
remaining key suffix is retained and propagated down the recursion.
—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/15#issuecomment-72261697.

dc2a4536944252f106fb1b4b96b2e99e04e42a2d done, at least for disjunctive matching on jobject hierarchies.
You can also form queries as lambda functions instead of just regexps, so you can do basically arbitrary queries:
>>> # Find all annotations from curators with palindromic names
>>> ann_object.search(**{'Curator.name': lambda x: x == x[::-1])

Next up: filtering annotation arrays.

a9e4c2bdc7d35c83dfd3c3193abddefc566dd4ec adds search to annotation arrays.
Searching on an AnnotationArray object essentially operates like filter(), and returns a new annotation array containing only the Annotations that match the query.
Next up: search on Jams

Some questions that we need to sort out for JAMS.search():

Does searching apply only to annotations, or do we include metadata and sandbox?

I vote the latter, but the logic gets ugly, especially in light of 2:

What does the return value look like?  Is it an AnnotationArray?  Multiple annotation arrays (one for each task)?  An entire JAM?  A flat list of objects?  A dictionary?

I think returning a JAMS object can be misleading, since the point is to pass objects by value (possibly for manipulation).
A flat AnnotationArray of all the matching objects would make sense, but seems to exclude Sandbox results (which I'd like to keep).
What do people think?

Discussed offline with @rabitt .  Consensus: it only makes sense to "search" on collections of objects, which really only applies to AnnotationList.
Sandbox and metadata searching would be nice, but not really necessary, since you can query them directly.
If we adopt #17 and remove the top-level groupings in favor of a single annotationlist, then the JAMS search simplifies to wrap the annotationlist search.  This means that it can simply return a subset of the annotationlist with no pollution of data types.

Not at a computer and will be concise than I prefer, but I realize this is
under active development and am confused a bit. I think searching /
filtering on annotation metadata is crucial, especially when attempting to
constrain to single corpora or specific annotators.
On 1 Feb 2015 11:29, "Brian McFee"<EMAIL_ADDRESS>wrote:

Discussed offline with @rabitt . Consensus: it only makes sense to
"search" on collections of objects, which really only applies to
AnnotationList.
Sandbox and metadata searching would be nice, but not really necessary,
since you can query them directly.
If we adopt #17 and remove the top-level groupings in favor of a single
annotationlist, then the JAMS search simplifies to wrap the annotationlist
search. This means that it can simply return a subset of the annotationlist
with no pollution of data types.
—
Reply to this email directly or view it on GitHub.

Not at a computer and will be concise than I prefer, but I realize this is
under active development and am confused a bit. I think searching /
filtering on annotation metadata is crucial, especially when attempting to
constrain to single corpora or specific annotators.

Absolutely.  Since each JAMS object has a single top-level file metadata, 'search' is simply a yes/no operation.
Searching over lists of JAMSes is a different issue, and since the metadata for each jams is itself a JObject, it inherits the search functionality directly.
We discussed this offline and I forgot to mention it in the comment thread. The point here is that querying metadata over a corpus is a different kind of operation from filtering a set of annotations for a single jam.


Mondo 2.1: Antiforgery CORS HttpSysServer ResponseCaching Routing and Security

Failures were Kestrel and Hosting, will merge once I have approval.


Implement Pulumi delete action for CopyInlineFile

What does this PR do?
Implement Pulumi delete action for CopyInlineFile. This is needed to undo WithAgentConfig
Reviewing commit by commit is recommended.

Closed in favor of https://github.com/DataDog/test-infra-definitions/pull/77


Add --drop-short-scenes option, make --min-scene-len a top-level option.

Add -d/--drop-short-scenes to allow scenes shorter than
min-scene-len to be dropped instead of combining them.
Move -m/--min-scene-len from detect-content and
detect-threshold and make it top-level option that both commands
respect.

Merged into branch v0.5.5.  Thank you for the PR!

Merged into branch v0.5.5.  Thank you for the PR!


Feature request: Improve error messages

Is your feature request related to a problem? Please describe.
There are only a handful of error cases defined for face liveness session without any additional description. One of those errors is also an unknown error. Such limited error reporting makes it hard to understand issues that users are facing.
An example of receiving an unknown error was also reported here: https://github.com/aws-amplify/amplify-swift/issues/3546
Describe the solution you'd like
Provide better error descriptions. Avoid using an unknown error or attach the underlying error description to the error case.
Describe alternatives you've considered
There are no alternatives.
Additional context
No response

+1
My implementation also returns unknown errors a lot of the times, I can't figure out what the problem is... This feature would be very appreciated