ModSeurity v3 not execute phase2

rules not execute phase2，is some config error?
SecRule REQUEST_BODY with phase2 not execute，with no debug log output
nginx: nginx/1.21.4
modsecurity: v3/master
Config
modsecurity.conf
# -- Rule engine initialization ----------------------------------------------

# Enable ModSecurity, attaching it to every transaction. Use detection
# only to start with, because that minimises the chances of post-installation
# disruption.
#
#SecRuleEngine DetectionOnly
SecRuleEngine On

# -- Request body handling ---------------------------------------------------

# Allow ModSecurity to access request bodies. If you don't, ModSecurity
# won't be able to see any POST parameters, which opens a large security
# hole for attackers to exploit.
#
SecRequestBodyAccess On

# Enable XML request body parser.
# Initiate XML Processor in case of xml content-type
#
#SecRule REQUEST_HEADERS:Content-Type "^(?:application(?:/soap\+|/)|text/)xml" \
#     "id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"

# Enable JSON request body parser.
# Initiate JSON Processor in case of JSON content-type; change accordingly
# if your application does not use 'application/json'
#
#SecRule REQUEST_HEADERS:Content-Type "^application/json" \
#     "id:'200001',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=JSON"

# Sample rule to enable JSON request body parser for more subtypes.
# Uncomment or adapt this rule if you want to engage the JSON
# Processor for "+json" subtypes
#
#SecRule REQUEST_HEADERS:Content-Type "^application/[a-z0-9.-]+[+]json" \
#     "id:'200006',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=JSON"

# Maximum request body size we will accept for buffering. If you support
# file uploads then the value given on the first line has to be as large
# as the largest file you are willing to accept. The second value refers
# to the size of data, with files excluded. You want to keep that value as
# low as practical.
#
SecRequestBodyLimit 13107200
SecRequestBodyNoFilesLimit 131072

# What to do if the request body size is above our configured limit.
# Keep in mind that this setting will automatically be set to ProcessPartial
# when SecRuleEngine is set to DetectionOnly mode in order to minimize
# disruptions when initially deploying ModSecurity.
#
SecRequestBodyLimitAction Reject

# Maximum parsing depth allowed for JSON objects. You want to keep this
# value as low as practical.
#
SecRequestBodyJsonDepthLimit 512

# Maximum number of args allowed per request. You want to keep this
# value as low as practical. The value should match that in rule 200007.
SecArgumentsLimit 1000

# If SecArgumentsLimit has been set, you probably want to reject any
# request body that has only been partly parsed. The value used in this
# rule should match what was used with SecArgumentsLimit
SecRule &ARGS "@ge 1000" \
"id:'200007', phase:2,t:none,log,deny,status:400,msg:'Failed to fully parse request body due to large argument count',severity:2"

# Verify that we've correctly processed the request body.
# As a rule of thumb, when failing to process a request body
# you should reject the request (when deployed in blocking mode)
# or log a high-severity alert (when deployed in detection-only mode).
#
SecRule REQBODY_ERROR "!@eq 0" \
"id:'200002', phase:2,t:none,log,deny,status:400,msg:'Failed to parse request body.',logdata:'%{reqbody_error_msg}',severity:2"

# By default be strict with what we accept in the multipart/form-data
# request body. If the rule below proves to be too strict for your
# environment consider changing it to detection-only.

#
# Here is a short description about the ModSecurity Multipart parser: the
# parser returns with value 0, if all "boundary-like" line matches with
# the boundary string which given in MIME header. In any other cases it returns
# with different value, eg. 1 or 2.
#
# The RFC 1341 descript the multipart content-type and its syntax must contains
# only three mandatory lines (above the content):
# * Content-Type: multipart/mixed; boundary=BOUNDARY_STRING
# * --BOUNDARY_STRING
# * --BOUNDARY_STRING--
#
# First line indicates, that this is a multipart content, second shows that
# here starts a part of the multipart content, third shows the end of content.
#
# If there are any other lines, which starts with "--", then it should be
# another boundary id - or not.
#
# After 3.0.3, there are two kinds of types of boundary errors: strict and permissive.
#
# If multipart content contains the three necessary lines with correct order, but
# there are one or more lines with "--", then parser returns with value 2 (non-zero).
#
# If some of the necessary lines (usually the start or end) misses, or the order
# is wrong, then parser returns with value 1 (also a non-zero).
#
# You can choose, which one is what you need. The example below contains the
# 'strict' mode, which means if there are any lines with start of "--", then
# ModSecurity blocked the content. But the next, commented example contains
# the 'permissive' mode, then you check only if the necessary lines exists in
# correct order. Whit this, you can enable to upload PEM files (eg "----BEGIN.."),
# or other text files, which contains eg. HTTP headers.
#
# The difference is only the operator - in strict mode (first) the content blocked
# in case of any non-zero value. In permissive mode (second, commented) the
# content blocked only if the value is explicit 1. If it 0 or 2, the content will
# allowed.
#

#
# See #1747 and #1924 for further information on the possible values for
# MULTIPART_UNMATCHED_BOUNDARY.
#
SecRule MULTIPART_UNMATCHED_BOUNDARY "@eq 1" \
    "id:'200004',phase:2,t:none,log,deny,msg:'Multipart parser detected a possible unmatched boundary.'"

# PCRE Tuning
# We want to avoid a potential RegEx DoS condition
#
SecPcreMatchLimit 1000
SecPcreMatchLimitRecursion 1000

# Some internal errors will set flags in TX and we will need to look for these.
# All of these are prefixed with "MSC_".  The following flags currently exist:
#
# MSC_PCRE_LIMITS_EXCEEDED: PCRE match limits were exceeded.
#
SecRule TX:/^MSC_/ "!@streq 0" \
        "id:'200005',phase:2,t:none,deny,msg:'ModSecurity internal error flagged: %{MATCHED_VAR_NAME}'"

# -- Response body handling --------------------------------------------------

# Allow ModSecurity to access response bodies.
# You should have this directive enabled in order to identify errors
# and data leakage issues.
#
# Do keep in mind that enabling this directive does increases both
# memory consumption and response latency.
#
SecResponseBodyAccess On

# Which response MIME types do you want to inspect? You should adjust the
# configuration below to catch documents but avoid static files
# (e.g., images and archives).
#
SecResponseBodyMimeType text/plain text/html text/xml

# Buffer response bodies of up to 512 KB in length.
SecResponseBodyLimit 524288

# What happens when we encounter a response body larger than the configured
# limit? By default, we process what we have and let the rest through.
# That's somewhat less secure, but does not break any legitimate pages.
#
SecResponseBodyLimitAction ProcessPartial

# -- Filesystem configuration ------------------------------------------------

# The location where ModSecurity stores temporary files (for example, when
# it needs to handle a file upload that is larger than the configured limit).
#
# This default setting is chosen due to all systems have /tmp available however,
# this is less than ideal. It is recommended that you specify a location that's private.
#
SecTmpDir /tmp/

# The location where ModSecurity will keep its persistent data.  This default setting
# is chosen due to all systems have /tmp available however, it
# too should be updated to a place that other users can't access.
#
SecDataDir /tmp/

# -- File uploads handling configuration -------------------------------------

# The location where ModSecurity stores intercepted uploaded files. This
# location must be private to ModSecurity. You don't want other users on
# the server to access the files, do you?
#
#SecUploadDir /opt/modsecurity/var/upload/

# By default, only keep the files that were determined to be unusual
# in some way (by an external inspection script). For this to work you
# will also need at least one file inspection rule.
#
#SecUploadKeepFiles RelevantOnly

# Uploaded files are by default created with permissions that do not allow
# any other user to access them. You may need to relax that if you want to
# interface ModSecurity to an external program (e.g., an anti-virus).
#
#SecUploadFileMode 0600

# -- Debug log configuration -------------------------------------------------

# The default debug log configuration is to duplicate the error, warning
# and notice messages from the error log.
#
SecDebugLog /var/log/debug.log
SecDebugLogLevel 9

# -- Audit log configuration -------------------------------------------------

# Log the transactions that are marked by a rule, as well as those that
# trigger a server error (determined by a 5xx or 4xx, excluding 404,
# level response status codes).
#
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"

# Log everything we know about a transaction.
SecAuditLogParts ABIJDEFHZ
#SecAuditLogParts ABCDEFGHIJKZ

# Use a single file for logging. This is much easier to look at, but
# assumes that you will use the audit log only ocassionally.
#
SecAuditLogType Serial
SecAuditLog /var/log/modsec_audit.log

# Specify the path for concurrent audit logging.
#SecAuditLogStorageDir /opt/modsecurity/var/audit/

# -- Miscellaneous -----------------------------------------------------------

# Use the most commonly used application/x-www-form-urlencoded parameter
# separator. There's probably only one application somewhere that uses
# something else so don't expect to change this value.
#
SecArgumentSeparator &

# Settle on version 0 (zero) cookies, as that is what most applications
# use. Using an incorrect cookie version may open your installation to
# evasion attacks (against the rules that examine named cookies).
#
SecCookieFormat 0

# Specify your Unicode Code Point.
# This mapping is used by the t:urlDecodeUni transformation function
# to properly map encoded data to your language. Properly setting
# these directives helps to reduce false positives and negatives.
#
# SecUnicodeMapFile unicode.mapping 20127

# Improve the quality of ModSecurity by sharing information about your
# current ModSecurity version and dependencies versions.
# The following information will be shared: ModSecurity version,
# Web Server version, APR version, PCRE version, Lua version, Libxml2
# version, Anonymous unique id for host.
SecStatusEngine On

main.conf
SecDefaultAction "phase:1,log,auditlog,deny,status:403"
SecDefaultAction "phase:2,log,auditlog,deny,status:403"
SecRule REQUEST_BODY "@eq param\=test" "id:22000100,phase:2,deny"

