[semantic-arc-opts] Convert @owned -> @guaranteed args of transforming terminators when fed by load [copy], copy_value.

This extends the (copy (guaranteed x)) -> (guaranteed x) optimization to handle
transforming terminator arguments. This will eliminate a ton of ARC traffic
around optionals or casts.
I still need to add support for eliminating copies that forward through br args.
That will be in forthcoming commits after I land some changes to the ownership
model so that we can perform that optimization.
rdar://problem/56720436
rdar://problem/56720519

NOTE: Only the second commit is the actual commit for this. The first commit is from: #29600

@swift-ci test

@swift-ci benchmark

@swift-ci test source compatibility

@swift-ci test windows platform

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
7342
10105
+37.6%
0.73x (?)

FlattenListLoop
4265
5483
+28.6%
0.78x (?)

ObjectiveCBridgeStubFromNSDateRef
3850
4280
+11.2%
0.90x (?)

ObjectiveCBridgeFromNSStringForced
2570
2835
+10.3%
0.91x (?)

RemoveWhereMoveInts
36
39
+8.3%
0.92x

Array2D
7520
8112
+7.9%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
402
294
-26.9%
1.37x

DictionaryBridgeToObjC_Access
1100
838
-23.8%
1.31x (?)

LazilyFilteredArrayContains
34200
29500
-13.7%
1.16x

ArrayAppendLazyMap
7210
6300
-12.6%
1.14x

IterateData
1506
1402
-6.9%
1.07x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8875
8731
-1.6%
1.02x

StringComparison.o
38136
37560
-1.5%
1.02x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

DataCreateSmall
2730
3000
+9.9%
0.91x (?)

Array2D
7216
7824
+8.4%
0.92x (?)

ArrayPlusEqualFiveElementCollection
7696
8325
+8.2%
0.92x (?)

RemoveWhereMoveInts
37
40
+8.1%
0.93x

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
402
232
-42.3%
1.73x (?)

DataAccessBytesMedium
103
91
-11.7%
1.13x (?)

ArrayAppendLazyMap
8130
7210
-11.3%
1.13x (?)

Data.hash.Empty
77
71
-7.8%
1.08x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8419
8227
-2.3%
1.02x

StringComparison.o
33856
33136
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
456
328
-28.1%
1.39x (?)

LazilyFilteredArrays2
134300
115000
-14.4%
1.17x (?)

LazilyFilteredArrayContains
1380800
1211900
-12.2%
1.14x (?)

ChainedFilterMap
344016
302247
-12.1%
1.14x (?)

StringUTF16SubstringBuilder
18860
17060
-9.5%
1.11x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToString
50200
45800
-8.8%
1.10x (?)

FatCompactMap
494840
453020
-8.5%
1.09x (?)

ArrayOfGenericPOD2
1432
1320
-7.8%
1.08x (?)

ArrayOfPOD
1119
1035
-7.5%
1.08x (?)

Code size: -swiftlibs

Improvement
OLD
NEW
DELTA
RATIO

libswiftStdlibUnittest.dylib
335872
327680
-2.4%
1.02x

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

RemoveWhereFilterInts
24
27
+12.5%
0.89x (?)

DataCreateEmptyArray
1350
1500
+11.1%
0.90x (?)

RemoveWhereSwapInts
37
41
+10.8%
0.90x (?)

RemoveWhereMoveInts
19
21
+10.5%
0.90x (?)

RandomShuffleLCG2
464
512
+10.3%
0.91x (?)

MapReduceAnyCollection
220
241
+9.5%
0.91x (?)

ArraySetElement
283
305
+7.8%
0.93x

MapReduce
223
240
+7.6%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
250
142
-43.2%
1.76x

IterateData
967
833
-13.9%
1.16x

UTF8Decode_InitFromData_ascii
182
165
-9.3%
1.10x (?)

LazilyFilteredArrayContains
19400
17600
-9.3%
1.10x (?)

ArrayInClass
1045
955
-8.6%
1.09x (?)

DistinctClassFieldAccesses
195
179
-8.2%
1.09x (?)

UTF8Decode_InitFromBytes
143
132
-7.7%
1.08x (?)

ArrayAppendLazyMap
3880
3590
-7.5%
1.08x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8875
8731
-1.6%
1.02x

StringComparison.o
38136
37560
-1.5%
1.02x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

Array2D
3744
4192
+12.0%
0.89x (?)

ArrayPlusEqualFiveElementCollection
4366
4847
+11.0%
0.90x (?)

MapReduceAnyCollection
238
260
+9.2%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
222
102
-54.1%
2.18x

DistinctClassFieldAccesses
209
180
-13.9%
1.16x (?)

StringToDataEmpty
500
450
-10.0%
1.11x (?)

Data.init.Sequence.64kB.Count.RE
55
50
-9.1%
1.10x (?)

ArrayAppendLazyMap
4520
4170
-7.7%
1.08x (?)

SubstringEqualString
244
226
-7.4%
1.08x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8419
8227
-2.3%
1.02x

StringComparison.o
33856
33136
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubFromNSDateRef
2840
3060
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

DataCopyBytesMedium
286
162
-43.4%
1.77x

DataCopyBytesSmall
130
115
-11.5%
1.13x (?)

ExclusivityIndependent
48
44
-8.3%
1.09x (?)

ExclusivityGlobal
115
106
-7.8%
1.08x (?)

ArrayInClass
2535
2365
-6.7%
1.07x (?)

Code size: -swiftlibs

Improvement
OLD
NEW
DELTA
RATIO

libswiftStdlibUnittest.dylib
335872
327680
-2.4%
1.02x

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

I am curious if workarounds in the stdlib or the lack of the inout opt from #29480 are making this less effective on the benchmarks. I am going to finish up that other piece of work and then loop back.

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
3749
4900
+30.7%
0.77x (?)

RemoveWhereMoveInts
17
21
+23.5%
0.81x

RandomShuffleLCG2
416
512
+23.1%
0.81x

ArrayPlusEqualFiveElementCollection
4292
5254
+22.4%
0.82x

MapReduce
203
241
+18.7%
0.84x

Array2D
3744
4400
+17.5%
0.85x

RemoveWhereSwapInts
35
41
+17.1%
0.85x

ArraySetElement
262
305
+16.4%
0.86x (?)

MapReduceAnyCollection
207
238
+15.0%
0.87x

PrefixWhileAnySeqCntRange
187
215
+15.0%
0.87x (?)

DataCreateEmptyArray
1350
1550
+14.8%
0.87x (?)

DropLastSequence
298
342
+14.8%
0.87x

PrefixWhileSequence
187
214
+14.4%
0.87x (?)

PrefixWhileAnySeqCRangeIter
188
214
+13.8%
0.88x (?)

DropLastSequenceLazy
300
341
+13.7%
0.88x

RemoveWhereFilterInts
23
26
+13.0%
0.88x

ObjectiveCBridgeStubNSDateRefAccess
174
196
+12.6%
0.89x (?)

FlattenListLoop
2785
3024
+8.6%
0.92x (?)

Set.isSubset.Int.Empty
48
52
+8.3%
0.92x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

StringComparison.o
38136
37560
-1.5%
1.02x

FindStringNaive.o
8859
8731
-1.4%
1.01x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
3676
4638
+26.2%
0.79x (?)

ArrayLiteral2
98
115
+17.3%
0.85x (?)

FlattenListLoop
2720
3160
+16.2%
0.86x (?)

Set.subtracting.Empty.Box
7
8
+14.3%
0.88x (?)

RemoveWhereSwapInts
31
35
+12.9%
0.89x

ArrayPlusEqualFiveElementCollection
4366
4847
+11.0%
0.90x (?)

Set.isStrictSubset.Seq.Int.Empty
108
119
+10.2%
0.91x (?)

MapReduceAnyCollection
238
259
+8.8%
0.92x (?)

ArraySetElement
262
283
+8.0%
0.93x (?)

NSStringConversion.Long
493
532
+7.9%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
4520
4170
-7.7%
1.08x (?)

ArrayAppendAscii
11050
12920
+16.9%
0.86x (?)

ArrayAppendUTF16
10982
12750
+16.1%
0.86x (?)

PopFrontArrayGeneric
3080
3460
+12.3%
0.89x (?)

ArrayOfRef
6520
7140
+9.5%
0.91x

ArrayOfGenericRef
6670
7290
+9.3%
0.91x (?)

RangeReplaceableCollectionPlusDefault
4036
4352
+7.8%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayOfGenericPOD2
836
713
-14.7%
1.17x (?)

ArrayInClass
2560
2360
-7.8%
1.08x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Hmmm... I wonder if this is an interaction with PMO.

@swift-ci benchmark

Trying eliminating the early run of semantic arc opts

@swift-ci benchmark

Baring that just working, I am going to dig into the perf.

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

PrefixAnySeqCntRange
32
48
+50.0%
0.67x (?)

FlattenListLoop
3530
4150
+17.6%
0.85x (?)

Array2D
6224
7280
+17.0%
0.85x

RemoveWhereMoveInts
30
35
+16.7%
0.86x

ArrayPlusEqualFiveElementCollection
6919
8066
+16.6%
0.86x

RemoveWhereSwapInts
56
65
+16.1%
0.86x

MapReduceAnyCollection
331
382
+15.4%
0.87x

FlattenListFlatMap
5891
6797
+15.4%
0.87x (?)

MapReduceClass2
33
38
+15.2%
0.87x (?)

RandomShuffleLCG2
640
736
+15.0%
0.87x

MapReduce
334
384
+15.0%
0.87x

DropLastAnySequence
474
533
+12.4%
0.89x

ArraySetElement
411
462
+12.4%
0.89x

CharacterLiteralsLarge
87
97
+11.5%
0.90x

PrefixWhileSequence
296
330
+11.5%
0.90x

DropLastSequence
483
537
+11.2%
0.90x (?)

DropLastSequenceLazy
483
536
+11.0%
0.90x (?)

PrefixWhileAnySeqCRangeIter
295
327
+10.8%
0.90x (?)

PrefixWhileAnySeqCntRange
295
327
+10.8%
0.90x

DictionaryBridgeToObjC_Access
818
906
+10.8%
0.90x (?)

RemoveWhereFilterInts
39
43
+10.3%
0.91x

SuffixSequence
442
486
+10.0%
0.91x

