Issue with wso2apim-gateway-3.0.0-m7.zip

With m7 release the gateway can't be started due to content in org/wso2/carbon/apimgt/gateway directory are missing:
===========
[dliao@vmdevapi2 gateway]$ pwd
/opt/wso2apim-gateway-3.0.0-m7/org/wso2/carbon/apimgt/gateway
[dliao@vmdevapi2 gateway]$ ls
[dliao@vmdevapi2 gateway]$

@Dougliao please follow the steps mention in thehttps://github.com/wso2/product-apim readme.

Harsha,
I followed the build instruction and the build failed with dependency errors, will try to pull the source and rebuild.
Thanks,
Doug Liao
Mortgage Web Services Development
Black Knight Financial Services
O:<PHONE_NUMBER> | M:<PHONE_NUMBER> | Email: doug.liao<EMAIL_ADDRESS>From: Harsha Kumara<EMAIL_ADDRESS>Sent: Saturday, September 23, 2017 11:39 PM
To: wso2/product-apim
Cc: Liao, Doug; Mention
Subject: Re: [wso2/product-apim] Issue with wso2apim-gateway-3.0.0-m7.zip (#1609)
IMPORTANT!! - External Content - Please use caution.
[screen]https://user-images.githubusercontent.com/1561366/30779201-a7bee48c-a107-11e7-9f47-8d501b8d5910.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/wso2/product-apim/issues/1609#issuecomment-331684798, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Aep7xiOF2ZdhQTR1MRoFKk7KJn-z7WmBks5slc7NgaJpZM4PgtSU.
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.

Here is build error:
Downloading: http://maven.wso2.org/nexus/content/groups/wso2-public/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0
.7.9.pom
Downloading: https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9.pom
Downloaded: https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9.pom (3.5 kB at
22 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] apimgt-gateway-modules ............................. SUCCESS [42:18 min]
[INFO] Ballerina Native Features for API Manager - Parent . FAILURE [20:01 min]
[INFO] APIM Ballerina plugin .............................. SKIPPED
[INFO] Ballerina Native Features for API Manager - Parent . SKIPPED
[INFO] APIM Ballerina Configs ............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:02 h
[INFO] Finished at: 2017-09-26T10:27:00-04:00
[INFO] Final Memory: 32M/323M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project org.wso2.carbon.apimgt.ballerina.native: Could not resolve dependencies for pr
oject org.wso2.carbon.apimgt:org.wso2.carbon.apimgt.ballerina.native:jar:7.0.43-SNAPSHOT: Failed to collect dependencies
at org.ballerinalang:ballerina-core:jar:0.89: Failed to read artifact descriptor for org.ballerinalang:ballerina-core:j
ar:0.89: Could not transfer artifact org.ballerinalang:ballerina-core:pom:0.89 from/to wso2.releases (http://maven.wso2.
org/nexus/content/repositories/releases/): Connect to maven.wso2.org:80 [maven.wso2.org/<IP_ADDRESS>] failed: Connecti
on timed out: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :org.wso2.carbon.apimgt.ballerina.native
C:\Tools\wso2_v3_source\carbon-apimgt-master\gateway-modules>
Thanks,
Doug Liao
Mortgage Web Services Development
Black Knight Financial Services
O:<PHONE_NUMBER> | M:<PHONE_NUMBER> | Email: doug.liao<EMAIL_ADDRESS>From: Harsha Kumara<EMAIL_ADDRESS>Sent: Saturday, September 23, 2017 11:39 PM
To: wso2/product-apim
Cc: Liao, Doug; Mention
Subject: Re: [wso2/product-apim] Issue with wso2apim-gateway-3.0.0-m7.zip (#1609)
IMPORTANT!! - External Content - Please use caution.
[screen]https://user-images.githubusercontent.com/1561366/30779201-a7bee48c-a107-11e7-9f47-8d501b8d5910.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/wso2/product-apim/issues/1609#issuecomment-331684798, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Aep7xiOF2ZdhQTR1MRoFKk7KJn-z7WmBks5slc7NgaJpZM4PgtSU.
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.

@Dougliao Seems like a connection timeout issue while fetching a jar file from nexus.. are you getting this all the time?
Can you access this jar?
http://maven.wso2.org/nexus/content/repositories/releases/org/ballerinalang/ballerina-core/0.89/ballerina-core-0.89.jar
{code}
Could not transfer artifact org.ballerinalang:ballerina-core:pom:0.89 from/to wso2.releases (http://maven.wso2.
org/nexus/content/repositories/releases/): Connect to maven.wso2.org:80 [maven.wso2.org/<IP_ADDRESS>] failed: Connecti
on timed out: connect -> [Help 1]
{code}

Do you have any idea when is the next milestone release?
Thanks,
Doug Liao
Mortgage Web Services Development
Black Knight Financial Services
O:<PHONE_NUMBER> | M:<PHONE_NUMBER> | Email: doug.liao<EMAIL_ADDRESS>From: Harsha Kumara<EMAIL_ADDRESS>Sent: Saturday, September 23, 2017 11:39 PM
To: wso2/product-apim
Cc: Liao, Doug; Mention
Subject: Re: [wso2/product-apim] Issue with wso2apim-gateway-3.0.0-m7.zip (#1609)
IMPORTANT!! - External Content - Please use caution.
[screen]https://user-images.githubusercontent.com/1561366/30779201-a7bee48c-a107-11e7-9f47-8d501b8d5910.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/wso2/product-apim/issues/1609#issuecomment-331684798, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Aep7xiOF2ZdhQTR1MRoFKk7KJn-z7WmBks5slc7NgaJpZM4PgtSU.
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.


Improve the installation scripts a little bit

Try to make users' life a little easier to install/uninstall CNSI:

Make users can install and uninstall CNSI without golang sdk.
Add some dependency checks on golang version, kubctl and docker.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@96643bf). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #51   +/-   ##
=======================================
  Coverage        ?   45.41%
=======================================
  Files           ?        6
  Lines           ?      817
  Branches        ?        0
=======================================
  Hits            ?      371
  Misses          ?      417
  Partials        ?       29

Flag
Coverage Δ

unittests
45.41% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


fix docker build, remove COPY patches

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM


"HadoopIllegalArgumentException: Invalid buffer, not of length X" when querying Hive erasure coding tables

Hello! Our current Presto version is 344 but possibly it should be relevant to the latest version too.
We have Hive tables with HDFS erasure coding enabled. If some datanode with EC blocks is unavailable then executing a query throws
io.prestosql.spi.PrestoException: Error reading from hdfs://path_to_the_file at position 3395
        at io.prestosql.plugin.hive.orc.HdfsOrcDataSource.readInternal(HdfsOrcDataSource.java:91)
        at io.prestosql.orc.AbstractOrcDataSource.readFully(AbstractOrcDataSource.java:108)
        at io.prestosql.orc.AbstractOrcDataSource$DiskOrcDataReader.read(AbstractOrcDataSource.java:323)
        at io.prestosql.orc.stream.AbstractDiskOrcDataReader.seekBuffer(AbstractDiskOrcDataReader.java:91)
        at io.prestosql.orc.stream.CompressedOrcChunkLoader.ensureCompressedBytesAvailable(CompressedOrcChunkLoader.java:165)
        at io.prestosql.orc.stream.CompressedOrcChunkLoader.nextChunk(CompressedOrcChunkLoader.java:115)
        at io.prestosql.orc.stream.OrcInputStream.advance(OrcInputStream.java:204)
        at io.prestosql.orc.stream.OrcInputStream.read(OrcInputStream.java:96)
        at io.prestosql.orc.stream.OrcInputStream.readFully(OrcInputStream.java:121)
        at io.prestosql.orc.stream.ByteArrayInputStream.next(ByteArrayInputStream.java:43)
        at io.prestosql.orc.reader.SliceDirectColumnReader.readBlock(SliceDirectColumnReader.java:198)
        at io.prestosql.orc.reader.SliceColumnReader.readBlock(SliceColumnReader.java:74)
        at io.prestosql.orc.OrcBlockFactory$OrcBlockLoader.load(OrcBlockFactory.java:76)
        ...
Caused by: org.apache.hadoop.HadoopIllegalArgumentException: Invalid buffer, not of length 1045181
        at org.apache.hadoop.io.erasurecode.rawcoder.ByteBufferDecodingState.checkOutputBuffers(ByteBufferDecodingState.java:137)
        at org.apache.hadoop.io.erasurecode.rawcoder.ByteBufferDecodingState.<init>(ByteBufferDecodingState.java:48)
        at org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder.decode(RawErasureDecoder.java:86)
        at org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder.decode(RawErasureDecoder.java:170)
        at org.apache.hadoop.hdfs.StripeReader.decodeAndFillBuffer(StripeReader.java:433)
        at org.apache.hadoop.hdfs.PositionStripeReader.decode(PositionStripeReader.java:74)
        at org.apache.hadoop.hdfs.StripeReader.readStripe(StripeReader.java:390)
        at org.apache.hadoop.hdfs.DFSStripedInputStream.fetchBlockByteRange(DFSStripedInputStream.java:507)
        at org.apache.hadoop.hdfs.DFSInputStream.pread(DFSInputStream.java:1360)
        at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:1324)
        at org.apache.hadoop.fs.FSInputStream.readFully(FSInputStream.java:121)
        at org.apache.hadoop.fs.FSDataInputStream.readFully(FSDataInputStream.java:111)
        at org.apache.hadoop.fs.FSDataInputStream.readFully(FSDataInputStream.java:111)
        at io.prestosql.plugin.hive.orc.HdfsOrcDataSource.readInternal(HdfsOrcDataSource.java:76)
        ... 32 more

Probably the reason is HDFS-14373. Presto Hadoop client depends on 3.2.0 Apache version but the issue has been fixed only in 3.2.2.
Also i've found similar issue https://github.com/prestosql/presto/issues/2196
It seems hadoop client should be updated at least to 3.2.2

@denniean thanks for the report and also for finding the proposed solution!

Also i've found similar issue #2196

Can we close this issue and move the discussion there?

@findepi I'm not sure the issues are identical. Seems like #2196 contains more scenarios and stacktraces but lacks an info about datanodes availability. But if you think it's better to close this issue and move onto another one could you add bug label there too?

Label added.


Add linting and bandit security static analysis

https://github.com/firebase/firebase-admin-python/issues/299
Added tox and travis options for security static analysis.
Discussion

Read the contribution guidelines (CONTRIBUTING.md).
If this has been discussed in an issue, make sure to link to the issue here.
If not, go file an issue about this before creating a pull request to discuss.

Testing
Tested locally on py2.7 and py3.7
ecuritypy2 run-test-pre: PYTHONHASHSEED='1105419126'
securitypy2 run-test: commands[0] | bandit -r firebase_admin --skip B105
[main]	INFO	profile include tests: None
[main]	INFO	profile exclude tests: None
[main]	INFO	cli include tests: None
[main]	INFO	cli exclude tests: B105
[main]	INFO	running on Python 2.7.16
Run started:2019-06-23 22:25:20.988791

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 4993
	Total lines skipped (#nosec): 0

Run metrics:
	Total issues (by severity):
		Undefined: 0
		Low: 0
		Medium: 0
		High: 0
	Total issues (by confidence):
		Undefined: 0
		Low: 0
		Medium: 0
		High: 0
Files skipped (0):
securitypy3 inst-nodeps: /home/goose/Development/firebase-admin-python/.tox/.tmp/package/1/firebase_admin-2.17.0.zip
securitypy3 installed: bandit==1.6.1,CacheControl==0.12.5,cachetools==3.1.1,certifi==2019.6.16,chardet==3.0.4,firebase-admin==2.17.0,gitdb2==2.0.5,GitPython==2.1.11,google-api-core==1.12.0,google-api-python-client==1.7.9,google-auth==1.6.3,google-auth-httplib2==0.0.3,google-cloud-core==1.0.2,google-cloud-firestore==1.2.0,google-cloud-storage==1.16.1,google-resumable-media==0.3.2,googleapis-common-protos==1.6.0,grpcio==1.21.1,httplib2==0.13.0,idna==2.8,msgpack==0.6.1,pbr==5.3.1,protobuf==3.8.0,pyasn1==0.4.5,pyasn1-modules==0.2.5,pytz==2019.1,PyYAML==5.1.1,requests==2.22.0,rsa==4.0,six==1.12.0,smmap2==2.0.5,stevedore==1.30.1,uritemplate==3.0.0,urllib3==1.25.3
securitypy3 run-test-pre: PYTHONHASHSEED='1105419126'
securitypy3 run-test: commands[0] | bandit -r firebase_admin --skip B105
[main]	INFO	profile include tests: None
[main]	INFO	profile exclude tests: None
[main]	INFO	cli include tests: None
[main]	INFO	cli exclude tests: B105
[main]	INFO	running on Python 3.7.3
Run started:2019-06-23 22:25:22.866109

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 4993
	Total lines skipped (#nosec): 0

Run metrics:
	Total issues (by severity):
		Undefined: 0.0
		Low: 0.0
		Medium: 0.0
		High: 0.0
	Total issues (by confidence):
		Undefined: 0.0
		Low: 0.0
		Medium: 0.0
		High: 0.0
Files skipped (0):
___________________________________________________________ summary ___________________________________________________________
  securitypy2: commands succeeded
  securitypy3: commands succeeded
  congratulations :)

API Changes
None

@hiranya911. Just need to find some to fix this. Will look at this again tomorrow. Thanks.
We don't need to replace pylint if not necessary.


phishtank.com rule sets

would it be possible to have spamassassin rule set based on phishtank.com data ?
yes i know phishtank have api, but i dont know if its possible to generate spamassassin rules with it as source

Hi,
I would believe that was possible. Many of those URL's would be located/situated in the "BODY" so it should be straight forward also to add a "PHISTANK" score in the spam header etc.
So that you would know what added that score and so forth.
PS. I don't use Spamassassin anymore on my mail server, but let me create/generate the rules. I think it should be doable !

First trail on PhishTank rule.
I'm going to use the "URI" spamassassin match syntax as that will match text body and or HTML tags with urls.
So you dont have to search full body etc. But "uri" can be changed to "body" if needed be.
Also paring url from phishtank and only matching on FQDN + Path if there.
I have no idea if the "eval:" will work, it's a hack :)
But it would be cool to not only score on uri match but also add extra if it's validated and still online!!
# ./update-phishtank-rules
[15:09:20 17-02-2023] ==[ UPDATE-PHISHTANK-RULES ]===============================
[15:09:20 17-02-2023] > Checking for phishtank DB locally
[15:09:20 17-02-2023] > Found DB locallay
[15:09:20 17-02-2023]   - Loading
[15:09:21 17-02-2023]   - Done
[15:09:21 17-02-2023] > Found 25430 PhishTank entries in DB
[15:09:21 17-02-2023] >> Building rule: PHISHTANK_0008040126
##  ____  _     _     _   _____           _      ____        _
## |  _ \| |__ (_)___| |_|_   _|_ _ _ __ | | __ |  _ \ _   _| | ___
## | |_) | '_ \| / __| '_ \| |/ _` | '_ \| |/ / | |_) | | | | |/ _ \
## |  __/| | | | \__ \ | | | | (_| | | | |   <  |  _ <| |_| | |  __/
## |_|   |_| |_|_|___/_| |_|_|\__,_|_| |_|_|\_\ |_| \_\\__,_|_|\___|
##
## Rule ID.......: PHISHTANK_0008040126
## PhishTank URL.: http://www.phishtank.com/phish_detail.php?phish_id=8040126
## Submitted.....: 2023-02-17T13:02:48+00:00
##
## DEFAULT MATCH RULE
uri             PHISHTANK_0008040126_MATCH      /dapps\-connects\.herokuapp\.com/
score           PHISHTANK_0008040126_MATCH      5
describe        PHISHTANK_0008040126_MATCH      Phishtank ID 8040126

## VALIDATED RULE
meta            PHISHTANK_0008040126_VALIDATED  eval:true
score           PHISHTANK_0008040126_VALIDATED  2
describe        PHISHTANK_0008040126_VALIDATED  Validated phishing url

## ACTIVE/ONLINE RULE
meta            PHISHTANK_0008040126_ONLINE     eval:true
score           PHISHTANK_0008040126_ONLINE     2
describe        PHISHTANK_0008040126_ONLINE     Phishing url still online

Previous would not work, i have now fixed it and it looks good. I have tested with booloean false and true for etc "ONLINE" and it will add up extra score now.  PHISHTANK_0008040126
## PhishTank URL.: http://www.phishtank.com/phish_detail.php?phish_id=8040126
## Submitted.....: 2023-02-17T13:02:48+00:00
##
## DEFAULT MATCH RULE
uri             PHISHTANK_0008040126_MATCH      /dapps\-connects\.herokuapp\.com/
score           PHISHTANK_0008040126_MATCH      5.0
describe        PHISHTANK_0008040126_MATCH      Phishtank ID 8040126 (Other)

## VALIDATED RULE
meta            __PHISHTANK_0008040126_VALCHECK (1*1) > 0
meta            PHISHTANK_0008040126_VALIDATED  PHISHTANK_0008040126_MATCH && __PHISHTANK_0008040126_VALCHECK
score           PHISHTANK_0008040126_VALIDATED  2.0
describe        PHISHTANK_0008040126_VALIDATED  Validated phishing url

## ACTIVE/ONLINE RULE
meta            __PHISHTANK_0008040126_ONCHECK  (1*1) > 0
meta            PHISHTANK_0008040126_ONLINE     PHISHTANK_0008040126_MATCH && __PHISHTANK_0008040126_ONCHECK
score           PHISHTANK_0008040126_ONLINE     2.0
describe        PHISHTANK_0008040126_ONLINE     Phishing URL still online

I will now begind to build rules and figure out how and what to include (and how many)
Perhaps only 7 or 30 days back.
Or all ...

DONE!
Now with PhishTank Spamassassin rules ready to go!
Please note that ONLINE/VALIDATED is always active, this is due to Phishtank only includes online and validated URL's in their public DB you can download.
Also please note that there are a lot - 25000+ rules !!
So i have also made to extra folders, one with only rules that are 7 days old and one with 30 days old.
Rules now commited
https://github.com/kawaiipantsu/spamassassin-rules/commit/884f0a406d21c4e2d46d6109a861c6b07506d98d
The new update script so you can keep them updated yourself if you like
https://github.com/kawaiipantsu/spamassassin-rules/commit/11ec8346f46e4ed2b8b46eaf54539ae5bcd0dec2


Operator coloring

Examples:

Limitations:

it does not colorize = in value definition like let x = 1
it does not colorize :>, :?>, ->, <- (and maybe some other build-in operators)

Default color for Operator category is the same as for plane ident.

Out od interest what logic is used to determine an operator for colouring?

GetAllUsesOfAllSymbolsInFile -> for each SymbolUse get all tokens which are in its range, then apply some logic (https://github.com/vasily-kirichenko/FSharpVSPowerTools/blob/operator-coloring/src/FSharpVSPowerTools.Core/Lexer.fs#L86) to determine what kind of "symbol" it is, one of:
type SymbolKind =
    | Ident
    | Operator
    | GenericTypeParameter
    | StaticallyResolvedTypeParameter
    | Other

As a result, I highlight only those operators which SymbolUse is returned for.
I'm afraid it's impossible to highlight operators based on lexer only, because I see no way to exclude <_> in type T<'a>() ..., for example.
In order to highlight = in let x = 1 or :>, :?> and the like, I may get all tokens of type TOKEN_EQUALS, TOKEN_GREATER... and filter out ones which overlap with already calculated classification spans (of all kinds - types, functions, operators by current algorithm...).
Yes, I agree that all this looks over complicated for such a simple task, so any suggestions are very welcome.

Yes its fiddly, I have lots of the same sorts of issues.
Incidentally :?> is a TOKEN_COLON_QMARK_GREATER token, and :> is a TOKEN_COLON_GREATER

OK, then I'll add support for fixed number of built-in operators. May be.

A small win :)

It's ready for merging

Would you mind if I review it when I fly home on Friday?

Absolutely :)

[ ] support :? operator

Out of curiosity, what is this "F# Operators" different from the default "Operator" category that comes with Visual Studio? The default 'Operator' does color :>, :?>, ->, <- AFAIK.
The code looks good (Sorry I was looking at this a bit late. My flight was delayed for 24h :-))