Logs and dumps
[169002196257.436038] [] [4] Initializing transaction
[169002196257.436038] [] [4] Transaction context created.
[169002196257.436038] [] [4] Starting phase CONNECTION. (SecRules 0)
[169002196257.436038] [] [9] This phase consists of 0 rule(s).
[169002196257.436038] [] [4] Starting phase URI. (SecRules 0 + 1/2)
[169002196257.436038] [/] [4] Starting phase REQUEST_HEADERS.  (SecRules 1)
[169002196257.436038] [/] [9] This phase consists of 0 rule(s).
[169002196257.436038] [/] [4] Starting phase RESPONSE_HEADERS. (SecRules 3)
[169002196257.436038] [/] [9] This phase consists of 0 rule(s).
[169002196257.436038] [/] [9] Appending response body: 27 bytes. Limit set to:<PHONE_NUMBER>00
[169002196257.436038] [/] [4] Starting phase RESPONSE_BODY. (SecRules 4)
[169002196257.436038] [/] [9] This phase consists of 0 rule(s).
[169002196257.436038] [/] [4] Starting phase LOGGING. (SecRules 5)
[169002196257.436038] [/] [9] This phase consists of 0 rule(s).
[169002196257.436038] [/] [8] Checking if this request is suitable to be saved as an audit log.
[169002196257.436038] [/] [8] Checking if this request is relevant to be part of the audit logs.
[169002196257.436038] [/] [9] Return code 200' is not interesting to audit logs, relevant code(s): ^(?:5|4(?!04))'.

Hello @eddychen111 ,
The most likely explanation is a problem with an nginx configuration file. You might want to check if the transaction is subject to a redirect.
Incidentally, your rule 22000100 is incorrect. The @eq operator is intended for numeric values ( https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v3.x)#eq ) . If you want to perform an exact string comparison, you may be looking for @streq instead.

two question：

can you give some idea for nginx config which may have an impact for modsecurity phase 2
why Initializing running twice when change to phase 4

The nginx configuration as follows:
nginx.conf
load_module "modules/ngx_http_modsecurity_module.so";
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsec/main.conf;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

#        location / {
#            root   html;
#            index  index.html index.htm;
#        }

        location / {
            default_type text/plain;
            return 200 "Thank you for requesting ${request_uri}\n";
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Additional:
I change this rule to phase 4，it works and output log in debug，also transaction phase 2
SecRule REQUEST_BODY "@eq param\=test" "id:22000100,phase:4,deny"

debug output
[169027626044.846231] [] [4] Initializing transaction
[169027626044.846231] [] [4] Transaction context created.
[169027626044.846231] [] [4] Starting phase CONNECTION. (SecRules 0)
[169027626044.846231] [] [9] This phase consists of 0 rule(s).
[169027626044.846231] [] [4] Starting phase URI. (SecRules 0 + 1/2)
[169027626044.846231] [/?a=a] [4] Adding request argument (GET): name "a", value "a"
[169027626044.846231] [/?a=a] [4] Starting phase REQUEST_HEADERS.  (SecRules 1)
[169027626044.846231] [/?a=a] [9] This phase consists of 2 rule(s).
[169027626044.846231] [/?a=a] [4] (Rule: 200000) Executing operator "Rx" with param "^(?:application(?:/soap\+|/)|text/)xml" against REQUEST_HEADERS:Content-Type.
[169027626044.846231] [/?a=a] [9]  T (0) t:lowercase: "application/x-www-form-urlencoded"
[169027626044.846231] [/?a=a] [9] Target value: "application/x-www-form-urlencoded" (Variable: REQUEST_HEADERS:Content-type)
[169027626044.846231] [/?a=a] [4] Rule returned 0.
[169027626044.846231] [/?a=a] [9] Matched vars cleaned.
[169027626044.846231] [/?a=a] [4] (Rule: 200001) Executing operator "Rx" with param "^application/json" against REQUEST_HEADERS:Content-Type.
[169027626044.846231] [/?a=a] [9]  T (0) t:lowercase: "application/x-www-form-urlencoded"
[169027626044.846231] [/?a=a] [9] Target value: "application/x-www-form-urlencoded" (Variable: REQUEST_HEADERS:Content-type)
[169027626044.846231] [/?a=a] [4] Rule returned 0.
[169027626044.846231] [/?a=a] [9] Matched vars cleaned.
[169027626044.846231] [/?a=a] [4] Starting phase RESPONSE_HEADERS. (SecRules 3)
[169027626044.846231] [/?a=a] [9] This phase consists of 0 rule(s).
[169027626044.846231] [/?a=a] [9] Appending response body: 31 bytes. Limit set to:<PHONE_NUMBER>00
[169027626044.846231] [/?a=a] [4] Starting phase RESPONSE_BODY. (SecRules 4)
[169027626044.846231] [/?a=a] [9] This phase consists of 1 rule(s).
[169027626044.846231] [/?a=a] [4] (Rule: 22000100) Executing operator "Eq" with param "param\=test" against REQUEST_BODY.
[169027626044.846231] [/?a=a] [9] Target value: "" (Variable: REQUEST_BODY)
[169027626044.846231] [/?a=a] [9] Matched vars updated.
[169027626044.846231] [/?a=a] [4] Rule returned 1.
[169027626044.846231] [/?a=a] [4] Running (disruptive)     action: deny.
[169027626044.846231] [/?a=a] [8] Running action deny
[169027626044.846231] [/?a=a] [8] Skipping this phase as this request was already intercepted.
[16902762609.916818] [] [4] Initializing transaction
[16902762609.916818] [] [4] Transaction context created.
[16902762609.916818] [] [4] Starting phase CONNECTION. (SecRules 0)
[16902762609.916818] [] [9] This phase consists of 0 rule(s).
[16902762609.916818] [] [4] Starting phase URI. (SecRules 0 + 1/2)
[16902762609.916818] [/?a=a] [4] Adding request argument (GET): name "a", value "a"
[16902762609.916818] [/?a=a] [4] Starting phase REQUEST_HEADERS.  (SecRules 1)
[16902762609.916818] [/?a=a] [9] This phase consists of 2 rule(s).
[16902762609.916818] [/?a=a] [4] (Rule: 200000) Executing operator "Rx" with param "^(?:application(?:/soap\+|/)|text/)xml" against REQUEST_HEADERS:Content-Type.
[16902762609.916818] [/?a=a] [9]  T (0) t:lowercase: "application/x-www-form-urlencoded"
[16902762609.916818] [/?a=a] [9] Target value: "application/x-www-form-urlencoded" (Variable: REQUEST_HEADERS:Content-type)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] (Rule: 200001) Executing operator "Rx" with param "^application/json" against REQUEST_HEADERS:Content-Type.
[16902762609.916818] [/?a=a] [9]  T (0) t:lowercase: "application/x-www-form-urlencoded"
[16902762609.916818] [/?a=a] [9] Target value: "application/x-www-form-urlencoded" (Variable: REQUEST_HEADERS:Content-type)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [9] Appending request body: 0 bytes. Limit set to: 13107200.000000
[16902762609.916818] [/?a=a] [4] Starting phase REQUEST_BODY. (SecRules 2)
[16902762609.916818] [/?a=a] [9] This phase consists of 5 rule(s).
[16902762609.916818] [/?a=a] [4] (Rule: 200007) Executing operator "Ge" with param "1000" against ARGS.
[16902762609.916818] [/?a=a] [9] Target value: "1" (Variable: ARGS)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] (Rule: 200002) Executing operator "Eq" with param "0" against REQBODY_ERROR.
[16902762609.916818] [/?a=a] [9] Target value: "" (Variable: REQBODY_ERROR)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] (Rule: 200003) Executing operator "Eq" with param "0" against MULTIPART_STRICT_ERROR.
[16902762609.916818] [/?a=a] [9] Target value: "" (Variable: MULTIPART_STRICT_ERROR)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] (Rule: 200004) Executing operator "Eq" with param "1" against MULTIPART_UNMATCHED_BOUNDARY.
[16902762609.916818] [/?a=a] [9] Target value: "" (Variable: MULTIPART_UNMATCHED_BOUNDARY)
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] (Rule: 200005) Executing operator "StrEq" with param "0" against TX:regex(^MSC_).
[16902762609.916818] [/?a=a] [4] Rule returned 0.
[16902762609.916818] [/?a=a] [9] Matched vars cleaned.
[16902762609.916818] [/?a=a] [4] Starting phase LOGGING. (SecRules 5)
[16902762609.916818] [/?a=a] [9] This phase consists of 0 rule(s).
[16902762609.916818] [/?a=a] [8] Checking if this request is suitable to be saved as an audit log.
[16902762609.916818] [/?a=a] [8] Checking if this request is relevant to be part of the audit logs.
[16902762609.916818] [/?a=a] [9] Return code `200' is not interesting to audit logs, relevant code(s): `^(?:5|4(?!04))'.

@eddychen111 ,
I have never used the return nginx configuration item, but isn't that what it's supposed to do? Respond immediately to an HTTP Request for that particular location? If that's what it's doing why would it proceed to do anything with the request body (which is a later stage)? It seems likely that's why you never see the request body stage executing in ModSecurity -- because ModSecurity never receives one from nginx.

@eddychen111 ,
I have never used the return nginx configuration item, but isn't that what it's supposed to do? Respond immediately to an HTTP Request for that particular location? If that's what it's doing why would it proceed to do anything with the request body (which is a later stage)? It seems likely that's why you never see the request body stage executing in ModSecurity -- because ModSecurity never receives one from nginx.

@martinhsv
Thank you again for your great help. I'm so grateful for your help with this. Thank you very much for your response. problem seems to have solved.