SuffixSequenceLazy
442
486
+10.0%
0.91x

MapReduceSequence
534
585
+9.6%
0.91x

ObjectiveCBridgeFromNSArrayAnyObjectToStringForced
38600
42000
+8.8%
0.92x (?)

ObjectiveCBridgeStubNSDateRefAccess
333
359
+7.8%
0.93x (?)

RangeAssignment
299
322
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

MapReduceNSDecimalNumber
261
105
-59.8%
2.49x

MapReduceNSDecimalNumberShort
411
253
-38.4%
1.62x

Set.isSubset.Seq.Box0
1330
1034
-22.3%
1.29x

Set.isSubset.Seq.Box25
1466
1168
-20.3%
1.26x

Set.intersection.Seq.Box0
388
326
-16.0%
1.19x

Set.intersection.Seq.Box25
507
442
-12.8%
1.15x

ArrayAppendLazyMap
6450
5630
-12.7%
1.15x

LazilyFilteredArrayContains
30300
26500
-12.5%
1.14x

ObjectiveCBridgeStubToNSDate2
1380
1240
-10.1%
1.11x (?)

StringEnumRawValueInitialization
580
540
-6.9%
1.07x (?)

RemoveWhereSwapInts
51
56
+9.8%
0.91x (?)

RemoveWhereMoveInts
33
36
+9.1%
0.92x

FlattenListLoop
3581
3896
+8.8%
0.92x (?)

Array2D
6480
7008
+8.1%
0.92x (?)

ArrayPlusEqualFiveElementCollection
6845
7400
+8.1%
0.93x

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
7270
6450
-11.3%
1.13x

StringToDataEmpty
700
650
-7.1%
1.08x (?)

Set.subtracting.Empty.Box
14
13
-7.1%
1.08x

Code size: -Osize

Regression
OLD
NEW
DELTA
RATIO

ArraySetElement.o
1212
1227
+1.2%
0.99x

Sim2DArray.o
1244
1259
+1.2%
0.99x

COWArrayGuaranteedParameterOverhead.o
1319
1334
+1.1%
0.99x

Improvement
OLD
NEW
DELTA
RATIO

StringComparison.o
33856
33136
-2.1%
1.02x

FindStringNaive.o
8403
8227
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

PopFrontArray
2680
3180
+18.7%
0.84x

Hanoi
17100
19450
+13.7%
0.88x

FloatingPointPrinting_Double_description_uniform
31700
35800
+12.9%
0.89x (?)

ArrayAppendAscii
16660
18734
+12.4%
0.89x (?)

ArrayAppendLatin1
16728
18802
+12.4%
0.89x (?)

ArrayAppendUTF16
16660
18700
+12.2%
0.89x (?)

ArrayOfGenericRef
7850
8630
+9.9%
0.91x

ArrayOfRef
7760
8510
+9.7%
0.91x (?)

FatCompactMap
372690
404960
+8.7%
0.92x (?)

PopFrontArrayGeneric
4880
5300
+8.6%
0.92x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

PrefixAnySeqCRangeIter
36
53
+47.2%
0.68x (?)

Array2D
6944
8112
+16.8%
0.86x

RemoveWhereSwapInts
62
72
+16.1%
0.86x

RandomShuffleLCG2
704
816
+15.9%
0.86x

MapReduceAnyCollection
369
426
+15.4%
0.87x

MapReduce
372
428
+15.1%
0.87x

RemoveWhereMoveInts
34
39
+14.7%
0.87x

RemoveWhereFilterInts
43
49
+14.0%
0.88x (?)

MapReduceClass2
37
42
+13.5%
0.88x

ArraySetElement
458
515
+12.4%
0.89x

DropLastAnySequence
528
591
+11.9%
0.89x (?)

CharacterLiteralsLarge
97
108
+11.3%
0.90x

PrefixWhileAnySeqCRangeIter
329
365
+10.9%
0.90x

PrefixWhileAnySeqCntRange
329
365
+10.9%
0.90x

DropLastSequence
539
597
+10.8%
0.90x

DropLastSequenceLazy
539
596
+10.6%
0.90x

SuffixSequence
493
541
+9.7%
0.91x

SuffixSequenceLazy
493
541
+9.7%
0.91x (?)

ObjectiveCBridgeStubNSDateRefAccess
371
400
+7.8%
0.93x (?)

NSStringConversion.MutableCopy.Rebridge.Long
922
1013
+9.9%
0.91x (?)

RemoveWhereSwapInts
57
62
+8.8%
0.92x (?)

RandomShuffleLCG2
736
800
+8.7%
0.92x (?)

Array2D
7216
7824
+8.4%
0.92x (?)

ArrayPlusEqualFiveElementCollection
7696
8325
+8.2%
0.92x (?)

RemoveWhereMoveInts
37
40
+8.1%
0.93x (?)

ObjectiveCBridgeFromNSArrayAnyObjectToStringForced
42200
45600
+8.1%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
8130
7220
-11.2%
1.13x (?)

FloatingPointPrinting_Float_description_small
5832
5400
-7.4%
1.08x (?)

Code size: -Osize

Regression
OLD
NEW
DELTA
RATIO

ArraySetElement.o
1212
1227
+1.2%
0.99x

Sim2DArray.o
1244
1259
+1.2%
0.99x

COWArrayGuaranteedParameterOverhead.o
1319
1334
+1.1%
0.99x

Improvement
OLD
NEW
DELTA
RATIO

StringComparison.o
33856
33136
-2.1%
1.02x

FindStringNaive.o
8403
8227
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

PopFrontArray
2980
3540
+18.8%
0.84x (?)

Hanoi
19070
21710
+13.8%
0.88x

ArrayAppendAscii
18632
20944
+12.4%
0.89x (?)

ArrayAppendLatin1
18700
21012
+12.4%
0.89x (?)

ArrayAppendUTF16
18598
20876
+12.2%
0.89x (?)

StringUTF16SubstringBuilder
16880
18670
+10.6%
0.90x (?)

ArrayOfGenericRef
8750
9630
+10.1%
0.91x

ArrayOfRef
8660
9490
+9.6%
0.91x

PopFrontArrayGeneric
5440
5900
+8.5%
0.92x (?)

FatCompactMap
418640
453500
+8.3%
0.92x (?)

RomanNumbers2
10237
11029
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

DictionaryBridgeToObjC_Access
1193
1065
-10.7%
1.12x (?)

DictionaryKeysContainsCocoa
48
44
-8.3%
1.09x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Out of curiosity, I am going to rebase now that I landed the first patch and see if we get the same benchmark results.

@swift-ci benchmark

@swift-ci benchmark

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

Set.isSuperset.Seq.Empty.Int
46
53
+15.2%
0.87x (?)

Set.subtracting.Empty.Box
7
8
+14.3%
0.88x (?)

Set.isDisjoint.Seq.Box.Empty
80
91
+13.7%
0.88x (?)

DataCreateSmallArray
2000
2200
+10.0%
0.91x (?)

Set.isSubset.Seq.Int.Empty
109
119
+9.2%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

LazilyFilteredArrayContains
18500
16700
-9.7%
1.11x (?)

ArrayAppendLazyMap
3880
3590
-7.5%
1.08x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8859
8715
-1.6%
1.02x

StringComparison.o
38136
37560
-1.5%
1.02x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

Set.subtracting.Empty.Box
7
8
+14.3%
0.88x

Set.isDisjoint.Seq.Box.Empty
79
88
+11.4%
0.90x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
4520
4170
-7.7%
1.08x (?)

ArrayInClass
915
850
-7.1%
1.08x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8403
8211
-2.3%
1.02x

StringComparison.o
33856
33136
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

Set.subtracting.Empty.Box
7
8
+14.3%
0.88x (?)

Set.isDisjoint.Seq.Box.Empty
80
91
+13.7%
0.88x (?)

Set.isSuperset.Seq.Empty.Int
46
51
+10.9%
0.90x (?)

Set.isSubset.Seq.Int.Empty
109
119
+9.2%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

LazilyFilteredArrayContains
18500
16700
-9.7%
1.11x (?)

ArrayAppendLazyMap
3880
3590
-7.5%
1.08x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8859
8715
-1.6%
1.02x

StringComparison.o
38136
37560
-1.5%
1.02x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

Set.subtracting.Empty.Box
7
8
+14.3%
0.88x

Set.isDisjoint.Seq.Box.Empty
78
88
+12.8%
0.89x (?)

FlattenListLoop
2821
3166
+12.2%
0.89x (?)

Improvement
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
4298
3508
-18.4%
1.23x (?)

UTF8Decode_InitFromBytes
141
130
-7.8%
1.08x (?)

ArrayAppendLazyMap
4520
4170
-7.7%
1.08x (?)

ArrayInClass
915
850
-7.1%
1.08x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8403
8211
-2.3%
1.02x

StringComparison.o
33856
33136
-2.1%
1.02x

RGBHistogram.o
20384
20176
-1.0%
1.01x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

ArrayOfPOD
646
721
+11.6%
0.90x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Can one of the admins verify this patch?

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ClassArrayGetter2
50
60
+20.0%
0.83x (?)

PrefixAnySeqCntRangeLazy
16
19
+18.7%
0.84x (?)

RemoveWhereSwapInts
34
40
+17.6%
0.85x (?)

NSStringConversion.Long
489
572
+17.0%
0.85x (?)

Array2D
3712
4272
+15.1%
0.87x (?)

ArrayInClass
835
960
+15.0%
0.87x (?)

ArrayPlusEqualFiveElementCollection
4329
4921
+13.7%
0.88x (?)

NSStringConversion.Medium
235
262
+11.5%
0.90x (?)

UTF8Decode_InitDecoding
108
118
+9.3%
0.92x (?)

PrefixWhileAnySeqCRangeIter
188
205
+9.0%
0.92x (?)

PrefixWhileAnySeqCntRange
188
205
+9.0%
0.92x (?)

SuffixSequence
239
260
+8.8%
0.92x (?)

SuffixSequenceLazy
235
254
+8.1%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

DistinctClassFieldAccesses
202
182
-9.9%
1.11x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
9387
9203
-2.0%
1.02x

StringComparison.o
40632
40056
-1.4%
1.01x

RGBHistogram.o
21869
21581
-1.3%
1.01x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListLoop
2572
2984
+16.0%
0.86x (?)