Hm. That default Operator category colors what you mentions and =, but not custom operators. This PR colors everything.

Great jobs.


Pick up cilium-cli v0.8.2

This release fixes cilium v1.10 install on AKS.
Ref: https://github.com/cilium/cilium-cli/releases/tag/v0.8.2
Signed-off-by: Michi Mutsuzaki<EMAIL_ADDRESS>

ci-aks

ci-gke

ci-eks

ci-awscni

will use https://github.com/cilium/cilium/pull/16650 instead


Why BEM does not recommend global CSS resets

@matmuchrapna could you review it also?

lol, please remember me, why we stopped here?

kind of polite ping)

I need to rewrite the text. I will try to find time soon.

Text is updated

Will take a look asap

seems to be good, besides of hollywar of using reset or not.

Want to merge and deliver. Does anybody want to review it one more time?

lgtm

:ship:ed


Fix graph issues

JAF: too many markers and/or too prominent markers.
Regrets, mappo critic losses, D3QN losses: wrong ylim.
Q-values: something wrong in the way they are computed.

MAPPO policy values should be displayed on the same graph + no y or xlabel as LaTex formatting will do that + legends on the first graph of the relevant figures.


Print versions

print out the various major dependencies and their versions for troubleshooting

Would it also be good to add axolotl git commit?

