Merge "Improve focus behavior for new comment drafts."
diff --git a/Documentation/metrics.txt b/Documentation/metrics.txt
index 7da1c18..5c13aef 100644
--- a/Documentation/metrics.txt
+++ b/Documentation/metrics.txt
@@ -208,12 +208,20 @@
* `caches/memory_eviction_count`: Memory eviction count.
** `cache_name`:
The name of the cache.
+* `caches/memory_request_count`: Total number of lookups (hits + misses) against
+ the in-memory cache.
+** `cache_name`:
+ The name of the cache.
* `caches/disk_cached`: Disk entries used by persistent cache.
** `cache_name`:
The name of the cache.
* `caches/disk_hit_ratio`: Disk hit ratio for persistent cache.
** `cache_name`:
The name of the cache.
+* `caches/disk_request_count`: Total number of lookups (hits + misses) against
+ the persistent disk cache.
+** `cache_name`:
+ The name of the cache.
* `caches/refresh_count`: The number of refreshes per cache with an indicator if
a reload was necessary.
** `cache`:
diff --git a/external_deps.lock.json b/external_deps.lock.json
index e96ecab..141bbfc 100644
--- a/external_deps.lock.json
+++ b/external_deps.lock.json
@@ -126,8 +126,8 @@
"javax.servlet:javax.servlet-api": 669233360,
"junit:junit": -744267592,
"log4j:log4j": 182326902,
- "net.bytebuddy:byte-buddy": -67913315,
- "net.bytebuddy:byte-buddy-agent": -728183915,
+ "net.bytebuddy:byte-buddy": -1875367778,
+ "net.bytebuddy:byte-buddy-agent": 1759328918,
"net.java.dev.jna:jna": -867910362,
"net.java.dev.jna:jna-platform": -561312286,
"net.minidev:json-smart": -1043043954,
@@ -156,9 +156,9 @@
"org.apache.mina:mina-core": -1403307213,
"org.apache.sshd:sshd-common": 1844247612,
"org.apache.sshd:sshd-core": 602454664,
- "org.apache.sshd:sshd-mina": -1915268089,
- "org.apache.sshd:sshd-osgi": 1681538032,
- "org.apache.sshd:sshd-sftp": 2089761863,
+ "org.apache.sshd:sshd-mina": 582747848,
+ "org.apache.sshd:sshd-osgi": -115413327,
+ "org.apache.sshd:sshd-sftp": 292810504,
"org.asciidoctor:asciidoctorj": -457860213,
"org.assertj:assertj-core": -1145412507,
"org.bouncycastle:bcpg-jdk18on": -1572213535,
@@ -169,18 +169,18 @@
"org.commonmark:commonmark-ext-autolink": -1853742120,
"org.commonmark:commonmark-ext-gfm-strikethrough": 350394231,
"org.commonmark:commonmark-ext-gfm-tables": 1881582931,
- "org.eclipse.jetty.ee10:jetty-ee10-servlet": 835495267,
- "org.eclipse.jetty.ee8:jetty-ee8-nested": -1627496831,
- "org.eclipse.jetty.ee8:jetty-ee8-security": 1632270986,
- "org.eclipse.jetty.ee8:jetty-ee8-servlet": -1338697711,
- "org.eclipse.jetty:jetty-http": -235909997,
- "org.eclipse.jetty:jetty-io": -44878927,
- "org.eclipse.jetty:jetty-jmx": 1781043564,
- "org.eclipse.jetty:jetty-security": -1819173301,
- "org.eclipse.jetty:jetty-server": -130172210,
- "org.eclipse.jetty:jetty-session": -1378386067,
- "org.eclipse.jetty:jetty-util": -444622835,
- "org.eclipse.jetty:jetty-util-ajax": -622085534,
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet": -562048764,
+ "org.eclipse.jetty.ee8:jetty-ee8-nested": 860016002,
+ "org.eclipse.jetty.ee8:jetty-ee8-security": -175183477,
+ "org.eclipse.jetty.ee8:jetty-ee8-servlet": 1148815122,
+ "org.eclipse.jetty:jetty-http": -2043364460,
+ "org.eclipse.jetty:jetty-io": -1852333390,
+ "org.eclipse.jetty:jetty-jmx": -26410899,
+ "org.eclipse.jetty:jetty-security": 668339532,
+ "org.eclipse.jetty:jetty-server": -1937626673,
+ "org.eclipse.jetty:jetty-session": 1109126766,
+ "org.eclipse.jetty:jetty-util": 2042889998,
+ "org.eclipse.jetty:jetty-util-ajax": 1865427299,
"org.hamcrest:hamcrest": 1547523135,
"org.jruby:jruby-complete": -2103568068,
"org.json:json": -811907600,
@@ -350,10 +350,10 @@
"javax.servlet:javax.servlet-api:jar:sources": -2015355058,
"junit:junit": -1256429642,
"junit:junit:jar:sources": 940567721,
- "net.bytebuddy:byte-buddy": -645553046,
- "net.bytebuddy:byte-buddy-agent": 567350281,
- "net.bytebuddy:byte-buddy-agent:jar:sources": 467108684,
- "net.bytebuddy:byte-buddy:jar:sources": -315779909,
+ "net.bytebuddy:byte-buddy": -2144538556,
+ "net.bytebuddy:byte-buddy-agent": -1307562154,
+ "net.bytebuddy:byte-buddy-agent:jar:sources": 2038081020,
+ "net.bytebuddy:byte-buddy:jar:sources": 1602176187,
"net.java.dev.jna:jna": 1622514527,
"net.java.dev.jna:jna-platform": 1756885266,
"net.java.dev.jna:jna-platform:jar:sources": -507721531,
@@ -402,15 +402,15 @@
"org.apache.lucene:lucene-queryparser:jar:sources": 1992621418,
"org.apache.mina:mina-core": -584591076,
"org.apache.mina:mina-core:jar:sources": 71382131,
- "org.apache.sshd:sshd-mina": 1147629185,
- "org.apache.sshd:sshd-mina:jar:sources": -506380854,
- "org.apache.sshd:sshd-osgi": 1092773821,
- "org.apache.sshd:sshd-osgi:jar:sources": -2061003935,
- "org.apache.sshd:sshd-sftp": -70173235,
- "org.apache.sshd:sshd-sftp:jar:sources": 1034555480,
+ "org.apache.sshd:sshd-mina": -36716477,
+ "org.apache.sshd:sshd-mina:jar:sources": 97528844,
+ "org.apache.sshd:sshd-osgi": 1810958617,
+ "org.apache.sshd:sshd-osgi:jar:sources": 710209222,
+ "org.apache.sshd:sshd-sftp": -320832840,
+ "org.apache.sshd:sshd-sftp:jar:sources": -1268961386,
"org.asciidoctor:asciidoctorj": 1685789893,
"org.asciidoctor:asciidoctorj:jar:sources": 2091708864,
- "org.assertj:assertj-core": -923964809,
+ "org.assertj:assertj-core": -59722598,
"org.assertj:assertj-core:jar:sources": -697161745,
"org.bouncycastle:bcpg-jdk18on": -1258294405,
"org.bouncycastle:bcpg-jdk18on:jar:sources": -1733408473,
@@ -432,32 +432,32 @@
"org.commonmark:commonmark-ext-gfm-tables": -1205584749,
"org.commonmark:commonmark-ext-gfm-tables:jar:sources": 1341057091,
"org.commonmark:commonmark:jar:sources": -1511261547,
- "org.eclipse.jetty.ee10:jetty-ee10-servlet": -117453373,
- "org.eclipse.jetty.ee10:jetty-ee10-servlet:jar:sources": 501419503,
- "org.eclipse.jetty.ee8:jetty-ee8-nested": -1480285467,
- "org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources": -2141029892,
- "org.eclipse.jetty.ee8:jetty-ee8-security": -1089777429,
- "org.eclipse.jetty.ee8:jetty-ee8-security:jar:sources": -374234244,
- "org.eclipse.jetty.ee8:jetty-ee8-servlet": 709534403,
- "org.eclipse.jetty.ee8:jetty-ee8-servlet:jar:sources": 1796299448,
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet": -2443254,
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet:jar:sources": -1546113901,
+ "org.eclipse.jetty.ee8:jetty-ee8-nested": -1915352225,
+ "org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources": 673934800,
+ "org.eclipse.jetty.ee8:jetty-ee8-security": -1918552702,
+ "org.eclipse.jetty.ee8:jetty-ee8-security:jar:sources": 114520187,
+ "org.eclipse.jetty.ee8:jetty-ee8-servlet": 57123647,
+ "org.eclipse.jetty.ee8:jetty-ee8-servlet:jar:sources": 500172952,
"org.eclipse.jetty.toolchain:jetty-servlet-api": 1364182673,
"org.eclipse.jetty.toolchain:jetty-servlet-api:jar:sources": 736604807,
- "org.eclipse.jetty:jetty-http": -1578822522,
- "org.eclipse.jetty:jetty-http:jar:sources": -1317713476,
- "org.eclipse.jetty:jetty-io": -225847225,
- "org.eclipse.jetty:jetty-io:jar:sources": 116677681,
- "org.eclipse.jetty:jetty-jmx": 1202016563,
- "org.eclipse.jetty:jetty-jmx:jar:sources": -1552312519,
- "org.eclipse.jetty:jetty-security": 501899561,
- "org.eclipse.jetty:jetty-security:jar:sources": 1985223928,
- "org.eclipse.jetty:jetty-server": -963731471,
- "org.eclipse.jetty:jetty-server:jar:sources": -466994191,
- "org.eclipse.jetty:jetty-session": 1869188771,
- "org.eclipse.jetty:jetty-session:jar:sources": -1630590830,
- "org.eclipse.jetty:jetty-util": -1027747345,
- "org.eclipse.jetty:jetty-util-ajax": 573093314,
- "org.eclipse.jetty:jetty-util-ajax:jar:sources": 455294676,
- "org.eclipse.jetty:jetty-util:jar:sources": -280937557,
+ "org.eclipse.jetty:jetty-http": -2005285297,
+ "org.eclipse.jetty:jetty-http:jar:sources": 1510111824,
+ "org.eclipse.jetty:jetty-io": 1963881320,
+ "org.eclipse.jetty:jetty-io:jar:sources": -219635344,
+ "org.eclipse.jetty:jetty-jmx": 974624101,
+ "org.eclipse.jetty:jetty-jmx:jar:sources": -733987429,
+ "org.eclipse.jetty:jetty-security": -628512589,
+ "org.eclipse.jetty:jetty-security:jar:sources": 730204298,
+ "org.eclipse.jetty:jetty-server": -1113673878,
+ "org.eclipse.jetty:jetty-server:jar:sources": -1325429404,
+ "org.eclipse.jetty:jetty-session": -240475595,
+ "org.eclipse.jetty:jetty-session:jar:sources": -407525695,
+ "org.eclipse.jetty:jetty-util": 1729944958,
+ "org.eclipse.jetty:jetty-util-ajax": 1312600683,
+ "org.eclipse.jetty:jetty-util-ajax:jar:sources": -2027361402,
+ "org.eclipse.jetty:jetty-util:jar:sources": -1809018264,
"org.hamcrest:hamcrest": 1282317766,
"org.hamcrest:hamcrest-core": 649657847,
"org.hamcrest:hamcrest-core:jar:sources": -1646511374,
@@ -468,7 +468,7 @@
"org.jsoup:jsoup:jar:sources": -2058254438,
"org.jspecify:jspecify": 117231129,
"org.jspecify:jspecify:jar:sources": -2134060298,
- "org.mockito:mockito-core": -287830973,
+ "org.mockito:mockito-core": 493796464,
"org.mockito:mockito-core:jar:sources": 1900207417,
"org.nibor.autolink:autolink": -443901116,
"org.nibor.autolink:autolink:jar:sources": -1863403724,
@@ -1012,17 +1012,17 @@
},
"net.bytebuddy:byte-buddy": {
"shasums": {
- "jar": "8b31f4ea806afaa900b67bffd8498760d1f65464f4c2ea78cdbda2f3e633898b",
- "sources": "d40bbc426b8e79a026b4e570e6f57b0a8659b122864c874cfa309121066f1fb1"
+ "jar": "e32f454c2c1f4aca982f9ec764ed892d9a6eee7e8a77f435cbdd180f6ffdb821",
+ "sources": "7f38a50fa7406b61d867a2c81a89610bb816de2fa28696b4a54fcaa8d52530a1"
},
- "version": "1.18.10"
+ "version": "1.18.11"
},
"net.bytebuddy:byte-buddy-agent": {
"shasums": {
- "jar": "9cfa3c71c8f07bfb5f4c3c68db7715940d792801eba82d346fc343f7bd7c2401",
- "sources": "af62bcc1d124110ee1917f61d4cf3c19eb832f9213a555a1d375b743327345a8"
+ "jar": "780b3601c34150ab9fb822673c472f7229c1041e8e2a12facf6a5de9ba7a2d64",
+ "sources": "30bbf5860aa58e4740b352d2c4c15fe2428a2019e81dccd25c8e3937a0a2a0a3"
},
- "version": "1.18.10"
+ "version": "1.18.11"
},
"net.java.dev.jna:jna": {
"shasums": {
@@ -1194,24 +1194,24 @@
},
"org.apache.sshd:sshd-mina": {
"shasums": {
- "jar": "7399961346882ef50952ae9774e8dd1eac7ce232d2f82c058ade2c20c02591f1",
- "sources": "cc526f8a54d375e87b21419e1c3ce7462637718c6e692fce3940cff98a5151a5"
+ "jar": "da1088d16ba7953444b7d9aefcfc60c9b5e000bf26542d4c3ed0573f692bf14a",
+ "sources": "a8e548e09d8744effe88d83dcd55faa87dc14c37f8a0a595b4c6af3b20e558aa"
},
- "version": "2.18.0"
+ "version": "2.19.0"
},
"org.apache.sshd:sshd-osgi": {
"shasums": {
- "jar": "e771c4239b1c4818c102368d57d0cc082c224eefb76224524473bf7021d1a32f",
- "sources": "dd5838716293c8aeaf9487c50c6b313dff304e7ddca84ce16923f73865ba4d1d"
+ "jar": "0b6b9371c6a97430390b84c23c58f4470927a747e74704a0ca7d19a09a66fe37",
+ "sources": "d11b69618dba155f075571cbd9b21741953c27dfa9a1af09b4024f2183226abe"
},
- "version": "2.18.0"
+ "version": "2.19.0"
},
"org.apache.sshd:sshd-sftp": {
"shasums": {
- "jar": "bf52fd81d63337cb40050c70ee460c80e78a0a4b77f15da7125eb1841f527e93",
- "sources": "5171d9bac4ee76a013beccc1fdeab93fb43aeb84172d19b929ee158b9281c648"
+ "jar": "a3ad30d2feba9fad589c7ad9117fcd9d332823697d59eb424fe2902f4d805575",
+ "sources": "e26b7df972cead5c529bca6ab3e782c27dd43b323f9a54f98d9e23d4f5d03c30"
},
- "version": "2.18.0"
+ "version": "2.19.0"
},
"org.asciidoctor:asciidoctorj": {
"shasums": {
@@ -1297,33 +1297,33 @@
},
"version": "0.24.0"
},
- "org.eclipse.jetty.ee10:jetty-ee10-servlet": {
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet": {
"shasums": {
- "jar": "05cccc74bbe1478ceb765e967b1cb1a3c8d9b51e99acf586190887e467ffd87d",
- "sources": "51a734b4bc04235b24ccd759515dd2947e5b675c227c556f02262b765bce47eb"
+ "jar": "f88e19a29f4e46322df60fe43d5ac4d852edefad923e8c38ef17ff14dc522e84",
+ "sources": "345f50f1a2937968934f354134cf4dd7e2b94bbfec36a177bb015ba675bd345c"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty.ee8:jetty-ee8-nested": {
"shasums": {
- "jar": "240df6fb5bb28545183cbac87f191c0d21074b17a2c9d4562581a68a8d79c347",
- "sources": "45b7a070430ced248fab480132c2a02c98b64181b619f11fdc27291fc60cdefc"
+ "jar": "b6b4db33b8894688a08f23aba9eee1bc951c66be12a43095f2811121a54018d8",
+ "sources": "2ba3403fb5daf6eaa10e4c3e59fa859e35e4451593d0afd681c2d57b8f6056e9"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty.ee8:jetty-ee8-security": {
"shasums": {
- "jar": "85351106e71c1036256488bbd2c84879d6316c67cdce3b44dda7835daf82e3c9",
- "sources": "d5e6227dfbde0e6beb3cf2976cc64049a85b828143bb328f3de3ef06e5a4803f"
+ "jar": "9f165768c7f7b7a02c7631b38d898f7c16a729b78307c5c3d5940f5de7ee955d",
+ "sources": "7269d79523195225aab585f0bd799914b4d6a9d4746fd71758bb509e6c9b356e"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty.ee8:jetty-ee8-servlet": {
"shasums": {
- "jar": "f593838935e9c15b9cd6bbe8707af6f5e8204f2732c88c84b654962bac660dbe",
- "sources": "53b2477db964532be722a1ff8f53ab4d7f88b87012f4e2b4e3360c5ecd08aff0"
+ "jar": "82bd9eed66b147f243231a164c1157d3dd72cf2d05ae9029e8b12aff9df25fec",
+ "sources": "520e666d8dc4646ccd4b274946278322a393742f54f29d9911be8f46d087c54e"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty.toolchain:jetty-servlet-api": {
"shasums": {
@@ -1334,59 +1334,59 @@
},
"org.eclipse.jetty:jetty-http": {
"shasums": {
- "jar": "090f276739fd9bf8c30511007caec669ea3804b1df1061c37f44467474bee71d",
- "sources": "4d416e2686881085327d3a28e349029d4ae9fc9b44db831291633f18bbf01625"
+ "jar": "0e204f4c71c5d7e138949d50bb7fb15766840ecea6ca24513fb92ee34b363f55",
+ "sources": "1410d5686da1b63ad5d290cdd09b27bd4dfb1a563619a12ef02f63ad8c174eea"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-io": {
"shasums": {
- "jar": "448fc0f8f6f5f7251fc46de8e3aae7da14bd7c571a8043dac3dc381d08228fa0",
- "sources": "bf40abffd40e759b16b642e12dfacb7bca1d0c937f5456b62506cc78169f6b56"
+ "jar": "0534454eb445263a8577200f7bd009153d36f3a81ef1543e79ab551846ee3b94",
+ "sources": "d7298bbee4ebde8b35a6566212c9b04c9b19ac9dff7b84eb9a9109ddde805fe9"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-jmx": {
"shasums": {
- "jar": "baaaf76b139335125bfa51109c80d271de73f40ee8b5270674f56e90a66e9d81",
- "sources": "b45a4c63d7b7ea44ca6eb9b9c5fbf1d100069bec66942c83ee553d05335a1fcb"
+ "jar": "1207fefdedd9f690d3ac37f1408af6e41f4d9d60a00491e71b3b7137ef95da6f",
+ "sources": "29621d7f6da9909f9214434fef0644c1b5ff20c7d34bc4084daf3de6f1700e86"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-security": {
"shasums": {
- "jar": "2f34b7895cec4e3547a1b52e12e7e92b3f3a110bf3c17637f8743ca3f4e42f0c",
- "sources": "9e55b7f04431d4cc723a85a18ddc910e71f5b1a284c28b059d297d07509b4ff8"
+ "jar": "6d21a7cbfd1915735cab6638011998f881161fdeff94936ee8f71e37d3528e79",
+ "sources": "bd00bca2c71ba594de92e10215c705493cbb0fc79149069c6db643911715c9b9"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-server": {
"shasums": {
- "jar": "4b0108e87abada7027123deca17186249413232dad0a2bd58a4e70a987b5354a",
- "sources": "5e7693e35285d286dcd0bfdc73d74e6824027eeaaa0a9b4c70c0080475c22f71"
+ "jar": "772f84baf043bbc34edd99de728f3c0b2de642c400dde0fefa763e40de2ea583",
+ "sources": "433739222a745d1a4e14c71b78601065caac517bf307b44f5f85b1cd83da48ae"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-session": {
"shasums": {
- "jar": "164649123d15a3f2be5c196e82aa652dff05c75362db71b0f4ab6bb35165020a",
- "sources": "b11e8cfb2db04ac2d1633bccfd47ba9e1b3afca0b75d4354a38140ba3e94c83e"
+ "jar": "d00db0879d2dde6bc8742c3050e995314c5d423e20ca63601cf91add2547a381",
+ "sources": "b86814b8efcff1b2a79bc3ebdd9e02851d131692f2b0e7ab7b9735bbfa86d5bf"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-util": {
"shasums": {
- "jar": "c52b4ff62cdacca8a399c611231129e6bd1074db7e3892e78cd106725cdd0ef1",
- "sources": "209630667d8e042f187bed4e754c3f8af7c5247888fc83b8dc97b5bb2134d435"
+ "jar": "8a8d7e063cf312b044927f817b09ad7a4517162d747f7ff891a414e8ef476c26",
+ "sources": "a1cf0445b69a53200633bc8b264cfd88a2927ce4c041048649666ad7cddaaacf"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.eclipse.jetty:jetty-util-ajax": {
"shasums": {
- "jar": "73dfbf388b46c9e2afbc78823ea556f8d25cf851902f99873d03df90becc2b97",
- "sources": "4617309092393ed2f6ed76d915f24b518ccbff8c8731124bf109e346607e86b3"
+ "jar": "2fc1756acdde0bdbc44c693f2c9f5801d7843ccf823b25bd65e6fc52ed77d4f5",
+ "sources": "501f94d01324e7455f365e471acf3c5a3ad6c7c11ceeacf9514f3bc60cdc59e7"
},
- "version": "12.1.10"
+ "version": "12.1.11"
},
"org.hamcrest:hamcrest": {
"shasums": {
@@ -1809,7 +1809,7 @@
"org.commonmark:commonmark-ext-gfm-tables": [
"org.commonmark:commonmark"
],
- "org.eclipse.jetty.ee10:jetty-ee10-servlet": [
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet": [
"jakarta.servlet:jakarta.servlet-api",
"org.eclipse.jetty:jetty-security",
"org.eclipse.jetty:jetty-server",
@@ -3775,14 +3775,14 @@
"org.commonmark.ext.gfm.tables",
"org.commonmark.ext.gfm.tables.internal"
],
- "org.eclipse.jetty.ee10:jetty-ee10-servlet": [
- "org.eclipse.jetty.ee10.servlet",
- "org.eclipse.jetty.ee10.servlet.internal",
- "org.eclipse.jetty.ee10.servlet.jmx",
- "org.eclipse.jetty.ee10.servlet.listener",
- "org.eclipse.jetty.ee10.servlet.security",
- "org.eclipse.jetty.ee10.servlet.security.authentication",
- "org.eclipse.jetty.ee10.servlet.util"
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet": [
+ "org.eclipse.jetty.ee11.servlet",
+ "org.eclipse.jetty.ee11.servlet.internal",
+ "org.eclipse.jetty.ee11.servlet.jmx",
+ "org.eclipse.jetty.ee11.servlet.listener",
+ "org.eclipse.jetty.ee11.servlet.security",
+ "org.eclipse.jetty.ee11.servlet.security.authentication",
+ "org.eclipse.jetty.ee11.servlet.util"
],
"org.eclipse.jetty.ee8:jetty-ee8-nested": [
"org.eclipse.jetty.ee8.nested",
@@ -4548,8 +4548,8 @@
"org.commonmark:commonmark-ext-gfm-tables",
"org.commonmark:commonmark-ext-gfm-tables:jar:sources",
"org.commonmark:commonmark:jar:sources",
- "org.eclipse.jetty.ee10:jetty-ee10-servlet",
- "org.eclipse.jetty.ee10:jetty-ee10-servlet:jar:sources",
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet",
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet:jar:sources",
"org.eclipse.jetty.ee8:jetty-ee8-nested",
"org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources",
"org.eclipse.jetty.ee8:jetty-ee8-security",
@@ -4848,8 +4848,8 @@
"org.commonmark:commonmark-ext-gfm-tables",
"org.commonmark:commonmark-ext-gfm-tables:jar:sources",
"org.commonmark:commonmark:jar:sources",
- "org.eclipse.jetty.ee10:jetty-ee10-servlet",
- "org.eclipse.jetty.ee10:jetty-ee10-servlet:jar:sources",
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet",
+ "org.eclipse.jetty.ee11:jetty-ee11-servlet:jar:sources",
"org.eclipse.jetty.ee8:jetty-ee8-nested",
"org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources",
"org.eclipse.jetty.ee8:jetty-ee8-security",
diff --git a/java/com/google/gerrit/server/cache/CacheMetrics.java b/java/com/google/gerrit/server/cache/CacheMetrics.java
index 7053df0..e6dd0a7 100644
--- a/java/com/google/gerrit/server/cache/CacheMetrics.java
+++ b/java/com/google/gerrit/server/cache/CacheMetrics.java
@@ -59,6 +59,12 @@
Long.class,
new Description("Memory eviction count").setGauge().setUnit("evicted entries"),
F_NAME);
+ CallbackMetric1<String, Long> memReq =
+ metrics.newCallbackMetric(
+ "caches/memory_request_count",
+ Long.class,
+ new Description("Memory request count").setGauge().setUnit("requests"),
+ F_NAME);
CallbackMetric1<String, Long> perDiskEnt =
metrics.newCallbackMetric(
"caches/disk_cached",
@@ -79,9 +85,18 @@
.setGauge()
.setUnit("invalidated entries"),
F_NAME);
+ CallbackMetric1<String, Long> perDiskReq =
+ metrics.newCallbackMetric(
+ "caches/disk_request_count",
+ Long.class,
+ new Description("Disk request count for persistent cache")
+ .setGauge()
+ .setUnit("requests"),
+ F_NAME);
ImmutableSet<CallbackMetric<?>> cacheMetrics =
- ImmutableSet.of(memEnt, memHit, memEvict, perDiskEnt, perDiskHit, perDiskInvalid);
+ ImmutableSet.of(
+ memEnt, memHit, memEvict, memReq, perDiskEnt, perDiskHit, perDiskInvalid, perDiskReq);
metrics.newTrigger(
cacheMetrics,
@@ -93,12 +108,14 @@
memEnt.set(name, c.size());
memHit.set(name, cstats.hitRate() * 100);
memEvict.set(name, cstats.evictionCount());
+ memReq.set(name, cstats.requestCount());
if (c instanceof PersistentCache
&& config.getBoolean("cache", "enableDiskStatMetrics", false)) {
PersistentCache.DiskStats d = ((PersistentCache) c).diskStats();
perDiskEnt.set(name, d.size());
perDiskHit.set(name, hitRatio(d));
perDiskInvalid.set(name, d.invalidatedCount());
+ perDiskReq.set(name, d.requestCount());
}
}
cacheMetrics.forEach(CallbackMetric::prune);
diff --git a/modules/jgit b/modules/jgit
index d29c264..bf0f0ad 160000
--- a/modules/jgit
+++ b/modules/jgit
@@ -1 +1 @@
-Subproject commit d29c264b2983782418b4c8357a6422750edfa15c
+Subproject commit bf0f0ad1cc2ce422604383272a4a4b8b3947b465
diff --git a/plugins/replication b/plugins/replication
index 4296f73..1b609b0 160000
--- a/plugins/replication
+++ b/plugins/replication
@@ -1 +1 @@
-Subproject commit 4296f7364429ffe5e537756199cd14daab2d3353
+Subproject commit 1b609b02f0b60df09c43baf1edca452a375924ca
diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.ts b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.ts
index 95df2fac..f808b1c 100644
--- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.ts
@@ -168,6 +168,7 @@
.commands=${this.computeDownloadCommands()}
.schemes=${this.schemes}
.selectedScheme=${this.selectedScheme}
+ .disableAutoSelect=${true}
show-keyboard-shortcut-tooltips
@selected-scheme-changed=${(e: BindValueChangeEvent) => {
this.selectedScheme = e.detail.value;
diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts
index c107c20..438e151 100644
--- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.ts
@@ -122,6 +122,7 @@
</section>
<section class="hidden">
<gr-download-commands
+ disable-auto-select=""
id="downloadCommands"
show-keyboard-shortcut-tooltips=""
>
@@ -234,6 +235,14 @@
await element.updateComplete;
});
+ test('passes disableAutoSelect to gr-download-commands', () => {
+ const commands = queryAndAssert<GrDownloadCommands>(
+ element,
+ '#downloadCommands'
+ );
+ assert.isTrue(commands.disableAutoSelect);
+ });
+
test('focuses on first copy link', async () => {
const focusStub = sinon.stub(
queryAndAssert<GrDownloadCommands>(element, '#downloadCommands'),
diff --git a/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard.ts b/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard.ts
index 0ee4aa3..bfc6462 100644
--- a/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard.ts
+++ b/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard.ts
@@ -52,6 +52,9 @@
@property({type: Boolean, reflect: true})
hideInput = false;
+ @property({type: Boolean, attribute: 'disable-auto-select', reflect: true})
+ disableAutoSelect = false;
+
@property({type: String})
label?: string;
@@ -216,6 +219,7 @@
}
private handleInputClick(e: MouseEvent) {
+ if (this.disableAutoSelect) return;
e.preventDefault();
const rootTarget = e.composedPath()[0];
(rootTarget as HTMLInputElement).select();
diff --git a/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard_test.ts b/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard_test.ts
index b50ecfd..acc1180 100644
--- a/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard_test.ts
+++ b/polygerrit-ui/app/elements/shared/gr-copy-clipboard/gr-copy-clipboard_test.ts
@@ -128,6 +128,22 @@
assert.equal(mdOutlinedTextField.selectionEnd, element.text!.length - 1);
});
+ test('handleInputClick with disableAutoSelect', async () => {
+ element.disableAutoSelect = true;
+ await element.updateComplete;
+
+ const mdOutlinedTextField = queryAndAssert<MdOutlinedTextField>(
+ element,
+ 'md-outlined-text-field'
+ );
+ mdOutlinedTextField.selectionStart = 0;
+ mdOutlinedTextField.selectionEnd = 0;
+
+ mdOutlinedTextField.click();
+ assert.equal(mdOutlinedTextField.selectionStart, 0);
+ assert.equal(mdOutlinedTextField.selectionEnd, 0);
+ });
+
test('hideInput', async () => {
const mdOutlinedTextField = queryAndAssert<MdOutlinedTextField>(
element,
diff --git a/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands.ts b/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands.ts
index 9a7cabc..30defc5 100644
--- a/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands.ts
+++ b/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands.ts
@@ -54,6 +54,9 @@
@property({type: Boolean, attribute: 'show-keyboard-shortcut-tooltips'})
showKeyboardShortcutTooltips = false;
+ @property({type: Boolean, attribute: 'disable-auto-select', reflect: true})
+ disableAutoSelect = false;
+
// Private but used in tests.
readonly getUserModel = resolve(this, userModelToken);
@@ -171,6 +174,7 @@
.label=${command.title}
.command=${command.command}
.tooltip=${this.computeTooltip(index)}
+ .disableAutoSelect=${this.disableAutoSelect}
></gr-shell-command>
`;
}
diff --git a/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands_test.ts b/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands_test.ts
index 05011f8f..3f3b4bc 100644
--- a/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands_test.ts
+++ b/polygerrit-ui/app/elements/shared/gr-download-commands/gr-download-commands_test.ts
@@ -97,6 +97,16 @@
assert.isTrue(focusStub.called);
});
+ test('passes disableAutoSelect to gr-shell-command', async () => {
+ element.disableAutoSelect = true;
+ await element.updateComplete;
+ const shellCommand = queryAndAssert<GrShellCommand>(
+ element,
+ 'gr-shell-command'
+ );
+ assert.isTrue(shellCommand.disableAutoSelect);
+ });
+
test('element visibility', async () => {
assert.isFalse(isHidden(queryAndAssert(element, 'md-tabs')));
assert.isFalse(isHidden(queryAndAssert(element, '.commands')));
diff --git a/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command.ts b/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command.ts
index 0c9be74..54aecb3 100644
--- a/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command.ts
+++ b/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command.ts
@@ -27,6 +27,9 @@
@property({type: String})
tooltip = '';
+ @property({type: Boolean, attribute: 'disable-auto-select', reflect: true})
+ disableAutoSelect = false;
+
static override get styles() {
return [
sharedStyles,
@@ -73,6 +76,7 @@
.text=${this.command}
hasTooltip
buttonTitle=${this.tooltip}
+ .disableAutoSelect=${this.disableAutoSelect}
></gr-copy-clipboard>
</div>`;
}
diff --git a/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command_test.ts b/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command_test.ts
index 1e0ff11..8fb66f5 100644
--- a/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command_test.ts
+++ b/polygerrit-ui/app/elements/shared/gr-shell-command/gr-shell-command_test.ts
@@ -44,4 +44,14 @@
await element.focusOnCopy();
assert.isTrue(focusStub.called);
});
+
+ test('passes disableAutoSelect to gr-copy-clipboard', async () => {
+ element.disableAutoSelect = true;
+ await element.updateComplete;
+ const copyClipboard = queryAndAssert<GrCopyClipboard>(
+ element,
+ 'gr-copy-clipboard'
+ );
+ assert.isTrue(copyClipboard.disableAutoSelect);
+ });
});
diff --git a/tools/deps.toml b/tools/deps.toml
index 6444daf..e500cd6 100644
--- a/tools/deps.toml
+++ b/tools/deps.toml
@@ -2,13 +2,13 @@
antlr = "3.5.2"
autoValueGson = "1.3.1"
bouncyCastle = "1.84"
-byteBuddy = "1.18.10"
+byteBuddy = "1.18.11"
caffeine = "2.9.2"
commonmark = "0.24.0"
gitiles = "1.6.0"
greenmail = "1.5.5"
httpcomp = "4.5.14"
-jetty = "12.1.10"
+jetty = "12.1.11"
mail = "1.6.0"
mime4j = "0.8.1"
ow2 = "9.9.1"
diff --git a/tools/nongoogle.toml b/tools/nongoogle.toml
index 701c4bc..1f2e24a 100644
--- a/tools/nongoogle.toml
+++ b/tools/nongoogle.toml
@@ -12,7 +12,7 @@
guice = "6.0.0"
lucene = "10.4.0"
slf4j = "2.0.18"
-sshd = "2.18.0"
+sshd = "2.19.0"
truth = "1.4.4"
[libraries]