NSStringConversion.Long
495
567
+14.5%
0.87x (?)

DistinctClassFieldAccesses
182
201
+10.4%
0.91x (?)

UTF8Decode_InitDecoding
106
117
+10.4%
0.91x (?)

Array2D
4192
4624
+10.3%
0.91x

ArrayPlusEqualFiveElementCollection
4773
5254
+10.1%
0.91x (?)

MapReduce
240
261
+8.7%
0.92x (?)

PrefixWhileSequence
192
208
+8.3%
0.92x (?)

RemoveWhereSwapInts
36
39
+8.3%
0.92x (?)

MapReduceAnyCollection
260
281
+8.1%
0.93x (?)

Set.isSubset.Seq.Int.Empty
102
110
+7.8%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
4611
3373
-26.8%
1.37x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8947
8715
-2.6%
1.03x

StringComparison.o
36696
35976
-2.0%
1.02x

RGBHistogram.o
21368
21128
-1.1%
1.01x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

UTF8Decode_InitDecoding
123
140
+13.8%
0.88x

DataSubscriptMedium
56
61
+8.9%
0.92x (?)

Code size: -swiftlibs

Improvement
OLD
NEW
DELTA
RATIO

libswiftNetwork.dylib
159744
155648
-2.6%
1.03x

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

I am fixing this patch up. Interestingly I discovered that we do not eliminate (borrow (owned)) given switch_enum, checked_cast_br, when the owned value's live range completely encloses the whole borrow scope.

@swift-ci benchmark

@swift-ci test

@swift-ci test

@swift-ci benchmark

@swift-ci test

@swift-ci benchmark

@swift-ci test source compatibility

@swift-ci test source compatibility

@swift-ci test source compatibility

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
5630
6450
+14.6%
0.87x

LazilyFilteredArrayContains
28000
32000
+14.3%
0.88x

RemoveWhereSwapInts
53
58
+9.4%
0.91x (?)

MapReduceClass2
35
38
+8.6%
0.92x

ArrayPlusEqualFiveElementCollection
6919
7511
+8.6%
0.92x (?)

MapReduce
333
359
+7.8%
0.93x (?)

MapReduceAnyCollection
331
356
+7.6%
0.93x (?)

FlattenListLoop
4367
4696
+7.5%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

Data.hash.Empty
66
61
-7.6%
1.08x

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
9387
9203
-2.0%
1.02x

StringComparison.o
40632
40056
-1.4%
1.01x

RGBHistogram.o
21869
21581
-1.3%
1.01x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
4262
6397
+50.1%
0.67x (?)

FlattenListLoop
3658
4686
+28.1%
0.78x (?)

ArrayAppendLazyMap
6040
6860
+13.6%
0.88x

Array2D
6240
6752
+8.2%
0.92x (?)

ArrayPlusEqualFiveElementCollection
6956
7511
+8.0%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

Data.hash.Empty
66
61
-7.6%
1.08x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FindStringNaive.o
8947
8715
-2.6%
1.03x

StringComparison.o
36696
35976
-2.0%
1.02x

RGBHistogram.o
21368
21128
-1.1%
1.01x

Performance: -Onone

Improvement
OLD
NEW
DELTA
RATIO

CharacterPropertiesStashed
3010
2150
-28.6%
1.40x (?)

CharacterPropertiesPrecomputed
3750
2940
-21.6%
1.28x

CharacterPropertiesStashedMemo
4120
3370
-18.2%
1.22x (?)

ArrayAppendAscii
20876
17136
-17.9%
1.22x

ArrayAppendUTF16
20876
17136
-17.9%
1.22x (?)

ArrayAppendLatin1
20944
17238
-17.7%
1.21x

CharacterPropertiesFetch
5730
4840
-15.5%
1.18x (?)

CSVParsingAltIndices2
9174
8096
-11.8%
1.13x (?)

ObjectiveCBridgeStubFromNSDateRef
4230
3870
-8.5%
1.09x (?)

ArrayOfPOD
986
912
-7.5%
1.08x (?)

NSStringConversion.Mutable
3077
2874
-6.6%
1.07x (?)

Code size: -swiftlibs

Improvement
OLD
NEW
DELTA
RATIO

libswiftNetwork.dylib
159744
155648
-2.6%
1.03x

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

Build failed
Swift Test OS X Platform
Git Sha - 556e506539705ec415d7029e782def507fac6745


Make push command clearer in usage and help text

Is your feature request related to a problem? Please describe.
The existing push command is a bit confusing with arguments named maybeX and some positionals that are optional.
Describe the solution you'd like
I'd like a more precise and friendly command. As a logged in user I should be able to do:
redocly push awesome-api.yaml --organization AwesomeCorp --name AwesomeApi --version v1.3