I was desperately trying to get coreruleset (v. 3.3.7) working on nginx until I finally found this.
It is well known and it is easy to find that not having access to the body will make modsecurity skip phase:2. Paired with the fact that someone could put togheter the same logic to check both url and body and that coreruleset by default make decision wheter to block or not a request in such a way, not having access to the body will lead to complete bypass of CRS.
I've checked the SecRequestBodyAccess On config option plenty of times, and finally found the answer. It wasn't me accidentally misconfiguring and denying access to the body, it is that not every nginx location grants the same context to its directives.
I don't know if I did get lost or if this piece of information was just badly indexed in search engines, but I think it would be really helpful to have the docs (maybe in the comment before SecRequestBodyAccess or maybe in the CRS docs, I don't know) mentioning something like:
# Allow ModSecurity to access request bodies. If you don't, ModSecurity
# won't be able to see any POST parameters, which opens a large security
# hole for attackers to exploit. Beware that you could still not be able to
# access request body if the rules are evaluated in a webserver context
# that doesn't grant access to it.

For anyone else that could get there trying to test CRS without being able to block basic url patterns like ?foo=/etc/passwd&bar=/bin/sh just change the directive inside your location block to implement something that requires the body to be passed (e.g. proxy_pass and not return).


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_b0cfddeb-a422-48d8-9c9f-5111504cfd56/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_b0cfddeb-a422-48d8-9c9f-5111504cfd56.git

Docs Build status updates of commit c3067b5:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-02-10-02-03-19 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Create a python 3.9 script to act as a consumer for a given Kafka topic

Create a python 3.9 script to act as a consumer for a given Kafka topic that reads from a brokerlist.txt and reads indefinitely from a topic and print the output on stdout.

please assign


Proto 3 version?

Does the library support proto 3 language guide? It would be helpful to have compatible JSON mapping support as requested previously.

Hi @am1659,
Yes, We run test suite against both proto2 and proto3.
let me know if you are having any problems with proto3.
As i mentioned before
JSON support its not in my plans to implement.
But given a good PR I would be happy to reconsider it.