Would it also be good to add axolotl git commit?

that's going to be a bit more complicated and need something like https://setuptools-git-versioning.readthedocs.io/en/stable/runtime_version.html which we can tackle as another PR


Install covers for the wire and electronics (metal sheet)

Box furnace presents a fire hazard for the cable below. We need plates to cover the wires and electronics.


InterpolatedStringNode and InterpolatedXStringNode can be frozen

Some string without embed have several parts and represented by InterpolatedStringNode.
These string is frozen if there is frozen_string_literal magic comment.
# frozen_string_literal: true
frozen_string = %[a] "b" 'c'
p frozen_string.frozen? #=> true

# frozen_string_literal: true
<<A; frozen_string = 'aaa
A
aaa'
p frozen_string.frozen? #=> true

InterpolatedXStringNode without embed is also frozen.
def (o=Object.new).`(s)=p(s.frozen?)
<<A; o.instance_eval { `aaa
A
aaa` }
#=> true

Yes, we'll get this fixed, thanks!

There is now a flag for this for the interpolated string. For the interpolated x string, it's assumed that they're always frozen.


C_CPP : Snake and Ladder Problem Using graph

Description 📜
In this, I have explained how we can solve snake and ladder problems using the graph with the most optimized approach with easy-to-understand code and useful comments.
Issue Number Closed: #8382

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Pranshu321  LGTM ❤  🚀  Awesome work Pranshu
And thanks for being one of the most active contributors of this domain 🖤


Use system fonts

This is the configuration used by Atom and also medium before. It will use the system font on Ubuntu, Gnome, KDE, Windows, MacOS.
Remove the Roboto font except for Terminal which uses the monospace variant.

can you provide screenshots?

Here is a screenshot on gnome:
https://pasteboard.co/72qfK22hF.png

I like this change, but it might be controversial. @DavidVorick @lukechampine thoughts?

hmm. I like having a consistent look across all platforms. What's the main impetus for using system fonts?

It looks more like a system app and less like a website. But as johnatanhowell stated, this is a bit of a controversial topic. I just know that the first time I launched the app, it looked weird to me because of that.
Atom is doing that too, and I wasn't able to check but I guess slack is doing that too. Both apps look very sleek font wise on Linux and feel more like an actual app


Parent directive element doesn't wait for child animations to complete before being removed from DOM.

The issue occurs whenever I have at least two custom directives that are toggled by an ng-switch.  I listen to the leave event on the directive so that I can transition out some of the child elements before it removes the parent from the DOM and switches to the other directive.  NgAnimate is not waiting for the child animations to complete before it removes the parent from the DOM in order to display the other directive in the ng-switch.
This is important because I need to be able to transition out the directive's child elements before the directive is switched.  For instance, I have a directive that has an ng-repeat in its template, and I want to stagger animate out all of the elements in that ng-repeat before the entire directive is removed from the DOM.
Angular Version: 1.4.0
The plunker demonstrating the lack of animation on the ng-repeat items is here: http://plnkr.co/edit/uV5PJcVCROPXgSvYUy10
I think that the problem is in the scope of the element.  The things in the scope.$apply are not getting called.  I have also tried this with the $destroy event on the element and it does the same thing.  I am pretty positive this needs to be called in an $apply block or with a $digest following it in order to animate however.
That being said; if animations do perform, then they still need to hold off the parent element's removal and switching until they are completed.
Thanks guys,

Did this work before 1.4.0?

I never tested before 1.4 so I am not sure honestly

This is getting fixed in the next release for 1.4.2

Great! Thank you guys for your work

Sorry there has been a bit of a delay. It turns out that #12248 doesn't effect this issue. I will be working on this tomorrow.

Alright so looking at this properly now I want to verify what you're trying to do.
You want the outer contain element (in this case the ng-switch-when container) to wait for each of the inner repeat items to finish animating away before it is removed from the DOM yes? This doesn't exist in ngAnimate as of now, however, I think we could add a new property to ng-animate-children:

...

In 1.5 we aim to make this a better API, but that's still not concrete. For now this feature could work.

In future versions of Angular we may even have a CSS solution like this:
.switch-container.ng-leave {
   transition:0.5s linear all;
   --ng-animate-children: 'wait';
}
.switch-container.ng-leave.ng-leave-active { ... }

.ng-switch-container .repeat-items.ng-leave { ... }
.ng-switch-container .repeat-items.ng-leave.ng-leave-active { ... }

Yes that is exactly what I am trying to do.  That would probably be ok for the time being.  Ideally I think it would be great to have it there by default, but its ok if it isn't.  It would be nice if the animations could hook into some "you are about ready to be destroyed" event, like the destroy event, and the parent would just have to wait.  That way a directive could prepare for that scenario out of the box.
Just a thought,
but I am up for whatever way you guys think it'll work best.  I don't know much of the implementation behind ng-Animate.
It does seem like since ngAnimateChildren by default animates the children in, that it should also animate them out before moving though.
What do you think?

I like the css solution much more than the wait parameter.  I might be misunderstanding it, but it seems like the css solution would be much more dynamic.

Yes the CSS solution might just be apart of the plan for a future release, but it does require a build system. For now (1.4 and 1.5) we may need to stick with the wait param.

Ok, as long as we can get something that will do the job, changing it later is fine.  Thanks @matsko,

Is this feature still being added?

Has this been implemented?

AFAICT, this works in v1.7.4 (so it much have been fixed somewhere along the way).

Sorry, I probably spoke too soon. This doesn't really work exactly as OP requested it.
Playing around with an example, here is what I found out:

ngAnimateChildren explicitly does not apply to leave animations. (This is intended behavior - not sure why 😕)
From the docs:

Note that even if ngAnimateChildren is set, no child animations will run when the parent element is removed from the DOM (leave animation).

It is possible to have the child animations run. For example, you manually animating them (as in OP's example), with something like:
$animate.on('leave', parentElem, (eventTarget, phase) => {
  if ((phase === 'start') && (eventTarget[0]=== parentElem[0])) {
    angular.forEach(parentElem.find('p'), p => $animate.leave(p));
  }
});

But the child animations will not be coordinated with the parent animation. I.e. the parent animation will not wait for child animations to complete before removing the parent element from the DOM. But it is possible to manually coordinate them (e.g. by specifying appropriate animation durations).

The example I used is here.


feat: wf speed

Speed up "getattr" by optimizing camel-case conversion.
Add "mark_as_updated" to force update the tasks.
Separate out Classic and Enhanced meshing workflow.
Return "None" from workflow (both Classic and Enhanced workflow), like 'path', 'docstring', etc.

@PipKat, could you please provide your views.
Thank you.


feat: changed to node>12.16 and npm>6.13.7

Resolves #480

I accidentally auto-deleted the forked repository so I'm closing this PR and opening a new one 🤦🏻♂


[Enhancement] Implement Distance-Based Detection Matching in DetectionMetrics

Pull Request Description
This pull request introduces enhancements and additions related to distance-based metrics in the DetectionMetrics class. The main changes include:

Addition: The DetectionMetricsDistanceBased class has been added to support distance-based metrics for object detection.
Abstract base class DetectionMatching, which defines the interface for matching implementations.
Modifications: The existing DetectionMetrics class has been extended to incorporate distance-based metrics when calculating precision, recall, F1, and mAP.

These changes improve the capabilities of the metrics calculation for object detection tasks, allowing users to analyze detection performance using distance-based criteria. Below are the details of the changes made:
Changes Made

Introduced the DetectionMetricsDistanceBased class, which extends the existing DetectionMetrics class to support distance-based metrics.
Modified the DetectionMetrics class to accept distance metric definitions and thresholds.
Updated the compute method in both classes to calculate metrics based on the results of distance-based matching when using DetectionMetricsDistanceBased.
Introduced an abstract base class, DetectionMatching, which defines the interface for matching implementations. It includes abstract methods for getting thresholds and computing metrics for targets and crowd targets.
Implemented the IoUMatching class to maintain backward compatibility with IoU-based metrics.
Added the DistanceMatching class for computing distance-based matching between predictions and targets.

Proposed Changes

The changes have been tested to ensure the accuracy and reliability of the distance-based metrics calculations.
The new classes and methods maintain compatibility with the existing functionality, ensuring backward compatibility.

Testing

Extensive testing has been performed to validate the accuracy and correctness of the metrics calculation.
The test cases cover various scenarios and edge cases for distance-based metrics.

This PR is ready for review and feedback. I would greatly appreciate your suggestions and suggestions for improvement.

Thanks for your PR. It looks like your PR contains commits that are not signed. We required all commits in the PR to be signed. You can use this suggestion to address that: https://github.com/Deci-AI/super-gradients/pull/1465#issuecomment-1729839476
Maybe I'm missing something, but the whole idea of the PR is to allow using some other metric when matching pred vs gt boxes. So I have few questions regarding this:

What are the use cases when one may want to use other metric?
Can you provide any papers / project using custom bbox similarity metric?

I'm just not convinced this feature would be relevant for many users.

Thanks for your PR. It looks like your PR contains commits that are not signed. We required all commits in the PR to be signed. You can use this suggestion to address that: #1465 (comment)
Maybe I'm missing something, but the whole idea of the PR is to allow using some other metric when matching pred vs gt boxes. So I have few questions regarding this:

What are the use cases when one may want to use other metric?
Can you provide any papers / project using custom bbox similarity metric?

I'm just not convinced this feature would be relevant for many users.

Thank you for your feedback, and I apologize for the oversight regarding the signed commits. I will address this as soon as possible by signing all the commits in the PR according to the repository's guidelines. I will also review the suggestions in #1465 (comment) to ensure compliance.
Regarding your queries about the use of different metrics for bounding box similarity, here are my thoughts:
1. Use Cases for Different Metrics:

Distance-Based Metric:
The task was to implement the distance-based metric to enhance existing Detection Metric to allow metrics based on distances from the bboxes' centers, particularly for small bboxes less than 5 pixels.
Optimization for Specific Criteria:
Custom metrics can be optimized for specific criteria, such as maximizing the overlap or minimizing the distance between bounding boxes, allowing for more fine-tuned evaluations.

2. References to Papers/Projects:
While I don't have a specific paper or project that uses a custom bbox similarity metric, the flexibility to use different metrics can be crucial for research and development in object detection, allowing researchers to explore and evaluate different approaches and methodologies.
3. Relevance of the Feature:
While the relevance of this feature might take time to become apparent, providing the flexibility to use different metrics can cater to a wider range of use cases and user needs.

@DimaBir I would like to proceed with this PR and get it merged. Can you please fix the merge conflict?

@DimaBir I would like to proceed with this PR and get it merged. Can you please fix the merge conflict?

Hi @BloodAxe, sure!
I see that merge already started. IMHO, it should be fine.
If there are still some conflicts, I will fix them until EoD.

Awesome, thanks!

Hi @BloodAxe, thanks for pointing this out. I will do np, tomorrow is it okay?
I have a few meetings to attend today 🫤

@DimaBir thanks for updating PR. Assuming build passes the overall PR looks good to me except a few inline comments I left. Nothing serious, mostly docs improvement.
However there is one blocker thing that needs to be addressed - this PR still contains unsigned commits and for that reason CI will not allow merging it. Fortunately the fix is pretty simple: https://github.com/Deci-AI/super-gradients/blob/master/CONTRIBUTING.md#i-have-created-pr-with-unsigned-commits-do-i-have-to-start-over

Sure @BloodAxe I will fix everything and fix commits to signed.

@DimaBir thanks for updating PR. Assuming build passes the overall PR looks good to me except a few inline comments I left. Nothing serious, mostly docs improvement. However there is one blocker thing that needs to be addressed - this PR still contains unsigned commits and for that reason CI will not allow merging it. Fortunately the fix is pretty simple: https://github.com/Deci-AI/super-gradients/blob/master/CONTRIBUTING.md#i-have-created-pr-with-unsigned-commits-do-i-have-to-start-over

Done, force pushed branch with signed commits


Don't show links between interfaces and front ports.

Hi.
maybe I'm doing something wrong. The system does not show links between front ports and interfaces, and between rear ports. Here I am talking about the type of devices for example optical crosses. I see links only between interfaces.

Currently Ntmap supports only direct cables between interfaces. Intermediate front and rear ports are not supported yet. I will try to imlement this in future releases.


"Unexpected end of expression" in ngRepeat with no reason.

Can't figure out why I'm getting "Unexpected end of expression" in simple expression in ngRepeat.
Here's actual ngRepeat:
<!-- ngRepeat: emailList in (currentList = (emailLists | orderBy:sortingParams)) -->

As far as I know such expression is not documented, but I followed this SO answer with 120 upvotes to get filtered list in scope.
PS. I'm using latest AngularJS 1.4.1

Can you please create a plunker that shows this error?

@lgalfaso trying to create the plunkr I figured out the mistake which is not in AngularJS :) Thank you anyway :)


Upgrade to latest WebRTC revs.

We are currently using the Chrome m42 release, which is a little out of date.

Worth it to start looking at the Chrome m44 stable branch: https://groups.google.com/forum/#!topic/discuss-webrtc/mrLyXc6Y464

Chrome 45 upgrade completed. Moving on...


Optimize the charstring's bytecode

Optimizes the charstring's bytecode by encoding as integers all float values that have no decimal portion. This optimization is expected to reduce the file size of CFF2 fonts that have intermediate masters.
Related to adobe-type-tools/afdko#444
Many thanks to @cjchapman for the help on the fixed point math.

@behdad is this good to merge now?

Yes. Thanks.


2.0.6: patching breaks with "source/target file does not exist", because spurious newlines

CentOS packaged lua 5.1.5; hand-built and installed 2.0.6, luasnmp-1-0-6-2-rockspec :
Applying patch MSG-not-PDU.diff...
source/target file does not exist
--- src/nm_snmp.c

+++ /tmp/luarocks_luarocks-source-luasnmp-1.0.6-2-5120/luasnmp-1.0.6-2/src/nm_snmp.c

Note the extra newline, which isn't in the format string:
      if not exists(f2patch) then  --FIX:if f2patch nil
        warning(format("source/target file does not exist\n--- %s\n+++ %s",
                filename, f2patch))

Changing the format string to "source/target file does not exist\n--- XXX%sXXX\n+++ YYY%sYYY" reveals both filename and f2patch have a trailing newline:
Applying patch MSG-not-PDU.diff...
source/target file does not exist
--- XXXsrc/nm_snmp.c
XXX
+++ YYY/tmp/luarocks_luarocks-source-luasnmp-1.0.6-2-9548/luasnmp-1.0.6-2/src/nm_snmp.c
YYY

Checking the rockspec with od -a:
0002500  sp  sp  sp  sp   [   '   M   S   G   -   n   o   t   -   P   D
0002520   U   .   d   i   f   f   '   ]  sp   =  sp   [   [  nl   -   -
0002540   -  sp   a   /   s   r   c   /   n   m   _   s   n   m   p   .
0002560   c  nl   +   +   +  sp   b   /   s   r   c   /   n   m   _   s
0002600   n   m   p   .   c  nl   @   @  sp   -   1   3   5   1   ,   5

No extra newlines or carriage returns there, but filename has a trailing newline all the way back to the top of apply_patch:
  for fileno, filename in ipairs(patch.source) do
    warning(format("filename: '%s'", filename))

… yields:
filename: 'a/src/nm_snmp.c
'

Fixed in 2.2.2; dang copy-pasted old versions.


Bootstrapping a replica cluster from a non-cnpg cluster

In order to migrate a non-cnpg cluster to cnpg, I'm attempting to create a cnpg replica cluster that I bootstrap using pg_basebackup mode from a the original, non-cnpg, cluster.
I'm not sure if this is a supported use case? The symptoms are as follow.
The basebackup works fine but then the designated primary does not start with FATAL:  could not create lock file \"/var/run/postgresql/.s.PGSQL.5432.lock\": No such file or directory.
The postgresql.conf in the restored cluster is the one from the original cluster.
However, while custom.conf is present, postgresql.conf misses the include "custom.conf" line.
This seems to explain the error.
I tried adding the include line in postgresql.conf manually and succeded starting the primary, however it did not start as a replica (although posgresql.auto.conf seems to be correctly setup for replication).

Make sure that the Postgres configuration options you use are compatible with CloudNativePG.
Regarding the replica, did you actually activate it? You need:
  replica:
    enabled: true
    source: <NAME_OF_EXTERNAL_CLUSTER>

@gbartolini thanks for the response.
Yes the replica enabled and source are correctly defined in the new cluster resource, and they are reflected in postgresql.auto.conf in the cnpg volume after basebackup.
I have compared the postgres.conf files with a running cnpg cluster with a similar config and the only thing that stands out is that custom.conf is not included at the end, so the cnpg options are not applied.

I have run into the same issue. Trying to bootstrap from a non cnpg postgres and the initial pg_basebackup works fine, but then the cnpg pod starts crash looping with the error message:
{"level":"info","ts":"2023-07-12T08:29:01Z","logger":"postgres","msg":"postgres: could not access the server configuration fi
le \"/var/lib/postgresql/data/pgdata/postgresql.conf\": No such file or directory","pipe":"stderr","logging_pod":"cnpg-1"}
{"level":"info","ts":"2023-07-12T08:29:01Z","msg":"Extracting pg_controldata information","logging_pod":"cnpg-1","reason":"po
stmaster has exited"}
{"level":"error","ts":"2023-07-12T08:29:01Z","msg":"PostgreSQL process exited with errors","logging_pod":"cnpg-1","error":"ex
it status 2","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/
log.go:127\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/run/lifecycle.(*PostgresLifecycle).Start\n
\tinternal/cmd/manager/instance/run/lifecycle/lifecycle.go:99\nsigs.k8s.io/controller-runtime/pkg/manager.(*runnableGroup).re
concile.func1\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.14.2/pkg/manager/runnable_group.go:219"}

I also have replica.enabled=true (if I put this to false then everything is fine, but ofc I dont get streaming replication then).
@gbartolini can you elaborate what are the conditions to be compatible?

Make sure that the Postgres configuration options you use are compatible with CloudNativePG.

@sbidoul Were you able to find a fix for this?

Also found this discussion where a similar issue is described.

Encountered the same issue as @m33li5, any tips appreciated ;)

For anyone wondering we've been able to make it work but your source database cluster/instance needs to match 1 for 1 on some things with how CNPG operates :

Your running postgresql.conf or the postgresql.conf file you want your new CNPG to use must be located inside $PGDATA (Not sure of that but it seems to be the case)
It must have directives including custom.conf and override.conf (override.conf is important, if it's not included replication won't start)
The source and target max_wal_senders must be the same
The unix_socket_directories must be "/controller/run" (It should normally be set by custom.conf if I remember correctly)

Thanks @Alan-pad your procedure works fine!
In order to ease the process for other users, here is the postgresql.conf dummy file:
max_wal_senders = 5

include 'custom.conf'

include 'override.conf'

unix_socket_directories = '/controller/run'

I have run into the same issue. Trying to bootstrap from a non cnpg postgres and the initial pg_basebackup works fine, but then the cnpg pod starts crash looping with the error message:
{"level":"info","ts":"2023-07-12T08:29:01Z","logger":"postgres","msg":"postgres: could not access the server configuration fi
le \"/var/lib/postgresql/data/pgdata/postgresql.conf\": No such file or directory","pipe":"stderr","logging_pod":"cnpg-1"}
{"level":"info","ts":"2023-07-12T08:29:01Z","msg":"Extracting pg_controldata information","logging_pod":"cnpg-1","reason":"po
stmaster has exited"}
{"level":"error","ts":"2023-07-12T08:29:01Z","msg":"PostgreSQL process exited with errors","logging_pod":"cnpg-1","error":"ex
it status 2","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/
log.go:127\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/run/lifecycle.(*PostgresLifecycle).Start\n
\tinternal/cmd/manager/instance/run/lifecycle/lifecycle.go:99\nsigs.k8s.io/controller-runtime/pkg/manager.(*runnableGroup).re
concile.func1\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.14.2/pkg/manager/runnable_group.go:219"}

I also have replica.enabled=true (if I put this to false then everything is fine, but ofc I dont get streaming replication then).
@gbartolini can you elaborate what are the conditions to be compatible?

Make sure that the Postgres configuration options you use are compatible with CloudNativePG.

@sbidoul Were you able to find a fix for this?

I get the same error but for pga_hba.conf, trying to become a replica cluster to old Patroni cluster.

Also, for anyone that doesn't know: cnpg needs streaming_replica ROLE to exist for it's own replication to work. If anyone needs help with using Patroni as the old cluster, hit me up.

Also, for anyone that doesn't know: cnpg needs streaming_replica ROLE to exist for it's own replication to work. If anyone needs help with using Patroni as the old cluster, hit me up.

Hi @aleksasiriski , I am facing an collision error Error: while configuring restored instance: could not create ApplicationDatabase: ERROR: template database "template1" has a collation version mismatch (SQLSTATE XX000) while migrating the data from zalando to cnpg . Could you pls take a look into this.

Also, for anyone that doesn't know: cnpg needs streaming_replica ROLE to exist for it's own replication to work. If anyone needs help with using Patroni as the old cluster, hit me up.

Hi @aleksasiriski , I am facing an collision error Error: while configuring restored instance: could not create ApplicationDatabase: ERROR: template database "template1" has a collation version mismatch (SQLSTATE XX000) while migrating the data from zalando to cnpg . Could you pls take a look into this.

Try making it a replica cluster first and after that succeeds disable replica mode and it will become an independant cluster. I've created a simple gist with notes on how I got it working in replica mode, and after disabling the replica mode it continued to work.

I tried to place postgresql.conf in the pgdata directory of the source postgres server; pgbasebackup finishes without any errors, but the actual replica cluster never starts.
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: pg
  namespace: fastcup
spec:
  instances: 1
  imageName: ghcr.io/cloudnative-pg/postgresql:17.0

  bootstrap:
    pg_basebackup:
      source: source-db

  replica:
    enabled: true
    source: source-db

  storage:
    size: 1500Gi
    storageClass: nvme-lvm-local

  externalClusters:
    - name: source-db
      connectionParameters:
        host: <IP_ADDRESS>
        user: replicate
      password:
        name: source-db-replica-user
        key: password

  postgresql:
    parameters:
      max_connections: "200"
      max_wal_senders: "10"

xlog min recovery request 19173/5D280898 is past current point 19166/499F7A18","context":"writing block 3 of relation base/16403/4840307_vm\nWAL redo at 19166/499F6038 for Btree/INSERT_LEAF: off: 209; blkref #0: rel 1663/16403/1998418, blk 32061 FPW
failed to connect to `user=postgres database=postgres`: /controller/run/.s.PGSQL.5432 (/controller/run): server error: FATAL: the database system is not yet accepting connections (SQLSTATE 57P03)
"message":"the database system is not yet accepting connections","detail":"Consistent recovery state has not been yet reached."
tried restoring WALs, but no backup was configured
tried restoring WALs, but no backup was configured
tried restoring WALs, but no backup was configured
tried restoring WALs, but no backup was configured


Adding in README.md a pure javascript to create a simple animateCss function in HTMLElement prototype

I created in README.md, using existing documentation, a pure JavaScript function that adds in the prototype chain of HTMLElement the function animateCss.

Although this does look good, I think it's adding to much complexities in the already larger than it should readme of a really simple library.
I'm still not sure if it's a good idea to just close the PR or if we can find a place in #681. I'm open to suggestions.

what if @eltonmesquita let's create a separate documentation page within @daneden website?

Totally agree that the readme has really overgrown over the years. I'd like to include a rewrite of documentation in the 4.0 release to make it as simple as it once was! The landscape of the web has changed a lot, my broad stroke ideas with docs are something like:

Abandon jQuery examples in favor of vanilla CSS/HTML and JS examples
Add Wiki pages for complex examples and third-party library references


Drag canvas or nodes out of range. The custom shape disappeared

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link
https://github.com/qunzi0214/vue-g6-editor
Steps to reproduce

git clone https://github.com/qunzi0214/vue-g6-editor
npm install
npm run serve
drag node or canvas  out of range
the shape disappeared

Environment
Info

g6
3.7.1

System
-

Browser
-

performance right in<EMAIL_ADDRESS>performance wrong in<EMAIL_ADDRESS>

please provide a minimum show case.

please provide a minimum show case.

Here is the minimum show case.
https://github.com/qunzi0214/g6-issue-demo.git
i think the problem is cause by animated shape
/src/g6-config/customNode.js:76 - /src/g6-config/customNode.js:95


Bump mongo driver to latest

oh boy...   this is coming as a dependency of go-openapi. @pavolloffay I think it was you who introduced go-openapi, how much do we need it in this repo?


[CNVS Upgrade] Style table cell links

This implements two table-cell-link-* classes throughout the application.
The ...-primary class is bold link and the ...-secondary class is the normal weight.

mesosphere-ci retest this please


Add mode to no escape entities and new setting to preserve attribute's quote

Two basic changes:

Support the preserve of the quote used in any HTML Attribute, by enabling the outputsettings of "preserveQuote"
Support the ability to not escape any HTML entity into its entity code.

This is just trying to help keep the html code untouched when not expected.
For example when HTML is used in combination with freemarker code (or custom tags) so you get some code inside attributes that you don't want escaped, or you don't want the quote of the attribute change from single quotes to double quotes because you have another code inside that has double quotes.
test

great feature!

Support the ability to not escape any HTML entity into its entity code.

I agree, it would be nice to be able to output the document formatted without having the side effect of entities being modified. For example, if I have ’ in my input document, Jsoup either expands it to a Unicode glyph if the charset is UTF-8, or changes it to &#rsquo; or ’ depending on the Entities.EscapeMode setting if the charset is ASCII. I would just like it to be as it was regardless of the charset.

I'm never going to support an escape mode of none. It creates invalid or incorrect HTML. I.e. input of

Hello <script src="attacker">

With your change that would become after parsing and outputting:

Hello


Add usingValidator(Validator)

Trying to fix #4.
@stefanhendriks Would you please check out what I just adde for you?
Releasing is ready for you.

Sorry, just noticed this! I will check soon, thanks!


WIP: Img seg tool xfer to modified skxray

Note: WIP
Per Eric's previous comments, moving tools specifically implemented for ease of use in VisTrails to VTtools. Tools designed to assist in plotting and vis are migrating to xray-vision. Tools to remain in skxray are being migrated to image.py, and the API structure is being used to simplify and differentiate based on function, functionality...

Uncovered Suggestions

+0.29% via ...skxray/core/utils.py#120...132
+0.29% via ...skxray/core/utils.py#120...132
+0.24% via ...skxray/core/image.py#142...152
See 7 more...

Powered by Codecov

My thoughts, with @giltis over my shoulder here:

All of these should move to VTTools. They are simple functional wrappers of numpy functions.
skxray/segment/arithmetic/init.py
skxray/segment/arithmetic/logic.py
skxray/segment/arithmetic/math.py
skxray/segment/transformation.py

These import functions for scipy and skimage. In an earlier discussion we opted not to do this kind of thing. It aids "discovery" for newbies, but it risks confusing users about where they should go to look for docs or report docs. Instead of importing external tools, we will instead demonstrate them in our our docs.
skxray/segment/filtering.py
skxray/segment/morphology.py
skxray/segment/registration.py <-- @giltis says he intends to put SimpleITK stuff in here also

skxray/segment/thresholding.py is an API to skxray/core/thresholding.py which has 7 functions.
These three wrap numpy and should be moved to VTTools.
thresh_globalGT
thresh_globalLT
thresh_bounded
thresh_adapt seems to add nothing to skimage.threshold_adaptive. @giltis will check this.
These three wrap a skimage function that returns a threshold value, and they apply that threshold to the image. At minimum, we should credit that the underlying algorithm is from skimage. We should also try to understand why there is inconsistency in skimage (return threshold value vs. return applied threshold) and whether there is a good reason for it.
thresh_otsu
thresh_yen
thresh_isodata

skxray/segment/histogram.py exposes two functions in skxray/core/image.py. One (rescale_intensity) is not implemented yet. The other is hist_make.
np.histogram returns (counts, bin_edges). hist_make returns (counts, bin_edges, bin_centers). If we include this, I think it should have a different name and make more explicit its relationship to np.histogram.

That leaves skxray/segment/init.py, which might go away depending on the fates of the segment package's two remaining modules, histogram.py and threshold.py


np.take_along_axis gives wrong gradient

The following repro script shows the issue:
import jax.numpy as np
from jax import value_and_grad

idx = np.repeat(np.arange(3), 10).reshape((30, 1))

def f(x):
    y = x * np.arange(3.).reshape((1, 3))
    return np.take_along_axis(y, idx, -1).sum()

def g(x):
    y = x * np.arange(3.).reshape((1, 3))
    y = np.broadcast_to(y, (30, 3))
    return np.take_along_axis(y, idx, -1).sum()

print(value_and_grad(f)(1.))  # get 30, 0
print(value_and_grad(g)(1.))  # get 30, 30

I think (30, 30) is the correct answer.

Thanks for catching this.
By the way, I recommend using check_grad from jax.test_util for checking derivatives (because you don't have to worry about scalar output, and you can check fwd/rev and arbitrary order all at once):
import jax.numpy as np
from jax import value_and_grad
from jax.test_util import check_grads

idx = np.arange(3).reshape(3, 1)

def h(x):
  y = x * np.arange(3.).reshape((1, 3))
  return np.take_along_axis(y, idx, -1)

check_grads(h, (1.,), 1)

AssertionError:
0.0 !=
9.63398933411

It seems check_grads(h, (1.,), order=1, modes=["fwd"]) succeeds but check_grads(h, (1.,), order=1, modes=["rev"]) fails. The issue must be with the gather transpose rule (?).

Yet another reproducer, which can give us a bit more insight into what's going wrong:
from functools import partial
import numpy as onp
from jax import vjp
from jax import lax

start_indices = onp.array([[[0, 0]],
                            [[1, 1]]], onp.int32)
dnums = lax.GatherDimensionNumbers(offset_dims=(),
                                    collapsed_slice_dims=(0, 1),
                                    start_index_map=(0, 1))
slice_sizes = (1, 1)

f = partial(lax.gather, start_indices=start_indices, dimension_numbers=dnums,
            slice_sizes=slice_sizes)

_, f_vjp = vjp(f, onp.array([[1., 1.]]))
g = f_vjp(onp.array([[1.], [1.]]))
print(g)

The lax.gather transpose rule is trivial, so it's hard to imagine an error being there.
@hawkinsp had the brilliant suggestion to see if this repros on all backends (since maybe this could have been an XLA:CPU bug). Unfortunately, it does: it fails on GPU and TPU as well.

Here's the VJP jaxpr (slightly simplified by commenting out a tie_in):
{ lambda b c ;  ; a.
  let d = scatter-add[ updates_shape=(2, 1)
                       update_jaxpr={ lambda  ;  ; a b.
                                      let c = add a b
                                      in [c] }
                       dimension_numbers=ScatterDimensionNumbers(update_window_dims=(), inserted_window_dims=(0, 1), scatter_dims_to_operand_dims=(0, 1))
                       update_consts=() ] b c a
  in [d] }

This one works:
idx = np.arange(3)

def h(x):
  y = x * np.arange(3.)
  return np.take_along_axis(y, idx, -1)

from jax import make_jaxpr
print(make_jaxpr(h)(1.))
check_grads(h, (1.,), 1, modes=["rev"])

{ lambda b d ;  ; a.
  let c = mul a b
      e = gather[ operand_shape=(3,)
                  slice_sizes=(1,)
                  dimension_numbers=GatherDimensionNumbers(offset_dims=(), collapsed_slice_dims=(0,), start_index_map=(0,)) ] c d
  in [e] }

So it's something about that extra dimension...

This works:
idx = np.arange(3).reshape(1, 3)  # ***

def h(x):
  y = x * np.arange(3.).reshape(1, 3)  # ***
  return np.take_along_axis(y, idx, -1)

from jax import make_jaxpr
print(make_jaxpr(h)(1.))
check_grads(h, (1.,), 1, modes=["rev"])

This doesn't:
idx = np.arange(3).reshape(3, 1)  # ***

def h(x):
  y = x * np.arange(3.).reshape(3, 1)  # ***
  return np.take_along_axis(y, idx, -1)

from jax import make_jaxpr
print(make_jaxpr(h)(1.))
check_grads(h, (1.,), 1, modes=["rev"])

Notice the shapes (1, 3) vs (3, 1) on the marked lines.

The above examples might not be good repros because they fail to evaluate when using onp, while the code in the OP doesn't.

Hah, okay, I read @fehiepsi's OP again and I realized he basically figured out the issue for us. I was just too sloppy to read it!
I think we just need to broadcast arr against indices in our implementation of take_along_axis. Will attempt that now...

My excuse is that I'm rusty because I've been on paternity leave for almost 3 weeks :)


Duplicate CDATA in XHTML

Are you sure this is not a problem with your configuration? (ask on the
Google Group)

Minify commit/version: 2.1.5
PHP version: 5.2

What steps will reproduce the problem?
1. Try to minify XHTML already containing scripts with CDATA:
<script><![CDATA[ alert("&"); ]]> </script>

Expected output:
<script>/*<![CDATA[*/ alert("&"); /*]]>/* </script>

Actual output:
CDATA is attached twice.

My fix to the problem:
minify-2.1.5\min\lib\Minify\HTML.php, line 244.
Replace line:
return ($this->_isXhtml && preg_match('/(?:[<&]|\\-\\-|\\]\\]>)/', $str));
With:
return ($this->_isXhtml && preg_match('/(?:[<&]|\\-\\-|\\]\\]>)/', $str) &&
!preg_match('#\<\!\[CDATA#ui', $str));

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 11 Oct 2012 at 11:03

Original comment by<EMAIL_ADDRESS>on 11 Oct 2012 at 6:21

Changed state: Started

Thanks for the report. Will check this out.

Original comment by<EMAIL_ADDRESS>on 11 Oct 2012 at 6:20

Changed state: Accepted


Appearance of website in mobile mode

Assign me this issue

I marked in screenshots that the full  content is not displayed on the left side.
Meanwhile, ambulance Gif need replacement.

Can you assign me this issue.


Adding a plugin

Adding my superagent plugin to the plugin list.

Were these tests already failing? All I changed was the readme file.

yea, no worries

@defunctzombie Thanks!


[WebDriver]: upgrade to wdio v6

Motivation/Description of the PR
As wdio has its major release v6, we actively update our WebDriver helper to adapt new changes. We won't expect any breaking changes in CodeceptJS like we had with V5 before. Currently, the update is smooth, we don't see any much major changes in our helper.  Feel free to give it a try and give any feedbacks for us. That would be great!
Applicable helpers:

[x] WebDriver

Applicable plugins:

[ ] allure
[ ] autoDelay
[ ] autoLogin
[ ] customLocator
[ ] pauseOnFail
[ ] puppeteerCoverage
[ ] retryFailedStep
[ ] screenshotOnFail
[ ] selenoid
[ ] stepByStepReport
[ ] wdio

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[ ] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[ ] Local tests are passed (Run npm test)

Current failing tests:
1) WebDriver
       #moveCursorTo
         should not trigger hover event because of the offset is beyond the element:

      expected element #show not to include "Hovered"
      + expected - actual

      -------
      -Hovered!
      -------
      +Hovered

  2) WebDriver
       window size #resizeWindow
         should set initial window size:
     expected element #height to include "Height 700"

  3) WebDriver
       window size #resizeWindow
         should set window size on new session:
     expected element #height to include "Height 700"

  4) WebDriver
       window size #resizeWindow
         should resize window to specific dimensions:
     expected element #height to include "Height 600"

Test 2,3,4: failed when running with headless, I have no idea.
Test  1: maybe this test is not properly setup.

 Here is an overview of what got changed by this pull request:

Clones added
============
- lib/helper/WebDriver.js  1

See the complete overview on Codacy

Semaphore CI build fails with Appium too.
Looks like, it runs on node without generator support. It's used in got dependency of webdriverio

About moveCursorToo
They changed signature and implementation.
offsetX on xOffset, offsetY on yOffset
try to change
  async moveCursorTo(locator, offsetX = 0, offsetY = 0) {

to
  async moveCursorTo(locator, xOffset, xOffset) {

And JSdoc should be updated
it should not have 0 default, but undefined

 Here is an overview of what got changed by this pull request:

Clones added
============
- lib/helper/WebDriver.js  1

See the complete overview on Codacy

xOffset

Thanks! I updated it!

 Here is an overview of what got changed by this pull request:

Clones added
============
- lib/helper/WebDriver.js  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Clones added
============
- lib/helper/WebDriver.js  1

See the complete overview on Codacy

@elukoyanov please approve this PR


Disable cgo and enable goproxy in compilation

Signed-off-by: Ricardo Pchevuzinske Katz<EMAIL_ADDRESS>While compiling Nebraska using docker-compose or even make container-nebraska a user might face errors because:

golangci-lint is compiled outside of the container, and then used inside an Alpine container which doesn't have glibc. The same apply to other tools

Network environments with performance problems might face issues while compiling, so using GOPROXY might bring performance improvement in compilation

To reproduce the behavior pre PR, please clone the master repo, and then run make container-nebraska or try using the docker-compose file :)

Hi @rikatz , I apologize for the time it's taking. Somehow this got under my radar after the initial review tagging!
It's late here now, but I promise tomorrow we will look into it.

Hi folks, sorry for taking so long. I've been traveling for business in the past 3 weeks and couldn't take a look into this.
As I've seen you already reached a better solution, so coming back home I'll give another try and see if now everything is fine.
Thank you!

For sure! Thanks @rikatz .


DS3231 readSqwPinMode()

Thank you for opening an issue on an Adafruit Arduino library repository.  To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

Do not use GitHub issues for troubleshooting projects and issues.  Instead use
the forums at http://forums.adafruit.com to ask questions and troubleshoot why
something isn't working as expected.  In many cases the problem is a common issue
that you will more quickly receive help from the forum community.  GitHub issues
are meant for known defects in the code.  If you don't know if there is a defect
in the code then start with troubleshooting on the forum first.

If following a tutorial or guide be sure you didn't miss a step. Carefully
check all of the steps and commands to run have been followed.  Consult the
forum if you're unsure or have questions about steps in a guide/tutorial.

For Arduino projects check these very common issues to ensure they don't apply:

For uploading sketches or communicating with the board make sure you're using
a USB data cable and not a USB charge-only cable.  It is sometimes
very hard to tell the difference between a data and charge cable!  Try using the
cable with other devices or swapping to another cable to confirm it is not
the problem.

Be sure you are supplying adequate power to the board.  Check the specs of
your board and plug in an external power supply.  In many cases just
plugging a board into your computer is not enough to power it and other
peripherals.

Double check all soldering joints and connections.  Flakey connections
cause many mysterious problems.  See the guide to excellent soldering for examples of good solder joints.

Ensure you are using an official Arduino or Adafruit board. We can't
guarantee a clone board will have the same functionality and work as expected
with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

Arduino board:  UNO

Arduino IDE version (found in Arduino -> About Arduino menu):  1.8.1

List the steps to reproduce the problem below (if possible attach a sketch or
copy the sketch code in too): LIST REPRO STEPS BELOW

https://forum.arduino.cc/index.php?topic=501028.0
There is a bug in the readSqwPinMode() function in the DS3231 portion of the library. It is incorrectly using the read mask from the DS1307 readSqwPinMode() function. If you modify the .cpp code in the library as below, the print out is correct.
Ds3231SqwPinMode RTC_DS3231::readSqwPinMode() {
int mode;
Wire.beginTransmission(DS3231_ADDRESS);
Wire._I2C_WRITE(DS3231_CONTROL);
Wire.endTransmission();
Wire.requestFrom((uint8_t)DS3231_ADDRESS, (uint8_t)1);
mode = Wire._I2C_READ();
//mode &= 0x93;//bug due to using ds1307 read mask
mode &= 0x1C;
if(mode == 0x04)
mode = DS3231_OFF;
return static_cast(mode);
}

Fixed in #210


[ADAM-1361] Fix misnamed ADAM überjar.

Resolves #1361.

Coverage decreased (-0.1%) to 81.93% when pulling 884ba69204bb94917352ff892ee9c999345f203d on fnothaft:issues/1361-spark2-artifact into 2820e940c0df57a3a9c6439060ae4e53f8a466b8 on bigdatagenomics:master.

Coverage decreased (-0.1%) to 81.93% when pulling 884ba69204bb94917352ff892ee9c999345f203d on fnothaft:issues/1361-spark2-artifact into 2820e940c0df57a3a9c6439060ae4e53f8a466b8 on bigdatagenomics:master.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2050/
Test PASSed.

  This PR adds -assembly to the assembly artifact names.

@heuermh Since the assembly jars are largely handled programmatically from the ./bin/adam-* scripts, I don't really see a benefit to changing the JAR name with <finalName>. I'd rather eliminate <finalName> and have one fewer place where things can go wrong in the move_to scripts.

I don't feel strongly either way.

Thank you, @fnothaft


CustomSatUnet Model is missing from doodleverse_utils

In scripts/select_model_and_batch_process_folder.py if  the MODEL variable read from the config file is  'satunet' the code attempts to create a custom_satunet model from doodleverseutils doodleverse_utils/model_imports.py, but this model doesn't exist.
After digging through doodleverse_utils/model_imports.py I found a model defined as simple_satunet so I'm going to replace the call for custom_satunet with simple_satunet for now.

Thanks for identifying this. I think custom_satunet does not exist. It is only simple_satunet that exists. So, I believe your fix can be made permanent


General Cypher Support

Does activegraph support Cypher in general or really only Neo4j?
I am interested in Ruby and https://age.apache.org and fail to see, how neo4jrb would only support neo4j, when Cypher is a standard and used like that in other projects too?
So far as I can see, would this attract new users and by so, new developers.
Thanks a lot

activegraph supports what neo4j-ruby-driver supports which in turn supports what the official neo4j drivers support. We have no ambition to support anything beyond that. This question should be addressed to neo4j.


add production build support

for production / consumer usage, the build process should be optimized with module bundling and minification

could be solved by #85


Expose :gradle-jdks-distributions as api

Before this PR
Can't use the jdkDistribution(JdkDistributionName .... method as JdkDistributionName is not exposed as API.
After this PR
==COMMIT_MSG==
Expose gradle-jdks-distributions as api in gradle-jdks.
==COMMIT_MSG==
Possible downsides?

Released 0.5.0


[Bug][@vue/compiler-sfc]: Popover - Failed to resolve extends base type.

Reproduction
https://stackblitz.com/edit/tdkd3r-vztatb?file=src%2FApp.vue
Describe the bug
By adding the basic popover component :
npx shadcn-vue@latest add popover

We get the following error:
[plugin:vite:vue] [@vue/compiler-sfc] Failed to resolve extends base type.
If this previously worked in 3.2, you can instruct the compiler to ignore this extend by adding /* @vue-ignore */ before it, for example:

interface Props extends /* @vue-ignore */ Base {}

Note: both in 3.2 or with the ignore, the properties in the base type are treated as fallthrough attrs at runtime.

/home/projects/tdkd3r-vmywib/src/components/ui/popover/PopoverContent.vue
8  |    useForwardPropsEmits,
9  |  } from 'radix-vue'
10 |  import { cn } from '@/utils'
   |    ^^^^^^^^^^^^^^^^^^^^^^^
11 |
12 |  defineOptions({
/home/projects/tdkd3r-vmywib/src/components/ui/popover/PopoverContent.vue

System Info
-

Contributes

[ ] I am willing to submit a PR to fix this issue
[ ] I am willing to submit a PR with failing tests

There's a missing types not being exported, causing this issue. https://github.com/radix-vue/radix-vue/issues/687
Fix is coming soon!

Fixed in 1.4.5

There's a missing types not being exported, causing this issue. radix-vue/radix-vue#687
Fix is coming soon!

Is this problem fixed now ？

There's a missing types not being exported, causing this issue. radix-vue/radix-vue#687
Fix is coming soon!

Has this problem been fixed now ？


Alt+Tab superputty window randomly does not come to foreground, tabs have no focus when it does

What steps will reproduce the problem?
1. Open superputty with multiple tabs and a horizontal split screen
2. Alt+Tab between windows applications

What is the expected output? What do you see instead?
Randomly superputty window will not come to the foreground, some times it does
but then the focus is not on the tab you were working. Actually there is now
focus at all. Need to click on a tab to start typing.

What version of the product are you using? On what operating system?
<IP_ADDRESS> windows XP 64-bit

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 3 Dec 2012 at 12:42

Just found this thread by accident. It might be a Windows 10 bug.
Try to disable "Snap Windows" under System > Settings > Multitasking.
https://stackoverflow.com/a/63429362/1066234
Maybe it helps to fix the problem.

I was facing the same issue. I disable the "Always on Top" option available under the View menu. Then ALT+TAB worked fine.


Bot awards itself currency from reaction event

Not sure if it's intended but since updating from 1.3b to 1.43 the bot now awards itself currency from all flowerreaction events.

Can't offer a fix, but that definitely shouldn't be happening (at least, it's not for me). 🤔

It probably is intended since bot reacts to event message as it makes easier for other people to react.

@beminee it has always done that, but before 1.4 it did not award itself currency in doing so. Considering currency awards are handled with a different script since 1.4 I'm assuming it's just a minor oversight.


Bump to version 0.33

v0.33.0 - 2023-04-23
Added

feat: Add OpenTelemetry Trace Layer (#2001)
feat: add if_none_match support for azblob (#2035)
feat: add if_none_match/if_match for gcs (#2039)
feat: Add size check for sized writer (#2038)
feat(services/azblob): Add if-match support (#2037)
feat(core): add copy&rename to error_context layer (#2040)
feat: add if-match support for OSS (#2034)
feat: Bootstrap new (old) project oay (#2041)
feat(services/OSS): Add override_content_disposition support (#2043)
feat: add IF_MATCH for http (#2044)
feat: add IF_MATCH for http HEAD request (#2047)
feat: add cache control header for azblob and obs (#2049)
feat: Add capability for operation's variant and args (#2057)
feat(azblob): Add override_content_disposition support (#2065)
feat(core): test for read_with_override_content_composition (#2067)
feat(core): Add start-after support for list (#2071)

Changed

refactor: Polish Writer API by merging append and write together (#2036)
refactor(raw/http_util): Add url in error context (#2066)
refactor: Allow reusing the same operator to speed up tests (#2068)

Fixed

fix(bindings/ruby): use rb_sys_env to help find ruby for building (#2051)
fix: MadsimLayer should be able to built without cfg (#2059)
fix(services/s3): Ignore prefix if it's empty (#2064)

Docs

docs(bindings/python): ipynb examples for users (#2061)

CI

ci(bindings/nodejs): publish support --provenance (#2046)
ci: upgrade typos to 1.14.8 (#2055)
chore(bindings/C): ignore the formatting of auto-generated opendal.h (#2056)

😓My wrong operation, not approved yet.

Thanks.


Add support for custom dlldir option

Based on suggestions in https://github.com/doitsujin/dxvk/issues/820

I guess this is obsolete now, since setup_dxvk.sh is now a static script, so it doesn't depend on Meson build. Placing dlls in libdir is easy by simply overrding bindir.

Yeah, that's the idea. package-release.sh also uses this to install stuff into the appropriate directories directly, as originally suggested by @SveSop.
If you feel that this is no longer needed, please close the PR.

Yeah, that's the idea. package-release.sh also uses this to install stuff into the appropriate directories directly, as originally suggested by @SveSop.
If you feel that this is no longer needed, please close the PR.


Add dev as a tag

This makes composer suggest it as a "--dev" dependency when requiring it without the "--dev" flag.

Thanks!


init progress_dialog

Now we have running progress_bar dialog and the interface is not frozen but disabled with modal dialog

Looks good, I added localization and fixed bug, because for me gcode was not displayed


Dead links

Hey there, I wanted to let you know about some dead links I came across on your wiki page.
The following links result in a 404.
https://github.com/Macchina-CLI/macchina/wiki/Customization: "Theming documentation" and "macchina.toml"
https://github.com/Macchina-CLI/macchina/wiki/Configuration: "Follow me" and "macchina.toml"

Hi!
Thanks for notifying me about this, each and every link has been restored to point to the correct URL, now.


RunningGamesCount becoming 0

Hi. I think when you have only 1 game running, when you :RemoveGame() , The RunningGamesCount will become 0.
@steven4547466
Originally posted by @evanchan0819 in https://github.com/steven4547466/MatchmakingService/issues/6#issuecomment-997287187

Idk if you have fixed it when you updated it on the roblox model

change line 499 to if not runningGamesCount or runningGamesCount == 0 then

(I'm new to github)
Added new pull request


Json serialization should be left to existing libraries

What's the point of having your own code to serialize and deserialize Json? Don't you guys think that it's better delegated out to teams which have loads of experience in this not-so-simple field, while you can focus on actual http work. Wouldn't it be better to let those libraries deal with ser/deser work, being how mature they are and how many edge cases they came up with and solved already.
They are also much more feature rich. For example take the Key annotation. It's very primitive, compare to the slew of Annotations that Jackson and Gson provide. @JsonView @JsonIgnore, @MixedIn, @JsonSerializer. Right now, I am writing this issue because I need custom Serialization on my special spatial types, and I can't do it, having to resolve to reading into String, and then passing the String to the Gson, instead of simply providing HttpRequestFactory with a good deserializer, and letting it do the work.
I understand the need to have wrappers, so you can plug in any serializer there is, but they should be very thing, and just delegate the whole work. For example, GsonFactory should have two constructors
GsonFactory(){   this(new Gson()); }
and GsonFactory(Gson gson){    this.gson = gson; }
I think this change can still be made even with backwards compatibility to how it's done now. I know it's a large project, but in the end, you will have less code (less opportunity for bugs), and more optimal. As the Civilization quote says: "A designer knows that he has achieved perfection not when there is nothing to add, but when there is nothing left to take away"

@doom777 I agree with you. Still you can easily implement your own:

ObjectParser to parse your responses and make it use the deserializer you want (I'm using Jackson and it is straightforward),
AbstractHttpContent and make it use the serializer you want (same here for Jackson).

It looks like a member of our great community answered your questions. Thanks Community! Please feel free to reopen if you have any more questions.


[10.x] Dispatch events based on a DB transaction result

This is another stab at https://github.com/laravel/framework/pull/48631.
Right now, if we have event dispatching inside a database transaction, there are 2 ways to ensure events are not published:

By publishing all of them after the transaction:

DB::transaction(function () {
    $model->something();
    $model->somethingElse();
});

foreach ($model->flushEvents() as $event) {
    event($event);
}

#48631 aimed to provide syntatic sugar for that use case.

By making every listener queued and enable afterCommit.

I don't think option 2 is very good for a couple reasons:

The event still gets published, so if you had a test to ensure nothing happens if the transaction fails, Event::assertNotDispatched() would fail.
It only works if the listeners are queued
You have to remember to enable afterCommit

What this PR aims to do is to make the event itself aware of transactions. So, if a transaction fails, the event doesn't even get published.
That way, it doesn't matter if the listeners are queued or not or if they have afterCommit enabled, and you can ensure, in the tests, that the event did not get published.

At least this should be targeted for 11.x.
Also it may be advised from fntneves/laravel-transactional-events's author @fntneves

Hi @mateusjatenee,
It is good to see you bringing this concern into the core of Laravel!
I've thought about it in depth in the past, let me know if you need any help improving it.

@mfn the bar is most definitely very high!
I actually though of reaching out to @fntneves first but I wanted to see if this would get any sort of traction first. He's done fantastic work with the package, and I would love to see this feature baked into the framework.
The package's implementation is a bit more complex (and I think we could go that way in the future) — maybe even have the Dispatcher handoff the event to a SyncEventHandler or a TransactionalEventHandler (the name is just an idea since Dispatcher is already taken).

Although it's not a BC, some people may prefer targeting for 11.x. It depends on maintainers' opinions

@mateusjatenee what happens if no transaction is currently happening, or even doesn't happen during the entire request?

If there is no transaction happening at the time the event is published, the callback is executed immediately (normal behavior). That behavior is guaranteed by DatabaseTransactionsManager::addCallback(). This test covers that.
We could also verify whether a transaction is happening on that if block, and skip if there's no active transaction.
I also added a test that covers nested transactions (if the parent one succeeds and a child transaction fails, an event published on the parent one should still succeed as well).

I expanded the scope of this PR a bit 😅
I didn't like how after this PR we would have two ways of indicating "afterCommit" behavior - most existing support for this feature utilizes a $afterCommit = true property on the class while this uses a marker interface.
My updates continue to support the property based syntax but also introduce an interface based syntax to the other places in the framework that currently support "after commit" behavior (jobs, event listeners, mail, notifications, and model broadcasting).
This is accomplished using a new ShouldQueueAfterCommit interface which may be implemented on jobs, listeners, mail, and notifications instead of the plain ShouldQueue interface. A new BroadcastsEventsAfterCommit trait has been introduced for Eloquent to compliment the plain BroadcastsEvents trait. In addition, listeners may utilizes a ShouldHandleEventsAfterCommit interface.
class ExampleJob implements ShouldQueueAfterCommit
{
    // ...
}

class SomeMailable extends Mailable implements ShouldQueueAfterCommit
{
    // ...
}

// etc...

@fntneves would appreciate your final review on this PR and any thoughts you have since you have maintained a package to achieve a similar goal. ❤

@fntneves @taylorotwell I've added two nested transactions tests that are almost the same — the difference is that in one, the parent transaction event is dispatched in the beginning, and on the second it, it's dispatched at the end.
I think it's important to keep both because of how DatabaseTransactionsManager works.
addCallback always assumes that you're on the last applicable transaction. So when you do this:
        DB::transaction(function () { // this adds a transaction at level 1
            DB::transaction(function () { // this adds a transaction at level 2
                Event::dispatch(new ShouldDispatchAfterCommitTestEvent); // this pushes a callback to the level 2 object
            });

            // This also pushes a callback to the level 2 object, because the level 2 object is only removed if the level 2 transaction is rolled back.
            Event::dispatch(new AnotherShouldDispatchAfterCommitTestEvent);
        });

As you can see, both callbacks get added to transaction 2 because it's the last object in the array.
This, however, works differently:
        DB::transaction(function () { // Adds transaction at level 1
            Event::dispatch(new AnotherShouldDispatchAfterCommitTestEvent); // Adds a callback to the level 1 object

            DB::transaction(function () { // Adds transaction at level 2
                Event::dispatch(new ShouldDispatchAfterCommitTestEvent); // Adds a callback to the level 2 object
            });

            // Although the child transaction has been concluded, the parent transaction has not.
            // The event dispatched on the child transaction should not have been dispatched.
            $this->assertFalse(ShouldDispatchAfterCommitTestEvent::$ran);
            $this->assertFalse(AnotherShouldDispatchAfterCommitTestEvent::$ran);
        });

I don't think this could cause any bugs right now because even if you have 2 DatabaseTransactionRecord objects, and a callback from level 1 gets added to level 2, they'd still be executed correctly.
The bug I could think of is — what if you have 2 callbacks from different levels (e.g 1 and 2) incorrectly placed in the 2nd DatabaseTransactionRecord, and that transaction happens to fail? Then the callback from level 1 would be mistakenly removed, but that shouldn't be possible due to temporal constraints. If transaction 2 were to fail, it'd be removed from the array and callback 2 would be added to level 1 as intended. I'm not sure I worded this properly, let me know if that makes sense.

I don't think this could cause any bugs right now because even if you have 2 DatabaseTransactionRecord objects, and a callback from level 1 gets added to level 2, they'd still be executed correctly, but it might be good to keep this since the behavior differs in case something changes in the future. The only bug I could think of is — what if you have 2 callbacks from different levels (e.g 1 and 2) incorrectly placed in the 2nd level, and that transaction happens to fail? Then the callback from level 1 would be mistakenly removed, but that shouldn't be possible due to temporal constraints. If transaction 2 were to fail, it'd be removed from the array and callback 2 would be added to level 1 as intended.

I'm following you. And I agree that that behavior should not cause bugs.
What happens, though, if we have the following?
DB::transaction(function () { // Adds transaction at level 1
            DB::transaction(function () { // Adds transaction at level 2
                // Callback #1
                Event::dispatch(new ShouldDispatchAfterCommitTestEvent); // Adds a callback to the level 2 object
            });

            // Callback #2
            Event::dispatch(new AnotherShouldDispatchAfterCommitTestEvent); // Adds a callback to the level 1 object

            try {
                DB::transaction(function () { // ### Adds transaction at level XXXXX ?????
                    // Callback #3
                    Event::dispatch(new ShouldDispatchAfterCommitTestEvent); // Adds a callback to the level XXXXX object
                    throws new \Exception();
                });
            } catch (Exception $e) {}
        });

In this case, at the end of the root transaction, I expect the following callbacks to be triggered: #1 and #2.
My doubts are in the level to which Callback #3 will be attached and what happens to that level when the second nested transaction fails. If it is the same as the first nested transaction (level 2), I suspect that Callback #1 might never be called.
While we can consider this might not happen, one reason I believe we should check it is when third-party packages already have transactions that combined with the ones in the main project, might cause such behaviour without one notice. This would be a nightmare to debug.

@fntneves we are going to work on that as a separate bug / issue

Since this has been merged, adding documentation to laravel/docs should be done.

Hey @mateusjatenee. This PR was merged with failing tests. Please only mark a PR as ready when it has passing tests.

My bad @driesvints. I'll pay more attention next time — added a PR here https://github.com/laravel/framework/pull/48858


refactor: rename repotags to default_tags

Having repotags in both oci_push and oci_tarball is confusing for the users given they have different semantics.

What does "default" mean in this context? Is there something else that could override these chosen tags?

semantics is the same before. default here implies tags to apply by default in addition to ones provided via --tag at bazel run //target:push -- --tag additional_tag

in addition to ones provided via --tag at bazel run //target:push -- --tag additional_tag

Ah, I didn't know about that flag being registered here. Thank you for explaining.
Perhaps instead of "default," either "unconditional" or "common" would be clearer.

makes me confused and ask more questions about the condition here.

It means that these tags are always set, as opposed to any that may or may not be present on the command line via the --tag flag.

suggests that it's shared with something else? unclear what common is.

There I meant to suggest that every invocation of a pushing target would bear these tags, again contrasted with the variation that could come with selective use of the --tag flag.
This is hard to name, because "default" leaves me wondering if using the --tag flag replaces all the "default" values (meaning they're used only in the absence of any --tag flag values), or always adds more values to the default set.

I agree with you that --tag flag makes it confusing. but it's documented properly i think.
from docs

When running the pusher, you can pass flags:

Override repository: -r|--repository flag. e.g. bazel run //myimage:push -- --repository index.docker.io/<ORG>/image
Additional default_tags: -t|--tag flag, e.g. bazel run //myimage:push -- --tag latest

it's documented properly i think.

There, instead of "Additional default_tags," I'd find it clearer if it said something like "Tags in addition to default_tags."

"Tags in addition to default_tags."

done

is maybe still confusing since Bazel already occupies "tags"

idk tags is well known by bazel users already. At first glance looks confusing but i believe anything will be confusing at this point since Bazels use of tags.....

push_tags

name of the rule already implies the push part. a bit redundant it seems.  other proposals remote_tags tags_to_apply tags_on_remote

I also don't love "default_tags" because it sounds like they will be overridden later by something else, rather than augmented

I like remote_tags the best. If you bazel build the oci_push target, the tags aren't inherently "applied" in any sense to the artifact you get back. They're just stashed in a bash script.

To be comprehensive, another choice is to mirror rules_docker's https://github.com/bazelbuild/rules_docker/blob/master/docs/container.md#container_push-tag
oci_push(
  tag = ["actually", "a", "list"],
  tags = ["no-remote", "deliverable"],
)

My vote is image_tags. Users expect oci_push to push images so image_tags would imply that it will also push those tags onto the image.
oci_push(
    image_tags = ["latest"],
    tags = ["no-remote"],
)

We should as rename repotags on oci_tarball to repo_tags to match the CamelCase RepoTags here: https://snyk.io/blog/container-image-formats/

Decided on remote_tags based on more off-thread chat with @thesayyn

The changelog for v1.0.0-rc0 is misleading, as it mentions default_tags instead of remote_tags @alexeagle.

Hmm thanks

I don't see default_tags anywhere on https://github.com/bazel-contrib/rules_oci/releases/tag/v1.0.0-rc0

I don't see default_tags anywhere on https://github.com/bazel-contrib/rules_oci/releases/tag/v1.0.0-rc0

already fixed it.


Add missing #pragma once guards to header files

Some header files are missing include guards. This PR adds the guards.

Looks good, thanks!