The API (API name or file/path to API description) is optional in the first parameter position, and we have this pattern across the other commands too, so I think it's a convention to keep.
The current command uses a "destination", which should be a named parameter rather than positional (since both positionals are optional). We don't use destination anywhere else that I can find, and it's a composite where the docs show the user how to find the API name, and the version, and add the correct punctuation (optionally with the organization as well). I think it's simpler just to ask for the things we actually want and that they know - the API name and desired version.
With no arguments at all, all APIs configured will be pushed to their existing destinations: redocly push
The current branch name is already supported as a parameter --branch but this has no help text to explain it, we should add that. IT would be used like this: redocly push myAwesomeAPI --branch cool-feature-7
The example above uses the organization ID from the configuration file, the API root, name and version as set in the configuration file.
To push a new version of an existing API:  redocly push myAwesomeAPI --version v1.44
Describe alternatives you've considered
Keeping the current setup is an option, but #265 and #1031 indicate that the destination piece is difficult to get right - with separate arguments we can be more specific about what is wrong when a user makes a mistake, and potentially allow people to quote the strings on the command line to accommodate spaces/symbols, which is why I think this suggestion might be easier to use.
Additional context
It's a breaking change - which is OK in beta but let's work hard at writing really good changelogs and error messages (I'm happy to help with this), to help users understand what should be different. We could also consider releasing one version that silently supports the old syntax, to give people a chance to move over, and drop it in a later release.
Remaining questions
What happens if the version isn't specified? Does the tool push to a new version, or the last known one?
How does the upsert parameter fit in with this? The upsert parameter currently has no help text (and the docs assume I know what an upsert is in this context) - so let's fix that! If I push to an existing API version without setting the upsert, would the push fail?
If users need to know their Organization, API name and versions, could we make those available from command line as a quick lookup/listing? I don't think we know how many people have this already in a configuration file.
Are preprocessors applied at this step? Decorators? Linting? Bundling? We have the --skip-decorator but not any of the other skip options, does that seem correct?

What happens if the version isn't specified? Does the tool push to a new version, or the last known one?

We assume the default latest version.

If I push to an existing API version without setting the upsert, would the push fail?

No, it is only needed when a user wants to create a new api from command line. For existing apis upsert changes nothing.

could we make those available from command line as a quick lookup/listing

There're 2 main use cases: CI/CD and push from local machine. In CI/CD this doesn't make much sense since it most likely will be configured once. In the second case a user can simply define org & apis in the config file.

Are preprocessors applied at this step? Decorators? Linting? Bundling?

At push step we bundle the definition. Respectively decorators and preprocessors are applied.

Thanks for all the extra context! Even before we make changes, this helps me to understand how the command should be used.
So does upsert here mean create, so it would add a new entry to the API registry? Or is it more complicated, that means we need to make it this way? It seems like it is needed for insert but not for update.

After today's discussion, there's not much appetite to make big changes to this little-used command. We agreed that a middle ground might be to re-cast the existing command to use parameters rather than optional arguments for branch and the composite destination field, and to update the usage instructions to make the recommended usage clear but not to refactor the arguments for clarity as we provide these to the users in the workflows interface. Old command usage should still be supported.
This also ties in with other confusing CLI design situations, like #1063. The recent change to error when an API isn't supplied may expose a few situations where this syntax is providing surprises.


Table hidden content stops being hidden after table has been resized

Using the table with any functions that hide fields is causing issues when table gets resized due to window changes. When any of the fields on a table are hidden and table gets resided all the hidden content appears again.
Below I have attached jsfiddle example with table that has 4 rows of which 2 are hidden but appear once the windows is resized.
https://jsfiddle.net/ca0rovs3/39/

Hi @MMiknis, that’s because it gets overriden with media-queries that you’ll have to include in your CSS.


Add i18n-tasks gem and configure

What
Add i18n-tasks with config and specs
Since we are using translations we should
test for, at least, no missing keys and unused
keys. keys being normalized and "consistent" interpolation
test has been added too for now.
Checklist
Before you ask people to review this PR:

Tests and linters should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

Does this align with our plan to minimise dependencies?

it is certainly one i would consider important if we are to use translations.

Does this align with our plan to minimise dependencies?

it is certainly one i would consider important if we are to use translations.

If config.i18n.raise_on_missing_translations = true in test and we have appropriate coverage, then we're only really highlighting unused translations —which I wouldn't consider vital (especially in the context of wanting to minimise dependencies)


Use dev feed when app in developer mode

I had some questions about this mission. But I did pr without waiting for an answer.
My questions:
https://github.com/encointer/encointer-wallet-flutter/issues/1229#issuecomment-1564130397
https://github.com/encointer/encointer-wallet-flutter/issues/1229#issuecomment-1564236939

Closes #1229

Some follow-up task for the future: https://github.com/encointer/encointer-wallet-flutter/issues/1242


LUCENE-10382: Allow KnnVectorQuery to operate over a subset of liveDo…

WIP for initial consideration ...

Description
This PR adds a filter to the KnnVectorQuery
Solution
Add a constructor that accepts a query, run the query and collect the bits. Use the bits as filter if present.
Tests
One test so far which runs a vector search with the filter query applied and asserts the results are limited by the filter.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Lucene maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.

We eventually did this, thanks for kicking it off @joel-bernstein, but I think we can close this PR now


FIx json sending to sentinel

Event is not being decoded , therefore when sending the event error 400 is returned , adding decoding makes sure the parsing content is sent as design and ingested  tested on json file read from S3
Required items, please complete
Change(s):

added decding of sent events
added workbook dashboard to support talon ingested data

Reason for Change(s):

Fix ingestion of json files
adding workbook for talon Security

Version Updated:
Testing Completed:

tested on ingesting data with azure work analytics

Checked that the validations are passing and have addressed any issues that are present:

Validation pass other then Icon, please assist

Hi @aviatam, can you please replace text from Azure Sentinel with Microsoft Sentinel to pass the validations. Thanks

@microsoft-github-policy-service agree [company="Talon Security"]

@microsoft-github-policy-service agree company="Talon Security"

hey dear @v-atulyadav , please let me know if you need any additional info
thanks

Hi @aviatam, logo validation fails please check below error message.

@v-atulyadav i don't understand , logo validation is not require check , also the svg seems okay + other svg do not have id in them
i don't see any documentation regarding how to define the guid

@v-atulyadav @v-mchatla i've removed the pic , can you guys please review and approve
much appreciated

Hi @aviatam, as you changed this Python file from individual folder, you need to also change this file in the zip folder. Thanks.

Hi @aviatam, I would also like to request a sample data set, as the workbook query fails, or you can paste screenshots of the working workbook here.

  @v-atulyadav zip file was updated , also please look inside the pr you can see the workbook screenshots are already attached and are part of the requirements for the pull request [image](https://github.com/Azure/Azure-Sentinel/pull/7284/files#diff-932a6c708ab87e5d4db1ff62389dcd4c54e9e311dfcfe12ad22572ac9884d34a)

Hi @aviatam, could you please explain why you deleted init.py from below? I would also appreciate if you could share screenshots of the invocation logs for functionapp if possible.

@v-atulyadav I've removed all Connector-related changes from the PR and updated the title
now the PR includes only workbook resources
apologies for the confusion I've caused
please review and approve


[gui] Rename Also found in to Found in

In the report detail view the same report hash drop down list contains
the actual report too. For this reason we rename the label to Found in.

e2e/output/reportDetail.xml is generated when you run the tests on your machine. These are not in the repository.


Fix issue #352 and homogenize string concatenation across the code

The first commit modifies only 1 line to fix the issue #352.
The second commit homogenizes the __repr__ method using str.format, and also uses format on some other strings and removes unnecessary concatenation.

Looks good, thanks.
Let's add a test to make sure this doesn't happen again. I think the code below can replace test_modelchain.py lines 420-443:
@pytest.mark.parametrize('strategy, strategy_str', [
    ('south_at_latitude_tilt', 'south_at_latitude_tilt'),
    (None, 'None')])  # GitHub issue 352
def test_ModelChain___repr__(system, location, strategy, strategy_str):

    mc = ModelChain(system, location, orientation_strategy=strategy,
                    name='my mc')

    expected = '\n'.join([
        'ModelChain: ',
        '  name: my mc',
        '  orientation_strategy: ' + strategy_str,
        '  clearsky_model: ineichen',
        '  transposition_model: haydavies',
        '  solar_position_method: nrel_numpy',
        '  airmass_model: kastenyoung1989',
        '  dc_model: sapm',
        '  ac_model: snlinverter',
        '  aoi_model: sapm_aoi_loss',
        '  spectral_model: sapm_spectral_loss',
        '  temp_model: sapm_temp',
        '  losses_model: no_extra_losses'
    ])

    assert mc.__repr__() == expected

Please also add a note and your name to the whatsnew file in docs/sphinx/source/whatsnew/v0.4.6.rst

I've updated the pull request with your code and the update of whatsnew/v0.4.6.rst


chore(master): release 0.11.0

:robot: I have created a release beep boop
0.11.0 (2023-05-02)
Features

implement ingest v2 (b25c71f)

Bug Fixes

remove ingest mapping functionality (dce7b8e)

Miscellaneous Chores

deps: update everything (f6b3469)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/indykite/jarvis-sdk-go/releases/tag/v0.11.0 :sunflower:


fix multibyte support

I found a runtime error, "index out of range" with the formula including a multibyte character.
while the function "currentChar" assumes a formula as rune, the function "EOF" assumes it as string.

Codecov Report

Merging #2 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   77.71%   77.71%
=======================================
  Files           1        1
  Lines         332      332
=======================================
  Hits          258      258
  Misses         52       52
  Partials       22       22

Impacted Files
Coverage Δ

efp.go
77.71% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I have added the patch for the function "doubleChar".

Thanks for your PR. Could you squash the commits and refine the commit message, you can copy the description of the PR to the squashed commit in this case.

I squashed my commits and tried to refine the commit message.
If the message is still ugly, please let me know your suggestion.


bluebird dep not installing in 2.5.1 or master

I can't use Zombie as it doesn't include bluebird in the node_modules for this library when sudo npm installed. I copied and pasted the example code (modified to talk to my server) from the readme and I keep getting errors like:
[TypeError: Cannot call method 'add' of undefined]
[TypeError: Cannot call method 'add' of undefined]
[ReferenceError: Promise is not defined]
I am using node version 0.10.35 as zombie builds fail on 0.11.14

If npm is acting weird, delete and try to install again.


Update data-ingestion-time.md

Updating to revised latency numbers + activity logs changes

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

Hi @OlegAnaniev-MSFT - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. We can keep this PR open for review and merge, but would you make future content updates in the private repo? Thank you!

@ktoliver We got Oleg setup on the private repo. I'll go ahead and sign off on this one for now.
#sign-off

Thanks @bwren. Merging in the repo is paused; this PR is in the queue to merge when merging resumes.

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

Resolved the merge conflict


Not fullscreen on iPad

The camera is not in fullscreen when running on iPad

This is due to the Aspect Ratio of the capture session being 16:9.
I have added a videoGravity property which changes the contentMode of the preview view. You should be able to change this to fill the screen of the iPad
Andrew

FYI, if you model your camera after their example code and subclass SwiftyCamViewController, you have to set the videoGravity before you call super.viewDidLoad since that is where the videoGravity variable gets passed in.


Скласти таймлайн

Teenage Years:
Achievements: Developed my first simple flash game, created basic music on FL Studio.
Short Story: Winning a history competition at school and receiving recognition for my skills.
Higher Education:
Kharkiv National University of Internal Affairs (2012-2015): I specialized in the field of law enforcement, acquiring fundamental knowledge in legal aspects and public safety.
Achievements: Recorded his first song in the rap genre.
Short Story: During my time at the university, my friends and I organized a small theatrical performance with comedic situations and improvisations. Our performances at various events always brought laughter and positive emotions to the audience.
Work Experience:
The detective at the National Police of Ukraine in Rivne region (2015-2019):
Short Story: In one case I was investigating, I worked tirelessly to solve a mysterious crime involving the theft of a donation box from a local grocery store. After reviewing CCTV footage and interviewing witnesses, I discovered that the culprit was actually the stall owner who just wanted some free social media advertising.
Current Learning:
IT School GoIT - Full Stack Developer (2022-2023): Studying the full stack of software development technologies at GoIT School to expand my skills and gain practical experience working in a team.
Achievement: During my studies at GoIT School, I successfully completed a complex group project where we developed a web application from scratch.
Short Story: During one of our online lectures at GoIT School, we were discussing a challenging programming concept. Suddenly, my internet connection became unstable, and I was intermittently disconnected from the virtual classroom. Determined not to miss out on the important lesson, I quickly switched to using my mobile data. Just as I thought everything was under control, my cat decided to make an appearance, jumping onto my desk and blocking my webcam. While I struggled to maintain my composure and shoo away the unexpected visitor, my classmates burst into laughter, turning the incident into a lighthearted moment during an otherwise intense session.

test commect


Make HTTP/2 connection and stream windows configurable

#2814  Allowing the window size to be set larger than the protocol default of 64kb is easy and I think I've got that covered. I picked a kestrel default only modestly larger than the protocol default for two reasons:

For maximum interop testing for non-protocol defaults, especially sending that initial window update when the connection is first negotiated.
We don't want it to be too large because it directly correlates to server side buffer sizes.

Allowing the value to be set lower than the protocol default has some challenges and is the reason this is still WIP. I have a commented out test case covering this (SETTINGS_ServerInitialWindowSizeLowerThanDefault). The root of the problem is that the client is allowed to send frames immediately after opening the connection using the default limits. They don't have to wait for the server's settings frame that may lower the limits. This means the server can't enforce a limit lower than the protocol default until it gets a settings ack.
There are ways to deal with this:
A) Do nothing, disallow setting the initial window size to a value lower than the protocol default.
B) Use the lower limit, allow input flow control to go negative so long as it doesn't go past what the protocol default would have been, but leave the pipe limits at the protocol default size. This is almost the same as A in practice, the lower limits are not really enforced.
C) Use the protocol defaults for the window size and pipe buffers until we get a settings ack, then lower them (possibly negative). This would require implementing a settings ack timeout #2901, implementing temporary negative flow control, and optionally re-adjusting the pipe thresholds (not currently possible).
Option C has some value in letting you reduce your limit enforcement, but it's quite complicated. Option A is by far the simplest and easiest for the short term. @shirhatti @halter73 I'll check with you on this tomorrow.
[Edit: clarifications on pipes]

I've gone with option A above, not allowing the window size to be set lower than the protocol default. I have some ideas on how to implement option C, but they are incremental additions and require implementing a few other features that aren't ready yet. I'll file a separate issue for follow up.

@sebastienros window sizes are something we're going to want to experiment with. A) are our defaults performant, and B) do we send updates at a reasonable interval (50%)?


The logs requests have a hardcoded log group

Currently, the log requests in logRequests.js have a hardcoded log group of ecs.
We should remove this and make it configurable

30ad424


Make the bot compatible with several languages

As Akairo has been chosen (#60), I think that the use of i18next. is the best option.


postgresql service will not start due to permission denied on postgresql_puppet_extras.conf

I am running under a umask of 077 so all files are created with minimal permissions.
When we touch the file postgresql_puppet_extras.conf using an exec, we are setting the permissions based on the current runner of the command (root) and permissions based on umask, so in my case 600.  I was then unable to start the service because postgresql did not have access to this file.
In order to fix this issue, I added
file { 'postgresql_puppet_extras.conf':
path  => "$datadir/postgresql_puppet_extras.conf",
owner => $user,
group => $group,
}
after we create the file, but I'm not sure why we aren't using the file type to begin with and instead are touching the file.

Hello! We are doing some house keeping and noticed that this issue has been open for a long time.
We're going to close it but please do raise another issue if the issue still persists. 😄


fix(cast) Create2 init code miscalculation

Following up on https://github.com/foundry-rs/foundry/issues/3510
Fixing the bug, and adding tests.

Okay I guess that I will need some help on the rebase here....

I would just git reset --hard master and git cherry-pick <..> the changes you made from there.

Now should be gud :) Thanks