[GSSOC'23]Adding a feature of circular graph to know the voting percentage

To add a feature to your circular graph that allows users to see the correct voting percentages, you can consider adding labels or tooltips to each section of the graph. These labels or tooltips can display the exact percentage for each category, making it easy for users to understand the data accurately.
Can U please assign me this project under GSSOC'23

@vivxsdb go ahead, but kindly do edit the issue as per the issue template.

Can I get a week time actually due to my sem exams and I contributing to other projects so it is taking a little bit of time please donot close the issue Actually I really want to work on these issues Please give me few days time


Issue in tokenization

While using tokenization
IF first entry in input is a delimiter it shows "Uncaught TypeError: Cannot set property 'selected' of null" error in console and "Searching"  message on UI
Try it on examples page

Duplicate of #3593


Calc and show the shanten in the review result

The shanten number is an important indicator of tehai progress. Showing the shanten in the review result can help us
better understand how our choice impacts the final result.
BTW, I try to analyze one of my paipu, and find the time of running analysis is the same as not calculating shanten. So I make it to show the shanten number by default.
An example of the review result: confusing_nakis_7.json.html.zip

That's a lot of works, thank you though.
However, since my new AI Mortal has been released on GitHub. I will modify this repo, by a lot, to make it support Mortal as a back-end. The change you proposed is too much for me to review and may be soon obsolete after I update the code. I'm sorry for that.

Mortal is cool.
Never mind. I'll close this PR and use it for myself so far. Looking forward to the Mortal!


Modifies agent decision making to include selfishnessFactor

Adds selfishnessFactor to config file
adds selfishnessFactor to README

Population differs between master branch and this implementation even without using the new features. Results in a population of 419 on master branch and 407 on this branch using this config:
{     "agentAggressionFactor": [1, 1],     "agentBaseInterestRate": [0.05, 0.10],     "agentEthicalFactor": [1, 1],     "agentEthicalTheory": "none",     "agentFemaleInfertilityAge": [40, 50],     "agentFemaleFertilityAge": [12, 15],     "agentFertilityFactor": [1, 1],     "agentImmuneSystemLength": 35,     "agentInheritancePolicy": "children",     "agentLendingFactor": [1, 1],     "agentLoanDuration": [5, 5],     "agentLookaheadFactor": [1, 10],     "agentMaleInfertilityAge": [50, 60],     "agentMaleFertilityAge": [12, 15],     "agentMaleToFemaleRatio": 1,     "agentMaxAge": [60, 100],     "agentMaxFriends": [5, 10],     "agentMovement": [1, 6],     "agentReplacements": 0,     "agentSpiceMetabolism": [1, 4],     "agentStartingSpice": [10, 40],     "agentStartingSugar": [10, 40],     "agentStartingQuadrants": [1, 2, 3, 4],     "agentSugarMetabolism": [1, 4],     "agentTagStringLength": 11,     "agentTradeFactor": [1, 1],     "agentVision": [1, 6],     "debugMode": true,     "diseaseAggressionPenalty": [-1, 1],     "diseaseFertilityPenalty": [-1, 1],     "diseaseMovementPenalty": [0, 0],     "diseaseSpiceMetabolismPenalty": [1, 3],     "diseaseSugarMetabolismPenalty": [1, 3],     "diseaseTagStringLength": [7, 13],     "diseaseVisionPenalty": [-1, 1],     "environmentHeight": 50,     "environmentMaxCombatLoot": 1,     "environmentMaxSpice": 4,     "environmentMaxSugar": 4,     "environmentMaxTribes": 3,     "environmentPollutionDiffusionDelay": 0,     "environmentSeasonalGrowbackDelay": 0,     "environmentSeasonInterval": 0,     "environmentSpiceConsumptionPollutionFactor": 0,     "environmentSpiceProductionPollutionFactor": 0,     "environmentSpiceRegrowRate": 1,     "environmentSugarConsumptionPollutionFactor": 0,     "environmentSugarProductionPollutionFactor": 0,     "environmentSugarRegrowRate": 1,     "environmentWidth": 50,     "headlessMode": false,     "logfile": "log.json",     "profileMode": false,     "seed": 12345,     "startingAgents": 500,     "startingDiseases": 50,     "timesteps": 200 }

Rebased on top of most recent production branch (determinism fix) - getting convergent results for ethical theory = none. However, when selfishnessFactor is set to 0.5 there are divergent results when ethicalTheory = bentham (I've tested this with both weighted and unweighted suicide penalties. Not entirely  sure what is causing the divergence because if I recall correctly at one point we were getting convergent results between this branch and master for ethicalTheory = bentham. I'm leaving it here for today because its functional and I don't want to sink to much time into fixing this. Any thoughts?

Let's plan to have this fully ready to merge by next Tuesday's meeting. Follow up with me offline to give me a status update on where this PR is at and what is still left to be done to get it over the finish line.

Not sure why its saying I removed those two l lines. There shouldn't be any whitespace difference between them...

There aren't any semantic changes. I'll take it as is. Rebase on top the current version. Then it should be ready to merge.

Before I forget, the selfishnessFactor mechanism should be in both benthamNoLookahead and benthamHalfLookahead.


ZendDeveloperTools

Skeleton contains default config for ZendDeveloperTools, however package isn't required in composer. It will increase developers start with framework, isn't it?

Ok, I see now that's it's definend in extra. However during install I don't get any question

you should get it now:
    Do you want a minimal install (no optional packages)? Y/n
n

    Would you like to install the developer toolbar? y/N
y
    Will install zendframework/zend-developer-tools (^1.1.0)
    When prompted to install as a module, select development.config.php.dist

Cannot reproduce; I get prompted as detailed by @samsonasik when doing a fresh install.


[$1000] Web - Display name does not update for room action messages

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:

from userA, create a new public room
share a code to userB and add userB
from userA, change the room title
change userA display name
from userB, check userA display name for room action messages

Expected Result:
display name should be update for room action messages
Actual Result:
display name does not update for room action messages
Workaround:
Unknown
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: v1.3.55-7
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/115492554/f7c884a4-98f6-492e-9a1c-54fc2b8d225c
https://github.com/Expensify/App/assets/115492554/f92ec829-a913-4161-ae57-7726891f7ae3
Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691748721787709
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~016003968cf65bb1ca
Upwork Job ID:<PHONE_NUMBER>765239808
Last Price Increase: 2023-08-21

Looks good

@c3024 Thanks for the proposal. I don't think your RCA is correct. The root cause seems to be internal. The report action remains outdated/unchanged when a user changes his name. Regardless your solution may work now but it's a workaround. The alternative solution won't work because the person object won't change (BE related).

I have created Slack thread to get some :eyes: on this.


How to use singular type name?

In AMS we can choose which type format to use in json:api document, and it looks like JSONAPI::Resources doesn't have this option now. It would be very helpful if we can custom the type attribute.

Right now there's no way of doing that. I've submitted a PR (#1066) that enables customizing a resource's type.  It is very simple. If you need it right now you could pull it onto a fork of yours and use it 😃.


Issue with Karafka 1.3.6 and wrappers

@prashant-ztech would you mind reminding me what this was about?

@prashant-ztech would you mind reminding me what was the issue? :sweat_smile:


Fix changelog generation in releases

Describe the bug
Current generated changelogs appear very broken, see https://github.com/ChainSafe/lodestar/releases/tag/v0.33.0

Only one closed issue is included
No PRs are included

Expected behavior
Changelog generator should print a useful changelog like https://github.com/ChainSafe/lodestar/releases/tag/v0.30.0

Display all closed issues between releases
Included all closed PRs between releases
New: Since we moved to our new release strategy, the release commit is not in the master branch. Maybe the changelog generator has issues handling that
New: Since we now tag beta versions we don't want the changelog to display changes split into beta and non-beta tags. All items should appear under a single header v0.33.0 (data)

Our new release process is detailed within #3036 for your reference as well @dadepo


Gogo extension not working

Steps to reproduce
Open the gogo extension and you see that it's not opening as intended

Expected behavior
The extension should open like any other available extensions

Actual behavior

Crash logs
No response
Aniyomi version
App version: 0.14.6-6691 (standard, 5fd00d4a1, 105, 2023-11-02T23:11Z) Android version: 13 (SDK 33) Android build ID: TP1A.220624.014 Device brand: Xiaomi Device manufacturer: Xiaomi Device name: pissarroin Device model: 21091116I Device product name: pissarroin
Android version
Android 13
Device
Xiaomi Mi 11i
Other details
I think this has to with the existing server not working anymore.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[x] I will fill out all of the requested information in this form.

report extension specific issues in the extensions repo


New Response classes

Hey @tparnell8, is there any fast way to generate those response classes with Json properties?

I used http://jsonutils.com/ make sure you check  Pascal Case and then make sure you wrap all of the classes inside their own namespace.

@rodkings it spits out a lot of classes if you look at https://github.com/tparnell8/Untappd.Net/blob/master/src/Untappd.Net/Responses/UserBadges.cs you will see I wrapped that inside its own namespace to prevent conflicts, and then I had the root class inherit from UnAuthenticatedRequest I assume for Authenticated ones you will want to inherit from the AuthenicatedRequest https://github.com/tparnell8/Untappd.Net/blob/master/src/Untappd.Net/Request/AuthenticatedRequest.cs

@tparnell8 great, I will use the same. I think it's fine about the amount of classes.
I tried a different solution for these inheritances. The problem is the UserBadges, for example, can be requested as both Authenticated and Unauthenticated. I created a BasicRequest, that implements IRequest. Created two new interfaces, IAuthenticatedRequest and IUnAuthenticated requests that inherits from IRequest. Now, each response Classes is inheriting BasicRequest, the interfaces that defines if needs authentication, or both.
On the repository, for authenticated requests, I'm using IAuthenticatedRequest as parameter of credentials. So you can use the same class for both authenticated and non-auth requests. Some responses classes will have only IAuthenticatedRequest, so you got the picture.

@tparnell8 ops, IAuthenticatedRequest for TResult.
where TResult : IAuthenticatedRequest, new()

That makes sense, and sounds like what I was going to do...

Basically what was/am trying to accomplish was the use of typing to prevent people from trying to use an Authenticated request with a non authenticated token.

Sounds like you are making it happen, which is awesome!

Right now it looks like this:
public TResult Get(IAuthenticatedUntappdCredentials credentials, string parameter = "", IDictionary<string, string> bodyParameters = null)
where TResult : IAuthenticatedRequest, new()
the problem is that IAuthenticadUntappdCredentials and IUnAuthenticatedUntappdCredentials, both inherits from IUntappdCredentials.

do you need my help to de-tangle this mess? or do you got it? I assume you can figure out an elegant solution.

@rodkings
I see what the problem is...have AuthenticatedUntappdCredentials also inherit from the correct interface
   public sealed class AuthenticatedUntappdCredentials : UnAuthenticatedUntappdCredentials, IAuthenticatedUntappdCredentials

That will allow it to use the proper get overload

@tparnell8 very close to my, I will make a pull request, and yes, I need your help to solve this. Can you take a look?


Incorrect comment string

VSCode Version: 1.14.1
OS Version: 10.12.5

Steps to Reproduce:

Open this file in vscode: https://github.com/mozilla-mobile/firefox-ios/blob/master/Telemetry/Events.swift#L3
You will find that the whole file is a comment string.

The reason is line 3 has such characters: // in the url, and the comment string terminate character */  is at the end of the line.

Reproduces without extensions: Yes

This is an issue with Swift grammar.

You are right, this only happened in swift file.

This is a known but accepted limitation of our comment feature which does not escape anything inside the comment. The user has to do that.


Edit your Status profile

Thanks @jorge-campo. I have applied the comments and merged the updates. Regarding the structure change, I created an update issue #658 .


Salute Reporting Geoform fails to load

https://SERVERNAME/arcgis/home/item.html?id=895d6bffcd1a4d829d30601b6cfa1f97
Error is the following:

Switched out the SALUTE feature service in the web map and tested that app loads.


Can't feed MacOS host webcam stream to OpenCvVideoDecoderCalculator on VM's Ubuntu via RTP

I'm trying to feed my host webcam stream to a Mediapipe graph that uses opencv_video_decoder_calculator on a VM running Ubuntu.
I run on my Mac (host):
ffmpeg -f avfoundation -video_device_index 1 -r 15 -i "My Webcam Name" -profile:v high -pix_fmt yuv420p -level:v 4.1 -preset ultrafast -tune zerolatency -vcodec libx264 -r 15 -b:v 512k -s 960x720 -f rtp_mpegts -flush_packets 0 -vf hflip rtp://vm-local-ip:5000

On the VM's Ubuntu terminal, when I run ffplay rtp://<IP_ADDRESS>:5000 I get the host webcam output showing up fine.
But when I try to feed that stream to the graph, I get the error:
fail to make video header due to the incorrect metadata from the video file at rtp://<IP_ADDRESS>:5000
I added a console log to debug and saw that:

fps = 15
frame_count_ = -214748364
width_ = 0
height_ = 0

It also outputs non-existing PPS 0 referenced and decode_slice_header error errors.
Any idea on how to get those metadata right to get the webcam stream to work with OpenCvVideoDecoderCalculator?

Does the VM not read the webcam directly? If so, the video decoder calc is not needed, and you can use this example to run from the camera directly.
If the webcam doesn't work in the VM (i assume that is why the video+ffmpeg hack), then you may need to edit a special case for the "infinite" frame count check here and here, to allow things to flow.
Another thing to try, is the webcam demo mentioned above  also supports loading from a file, and doesn't do any header checks. So you could try that too (they both use opencv under the hood).

Thanks for the reply @mcclanahoochie I've made it work by using the webcam directly in the VM (I had compatibility issues at first, but found a workaround). I had tried to mess around with the frame_count_, width_ and height_ checks but that triggered a bunch of errors down the road with OpenCV unable to instantiate any window.
Thanks for your input!


CI: Add branch name checking

Summary
I would like to add an action to check the branch name of the PR that is implemented in the PyAnsys actions, let me know what do you think about this

Codecov Report

Merging #436 (d62b47c) into main (219ab7f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #436   +/-   ##
=======================================
  Coverage   49.06%   49.06%
=======================================
  Files         105      105
  Lines       19500    19500
=======================================
  Hits         9568     9568
  Misses       9932     9932

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add interfaces to be possible the mock of the client, batch and service

Hi @pedrocarmokununu !
Why do you need interfaces in order to mock these classes? They are not final, so you can mock them directly.


[vim9script] Access to nested object inside function raises E715: Dictionary required

Steps to reproduce
Possibly related to https://github.com/vim/vim/issues/11822.
Source this script:
vim9script

class Context
  public this.state: dict<any> = {}
endclass

class Metadata
  this.value = 0
endclass

var ctx = Context.new()
ctx.state["meta"] = Metadata.new(1)

const foo = ctx.state.meta.value  # OK

def F()
  const bar = ctx.state.meta.value
enddef

F() # ERROR: E715

I have found two workarounds for the problem above. Either of the following will work:
def AsMetadata(obj: Metadata): Metadata
  return obj
enddef

def F()
  const bar = AsMetadata(ctx.state.meta).value
  echo bar
enddef

F() # OK

Or:
def F()
  const meta: Metadata = ctx.state.meta
  const bar: number = meta.value
enddef

F() # OK

Expected behaviour
The nested access to an object should work also inside a function.
Version of Vim
9.0.1322
Environment
macOS 13.2
Apple Terminal
xterm-256color
ZSH 5.8.1
Logs and stack traces
No response

In https://github.com/vim/vim/issues/11822 it was mentioned that this is complicated to fix. On a second thought, and considering that the second workaround I have suggested above is perfectly reasonable, I think that raising an error is fine if there is no information on the nested object's type at runtime (although it is a bit puzzling that no error is raised outside of a function).
It would be nice, however, if the error message were more informative. Or, at least, the help file could be expanded to document the circumstances in which type annotations such as above are mandatory.

In https://github.com/vim/vim/issues/11822 it was mentioned that this
is complicated to fix. On a second thought, and considering that the
second workaround I have suggested above is perfectly reasonable, I
think that raising an error is fine if there is no information on the
nested object's type at runtime (although it is a bit puzzling that no
error is raised outside of a function).

Why would there be no information at runtime?  The value always includes
the type, see "struct typval_S" in src/structs.h.

It would be nice, however, if the error message were more informative.
Or, at least, the help file could be expanded to document the
circumstances in which type annotations such as above are mandatory.

Hopefully we can make it work as one expects, instead of giving a rather
hard to understand explanation of why it works differently.
--
hundred-and-one symptoms of being an internet addict:
21. Your dog has its own home page.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Recently opened #13120 and wondering if it had any relationship to this issue. It doesn't seem to. BUT...
The example point out a regression,
using 9.0.1910, running the example
line   12:
E18: Unexpected characters in :let

which has workaround of
var d = ctx.state
d["meta"] = Metadata.new(1)

There's a third workaround to the original problem
def F()
  const bar = (<Metadata>ctx.state.meta).value
enddef

There's a third workaround to the original problem

Is the <TYPE> syntax documented anywherre?

:help <type-casting>


@uform/react的index.d.ts好像有问题，没有导出registerFormField等方法

Help us to manage our issues by answering the following:

How would you tag this issue?

Bug

Describe your issue:

Which versions of UForm?
0.1.8
在ts项目里使用UForm，发现registerFormField等方法没有声明。

already fixed.


Application exceptions not surfacing correctly in UI

Some exceptions thrown by the application are causing the rendering of an HTML error page instead of a JSON response with the appropriate error message. This breaks the UI that always expect a JSON response.
To replicate: select S2R for Chinese (which is not supported)  and attempt transliteration of a Roman string.

Fixed in ccafaee.


make brew upgrade kraken work

currently running brew upgrade kraken results in: Error: samsung-cnct/k2cli/kraken 64 already installed
Either get this to properly upgrade to newest kraken version, or include some documentation in main readme about what the workaround should be.

I think this is a dup of https://github.com/samsung-cnct/homebrew-kraken/issues/21

thanks, i had searched for brew and hadn't seen an issue, i will close it


what base instances do we model?

Those seem straightforward

MOF
Isotherm
Adsorbens

However, not clear where to best put the derived properties.
What do we do with things that are computed from two isotherms or that are output of a DFT?

use https://github.com/usnistgov/mgi-json-schema

and the json of https://goldbook.iupac.org/pages/software

keep it light, no complicated dependencies or anything like that.


Support for multiple licenses

Many projects are dual licensed or are bound by multiple licenses. The structure should probably be modified to rename "license" to "licenses" and use an array.

Can you work up a patch? @xiang90 is out of office.

@estroz will pick it up

PR open:  #11


Oscillator unstable

Hi there,
When for instance keeping the mouse button pressed on the example (for a long time), the oscillations' amplitude keep increasing. This also happens for simpler oscillators.
I imagine its a limitation of the trapezium approach to integral calculations? Is there a way to avoid this? If not generally then maybe for specific cases?
Very best,
Jun

Yes, I think we could investigate alternative methods for integration and try to find a way to make it stable.


Update readme

Adding info about stargate

partly adsressed in #9

Maybe the title can be more descriptive of the issue?


Performance drop with the envoy version upgrade

Title: performance of envoy is degraded with the envoy version upgrade
Description:
We have conducted a performance test by directly using envoy as a router deployed on docker containers. The performance test was conducted with the same configuration set (see below), by varying envoy version (1.14.1 , 1.16.1 , 1.17.1) and average throughput recorded for these cases were 7054.7/s, 5575.2/s and 4946.6/s respectively.
Here are the environment details on the performance test:
Dockerfile was used to create the image (with varying the envoy version for three scenarios).

Testing environment : docker on openstack ubuntu
Docker container resource allocations (for envoy router):
cpus : '2'
memory : 256m

As the back-end service, we had used a sample HTTP echo service, which implemented using netty server and this service (without proxying) has average throughput more than 20000/sec.
Here are the details of back-end service:

Environment : docker on openstack ubuntu
Docker container resource allocations:
cpus : '2'
memory : 4g

So according to the above output, we can observe that there is performance drop with the envoy version upgrade.
Is there any reason for this??

@mattklein123 I will share the flame graphs.
But, before that ,could you explicitly answer to the question "Is there a performance drop with the envoy version upgrade ?"

could you explicitly answer to the question "Is there a performance drop with the envoy version upgrade ?"

i dont think there is an explicit answer
there is only answers dependent on your environment and configuration
if you can share that information, the setup of the tests and the results then others can look more closely at why that might be the case

@phlax @mattklein123 I'm using pre-build docker image of envoy, is there a way to get flame graphs from that, without building the project. Could you please share some guide to capture flame graphs..
I have been reading this. Is that the correct way to capture flame graphs for envoy..

@mattklein123 find the attached flame graphs for each scenarios.
flame_graphs.zip

perf-kernel_1.14.1.svg - envoy 1.14.1
perf-kernel_1.16.0.svg - envoy 1.16.0
perf-kernel_1.17.1.svg - envoy 1.17.1

Environment details:

Testing environment : docker on openstack ubuntu
Docker container resource allocations (for envoy router):
cpus : '2'
memory : 256m

Used docker images : https://hub.docker.com/r/envoyproxy/envoy

@VajiraPrabuddhaka unfortunately there are no symbols associated with the flame graphs so they are not very useful. Please make sure to use a binary with symbols when generating.

@mattklein123 could you please point out a binary with symbols, so that I can use it??
I previously tried with this and it gave me the same results.


🧐[问题]表格没有加载完成前切换页面，导致页面爆出warning( Can't perform a React state update on an unmounted component. )

🧐 问题描述 [详细地描述问题，让大家都能理解]
表格没有加载完成前切换页面，导致页面爆出warning，之前出现这种问题的解决方法是在返回response之后的回调方法中判断当前组件是否卸载，protable不知道应该如何在销毁后停止数据继续渲染
💻 示例代码 [如果有必要，展示代码，线上示例，或仓库]

🚑 其他信息 [如截图等其他信息可以贴在这里]
[Violation] Forced reflow while executing JavaScript took 45ms
[Violation] 'click' handler took 162ms
util.js:206 [Violation] 'setTimeout' handler took 61ms
devScripts.js:5035 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application.


Use something other than font-kit and/or put it behind feature gate

font-kit seems like a nice lib, however it's very much not pure Rust, requiring not only a full c++ build system but also several C libs and their associated header files to be installed on a system (at least on Linux), and as such presents a fairly significant bar to entry. It would be nice not to depend on it. Also, even after getting it to compile on Fedora, I stlil get this output in my terminal when runing the todos example, though it does seem to work at least.
edit
error output was fixed by updating outdated fontconfig-devel.
Just for reference, on Fedora 30, I had to install cmake, g++, freetype, freetype-devel, expat-devel, and fontconfig-devel for it to work.

This seems to be caused by libfontconfig, which compiles and statically links itself if it can't find an appropriate system version with pkg-config. Here is the relevant code: https://github.com/servo/libfontconfig/blob/master/build.rs#L20
That said, a feature gate would be nice for cases where system font loading isn't needed (for instance, when embedding fonts in games).

Just in case someone on ubuntu wants to install these missing dependencies:
sudo apt install pkg-config
sudo apt install cmake
sudo apt install libfreetype6-dev
sudo apt-get install expat
sudo apt-get install libexpat-dev

After installing the above, the counter example builds successfully.

https://github.com/servo/libfontconfig/issues/55 would add a force_system_lib feature to libfontconfig that would allow us to get an error instead of building the silly/annoying cache-incompatible embedded fontconfig


doc search using the blank at upper left stalls

browse to https://doc.cocalc.com/
type anything in the Search blank at upper left, for example "project", and hit Enter
search hangs with "Searching...", number of dots after the word cycles thru 1,2,3,1,...

Workaround from @haraldschilly: Installing sphinx_rtd_theme locally in the project used to build docs and deploying after fresh make has resolved the problem. Updated theme in production CoCalc (expected soon) will be the definitive solution.


Drop iots export

This PR removes iots-export itself and drops usages from

plutus-use-cases
plutus-ledger
plutus-playground-server
plutus-contract
playground-common
plutus-pab

As discussed on Slack, we should push the current state of iots-export to https://github.com/input-output-hk/iots-export so it doesn't just completely disappear.

Pre-submit checklist:

Branch

[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

If you updated any cabal files or added Haskell packages:

[x] nix-shell shell.nix --run updateMaterialized to update the materialized Nix files
[x] Update hie-*.yaml files if needed

If you changed any Haskell files:

[x] nix-shell shell.nix --run fix-stylish-haskell to fix any formatting issues

If you changed any Purescript files:

[x] nix-shell shell.nix --run fix-purty to fix any formatting issues

Pre-merge checklist:

[ ] Someone approved it
[ ] Commits have useful messages
[ ] Review clarifications made it into the code
[ ] History is moderately tidy; or going to squash-merge
[ ] iots-export has been made available under iohk github org

Hydra notification seems to have failed to come through, but it is in fact failing the tests.

https://hydra.iohk.io/build/5463102/nixlog/2

This took a bit longer than it should have. Thanks to @krisajenkins for pointing out that relevant piece above it led me to some of the changes that were necessary to fix the tests.
After that I got stuck with weird compilation errors until @shmish111 told me that these tests won't work outside of a nix build ;-/ I wrote a test checking if we are inside of a nix-build so nobody falls into this same trap again.

Sigh. So of course NIX_BUILD_TOP on macOS does not equal the one on Linux so i had to fix that.

Compilation successful

I tried compiling something locally in the playground - working nicely.


Can't reproduce report results on VOT2018

I used your code to train SiamRPN++ and tested the model on VOT2018, but the EAO is only 0.344, which is much lower than your report results(0.415). The code and config file are totally same with yours, training datasets include VID,YTB(from your new link),COCO,DET.

By the way, can you please provide other epoch model's benchmark results on VOT2018, such as epoch10~epoch20? I am confused whether most of epoch's EAO is high(greater than 0.4) or  0.415 is only a random result.
Thanks!

I got EAO=0.374 after hp search.

same question, hope to get some info

Since no further question is asked, I'm closing it for now.
Please reopen it or create a new issue if you have further question.

https://github.com/STVIR/pysot/issues/94


TypeError: Cannot call method 'on' of undefined

Hello,
I have a trouble with ldapjs (ldap search method). I'm using ldapjs with sharelatex:
https://github.com/heukirne/web-sharelatex/commit/fd0a76d366020994a49723881b4d656542e660ee
"ldapjs": "0.7.1",

When i launch sharelatex server, there is no problem: i can authenticated with ldap client.
But with a small time of inactivity, i have some trouble:
[2014-10-12T08:01:21.185Z] ERROR: web-sharelatex/16490 on latex: error passed to top level next middlewear (url=/register, method=POST)
TypeError: Cannot call method 'on' of undefined
at /home/sharelatex/web/app/js/Features/Security/LdapAuth.js:33:24
at Client._send (/home/sharelatex/web/node_modules/ldapjs/lib/client/client.js:920:12)
at Client.search (/home/sharelatex/web/node_modules/ldapjs/lib/client/client.js:678:15)
at Object.module.exports.authDN (/home/sharelatex/web/app/js/Features/Security/LdapAuth.js:32:26)
at Object.module.exports.registerNewUser (/home/sharelatex/web/app/js/Features/User/UserRegistrationHandler.js:88:23)
at module.exports.register (/home/sharelatex/web/app/js/Features/User/UserController.js:153:38)
at callbacks (/home/sharelatex/web/node_modules/express/lib/router/index.js:161:37)
at param (/home/sharelatex/web/node_modules/express/lib/router/index.js:135:11)
at pass (/home/sharelatex/web/node_modules/express/lib/router/index.js:142:5)
at Router._dispatch (/home/sharelatex/web/node_modules/express/lib/router/index.js:170:5)
at Object.router (/home/sharelatex/web/node_modules/express/lib/router/index.js:33:10)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/Server.js:151:14)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.app.use.res.render.title as handle
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.module.exports as handle
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.module.exports as handle
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/node_modules/metrics-sharelatex/http.coffee:30:3)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:187:14)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:180:14)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at /home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:170:16
at Object.module.exports.SystemMessageManager.getMessages (/home/sharelatex/web/app/js/Features/SystemMessages/SystemMessageManager.js:12:16)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:165:35)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:162:14)
at next (/home/sharelatex/web/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at Object.handle (/home/sharelatex/web/app/js/infrastructure/ExpressLocals.js:157:14)
I can't authenticate anymore after that. I have to relaunch sharelatex server to be able to authenticate.
I would like to know if it's a bug of ldapjs if you are a solution to my problem.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


What would a fixing mode be like that would only prevent the nodes from changing their positions?

For example, let my editor run in fixed mode, but I want the selection events of the nodes in the editor to be triggered. All I want is that their location can't be updated. When editor.editor_mode = 'fixed'; , node select events are not triggered.

Hello
In version 0.0.27 I added the "clickEnd" event function.
If you use edit mode.
You can prevent drag with it.
editor.on("clickEnd", function() {
      editor.drag = false;
 });

Is this what you want?

Yes, it is exactly that :) It worked exactly as I wanted it. Thanks.


vllm推理部署的最大上下文怎么设置

Reminder

[X] I have read the README and searched the existing issues.

System Info
在使用vllm进行模型部署的yaml配置文件中，应该用什么参数指定最大上下文长度

Reproduction

Expected behavior
No response
Others
No response

https://github.com/hiyouga/LLaMA-Factory/blob/1e0c860c8c5ae8958d7105acafdac5d253a585f9/src/llamafactory/hparams/model_args.py#L148-L151


feat: add public wallet

This PR split the Wallet functions into two different levels;

WalletPublic: Can be initialized just with an address. This enables the account to do public queries, execute dry-run transactions and send transactions directly to the provider without signing features.
Wallet: Implements WalletPublic, but overrides send transaction and simulates for signing transactions. It also implements sign messages.
The main difference is that Wallet has access to the PrivateKey, and WalletPublic works only with the Address.

Also, I add a new arrayify function. The idea of the new arrayify is to enable correctly parsing an object without a length. This is needed in order to stringify a transaction and be able to recreate a new TransactionRequest object from the parse of the string.
I add a new test on contract.test.ts to test the stringify and a test for emulating a custom provider using a WalletPublic.
These changes are enabling fuels-ts integration with custom provider objects, like Wallet Extension now and Hardware Wallets in the future.