Can I add a little bump @mattsse ? :smile:


Move to Netlify

I always forget to build for production when I push my code. Let's move to Netlify, which will handle all of that for us automatically.

https://opensource-form.netlify.com/

Could as well build it in GitHub Actions and publish to GitHub Pages

Could as well build it in GitHub Actions and publish to GitHub Pages

Yeah, we discussed that and opted for trying out netlify.

For the moment, using Netlify doesn't require us to build and maintain an action. Plus, Netlify has a lot of great features that Pages doesn't offer, like caching, DNS management, and some interesting (paid) backend tooling.

Just to be clear, I've not actually submitted an application as I was thinking that @DEGoodmanWilson might want to do that.

I submitted an application :D

It was approved, just need to add a link to the maintainerati page…

Awesome. Don't know how we'll do with the login. Will you send us some kind of invite to the org or how does it work?

Yeah, I will create an organization and invite y'all to it.

OK, we're moved to Netlify, just waiting for the open source application to close (we've been approved) so I can add y'all.

Finally done, invites sent! Let me know if you didn't get one.


Revert "MWPW-146129 App Launcher overlaps the menu in Unav in the devices"

Reverts adobecom/milo#2123
Reverting this PR as the changes are getting reflected in the Release PR as well.
These changes can be merged once the Release PR gets merged

Verified in revert PR :
https://main--cc--adobecom.hlx.live/creativecloud?milolibs=revert-2123-unav-mobile


Checksums for configs and Nodeselector, affinity, and tolerations

Hello!
I would like to help with developing this helm chart and added some useful features like:

Checksums in statefulset to recreate container when some configurations are changed
Additional configurations via nodeselector, tolerations, affinity

Silly me, i was in a hurry and put labels on statefulset level. Now its on it right place.

Thanks for the MR @lefes!

Thanks again @lefes for the MR. Aside from the open conversations, please also:

Rebase/pull from master.
Bump the chart version (ex. from 0.7.0 to 0.8.0).

All changes are complete. Hope i've done all right

Thanks @lefes


Confusion about new variable explorer with dataframes

Problem Description
Hi there,
I have been using spyder for a while and have been enjoying the variable explorer to check my data frames.
I quickly started a new environment for a project and I am not able to access a table explorer as it was used to be.
Let me know if I am missing anything as I could not find anything in the documentation
Thanks a lot.

What steps reproduce the problem?
Reproducible code:
import requests
import pandas as pd

r = requests.get('http://corona-api.com/countries/GR')
check = r.json()
check2 = check['data']['timeline']
df = pd.DataFrame(check2)

Versions

Spyder version: 4.1.4
Python version:  3.8.5
Qt version: 5.9.7
PyQt version:  5.9.2
Operating System name/version: mac OS 10.15.6

Hi @lschneidpro,
Which version of pandas do you have installed in your environment? I couldn't reproduce your error with pandas 1.0.5

Please see https://github.com/spyder-ide/spyder/issues/13620 and tell me if you can fix your problem

@lschneidpro, also, please consider to install Pandas in the same environment you have Spyder (in case you haven't). That could be the root cause of this problem.

ok super weird.

I recreated an environment with python 3.6 and spyder 4.1 and it worked.
I recreated an environment (as above) with the latest python, latest spyder, latest pandas and it worked.

I guess the thread can be closed :)


fix empty dataset from_dict

[ ] Closes #xxxx
[x] Tests added / passed
[x] Passes git diff upstream/master **/*py | flake8 --diff
[ ] Fully documented, including whats-new.rst for all changes and api.rst for new API

Not sure if you want an issue or a whats-new entry for a small fix like this.
Also not sure how xarray tends to handle np.array([]). One option that I did not take was to provide ndims to as_compatible_data in some fashion and make sure the result comes back as having shape (0,)*ndim instead of just (0,).

Not sure if you want an issue or a whats-new entry for a small fix like this.

Yes, this would be still be appreciated. Something like "Fix Dataset.from_dict() for size zero inputs" in the bug-fixes section would suffice.

Just doing some garbage-collection; it looks like this was somehow fixed. This works in 0.10.0 and 0.10.3:
>>> ds = xr.Dataset({'a': ('b', [])})
>>> xr.Dataset.equals(ds, xr.Dataset.from_dict(ds.to_dict()))
True


Support for Generic Relations

Hey there,
It would be nice to have a way to support Generic Foreign Keys (https://docs.djangoproject.com/en/1.6/ref/contrib/contenttypes/#generic-relations)
So far I've been able to hack my way into this but it seems to be a LOT of work... Any ideas about where I should start? If I manage to get this to work properly I could submit a PR...
Thanks

Hi @xxinfinityxx, let me stop you right there. There is a very simple rule of thumb regarding generic foreign keys: DON'T
There not really keys and a django construct using content types. That is nice, but creating an acutally search on top of that is almost impossible. You'd need to create a full text index like django watson does django-waton.
I'd recommend you to not waist your time here, but to rethink your db schema und remember that a generic foreign key isn't an actual foreign key.
Even if you'd pull it of to write something, it would be questionable if we would merge such a feature and therefore increase complexity.

Well, my application requires them and believe me, there is no possible fix on the database schema. (I spent the last year making sure of that)
My goal is to provide a specific set of fields and widgets that will allow the use of constrained Generic FKs. (I.e.: only allow relations with specific content types.)
The general opinion on whether or not to use Generic relations is very much 50/50. People say use them if you absolutely need to, but try as much as possible to stay away from them because of the complexity they add. They are not BAD, just more trouble.
I am, for sure, thinking that supporting generic fks would benefit the project so I'll submit a PR with basic tests when done :)

Sure, I don't mind a new feature, but we currently can't develop it. Maintaining what we have is already pretty hard.
Just create a PR when you're done. Until then I'll just close the ticket.
Thanks again for your support, it's very much appreciated.


Updated code for .NET Core v3

Updated with FrameworkReference in example and unit tests
Updated Startup code for example

The example runs now under .NET Core v3 and the unit tests all run successfully.

Hello, thank you for the PR!
I will merge it soon and update the NuGet package.


MH-13098: Add start-workflow WOH

This PR adds the new WOH start-workflow which starts a new workflow for given media package, workflow definition, and workflow properties.
Use case: In combination with #425 we want to automatically run a workflow on a duplicated event.

Thanks for the review, I applied the changes.
Whether this works across tenants, is a good question. Honestly, I don't really know as I have never dealt with multiple tenants. I had a quick look at the asset manager and found AssetManagerWithSecurity. From there it seems to depend on the user that is running the workflow. If it is a global admin then yes, otherwise the Asset Manager query is restricted to the current organization and the media package should not be found.


patrol test command not returning an exit code in gitlab pipeline

Steps to reproduce
I have a basic gitlab job that runs my patrol integration tests. The issue I'm having is the patrol command is not returning an exit code to the pipeline so the pipeline hangs. Here is my gitlab snippet
.run_patrol_tests: &run_patrol_tests
  - patrol test --target integration_test/patrol/tests

In this particular situation the test is failing, which is fine, I would expect the exit code 1 to be passed to the pipeline
 Failed to execute tests of apk with entrypoint test_bundle.dart on emulator-5554 (Gradle test execution failed with code 1) (63.9s)
Exception: Gradle test execution failed with code 1

Actual results
I would expect the patrol command to return the exit code to the parent process so the pipeline can exit accordingly
Patrol version
patrol: ^3.5.0
Patrol Doctor output

Patrol Doctor output
Patrol doctor:
Patrol CLI version: 2.6.4
Android:
• Program adb found in /Users/ddavis/Library/Android/sdk/platform-tools/adb
• Env var $ANDROID_HOME set to /Users/ddavis/Library/Android/sdk
iOS / macOS:
• Program xcodebuild found in /usr/bin/xcodebuild
• Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.5, on macOS 14.3 23D56 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.3.2)
[✓] VS Code (version 1.86.0)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

Hi @daviddavis83. It's possible to get the exit code from running patrol tests on github actions. Take a look at how we run the tests on iOS simulator in our repo. Let me know it this works in your case


Restructure syntax highlighters

Currently, all of the syntax highlighters are in the main source file and they have a lot of duplicated code. Shared functionality (like "double quoted strings", /* comments */, etc.) should be broken out into macros and the syntax files should be separate C sources.
Eventually, I would like to have syntax definitions as a series of matching scripts - possibly regex, but I need a regex compiler upstream in ToaruOS for that...

A new syntax highlighter has been implemented that supports more complex highlighting, and (almost) all of the highlighters have been reimplemented with more modularity. One highlighter we used to have (ToaruOS's shell) is missing, but will be completed eventually. Everything else is there and many are working better than they used to (C has some new comment and preprocessor functionality; Rust can support nested comments; Makefiles now have a lot of improvements).


Blender mesh exporter

First commit of blender exporter.
It is relatively fast thanks to numpy.
Custom props on the objects are stored in the info dictionary, I used the uuid module for generating guid but maybe it can be managed elsewhere ?
Possible improvements :

Support non-mesh objects (curves, text, gpencil, ...)
Support Empty objects ? Is it allowed by dotbim ?
Define objects with linked meshes as using the same mesh id (optimization)
Create an addon for direct access in File > Import and File > Export
What about modifiers ?
Export all objects in the scene rather than all selected objects ?

Further question :

dotbim seems to not support scale, is there a reason ? Simplicity ? It would be easier to write exporters/importers with a 4x4 matrix handler which takes care of loc, rot and scale at once.

I've tried it and it's awesome!

Regarding non-meshes: is there a way in Blender to convert other types of geometries into meshes and export them? Obviously not stuff like curve, which is not possible to convert, but e.g. some surfaces or spheres? I think it's the only thing missing (if there is such option in Blender to convert easily).
Empty you mean element without a mesh? In .bim element = 1 mesh, so if that's what you mean then probably not ;)
Yeah, there is always a place for that, not sure if it's easy to do for Blender ;)
I'm not familiar with Blender addons, but sure, such direct access would be great
Is there a way to get meshes "after" the modifiers? If I understand correctly, right now we get meshes, but without taking modifiers into an account, is it possible to take them though?
I think both ways are ok :)
Yes, scale is not supported. Thing is these 2 things (vector & rotation) are only for reusing of the same mesh multiple times (for optimization purposes) and actually this is what you normally have in AEC, e.g. you have 1 chair and place it in 100 different places with different rotation for each one. So scaling with such reuse of mesh happens really rarely. But you're right with the 4x4 matrix, I mean in many places it would be much easier just to get that matrix for it and use it. Issue was IMO people use these matrices as a black boxes and it's hard to figure out such matrices when you want to debug some boundary cases or test them. E.g. some construct 4x4 matrices that contain not only rotation, position and scaling but some other operation like shear. Also it was a bit easier for me to write importers once I know coordinates will be always in meters, not in any unit + scale in matrix. But it's obviously only opinions, both methods have their own drawbacks :)