I think it looks good, but want to discuss names more.
I feel like the primary name should be Wallet and then we'd name the signed version with private key using a different name.
Like: WalletPublic => Wallet Wallet => WalletSigned or PrivateWallet

One suggestion from @digorithm is to follow the terminology rust has that is WalletUnlocked and WalletLocked https://github.com/FuelLabs/fuels-rs/blob/14ac1b9feaa09fe64513aefec9115166b971148e/docs/src/wallets/access.md


Run PostFetchScript after fetch completion

I believe PostFetchScript was intended to be called after the fetch was complete. But the call was placed such that it was running in parallel with the fetch. I noticed on the first fetch of a new repo that it doesn't find a bundle file, since the repo hasn't finished cloning yet.

This looks good to me. The Windows failures seem to be related to a bug with capturing stdout on Windows (https://github.com/ponylang/ponyc/issues/3674).  Not sure about the FreeBSD ones.

The FreeBSD failure is a race condition in the Pony runtime that I'm working on fixing.

This should get a changelog entry and release notes before being merged.

Hi @philTornquist,
The changelog - fixed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.
Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 160.md to match the number of this pull request.
The basic format of the release notes (using markdown) should be:
## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

@SeanTAllen I can write up the release notes. Should that go in the next-release.md file instead of the recommended 160.md?

@philTornquist They should not go in next-release.md. 160.md would be good.

@SeanTAllen I'm guessing the CI failure is related to an issue on the current ponyc release, which is supposed to be fixed in the next release?

@jemc I believe so.

Thanks @philTornquist!


Is it possible to bind multiple IPs to the upstream binding configuration of the Envoy cluster?

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via emailing
<EMAIL_ADDRESS>where the issue will be triaged appropriately.
Title: Is it possible to bind multiple IPs to the upstream binding configuration of the Envoy cluster?
Description:
As shown in the following figure, is it possible for the upstream binding configuration of the Envoy cluster to support binding of multiple IP addresses?
For example, when I need to access the endpoint through the proxy IP address, I need to set the source ip in BindConfig of the cluster to the proxy IP so that the request can be correctly returned. Currently, multiple  source IP addresses are not supported. How can I set multiple source addresses?

[optional Relevant Links:]
>Any extra documentation required to understand the issue.

I don't think I understand your use case. You want to have multiple source addresses available; what rules would you use to determine which one is used for each connection?

I don't think I understand your use case. You want to have multiple source addresses available; what rules would you use to determine which one is used for each connection?

Simply put, the two endpoints of the cluster are in different network environments. Therefore, different proxies are required to access them, that is, different source IP addresses are required. As for your question, the two endpoints have different network segments. Can we select different source addresses according to the destination network segments?


Deformation field not smooth

Hi Chen,
First off, thank you for making the code and datasets for OASIS available! I have been trying to apply the pre-trained model on the OASIS data you provided. For the output, I convert the deformation field in the .npz file into a .nii file in order to visualize the result in ITK-SNAP. However, the result does not seem very smooth which is frustrating.
Attached is the screenshot of the deformation field:

I am wondering what is causing this issue. Thank you in advance for your help and I look forward to hear back from you!

Hi @kvttt ,
Thank you for your interest in our work. Your observation is correct. Plain TransMorph does not guarantee a diffeomorphism. The smoothness of the deformation field was simply imposed by the regularizer during training. You could use TransMorph-bspl or TransMorph-diff to get a smoother deformation. However, we have not trained and tested those variants on the OASIS dataset. So you might need to train them from scratch.
Typically, for learning-based registration methods, a diffeomorphism is guaranteed by assuming a stationary velocity field. However, we observed that using SVF might degrade performance. Lately, we developed a new model called TransMorph-cascade (currently ranked 1st on task03 of the 2021 L2R challenge), which allows us to impose some smoothness without compromising performance (in terms of Dice). Since it has not been published yet (and we are unsure if we will), we are not going to share the source code for it for now. Having said that, if we decide not to publish it, I will include the source code and pre-trained weights of TransMorph-cascade in this repository.
Thanks,
Junyu

Thank you so much for the detailed explanation! I will go ahead and try TransMorph-bspl and TransMorph-diff.

Hi @kvttt ,
Do you have the code for visualizing the deformation field?
Thanks in advance.

Hi @bhosalems, I think I do. I will pull it up right now and paste a snippet here later today.

Thanks @kvttt , let me try this today night. will revert back.

Hi @bhosalems, I guess you would need to do something like this:
import nibabel as nib
import numpy as np

img = nib.load('target.nii.gz')  # you would need the target .nii file for affine and header
flow = np.laod('filename.npz')['arr_0']  # load the npz file and get data
flow = flow.transpose(2, 3, 4, 0, 1)  # this is to make the dimension agree with nifti's
flow_img = nib.Nifti1Image(flow, img.affine, img.header)
nib.save(flow_img, 'filename.nii.gz')

It is also possible to just modify the inference script and create a NIFTI image from there. Let me know if you run into any problems! Hope this helps!

Hi @kvttt ,
I am also interested in the visualization you made for the deformation field. Did you directly import the (3,H,W,D) flow field into ITK-SNAP or did you first convert the flow field into warped grids and then visualize the grids in ITK-SNAP?
From the snippet you gave, it seems that ITK-SNAP can directly visualize the flow field. However, I was unable to find that function. Could you please give me some hints?
Thank you so much in advance!

@xiaogengen-007, I didn't do anything special. Once some transpose is performed to the flow field and the deformation field is saved as a *.nii.gz file, it can be open directly in ITK-SNAP. I suppose you are using ITK-SNAP in command line. For me, I just dragged the file into ITK-SNAP.


update to 7.20191106

Checklist

[X] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ X Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Add Local Redis Password

Add the option for setting a password for Redis. This is needed if the Redis server has the requirepass directive active in the Redis configuration file.

Sorry, I didn't know how to make the changes to all 3 files in one pull request.


"denied: Unable to write blob sha256:

Which image/versions are related to this issue/feature request?
Hi Everyone,
I am writing to raise a support ticket regarding an issue I am encountering while using the Wolfi image in my Dockerfile. Specifically, I am facing with an error message saying "denied: Unable to write blob sha256:aae52d44a2a536e3de1897560bf1f05a87d52bcc98b5f68d8af99fb676143e316836.. Pushing failed. Exiting ..." and despite troubleshooting on my end, I have been unable to resolve the issue.
Here are the details of the problem:
Issue: Unable to upload blob
Environment: Using Wolfi image in Dockerfile
Steps Taken: I have reviewed my Dockerfile configurations, checked network connectivity, and examined relevant documentation, but the problem persists.
Could you please share regarding this matter? If additional information or logs are needed to diagnose and resolve the issue, please let me know, and I will gladly provide them.
Thank you in advance & appreciate your time.
Issue/Feature description
No response

This is happening when we push image to Google Container Registry. The notable thing is when I use other container images for.eg Python or Alpine, it works but when I try to use Wolfi, it throws an error.
Could you please share thoughts here?

@spawar-apex have you got to the bottom of it?


 Could you share details of your network setup?

+1
I encounter the same issue when running behind a proxy.

@samhe Did you look at the info in the wiki? You can try to update some of the VM proxy settings:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes#add-proxy-settings-to-vm

Closing because we are aware of this issue as per @FrenchBen's post.


Use barcode/library file input similar to Picard

Picard have an input for barcode files in the illumina basecall tools, and we should have a look to don't use a different format for beta. This will make the legacy tools incompatible again, but at least it will be nicer for the final user if they have a single file format for both Picard and ReadTools.

In ExtractIlluminaBarcodes the definition of the barcode file is the following:

The BARCODE_FILE contains multiple fields including 'barcode_sequence_1', 'barcode_sequence_2' (optional), 'barcode_name', and 'library_name'.
Looking at the code, when only one barcode is required, the 'barcode_sequence_1' could be specified by 'barcode_sequence'.
It is a tab-delimited file (not like ours, that is space-delimited).

Using a header for this file is a good idea, to do not assume any specific ordering, and being able to include more information later to the file, independently of the usage.
I propose the following to keep something similar to what we have:

Required 'barcode_sequence' column. For the first index, it could be ' barcode_sequence_1' or ' barcode_sequence'; for the subsequent, it will be ' barcode_sequence_2', 'barcode_sequence_3', etc.
Required 'sample_name' column. Maybe it could be the ' barcode_name' column if this is not present, but I should think about it.
Optional 'library_name' column. This is for include the library in the RG. In addition, we could include other optional columns for the RG instead of the arguments. We should probably thrown/warn if both args and columns are present, but prefer the file.
Maybe we should discourage the usage of no tab-delimited files, or contribute to Picard/GATK to make table readers space-delimited instead of just tab-delimited.

Because this is more work than expected, I move this to Version 1.0.0.

Moving to beta to allow this from the start in the new tool to do not break compatibility in the new tools too early.

Done in c1e3b3dd5735d288a79e7c5312a8b88e36f6df79


Qol patch

Changed Get_Video to output a list of video ids and use inputs
Removed unneeded write lines
Created Copy_Playlist - copy videos from one playlist to another

Name of branch is wrong


feat: free fees for thor holders before tip 014

Description
This is implementing free fees for thor holders before TIP 014 proposal
I don't have enough funds to do a full swap to test if fees are effectively removed, but assuming setting fees to 0 inside calculateFees effectively change it
I didn't make the votePower slide systemic on purpose as this thing is supposed to stay for a few month and the lift would be a bit more risky, happy to discuss it in a follow up if it bring value

Issue (if applicable)

closes #8019
Risk
Medium, fee calculation could lead user wrongly

High Risk PRs Require 2 approvals

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

Testing

Check regular trade fees without an account holding THOR, under 1000 and over 1000
Check trade using 0xC85feF7A1b039A9e080aadf80FF6f1536DADa088 as a spoofed address, to see that trade fees are free because of THOR holding before the proposal
You could also verify that new Date().getFullYear() <= 2025 is true and new Date().getFullYear() <= 2024 is false to verify if it will be disabled programmatically
Also verify the mixpanel event is sent on trade (if you have enough funds)

Engineering
n/a

Operations
n/a

[x] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)

Screenshots (if applicable)
Normal account not holding thor > 1000$ trade

Normal account < 1000$ trade

thor holding account > 1000$ trade

thor holding account < 1000$ trade

Banner

Copy here is unfortunately wrong.  Trades under 1k are already free
"Should say Thor holders trade for free through 2024."

Copy here is unfortunately wrong. Trades under 1k are already free
Should say "Thor holders trade for free through 2024"

Updated in 8ea8869

Also removed the link so we don't block the release with the missing link

making a note for posterity that we are currently displaying the thor discount as a fox power discount. easy mode just disable the modal for thor free trades so we don't have to mess with more UI that will only be there for 2 months.

Also noticing what looks like an outstanding bug and potential improvement related to getVotingPower.
Bug: switch wallet does not correctly fetch the new/appropriate voting power for the new wallet. i started with my native wallet and then switched to the frame wallet with test address. after switching the wallet, the discount being applied is still for my native wallet.
Improvement: you can start interacting with the trade widget to get quotes immediately and get a quote with fees displayed before the snapshot logic completes. once the snapshot voting power completes, it triggers a refresh of the trade input component and looks weird. seems like we could add a loading state check to keep the quotes displayed, but the fee breakdown loading until voting power fetch is completed and then show (no refresh of state).


No content change; resave with Protege 5.6.1.

The main (maybe only) change is putting property values into quotes (e.g. GitHub URLs with xsd:anyURI type).

Example:
diff --git a/src/ontology/go-edit.obo b/src/ontology/go-edit.obo
index 6445da44..042a6f46 100644
--- a/src/ontology/go-edit.obo
+++ b/src/ontology/go-edit.obo
@@ -129,7 +129,7 @@ namespace: molecular_function
 def: "Catalysis of the transfer of a mannose residue to an oligosaccharide, forming an alpha-(1->6) linkage."


Documentation: PgSync with Postgres Materialized Views

Can we have additional documentation on how pgsync works with Postgres Materialized Views? Should the name of the view be the 'table' name in the schema? When the view is concurrently refreshed, does pgsync only sync the changes in the view with elastic-search (like it does with tables), or re-add every entry in the view? I'd really recommend some clarification on how views would work with pgsync. Thanks!

Materialized views are not yet supported.
I did some analysis on this a while back but it's not quite not finished.

I enthusiastically support this enhancement. We're retooling an application funded by NIH that aggregates 10+ large data sources that we stage into Postgres as raw XML and JSON and then use materialized views to unroll the structures. We're currently indexing using the bare Lucene APIs, and PgSync offers us a perfect means to cleanly transition to ElasticSearch. If I can avoid having to stage the materialized views into actual tables, we've a perfect solution.

Will revisit this shortly.

Hello all,
PGSync already works with views as long and you hard-code the field that is to be considered the PK. If there was a way to specify a field as being the PK, views would be 100% supported.
Something like this would be perfect!

@toluaina How easy could this be done? I can help. Where should I look for?

Hello, I read that materialized view are not supported, is that changed? Thank you

This is currently in progress. Will keep you updated.

Support for views is now detailed here


Document the intent and policy around "LTS" branches

First of all thank you for the nice library. I have watched with great interest Titus' "Live at Head" talk a few years ago - it makes sense to keep pushing forward to make progress. So we'll keep updating HEAD as fast as we can.
However, there is the question of the past. And sometimes we need to be able to recreate a build from some time ago for bugfix, regression, or any other business reason. We need to be able to rely on the state of the world as it was Tuesday afternoon, three and a half years ago. Also, other open source projects are starting to depend on Abseil, and they still make releases - with submodules pointing at a commit or other in master or 'LTS' branches..
It would be very useful to have a stated policy (subject to change, naturally) that describes the intent of the "LTS" branches, and the policy of stability of the commits and tags (on the "LTS" branches or anywhere else).
Over at https://github.com/conan-io/conan-center-index/pull/1523#pullrequestreview-405626667 we're updating the Abseil package to support creating the 'gRPC' package and questions arose about the master branch being force-pushed into, or about past tags being removed.
In a world where reproducibility of builds is important, what do we need to do to be able to rely on the past being frozen?
Thank you!

The concept of live-at-head has been so widely misinterpreted that I wrote an FAQ about it: https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#what-is-live-at-head-and-how-do-i-do-it
There is no reason live-at-head is incompatible with build reproducibility.
Your other questions are probably answered by
https://abseil.io/about/compatibility
https://abseil.io/about/releases

I also read a bit of the Conan issue you linked to. I'm not sure where some of the ideas in that thread are coming from. We will not be force-pushing anything to GitHub, we will not be deleting any old LTS branches, and we will not be removing old tags. I'm not even sure where the idea that we will do these things comes from.

@derekmauro Hi, Derek! Thank you for looking into it. That's good to hear.

I also read a bit of the Conan issue you linked to. I'm not sure where some of the ideas in that thread are coming from. We will not be force-pushing anything to GitHub, we will not be deleting any old LTS branches, and we will not be removing old tags.

@derekmauro Thank you for clarifying this policy specifically. I see that @Minimonium carried your message over to the other review so I'll close this ticket. We will keep packaging new LTS snapshots using the proper Git tags, and strive to use them before the "best by" date lapses :)


using Ingress exposecontroller in the tenant namespaces seems to screw up ingress-nginx controller

if we use NodePort strategy for the exposecontrollers in tenants seems to be a workaround. Not sure why multiple ingresses in multiple namespaces seems to break the ingress controller though

after bouncing the ingress controller I can see errors relating to accessing keycloak when instead I'm hitting the content repo URL
failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: keycloak.fabric<IP_ADDRESS>.229.nip.io, request: "GET / HTTP/1.1", upstream: "http://<IP_ADDRESS>:8181/", host: "content-repository.rawlingsj-jenkins.<IP_ADDRESS>.nip.io"

the ingress controller is really old  but when I updated it seems the configmap entries weren't being used correctly.  needs a closer look


Documentation to support getting a webhook in connector.

I've been having major issues with the Microsoft teams connector documentation. Its incomprehensible at the moment for anyone who doesn't have a degree in Microsoft Documentation as they are half done and incomplete.
I just want to get the webhook URL when the connector opens but there is no documentation to support this. The current documentation literally just says "get the url from getSettings". Calling this function does nothing.

I've followed multiple different tutorials and documentation guides now and still nothing. I've followed this guide which no longer works.
https://docs.microsoft.com/en-us/learn/modules/msteams-webhooks-connectors/7-exercise-o365-connectors
I've wasted 2 days on this now. I've actually spoken with other developers who refuse to work on Microsoft Teams apps because its super complicated and convoluted.
Please can a guide be created for Node.js, with a sample app that shows