Oh, I forgot, if it's OK for you I will add you as an author or you can move it to your repo, and I will link it to your repo there, what's best for you :) Also if you have some example file created, you can also place them somewhere.

Okay thanks for the explanation, it makes sense.
I'll try and add a few improvements to the script.
To continue the discussion :

Actually curves can be converted to meshes when it makes sense. They leverage to_mesh that's available to all object types in Blender. Nurbs surfaces can also be exported as meshes using the same method.
So there is no notion of parenting, right ? Just trying to make the scope of the features very clear :)
It's definitely possible to make objects that share the same data use the same mesh definition. You just have to be cautious about linked objects that have modifiers in blender, because the actual evaluated mesh can be very different from the original mesh. For instance the array modifier in blender doesn't create new objects, it duplicates the whole mesh inside of the mesh data-block.
Yes it is possible to get the mesh after the modifiers are applied, in fact that's the current behaviour of the script with obj.to_mesh
About scale I understand the choice, it is indeed more human readable and prevent weird shearing transforms. Let's roll with it then :)

And sure feel free to add me as author when it makes sense, absolutely no problem.
Stay tuned :)

Oh, that's great it has to_mesh method! Kind of weird that curve can be meshed, I'd have to see how it looks like then :D Regarding parenting: I'm not sure what parenting is, so I guess no, but maybe some sort of an example would help me to get it :) Should I add you with a nickname or there is your name somewhere I could find? Normally when something new is added I post it also on Linkedin, so if you have account there I will add you as well in a post (if you don't mind obviously) :)

Oh you are right, simple curves are only exported as points since dotbim doesn't support standalone edges :) However you can export curves as meshes with a blender feature that lets you bevel it :

I guess parenting is called differently in other softwares, but it's basically associating different objects so that the transforms of the parent object propagates to the children objects. It can be used for instance to make coumpound objects behave as one object, but actually be formed by several entities.
Sure you can add my handle @Gorgious56 and / or my real name which is Nathan Hild. I'd be thrilled to be associated with your communication on linkedin ! My personal page : https://www.linkedin.com/in/nathan-hild/
I've just added a few commits which restructured a bit your original script, I hope it's okay ! But I've added functionality to import and export dotbim files directly from the interface. You just have to package the three .py files in a zip file called dotbim.zip and install it using the addon installer inside the user preferences and it'll add submenu items in the File > Export and File > Import menus :

You can import several files at a time too.
I'll just work a bit on optimizing linked meshes on export / import and add a sample file and I think it should be good to merge,
Cheers :)

Great, let me know when it's ready for tests, I will try it then :) please remember to update file info part for exporter, I don't know if it is anywhere in a Blender file where you can get some basic info about file, if not, then you can e.g. create time stamp there or something, and add to this dictionary :) Do I have to zip all these files to add them as Blender add-on or it's not necessary? I will update the Readme.md later for instructions ;)

AFAIK Blender doesn't store anywhere the name of the author. I could write the name of the file though, or get the OS login with os.getlogin but I don't think it's a good idea since it's not related to the actual file and borderline privacy invasion. However a good compromise I think is to add a textbox in the exporter interface to setup the username.
I'll add the timestamp when the file is created, that shouldn't be too hard with date.today
To be able to install it as an addon you need to put all three files into a folder

named dotbim

and create an archive from this folder. The name of the archive doesn't matter, usually it's a good place to add a version number to the package.

I've added an example addon zip with the current state of the PR to this message  :
dotbim_1_0.zip
Also, there is a way to download and install dotbimpy to the current blender installation folder with a script like this one https://drive.google.com/file/d/15sX4NhY65e25LUDl25GxqmGN9KAK-eWm/view?usp=sharing (it's for scipy but I use it for pretty much every 3rd party module I want installed in the Blender env), do you think it's worth adding to the addon or keep the current workflow of the user manually download it themselves ?

You're totally right with the file info. Sure, if we can make it easier to install needed package, then let's go that way. But do I get this correctly, that someone will still need to manually run such additional script before package installation (instead of current approach)?

It can be done automatically with a few tweaks to the __init__.py file, I think there are 2 options :

Check if the addon can be imported at startup, if not, download and install the package
Add a button in the addon preferences that would automatically download and install the package when clicked. This has the advantage of not forcing anything on the user. Also the interface hangs for a bit when a package is downloaded with a script in Blender so it can be a bit frustrating when enabling an addon. Anyways maybe we should wait for someone to complain about current workflow before adding this feature :) Your call !

I added a sample file with a few duplicated suzannes, I think that's a hallmark of Blender so that should be a nice sample file to showcase :)
In any case the PR is ready for merging if you're okay with it. If not do tell me what changes you would like to see.
BTW here's how the exporter looks :

In the top right you can choose between exporting selected objects or all scene objects. And there is an input field for author name.
Cheers !

Ok @Gorgious56, I checked it out, it is amazing, I merged it already and updated readme (please check out if I got everything right there). I updated also main repo + website (dotbim.net) with Suzanne model displayed ;) I will post on Linkedin about it soon!
I think the only thing to hotfix is the Type, as right now Type for export is always a "Structure", but it probably should be the name taken from here:

So e.g. here elements would be Type = "IfcBeam". For import it works like this, but for export it probably should be like this.
Also in one model I got this during import:

I believe that for that specific model for some reason somewhere in dictionary there was long string probably, if Blender doesn't accept such long info, then either we leave it alone with such error or we cut it to 63 characters. Normally it shouldn't be that long though, it is some sort of an exception.
Thank you for all! It is great tool, really!

Done and Done ! :)
Happy to help, don't hesitate to ping if / when you see something come up.
Cheers !


Deny to delete the harvester-longhorn sc

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:

The harvester-longhorn SC can be deleted.
Solution:

Allow to use annotation harvesterhci.io/is-reserved-storageclass: "true" to protect any SC
Add annotation harvesterhci.io/is-reserved-storageclass: "true" to harvester chart to protect the default harvester-longhorn SC.
For legacy harvester-longhorn SC, protect it as well when there is no harvesterhci.io/is-reserved-storageclass: "true" annotation.

Related Issue:
https://github.com/harvester/harvester/issues/6678
Test plan:

Create a new SC and set it as default
Delete the harvester-longhorn SC, which should be blocked by webhook.

Create a new SC, and add annotation harvesterhci.io/is-reserved-storageclass: "true" manually, the SC can't be deleted.

$kubectl get storageclass test -oyaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    harvesterhci.io/is-reserved-storageclass: "true"  // add this manually
  creationTimestamp: "2024-10-01T09:13:09Z"
  name: test
  resourceVersion: "111649"
  uid: 4cd9771f-a6d2-4734-8cad-11663c171994
parameters:
  dataEngine: v1
  encrypted: "false"
  migratable: "true"
  numberOfReplicas: "1"
  staleReplicaTimeout: "30"
provisioner: driver.longhorn.io
reclaimPolicy: Delete
volumeBindingMode: Immediate

@mergify backport v1.4, v1.3

@bk201
I did a test, in the upgrade path, the managedchart/helm will patch the newly added annotation automatically, and which will help the webhook to deny the deletion.
harv21:/home/rancher # kubectl get storageclass harvester-longhorn -oyaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    meta.helm.sh/release-name: harvester
    meta.helm.sh/release-namespace: harvester-system
    objectset.rio.cattle.io/id: default-mcc-harvester-cattle-fleet-local-system
    storageclass.kubernetes.io/is-default-class: "true"
  creationTimestamp: "2024-09-23T12:23:32Z"
  labels:
    app.kubernetes.io/managed-by: Helm
    objectset.rio.cattle.io/hash: e852fa897f5eae59a44b4bfe186aad80b10b94b3
  name: harvester-longhorn
  resourceVersion: "3334"
  uid: 142208dc-1efa-4985-b52a-21c4e58492b5
...

harv21:/home/rancher # kubectl get storageclass harvester-longhorn -oyaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    harvesterhci.io/is-reserved-storageclass: "true"  // after upgrade, auto added
    meta.helm.sh/release-name: harvester
    meta.helm.sh/release-namespace: harvester-system
    objectset.rio.cattle.io/id: default-mcc-harvester-cattle-fleet-local-system
    storageclass.kubernetes.io/is-default-class: "true"
  creationTimestamp: "2024-09-23T12:23:32Z"
  labels:
    app.kubernetes.io/managed-by: Helm
    objectset.rio.cattle.io/hash: e852fa897f5eae59a44b4bfe186aad80b10b94b3
  name: harvester-longhorn
  resourceVersion: "33566"
  uid: 142208dc-1efa-4985-b52a-21c4e58492b5
...


fix milliseconds truncation in timezone function

Resolves https://github.com/crate/crate/issues/12063
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

retest this please


fix(infrastructure): condense webpack configuration build step into one json file

The change to ts-loader increased the amount of memory the webpack config needed. Changing the webpack config to use the multiple entries pattern allows webpack to perform a lot faster.

Codecov Report

Merging #571 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #571      +/-   ##
==========================================
- Coverage   96.63%   96.62%   -0.02%
==========================================
  Files          59       59
  Lines        1990     1984       -6
  Branches      241      235       -6
==========================================
- Hits         1923     1917       -6
  Misses         67       67

Impacted Files
Coverage Δ

packages/top-app-bar/index.js
100% <ø> (ø)
:arrow_up:

packages/list/index.js
89.09% <100%> (ø)
:arrow_up:

packages/checkbox/index.js
89.65% <0%> (-0.18%)
:arrow_down:

packages/radio/index.js
100% <0%> (ø)
:arrow_up:

packages/text-field/helper-text/index.js
100% <0%> (ø)
:arrow_up:

packages/text-field/index.js
100% <0%> (ø)
:arrow_up:

packages/text-field/icon/index.js
100% <0%> (ø)
:arrow_up:

packages/select/index.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Swapchain Parameter Fallbacks

Right now if you claim a window or set the swapchain parameters to use an unsupported SwapchainComposition or PresentMode, bad things will happen. The window fails to create, or destroys itself, or logs validation errors.
We should handle this scenario gracefully by checking the supported compositions and present modes and fall back to something reasonable if the requested parameters are not supported by the driver (e.g. Immediate -> Mailbox -> Vsync).
This is easy enough for present modes, but I don't know enough about colorspaces to determine if there is a "safe" fallback order for compositions.

After discussion we decided that a fallback does not make sense because the swapchain composition and present mode materially affect the renderer.


Reenable forked mainnet

Closes #???
Description
This PR reenables forked network support and updates it to use Access nodes as the archive backend

For contributor use:

[ ] Targeted PR against master branch
[x] Linked to GitHub issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the GitHub PR explorer
[x] Added appropriate labels

Once merged, can you please also port this to master?

Re: target branch: Could you please sync with #566 and #564 so all PRs go into the same "pre-C1.0" branch and we do not end up with multiple different ones?

@peterargue There are several such "pre-Cadence 1.0" branches now, e.g. see https://github.com/onflow/flow-emulator/pull/566#issuecomment-1937801361 and https://github.com/onflow/flow-emulator/pull/564#issuecomment-1937863473.
I'm not saying that pre-cadence-1.0 isn't it, all I'm trying to avoid is that there are several such branches that get out of sync.

I would need to use a pre-cadence-1.0 branch and I was thinking of using this one: https://github.com/onflow/flow-emulator/tree/tarak/v0.58.1-0-with-crypto-type-fixes (that's the one used by flow-go master)
However, if these two serve the same purpose, can we consolidate them into one? @peterargue

@peterargue, @tarakby,  @chasefleming, I want to sync with you about what the appropriate target branch we should use for continuing releases before reaching version 1.0.0.
I need to extend the flow-emulator according to my flow-go PR (https://github.com/onflow/flow-go/pull/5307), and I find myself uncertain which target branch should use:  release/v0 ,  tarak/v0.58.1-0-with-crypto-type-fixes or pre-cadence-1.0?
I have observed that the release/v0 branch lacks the necessary upgrades related to the crypto package, which are already incorporated into the tarak/v0.58.1-0-with-crypto-type-fixes branch.

I recreated a new PR https://github.com/onflow/flow-emulator/pull/594 that targets the release/v0 branch


Enhancement of Logo and Addition of Copyright Tag #1364

Enhancement of Logo and Addition of Copyright Tag Under the Privacy Notice and Copyright Policy
Title and Issue number
Title : Enhancement of Logo and Addition of Copyright Tag
Issue No. : #1364
Tech Stack :
Close #<issue_no>

Type of PR

[x] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Add WEB3 project
[ ] Other (specify): _______________

Video (mandatory)

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have gone through the  contributing.md file before contributing
[x] I have Starred the Repository.

Checklist:(In case of Adding New WEB3 project only)

[x] I have made my Commits(of new project) under the  Projects folder
[x] I have created a helpful and easy to understand README.md
[x] i have added the image of my project under asstes/img folder

Additional context (Mandatory )
Are you contributing under any Open-source programme?

[x] I'm a GSSOC'24 extended contributor
[ ] I'm a Winter of Blockchain(WOB'24) contributor
[x] I'm a Hactoberfest'24 contributor

@apu52  I have updated the logo and add the copyright tag. Please have a look and let me know if anything else is needed. I kindly request you to merge the PR.

@KRISHkg31 your contribution has helped a lot to the project , Actually Want to request u one thing just try not to submit any type of PR until & unless u get assigned to any type of issues , please go through the rules mentioned in the CONTRIBUTING.md file


SciterEventHandler destructor

Hi @ramon-mendes
I have issues with the destructor of this class SciterEventHandler. For my understanding, the code below is asserting that SciterSharp is keeping a copy of all attached instances to guard from GC removal?
In my case when the destructor is called _attached_handlers has the instances but the assert is triggered. In that case, should I detach the instances before closing the app? I did it and it is triggering the assertion anyways.
#if DEBUG
		private volatile bool _is_attached = false;
		~SciterEventHandler() { Debug.Assert(!_attached_handlers.Contains(this)); Debug.Assert(_is_attached == false); }
#endif

Thanks in advance

You don't need to dettach SciterEventHandler() manuallly. Normally it should occur naturally when Sciter engine destroys the DOM element and ends calling: https://github.com/ramon-mendes/SciterSharp/blob/master/SciterSharp/SciterEventHandler.cs#L158
If it is not occurring, you are probably not destroying the Sciter window before app ends.
So, if that Debug.Assert() is triggering, something wrong is occurring in your app because the attached SciterEventHandler must, at sometime, be dettached when the corresponding DOM element is destroyed (which must occur in the app lifetime).

What is the command to distroy sciter window?
Thanks!
On Tue, Mar 26, 2019, 9:09 AM ramon-mendes<EMAIL_ADDRESS>wrote:

You don't need to dettach SciterEventHandler() manuallly. Normally it
should occur naturally when Sciter engine destroys the DOM element and ends
calling:
https://github.com/ramon-mendes/SciterSharp/blob/master/SciterSharp/SciterEventHandler.cs#L158
If it is not occurring, you are probably not destroying the Sciter window
before app ends.
So, if that Debug.Assert() is triggering, something wrong is occurring in
your app because the attached SciterEventHandler must, at sometime, be
dettached when the corresponding DOM element is destroyed (which must occur
in the app lifetime).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ramon-mendes/SciterSharp/issues/3#issuecomment-476622517,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Afq82fR2_PN0crK56mdMbq1JYJR1AQmzks5vahwCgaJpZM4cLO9N
.

Close() generates WM_CLOSE message. See: https://docs.microsoft.com/en-us/windows/desktop/winmsg/wm-close

By default, the DefWindowProc function calls the DestroyWindow function to destroy the window.

Destroy() does destroys the window.

Let me know if you have more doubts..


Post Login not persist session

I try login on site, I got success but on access the protected page I dont have access to protected content.

Any?


fix: MD030/list-marker-space

Remove space after indented ordered lists

Almost 300 files! Going to need some time to review. In future, might be worth splitting into separate PRs, maybe by platform (xamarin/ios, xamarin/android, xamarin/xamarin-forms, etc).

It was mostly find/replace. I can try and split it by area if you want

No no, this PR is fine.  GitHub's new "Viewed" tracking makes it a LOT easier with large PRs, but in general smaller chunks are preferred. Either way appreciate your contributions!

replaced by rebase on https://github.com/MicrosoftDocs/xamarin-docs/pull/2026


Add withParametersAssignableFrom

Add withParametersAssignableFrom which finds methods with parameters matching a class and any of its subclasses
(Something like as https://github.com/ronmamo/reflections/pull/101 , but is this pull request has been fixed the name of the method)

Nice, thank you @alinkov !


Hot Module Replacement (HMR) no longer working for checkout_ui_extension .js[x] files

Please list the package(s) involved in the issue, and include the version you are using
@shopify/checkout-ui-extensions-react: v0.18.1
Describe the bug
Hot Module Replacement (HMR) in the developer tooling when working with checkout_ui_extension appears to have stopped working. Changes to .jsx files no longer seem to be monitored, and testing code changes now require a full reload.
Steps to reproduce the behavior:

Open a Checkout UI extension project
Run dev to test the local development code via ngrok (e.g. dev store w/ checkout extensibility developer preview)
Confirm component is visible / rendered on the page
Make an edit to the .jsx (or .js) component source code
Notice how dev tail log for extensions debug does not catch / monitor the change, changes are not reflected in the browser
Manually reload the browser and you will start seeing the changes (not via HMR)

Expected behavior
Making a change to .jsx (or .js) Checkout UI extension files in the project should be monitored / caught, and trigger HMR. e.g. re-render modified components without a full page reload
Expected log:

extensions | extension-name (Build succeeded)

Expected dev UX:
HMR triggers, replacing impacted component(s). No full reload required.
Additional context
Perhaps related to new locales watcher? Making a change to [locale].json is correctly caught and extension is re-rendered! However, changes to .jsx files used to have the same behavior but no longer trigger HMR.

extensions | Watcher added for: extensions/extension-name/locales

Hi @vividviolet -- This is the same issue as the CLI one, right? https://github.com/Shopify/cli/issues/345

@kumar303 Yes, it looks to be the same bug


Fix: Disconnect event

Disconnect event needs to be implemented properly.

@MahirMahdi wanna work on it ? I haven't check it out but ig we need to add it to delete that socket id


[critical path] add basic edge attribution to events

What does this PR do?
Adding the ability to attribute an edge in the critical path graph to events. For kernels this is simple,
but for nested operators on CPU we follow an approach outlined in the code.

Adds a function 'get_event_attribution_for_edge()' as a quick helper to look up the result.
Update unit tests to check new invariant and previous attirbution

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos, doc improvements)

[x] N/A

[x] Did you write any new necessary tests?

[ ] N/A

[ ] Did you make sure to update the docs?

[x] N/A

[x] Did you update the changelog?

[ ] N/A

Test plan
Test Plan:
Updated unit test
pip install -e .; python3 -m unittest -v tests.test_critical_path_analysis.CriticalPathAnalysisTestCase
Use prints below to validate results
=Op depth = 0 last_node=None
=Entering node aten::conv2d, id = 279.0
=Op depth = 1 last_node=CPNode(event: 279.0, node_id=2, ts=40898643, is_start=True)
==Entering node aten::convolution, id = 280.0
Attributing edge between nodes 2 -> 4 to event id = 279.0, event_name = aten::conv2d