Creating the connector
Getting the webhook URL
Sending the webhook URL to a Sample App to store against a user.
Consuming the webhook URL on the Sample App to send a message to Microsoft teams.

@samctrumpet -We are looking into this I will get back to you soon.

@samctrumpet :-Here is some document related to Webhook and Connector.
1.Creating the connector
2.Create a Webhook URL
3.Create actionable messages and send it through Incoming Webhook or Office 365 Connector.
4.Sample Incoming webhook
Hope this is helpful for you.

@sayali-MSFT thanks for linking the documentation.
So it actually appears that the SDK is broken at the moment, someone else has raised an issue here https://github.com/OfficeDev/microsoft-teams-library-js/issues/970

@sayali-MSFT ,  Sorry, we all have tried the docs, samples and other resources, following precisely, again and again for a long time. There is another issue here https://github.com/OfficeDev/microsoft-teams-library-js/issues/680 from October, still open.
I think at this point there is either something that a lot of people are all doing identically wrong - configuration, missing a step, etc OR there is a bug in Teams or the SDK.

@barrettlee -We are already checking it with engineering team and let you know if we get any updates.

Issue is tracking here - https://github.com/OfficeDev/microsoft-teams-library-js/issues/680

Hope your queries are resolved.
We are closing this issue for now, please feel free to reopen it, if required.


Don't Merge! PR real time test for target branch full build

Docs Build status updates of commit b17a5db:
:clock10: Full build: the average full build time is 5 min(s) 10 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit b17a5db:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:warning:Warning
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


error: unrecognized arguments: --json_out work_dirs/demo_KGDet.json

So I am trying to run this notebook on colab and I tried to run the line for demo on test images

I tried this
# single-gpu testing !python tools/test.py /content/drive/MyDrive/KGDet/KGDet/configs/kgdet_moment_r50_fpn_1x-demo.py /content/drive/MyDrive/KGDet/KGDet/checkpoints/KGDet_epoch-12.pth --json_out work_dirs/demo_KGDet.json --eval bbox keypoints

and got the error test.py: error: unrecognized arguments: --json_out work_dirs/demo_KGDet.json
If I remove json from json_out then it raises a pkl file error

Alternatively, I tried ! ./tools/dist_test.sh /content/drive/MyDrive/KGDet/KGDet/configs/kgdet_moment_r50_fpn_1x-demo.py /content/drive/MyDrive/KGDet/KGDet/checkpoints/KGDet_epoch-12.pth 1 --json_out work_dirs/demo_KGDet.json --eval bbox keypoints

and got /bin/bash: ./tools/dist_test.sh: /usr/bin/env: bad interpreter: Permission denied
Is there a tutorial to run this on colab ?
I also tried following mmdetection's colab notebook tutorial and tried this
from mmdet.apis import inference_detector, init_detector, show_result_pyplot config = '/content/drive/MyDrive/KGDet/KGDet/configs/kgdet_moment_r50_fpn_1x-demo.py' checkpoint = '/content/drive/MyDrive/KGDet/KGDet/checkpoints/KGDet_epoch-12.pth' model = init_detector(config, checkpoint, device='cuda:0')
but ended up getting KeyError: 'RepPointsDetectorKp is not in the models registry'

Sorry, we have only tested the repo in the native Linux shell, and Colab is not supported officially.
According to this line, the program should accept --json_out as an argument. Maybe you can print the received arguments args to debug.


Add issuer_nfts API

issuer_nfts allows us to query for a list of NFTs that an account has issued. User can either query for a list of NFTokenIDs, or a list of expanded information showing details of each NFTokenIDs

Im working on this one

@shawnxie999 any progress update on this?

@shawnxie999 any progress update on this?

This is blocked by https://github.com/XRPLF/clio/pull/313


Rainbow bridge / Twilio message size limit / Test suites clean-up

Fixes https://github.com/near/near-wallet/issues/1563
Resolves issue of SMS message content being too large for twilio's 1600 character limit when sending an SMS about a rainbow bridge transaction (which contain a large hex payload).  Any args that are being spooled to the message content will be truncated @ 250 characters length from now on.  The new truncation logic applies only when the text is being composed for SMS delivery (emails will still get the full blob).
I identified several assertions that were throwing errors but those errors were not being caught by Jest due to sandboxing behavior combined with instanceof checks inside of supertest and other packages.  Since we had manually set Jest to run tests in series anyway, and this isn't a frontend, I replaced Jest with Mocha/Chai/Sinon, which solves the sandboxing issue and gives us a more standard toolset for a backend/node project.
Added an estlintrc file just for the test directory so that eslint doesn't think we have globals in scope in non test files
Removed the console.log->array of strings->regex parsing pipeline to get security codes into the test suites scope for use.  Since the app object is an EventEmitter, and it's on ctx (koa context), I just updated the code that used to console.log to emit server events whenever we create a security code.  Also added events for verbose output mode that can easily allow the integration test suites to print out the details of email and sms messages generated by the test suite (also leveraging event emitter emissions on the koa server)
Added a constants.js and moved a bunch of magic strings into that file so it's clear when they are referenced that they are logically the same thing across the codebase, and what that thing is, without reading the surrounding context.
Created a 2fa service class that contains the methods from the 2fa module.  A singleton instance of that class is bound to koa route handlers in middleware/2fa.js.  Having the 2fa code encapsulated in this class will allow easier testing of stuff like expired codes in the future.
Heavily refactored the composition of messages that was being done in 2fa.js, so that the code reads linearly and the message content is composed in a single place rather than across a sequence of mutations of text, subject.
The above-mentioned message content composition methods are tested with acceptance tests that spool the content of both text/subject and html to files for easy review when they change.   See the files in test/message_formatting/samples/html and test/message_formatting/samples/text to see what this looks like in practice.  Any time the output of these changes, the dev who made the change will be prompted to re-create the sample files to accept the changes.
I fixed a bug that Vlad pointed out -- content being sent in requestContent that was being included in the text for SMS messages was being HTML escaped, when it didn't need to be.  Content being rendered for use in an e-mail will still be HTML escaped.
Enhanced formatArgs() so that amount and deposit are always the first properties printed when args is serialized and is JSON parseable. Since we are now truncating args paylods @ 250 chars for SMS delivery, putting these properties first when serialized makes it much more likely that they will be visible in the transactions content sent in the SMS message.
Replaced a lot of manual gluing of strings with template strings for readability's sake
Added a dedicated test/.env and removed the manual mutation of process.env at the top of the integration test files.  Imports into test files are no longer sensitive to the order they are loaded... ;)
Fixed pluralization of 'transaction(s)' in a few spots
Fixed account ID never being included in the subject line of 2fa verification e-mails
Encapsulated the interactions between the test server (app, security key extractions), keyPair, keyStore, signer,  and NEAR API client into a class called TestAccountHelper.  Re-used this helper in both integration test suites to eliminate boilerplate both in set-up and in interactions with the test server.
Once I added assertions to the existing app integration tests that actually checked the returned message content rather than just HTTP status codes, I found that several of them are actually not testing what the test descriptions appear to think they are testing; the message returned indicates that while the HTTP code matches the assertion, the reason why that HTTP code was returned is a different one.  This PR got pretty huge already, so I marked those as FIXME to come back around and fix in a second pass; I didn't want to change the behavior of existing test suites in non-obvious ways while still working on the test framework switch to Mocha.

@kcole16 @jimmy3dita See files in samples directory for reference of what our current message content is (both for email and SMS texts) for various flows.  The HTML output files can even be viewed in Chrome as a normal webpage.

@vgrichina thanks for the review! I'll get working on splitting this up into multiple PRs per your request :+1:


Pagination is broken

Hi there!
x = MyIndex.search(...).per(20).page(1).load
x.first_page?
#=> true
x.last_page?
#=> FloatDomainError (Infinity)
x.total_pages
#=> FloatDomainError (Infinity)

That happens because:
      def total_pages
        (@results['found'] / @results['per_page'].to_f).ceil
      end

And it should be:
      def total_pages
        (@results['found'] / @results['request_params']['per_page'].to_f).ceil
      end

Fixed in e33fe26, will make a release with that soon


Cannot sign in with Argent wallet

When using the SiweMessage.verify method, and providing an EthersJS Provider to the method, it makes a network call that is triggering the isValidSignature(bytes32,bytes) method (bytes signature of 0x1626ba7e), however the SIWE library is indicating it encountered an error parsing the transaction call: "Error: missing revert data in call exception; Transaction reverted without a reason string".
The error returns the full calldata that SIWE was attempting to call. However, when I plug that same calldata into the Tenderly transaction simulator, it succeeds. The message was valid (generated by Argent wallet in response to a WalletConnect signature request), and Tenderly seems to agree it's valid, but something internally in the SIWE library seems to not be handling this call properly.

I tracked down the root cause of this, and it was implementation error on my end: I had two different places where SiweMessage.verify was being called, and only one of them was being given an EthersJS Provider. Hence one of the calls thought it was valid, while the other wasn't.


global overrides

Hi, nice lib!
I find the global overrides a bit intrusive. Any reason why they are in the "production build"?

Perfectly valid point - decoration page styles and scripts belong to gh-pages branch. I removed everything irrelevant from the so-called "production build". Thank you!


[DOCFIX]Update docs/cn/Clients-Hadoop.md

[DOCFIX]Update docs/cn/Clients-Hadoop.md

Merged build finished. Test PASSed.

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


Wrong package name: org.ehcache.clustered.common.internal.Store

a least eclipse complains about the name because you're using
org.ehcache.clustered.common.internal.Store
and
org.ehcache.clustered.common.internal.store

Sounds to me like this is an Eclipse bug. Although we could probably rename the clustered/ehcache-common/src/test/java/org/ehcache/clustered/common/internal/Store directory there's no reason this shouldn't work.

maybe it's because ntfs filenames are note case-sensitive (I'm working on windows)

net tested but I hope it's fixed