When entering the stack we correctly attribute it to the left side or src event like conv2d here
==Op depth = 2 last_node=CPNode(event: 280.0, node_id=4, ts=40898656, is_start=True)
===Entering node aten::_convolution, id = 281.0
Attributing edge between nodes 4 -> 6 to event id = 280.0, event_name = aten::convolution
===Op depth = 3 last_node=CPNode(event: 281.0, node_id=6, ts=40898691, is_start=True)
====Entering node aten::cudnn_convolution, id = 282.0
Attributing edge between nodes 6 -> 8 to event id = 281.0, event_name = aten::_convolution
====Op depth = 4 last_node=CPNode(event: 282.0, node_id=8, ts=40898741, is_start=True)
=====Entering node cudaStreamIsCapturing, id = 979.0
Attributing edge between nodes 8 -> 10 to event id = 282.0, event_name = aten::cudnn_convolution

Same as above
=====Op depth = 5 last_node=CPNode(event: 979.0, node_id=10, ts=40898766, is_start=True)
=====Exiting node cudaStreamIsCapturing, id = 979.0
Attributing edge between nodes 10 -> 11 to event id = 979.0, event_name = cudaStreamIsCapturing

Correctly attributing the leaf level operator cudaStreamIsCapturing.
=====Op depth = 4 last_node=CPNode(event: 979.0, node_id=11, ts=40898770.0, is_start=False)
=====Entering node cudaMalloc, id = 981.0
Attributing edge between nodes 11 -> 12 to event id = 282.0, event_name = aten::cudnn_convolution

The above edge is embedded within parent operator as it connects end of one nested op (cudaStreamIsCapturing) to the start of another nested op (cudaMalloc). The algorithm is correctly attributing it to the parent op 'cudnn_convolution'.
Lastly we can see the attribution being correct for unwinding of the stack
====Exiting node aten::add_, id = 285.0
Attributing edge between nodes 31 -> 29 to event id = 285.0, event_name = aten::add_
====Op depth = 3 last_node=CPNode(event: 285.0, node_id=29, ts=40915867.0, is_start=False)
===Exiting node aten::_convolution, id = 281.0
Attributing edge between nodes 29 -> 7 to event id = 281.0, event_name = aten::_convolution
===Op depth = 2 last_node=CPNode(event: 281.0, node_id=7, ts=40915891.0, is_start=False)
==Exiting node aten::convolution, id = 280.0
Attributing edge between nodes 7 -> 5 to event id = 280.0, event_name = aten::convolution
==Op depth = 1 last_node=CPNode(event: 280.0, node_id=5, ts=40916099.0, is_start=False)
=Exiting node aten::conv2d, id = 279.0
Attributing edge between nodes 5 -> 3 to event id = 279.0, event_name = aten::conv2d

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (6e95ece) 90.14% compared to head (1d18d26) 90.19%.

Files
Patch %
Lines

hta/analyzers/critical_path_analysis.py
96.29%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #94      +/-   ##
==========================================
+ Coverage   90.14%   90.19%   +0.04%
==========================================
  Files          43       43
  Lines        3725     3754      +29
==========================================
+ Hits         3358     3386      +28
- Misses        367      368       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Drag and Drop the same image  multiple times generates Vue Duplicate Key warning

The duplicate key warning is triggered in the console when draging and dropping the same image file in two or more separate drag-drop operations.
The attached log file contains the full stack trace.
vue.runtime.esm.js:619 [Vue warn]: Duplicate keys detected: 'Screen Shot 2022-02-07 at 10.38.15 AM.png'. This may cause an update error.

found in

---> <TestUpload> at src/components/test/upload.vue
       <VCard>
         <Src/pages/index.vue> at src/pages/index.vue
           <Nuxt>
             <VMain>
               <VApp>
                 <NavBase> at src/components/nav/base.vue
                   <Default> at src/layouts/innertab.vue
                     <Root>

localhost-1647059099920.log

HRM, should be easy enough to fix. I think the drop zone component has a duplicate file event we can use as well.

Fixed.


Fixed the h1 tag "404 not found"

Now navbar will not cover the h1 tag.
What is the purpose of this pull request?

[x] Bug fix

@rwiteshbera thanks for the PR and the fix ! LGTM, I let @trsvchn or @ydcjeff merge it


feat: add version field to ExecutionContext

Which issue does this PR close?

Closes #1517
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Thanks @Weijun-H
I realize #1517 says "ExecutionContext" but this code is in the experimental "scheduler"
I wonder if #1517 meant to say SessionContext or SessionState or TaskContext (or perhaps the code has been changed since the ticket was filed)

I vote for SessionState, because it is the execution context for executing queries. What do you think? 🤔


zot.everything doesn't seem to be working

Platform:  Jupyter notebook
Python version:  3.10.6
Pyzotero version: 1.5.25
Problem Description

What were you trying to do?

I was trying to retrieve all items in a shared group library using zot.everything(zot.top(limit=10)). When I try, it gives Error 500 suggesting the error is related to the Zotero server. It was working fine until this morning. There was an issue with the Zotero server discussed in the forum this morning. I'm not entirely sure if the error I got is related to the server issue but other elements of pyzotero are working fine.

Hard to say without seeing the error, but it seems like to be on the server side if that call was working for you previously.

Thanks for the swift response!
The error message is as follows: Could the server error be solely responsible for zot.everything producing an error?
HTTPError: 500 Server Error: Internal Server Error for url: https://api.zotero.org/groups/2514686/items/top?limit=10&start=30&locale=en-US

The above exception was the direct cause of the following exception:

HTTPError                                 Traceback (most recent call last)
Cell In [3], [line 6](vscode-notebook-cell:?execution_count=3&line=6)
      [3](vscode-notebook-cell:?execution_count=3&line=3) api_key = '' # api_key is only needed for private groups and libraries
      [4](vscode-notebook-cell:?execution_count=3&line=4) zot = zotero.Zotero(library_id, library_type)
----> [6](vscode-notebook-cell:?execution_count=3&line=6) items = zot.everything(zot.top(limit=10))
      [7](vscode-notebook-cell:?execution_count=3&line=7) # items = zot.items()
      [8](vscode-notebook-cell:?execution_count=3&line=8) data3=[]

File c:\Users\yaozk\AppData\Local\Programs\Python\Python310\lib\site-packages\pyzotero\zotero.py:865, in Zotero.everything(self, query)
    [863](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:863)     items.extend(query)
    [864](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:864)     while self.links.get("next"):
--> [865](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:865)         items.extend(self.follow())
    [866](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:866) except TypeError:
    [867](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:867)     # we have a bibliography object ughh
    [868](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:868)     items = copy.deepcopy(query)

File c:\Users\yaozk\AppData\Local\Programs\Python\Python310\lib\site-packages\pyzotero\zotero.py:154, in retrieve.<locals>.wrapped_f(self, *args, **kwargs)
    [152](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:152) if kwargs:
    [153](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:153)     self.add_parameters(**kwargs)
--> [154](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:154) retrieved = self._retrieve_data(func(self, *args))
    [155](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:155) # we now always have links in the header response
    [156](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:156) self.links = self._extract_links()

File c:\Users\yaozk\AppData\Local\Programs\Python\Python310\lib\site-packages\pyzotero\zotero.py:407, in Zotero._retrieve_data(self, request, params)
    [405](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:405)     self.request.raise_for_status()
    [406](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:406) except requests.exceptions.HTTPError as exc:
--> [407](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:407)     error_handler(self, self.request, exc)
    [408](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:408) backoff = self.request.headers.get("backoff") or self.request.headers.get(
    [409](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:409)     "retry-after"
    [410](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:410) )
    [411](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:411) if backoff:

File c:\Users\yaozk\AppData\Local\Programs\Python\Python310\lib\site-packages\pyzotero\zotero.py:1644, in error_handler(zot, req, exc)
   [1642](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:1642)     raise ze.HTTPError(err_msg(req))
   [1643](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:1643) else:
-> [1644](file:///C:/Users/yaozk/AppData/Local/Programs/Python/Python310/lib/site-packages/pyzotero/zotero.py:1644)     raise ze.HTTPError(err_msg(req)) from exc

HTTPError:
Code: 500
URL: https://api.zotero.org/groups/2514686/items/top?limit=10&start=30&locale=en-US
Method: GET
Response: An error occurred

Yep – HTTP errors are caught but surfaced so that you (or I) can see what went wrong. In this case, we really don't have much to go on since internal errors on the server side typically don't convey much extra information. I will note two things, however:

Your .everything() call doesn't make much sense; everything exists to automate the pagination that the Zotero API provides – you typically use it in order to retrieve e.g. all top-level items, but you've restricted it to fetch chunks of 10 at a time. Is there a specific reason for that? What happens when you remove the limit=10 argument?
What happens if you call zot.top(start=30, limit=10)?

The original code snippet is without the limit as it is aimed to retrieve all items. When I remove the limit=10 argument, I've got the same error.

In that case it looks to be wholly on the server side – you may be able to bring this to their attention on the forum.

@yusufaliozkan Did you figure this out? Trying to familiarize myself with pyzotero and getting the same error

I encountered this error using the local API.
Python 3.12.7
pyzotero 1.5.28
With Zotero(...,local=True), zot.endpoint gets set to http://localhost:23119/api (seems reasonable)
This code:
zot = zotero.Zotero(
    library_id=os.getenv("ZOTERO_USER_ID"),
    library_type="user",
    api_key=os.getenv("ZOTERO_API_KEY"),
    local=True,
)
print(zot.everything(zot.items()))

Produces this error:
Code: 404
URL: http://localhost:23119/api/api/users/7083111/items?format=json&limit=100&locale=en-US&start=100&locale=en-US
Method: GET
Response: No endpoint found

I noticed api/api/ in the URL.
This patch to build_url seems to solve it (probably not optimally):
  def build_url(base_url, path, args_dict=None):
      """Build a valid URL so we don't have to worry about string concatenation errors and
      leading / trailing slashes etc.
      Returns a list in the structure of urlparse.ParseResult"""
+     if 'localhost' in base_url and path.startswith('/api'):
+         path = path.replace('/api', '')
      if base_url.endswith("/"):
          base_url = base_url[:-1]
      url_parts = list(urlparse(base_url))
      url_parts[2] += path
      if args_dict:
          url_parts[4] = urlencode(args_dict)
      return urlunparse(url_parts)

The error occurred when I did zot.items() (~1700 items) but not for zot.top() with some small limit. Seems to be inconsistent across documents? Haven't isolated it further than this. I haven't tested with the remote API, only using local so far.

@g-simmons This is fixed in v1.6.0, but has nothing to do with this issue.