Exclusive Memory Access Violation - Observer.swift

After migration to Swift 4 we encountered a crash in our codebase.
The crash happens deterministically for the same screen, with the same data.
Crash happens during deinitialization of some of ReactiveKit's Property objects.
It's hard to tell which ones - cross referencing addresses or lldb printing was unable to help.

Full stacktrace: https://gist.github.com/alistra/b8d032d9eebccd2c5d451d0451daa71e
After investigation this doesn't happen when we set
SWIFT_ENFORCE_EXCLUSIVE_ACCESS = 'compile-time'

in project settings.
It looks like code violates new memory safety rules approved here: SE-0176
This should be fixed, as the setting only works around the problem. The setting may become mandatory in future Swift, etc.
For people only needing a fix, not caring about memory safety features - add this to the Podfile:
post_install do |installer|
  installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
          if target.name == 'ReactiveKit'
              config.build_settings['SWIFT_ENFORCE_EXCLUSIVE_ACCESS'] = 'compile-time'
          end
      end
  end
end

Happy to help with debugging/more information.

It also looks like ObjectMapper has the same issue now https://github.com/Hearst-DD/ObjectMapper/issues/898

Hey @alistra,
Thanks for such detailed issue report!
I've been reading a lot about exclusive memory access, but I'm having trouble reproducing the issue you observed.
Would you be able to come up with a code example that suffers from the issue?

Unfortunately the project where we experience the bug is big and under NDA.
The one screen where the bug is sometimes reproducible ties into a lot of code and it's hard to even produce a minimal sample without any idea which code actually causes it - no our code in the stack trace.
I'm happy to work as a black box for testing this.

Also I could probably do a screen sharing session to help debug this?

That's great, thanks! Let me give it another run over the weekend and if I'm unsuccessful I'll ping you.

Hey @alistra!
You might have found the mother of all bugs I've ever seen.
I wasn't able to reproduce the exact issue you have, but going through the stack trace I think was able to figure out what is going on and fix it.
In short, on line 73 on the screenshot, we set the observer closure to nil. That one line represents a write access to the variable. Setting the observer closure to nil makes it deallocate and that triggers the deallocation of a something that the closure captured (owns). That leads to a sequence of events that eventually release and deallocate the same Property that owns the observer what in turn sends a completed event to the same observer closure. This represents a read access, but the initial write access has not yet completed.
I've reordered some code and if I'm right it should fix the problem and ensure exclusive access.
Please try v3.8.2 and see if it helped.
Thanks again for the detailed report!

Thanks very much, the fix worked! Really nice work debugging this, because it looked undebuggable!

@alistra Hey, It appears again on Ver 3.15.4.
Simultaneous accesses to 0x600003bd8410, but modification requires exclusive access.
Previous access (a modification) started at ReactiveKit`AtomicObserver.dispose() + 270 (0x111fde19e).
Current access (a read) started at:
0    libswiftCore.dylib                 0x00000001134e5550 swift_beginAccess + 568
1    ReactiveKit                        0x0000000111fdd370 AtomicObserver.on(_:) + 393
2    ReactiveKit                        0x0000000111fde5e0 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
3    ReactiveKit                        0x0000000111fde880 ObserverProtocol.receive(completion:) + 594
4    ReactiveKit                        0x0000000112015690 closure #2 in closure #1 in SignalProtocol.prefix<A>(untilOutputFrom:) + 638
5    ReactiveKit                        0x0000000111fdd370 AtomicObserver.on(_:) + 561
6    ReactiveKit                        0x0000000111fde5e0 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
7    ReactiveKit                        0x0000000111fde880 ObserverProtocol.receive(completion:) + 594
8    ReactiveKit                        0x00000001120286b0 closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 1906
9    ReactiveKit                        0x0000000112029d20 partial apply for closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 66
10   ReactiveKit                        0x0000000111fdcce0 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 12
11   ReactiveKit                        0x0000000112036880 partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 54
12   ReactiveKit                        0x0000000112036280 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> (@out ()) + 12
13   ReactiveKit                        0x00000001120356f0 Subject.on(_:) + 2196
14   ReactiveKit                        0x0000000112037490 PassthroughSubject.on(_:) + 113
15   ReactiveKit                        0x0000000112036d60 protocol witness for ObserverProtocol.on(_:) in conformance Subject<A, B> + 24
16   ReactiveKit                        0x00000001120343f0 SubjectProtocol.send(completion:) + 623
17   ReactiveKit                        0x0000000111fe0bf0 Property.deinit + 126
18   ReactiveKit                        0x0000000111fe0cc0 Property.__deallocating_deinit + 39
19   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
20   AppName                            0x000000010f4845a0 LoadableList.deinit + 168
21   AppName                            0x000000010f47d7d0 UserListVM.deinit + 27
22   AppName                            0x000000010f47d870 UserListVM.__deallocating_deinit + 24
23   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
24   libswiftCore.dylib                 0x00000001134e76b0 bool swift::RefCounts<swift::SideTableRefCountBits>::doDecrement<(swift::PerformDeinit)1>(unsigned int) + 161
25   AppName                            0x000000010f51ae40 partial apply for closure #1 in closure #3 in ListContainerVC.bindVM() + 53
26   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
27   ReactiveKit                        0x0000000111fbb030 closure #1 in SignalProtocol<>.bind<A>(to:context:setter:) + 575
28   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
29   ReactiveKit                        0x0000000112032410 closure #1 in SignalProtocol.observeNext(with:) + 685
30   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
31   ReactiveKit                        0x0000000111fdd1c0 outlined consume of @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> ()?<A, B> + 27
32   ReactiveKit                        0x0000000111fde090 AtomicObserver.dispose() + 303
33   ReactiveKit                        0x0000000111fde600 protocol witness for Disposable.dispose() in conformance AtomicObserver<A, B> + 16
34   ReactiveKit                        0x0000000111fc70b0 closure #1 in DisposeBag.dispose() + 74
35   libswiftCore.dylib                 0x00000001133635c0 Sequence.forEach(_:) + 452
36   ReactiveKit                        0x0000000111fc6ef0 DisposeBag.dispose() + 365
37   ReactiveKit                        0x0000000111fc74c0 DisposeBag.deinit + 52
38   ReactiveKit                        0x0000000111fc7690 DisposeBag.__deallocating_deinit + 25
39   libswiftCore.dylib                 0x00000001134e6ec0 _swift_release_dealloc + 16
40   libobjc.A.dylib                    0x00007fff50ba93d1 _object_remove_assocations + 239
41   libobjc.A.dylib                    0x00007fff50ba6473 objc_destructInstance + 79
42   libobjc.A.dylib                    0x00007fff50bac93a -[NSObject dealloc] + 21
43   UIKitCore                          0x00007fff4787c653 -[UIResponder dealloc] + 145
44   UIKitCore                          0x00007fff471ce4ab -[UIViewController dealloc] + 1392
45   libobjc.A.dylib                    0x00007fff50bae6c8 AutoreleasePoolPage::releaseUntil(objc_object**) + 147
46   libobjc.A.dylib                    0x00007fff50bae5b3 objc_autoreleasePoolPop + 199
47   CoreFoundation                     0x00007fff23c70340 _CFAutoreleasePoolPop + 22
48   CoreFoundation                     0x00007fff23bac140 __CFRunLoopRun + 2337
49   CoreFoundation                     0x00007fff23babc60 CFRunLoopRunSpecific + 438
50   GraphicsServices                   0x00007fff38438b6f GSEventRunModal + 65
51   UIKitCore                          0x00007fff4784f4f3 UIApplicationMain + 1621
52   AppName                            0x000000010f1b0ef0 main + 75
53   libdyld.dylib                      0x00007fff51a1dc24 start + 1
(lldb)

I am getting the same crash in my app.
Simultaneous accesses to 0x6000024dd210, but modification requires exclusive access.
Previous access (a modification) started at ReactiveKit`AtomicObserver.dispose() + 135 (0x1097499c7).
Current access (a read) started at:
0    libswiftCore.dylib                 0x000000010b9a1590 swift_beginAccess + 568
1    ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 249
2    ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
3    ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
4    ReactiveKit                        0x0000000109777120 closure #1 in closure #1 in SignalProtocol<>.castError<A>() + 750
5    ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
6    ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
7    ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
8    ReactiveKit                        0x000000010978de40 closure #1 in closure #1 in SignalProtocol<>.ignoreNils() + 1704
9    ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
10   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
11   ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
12   ReactiveKit                        0x0000000109785600 closure #1 in closure #1 in SignalProtocol.map<A>(_:) + 1470
13   ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
14   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
15   ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
16   ReactiveKit                        0x000000010978de40 closure #1 in closure #1 in SignalProtocol<>.ignoreNils() + 1704
17   ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
18   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
19   ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
20   ReactiveKit                        0x0000000109795940 closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 1906
21   ReactiveKit                        0x0000000109796fb0 partial apply for closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 66
22   ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
23   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
24   ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
25   ReactiveKit                        0x0000000109795940 closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 1906
26   ReactiveKit                        0x0000000109796fb0 partial apply for closure #1 in closure #1 in SignalProtocol.scan<A>(_:_:) + 66
27   ReactiveKit                        0x0000000109748bb0 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 12
28   ReactiveKit                        0x00000001097af3a0 partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 54
29   ReactiveKit                        0x00000001097a4df0 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> (@out ()) + 12
30   ReactiveKit                        0x00000001097a48c0 Subject.on(_:) + 1234
31   ReactiveKit                        0x00000001097a61e0 PassthroughSubject.on(_:) + 113
32   ReactiveKit                        0x00000001097a5ab0 protocol witness for ObserverProtocol.on(_:) in conformance Subject<A, B> + 24
33   ReactiveKit                        0x00000001097a3830 SubjectProtocol.send(completion:) + 623
34   ReactiveKit                        0x000000010974c240 Property.deinit + 126
35   ReactiveKit                        0x000000010974c310 Property.__deallocating_deinit + 39
36   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
37   LastFm                             0x0000000107e20020 ReportsViewModel.deinit + 33
38   LastFm                             0x0000000107e20050 ReportsViewModel.__deallocating_deinit + 25
39   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
40   LastFm                             0x0000000107e30070 outlined assign with take of ReportPeriod + 469
41   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
42   LastFm                             0x0000000107e1dd40 thunk for @escaping @callee_guaranteed (@in_guaranteed ReportPeriod) -> (@owned Signal<ReportsViewModel.Status, Never>) + 69
43   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
44   ReactiveKit                        0x000000010978ce00 outlined destroy of Subscribers.Completion<A1.Error> + 138
45   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
46   ReactiveKit                        0x0000000109748f60 outlined consume of @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> ()?<A, B> + 27
47   ReactiveKit                        0x0000000109749940 AtomicObserver.dispose() + 168
48   ReactiveKit                        0x0000000109749c80 protocol witness for Disposable.dispose() in conformance AtomicObserver<A, B> + 16
49   ReactiveKit                        0x0000000109749b00 closure #1 in AtomicObserver.dispose() + 74
50   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
51   ReactiveKit                        0x0000000109749940 AtomicObserver.dispose() + 377
52   ReactiveKit                        0x0000000109749c80 protocol witness for Disposable.dispose() in conformance AtomicObserver<A, B> + 16
53   ReactiveKit                        0x0000000109731900 closure #1 in CompositeDisposable.dispose() + 74
54   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
55   ReactiveKit                        0x00000001097316f0 CompositeDisposable.dispose() + 399
56   ReactiveKit                        0x0000000109731a50 protocol witness for Disposable.dispose() in conformance CompositeDisposable + 16
57   ReactiveKit                        0x0000000109749b00 closure #1 in AtomicObserver.dispose() + 74
58   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
59   ReactiveKit                        0x0000000109749940 AtomicObserver.dispose() + 377
60   ReactiveKit                        0x0000000109749c80 protocol witness for Disposable.dispose() in conformance AtomicObserver<A, B> + 16
61   ReactiveKit                        0x0000000109728840 closure #1 in closure #1 in ConnectableSignalProtocol.refCount() + 715
62   ReactiveKit                        0x000000010972fee0 BlockDisposable.dispose() + 360
63   ReactiveKit                        0x0000000109730140 protocol witness for Disposable.dispose() in conformance BlockDisposable + 16
64   ReactiveKit                        0x0000000109749b00 closure #1 in AtomicObserver.dispose() + 74
65   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
66   ReactiveKit                        0x0000000109749940 AtomicObserver.dispose() + 377
67   ReactiveKit                        0x0000000109749c80 protocol witness for Disposable.dispose() in conformance AtomicObserver<A, B> + 16
68   ReactiveKit                        0x0000000109731900 closure #1 in CompositeDisposable.dispose() + 74
69   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
70   ReactiveKit                        0x00000001097316f0 CompositeDisposable.dispose() + 399
71   ReactiveKit                        0x0000000109731a50 protocol witness for Disposable.dispose() in conformance CompositeDisposable + 16
72   ReactiveKit                        0x0000000109749720 closure #1 in AtomicObserver.on(_:) + 74
73   libswiftCore.dylib                 0x000000010b8208b0 Sequence.forEach(_:) + 452
74   ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 867
75   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
76   ReactiveKit                        0x0000000109749f20 ObserverProtocol.receive(completion:) + 594
77   ReactiveKit                        0x0000000109782780 closure #1 in closure #1 in SignalProtocol.prefix<A>(untilOutputFrom:) + 371
78   ReactiveKit                        0x0000000109749110 AtomicObserver.on(_:) + 1044
79   ReactiveKit                        0x0000000109749c60 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 16
80   ReactiveKit                        0x000000010974adf0 partial apply + 83
81   ReactiveKit                        0x0000000109748bb0 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 12
82   ReactiveKit                        0x00000001097af3a0 partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 54
83   ReactiveKit                        0x00000001097a4df0 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> (@out ()) + 12
84   ReactiveKit                        0x00000001097a48c0 Subject.on(_:) + 1234
85   ReactiveKit                        0x00000001097a7bd0 ReplayOneSubject.on(_:) + 1026
86   ReactiveKit                        0x00000001097a5ab0 protocol witness for ObserverProtocol.on(_:) in conformance Subject<A, B> + 24
87   ReactiveKit                        0x00000001097a3830 SubjectProtocol.send(completion:) + 623
88   ReactiveKit                        0x00000001097332d0 DisposeBag.deinit + 222
89   ReactiveKit                        0x00000001097334a0 DisposeBag.__deallocating_deinit + 25
90   libswiftCore.dylib                 0x000000010b9a2f00 _swift_release_dealloc + 16
91   libobjc.A.dylib                    0x00007fff5140d3d1 _object_remove_assocations + 239
92   libobjc.A.dylib                    0x00007fff5140a473 objc_destructInstance + 79
93   libobjc.A.dylib                    0x00007fff5141093a -[NSObject dealloc] + 21
94   UIKitCore                          0x00007fff480bf631 -[UIResponder dealloc] + 145
95   UIKit                              0x000000010c490925 -[UIResponderAccessibility dealloc] + 55
96   UIKitCore                          0x00007fff47a0f887 -[UIViewController dealloc] + 1392
97   libobjc.A.dylib                    0x00007fff514126c8 AutoreleasePoolPage::releaseUntil(objc_object**) + 147
98   libobjc.A.dylib                    0x00007fff514125b3 objc_autoreleasePoolPop + 199
99   UIKitCore                          0x00007fff47a0f887 -[UIViewController dealloc] + 1359
100  UIKitCore                          0x00007fff47940244 -[UITabBarController dealloc] + 689
101  libobjc.A.dylib                    0x00007fff514126c8 AutoreleasePoolPage::releaseUntil(objc_object**) + 147
102  libobjc.A.dylib                    0x00007fff514125b3 objc_autoreleasePoolPop + 199
103  CoreFoundation                     0x00007fff23c92380 _CFAutoreleasePoolPop + 22
104  UIKitCore                          0x00007fff4808c43a _prepareForCAFlush + 129
105  UIKitCore                          0x00007fff480bc354 _afterCACommitHandler + 140
106  CoreFoundation                     0x00007fff23bd3850 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
107  CoreFoundation                     0x00007fff23bce150 __CFRunLoopDoObservers + 430
108  CoreFoundation                     0x00007fff23bce390 __CFRunLoopRun + 1514
109  CoreFoundation                     0x00007fff23bcdeb0 CFRunLoopRunSpecific + 438
110  GraphicsServices                   0x00007fff384c0b6f GSEventRunModal + 65
111  UIKitCore                          0x00007fff480926f8 UIApplicationMain + 1621
112  LastFm                             0x0000000107e93e20 main + 75
113  libdyld.dylib                      0x00007fff5227ec24 start + 1
(lldb)

@cuzv can you try the latest version?

I'm seeing this frequently too


Page needs to be reloaded after signing in

Describe the bug
After signing in, the page will not show as signed in until refreshed.
To Reproduce
Steps to reproduce the behavior:

Go to homepage
Click on sign in
Submit the sign in form
Close the modal
Notice that sign in / create account buttons are still showing, no bookmark button

Expected behavior
Signing in should automatically change the page to show signed in components
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

after you submit the sign in form ,page redirects to your account, no need to close the modal.

@vicvilla6 If you click on 2-page-needs-to-be-reloaded-after-signing-in over on the right side of this issue, you should see an alert at the top of that page. The alert should have a shortcut to creating a pull request.


Add ScheduleAddCommandTest

Coverage increased (+1.4%) to 81.29% when pulling c81c9e67668b86a4c12765726a3ff13f1240d750 on eldriclim:event-object-tests into 1a7a13f2ab873759e4f06da42239ef16b7cd0562 on CS2103AUG2017-W09-B3:master.


Build: Allow import directories.

After 8047afd909c45b199665412518d08bc9487b93f4 can be used a directory name in [exclude] section in a configuration file.
This Pull Request proposes to extend the use of directory names to all other sections.
Implementation:
Has been developed the method importFiles to import files from any section. This method imports the files if they have not previously been imported and are not excluded. If a directory name found walking through the directory and imports its files (when the [include] section is empty is equivalent to ./)
The new code uses the cfg object on many points, so to avoid checks as if cfg:, always creates a cfg object still not reporting configuration file.
Care has been taken to the execution log is clearer separating the phases using a blank line.
Some changes in behavior:

If a file is reported in the [last] section not it's necessary to ensure that previously reported on [first] or [include]
Allows importing files outside the library, eg using ../my_directory/my_source.js
It is not possible to repeat a file (now is possible if reported in [first] and [last] simultaneously)

Please review.
@elemoine  "Pull" was already to 2.12, and now I see that has no milestone.
NOTE: This ticket Involves a large change in "mergejs.py", so I thought it would not be accepted. I was surprised when I saw it for 2.12.


feat(gcp): init gcp support

Signed-off-by: Frank Yang<EMAIL_ADDRESS>

Hi @vdice, thanks for your quick review. I will fix it and try to put similar parts together tomorrow. 👍

Thank you for the latest batch of updates. One last request: would it be possible to add an entry to the root-level README mentioning/linking to this GCP installer? Then we're ready to merge this in.

Hi @vdice, I add GCP to root-level README. Please help me take a look. Thank you.


Example: Sending single values to a single stream.

This example should be very simple and will act as the simplest version of a "Hello World" scenario.

Single value posted to an existing stream
Single device setup

@kristinpeterson https://github.com/attm2x/m2x-php/pull/32 has resolved this. Please close this issue.


How to create a REST API using Spring Boot, Maven, and MySQL

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
How to create a REST API using Spring Boot, Maven, and MySQL
Introduction paragraph (2-3 paragraphs):
One of the benefits of REST APIs is the flexibility and scalability it gives to our application. Because the client and server are independent, the REST protocol separates the data storage and the UI from the server. With this, our application can be scaled quickly primarily due to the separation of concerns(the separation of the frontend from the server), which helps our application to be loosely coupled. This offers flexibility in modifying our code in the future as developers can easily integrate restful API without much-added work.
This article teaches how to create a spring boot restful API that performs CRUD operations by making a database call to a MySQL database using Hibernate(an implementation of JPA(Java Persistence API). The application we will be building in this tutorial is an employee management system that registers employees, read, update and delete an employee's information.
Key takeaways:

How to create and set up a spring boot application with a tomcat server.
MySQL Database Configuration in a spring boot project.
You will learn how to implement Object Relational Mapping using Hibernate.
Maven
Exception Handling in Java
How to consume a rest API using postman.

References:

[https://start.spring.io/]
[https://www.oracle.com/java/technologies/javase-downloads.html]
[https://gradle.org/install/]
[https://maven.apache.org/download.cgi]
[https://www.postman.com/downloads/]
[https://spring.io/guides/gs/sts]
[https://spring.io/guides/gs/intellij-idea/]

Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Approved - @Lekwacious
We have multiple articles/tutorials covering Spring boot and one of them is covering the CRUD operations.
So try not to overlap with our published content and make your application unique, also refer to our articles/tutorials in your further reading section.

Thank You Ahmad. I have pushed and made a PR. Please review. Thanks
On Tue, Jun 29, 2021 at 12:46 PM Ahmad Mardeni @.***>
wrote:

Approved - @Lekwacious https://github.com/Lekwacious
We have multiple
https://www.section.io/engineering-education/search/?q=spring boot
articles/tutorials covering Spring boot and one
https://www.section.io/engineering-education/spring-boot-crud-api/ of
them is covering the CRUD operations.
So try not to overlap with our published content and make your application
unique, also refer to our articles/tutorials in your further reading
section.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/issues/2609#issuecomment-870523752,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSVUJZG6HV66WBRJPUTZ4LTVGXBFANCNFSM46WKTRFQ
.

On Mon, Aug 9, 2021 at 6:59 PM hectorkambow @.***>
wrote:

Closed #2609
https://github.com/section-engineering-education/engineering-education/issues/2609
via #2948
https://github.com/section-engineering-education/engineering-education/pull/2948
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/issues/2609#event-5131211698,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSVUJZZL42Q57IHMNTSEMLT4AJQJANCNFSM46WKTRFQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.


Simultaneous link on multiple servers

I have a connection with 4 servers set up and would like it to deploy as synchronus as possible.
I used capistrano in the past but changed most of my stuff to rocketeer recently.
Right now i deploy from a system without pthreads support so using parallel is not an option. As far as i understand it --parallel would firstly deploy everything to the machines and do the "event.symlink" nearly simultaneously on all configured machines. Or is it linking on every machine after deployment directly ?
But is there something like that that could be done with the non --parallel version of rocketeer? The only thing i could think of would be skipping the symlink alltogehter and add a new command that has to be called seperately like deploy:link. Are there any other options?

According to documentation what happens is this:

take all connections (4 in your case if you have 1 stage only)
run them in parallel

So the effect of simultaneous symlinking on all of them is more of illusion and isn't guaranteed.
Why do you need to symlink all at once? Can't application you're deploying work properly when some servers have old version of it and some have new version of it?

I fear there could be some problems when running multiple versions in parallel. Especially regarding database-consistency if one version uses different versions of the database than another.
That is a problem even with correct migrations.


Make s_client -quic -debug work

The callback that makes -debug print the data sent/received needed extending
for the new QUIC callback codes.
We also fix a bug in s_client which made it pause unnecessarily when writing data collected from the user.

Pushed.


Fix goreleaser dependencies.

Summary
Goreleaser needs oapi-codegen installed to run go generate. This change adds an additional before-hook to address that.
Change Type
Mark the type of change your PR introduces:

[X] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[X] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 50.175% (-0.005%) from 50.18%
when pulling cd6afc5872be027fbceefe20d8b6dd132c09ec3d on fix-goreleaser-tools-installation
into 78e58d8dce39fa26b5670f52f374629fd51fe389 on main.


No highlighting for function names beginning with an upper case

Running f4351bac4fb7565cbccc9aff6b97005183abdee3
Seen on NeoVim 0.1.5 and Vim 7.4

After running a git bisect, I found this was the offending commit e738b20032441c6f8a0b17d7c0071877154bc61a

Thanks for tracking down the regression. This behaviour certainly needs to be fixed.

No problem :)
Disabling this line is what is causing the issue, btw

I'm currently using the below lines to fix upper case function highlight issue and disabling Octol's lines. This is a standard C function parser.
syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine
syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator

hi def link cUserFunction cFunction
hi def link cUserFunctionPointer cFunction

Ok so I've started looking into this, but locally on my machine running Vim 8.0 the above example works fine for me...
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct 05 2016 03:34:23)
Included patches: 1-22


Enable to extend util

@alan-cooney
Thank you for the nice package 👍
I am using it comfortably.
By the way, I'm using an RDS resolver, so I wanted to extend util.
So I sent this PR.
Please check when you have time

Thanks for the PR @hiramatsutaku - makes sense.
This makes sense for making the module extendable. However if you have some implementations of the underlying RDS utils that would be even better - we could simply make a copy of e.g. https://github.com/skyhookadventure/appsync-template-tester/blob/main/src/util-dynamodb.ts and add in any you have (fine if it's an incomplete list for now).
Let me know what you think - otherwise I'm happy to merge this in.

@alan-cooney
Thanks for the quick reply 😄

This makes sense for making the module extendable.

Yes.

However if you have some implementations of the underlying RDS utils that would be even better

I think so, but the cost of preparing the following serialized SQL result（$ctx.result）for each test is high for me.
SQL
SELECT id FROM todos;

serialized SQL result
"{\"sqlStatementResults\":[{\"columnMetadata\":[{\"arrayBaseColumnType\":0,\"isAutoIncrement\":true,\"isCaseSensitive\":false,\"isCurrency\":false,\"isSigned\":true,\"label\":\"id\",\"name\":\"id\",\"nullable\":0,\"precision\":10,\"scale\":0,\"schemaName\":\"\",\"tableName\":\"todos\",\"type\":4,\"typeName\":\"INT\",\"signed\":true,\"autoIncrement\":true,\"caseSensitive\":false,\"currency\":false}],\"numberOfRecordsUpdated\":0,\"records\":[[{\"longValue\":1}],[{\"longValue\":2}]]}]}

So I would like to have this pull request merged and then add the RDS resolver's util in another pull request.

Thanks for the PR - I've merged it.
One small additional issue is that this is causing downstream errors in tests from some of our services that depend on this (they kick off new tests whenever a dependency is updated):
  result?: object | string;

Are you happy for me to revert the result type to just object - it seems like you're using it that way as well anyway?

@alan-cooney
Thanks for the quick merge.

Are you happy for me to revert the result type to just object - it seems like you're using it that way as well anyway?

I want to use the result type as string.
How about making the Context type extensible?（If so, the default result type can be object.）


BIO_should_retry returned a system error 32: Broken pipe

Describe the bug
I've been using the xfreerdp version that ships with Kali linux and it has been working fine for a long time, at the moment it just stopped working
I can't find any later versions using apt
To Reproduce
Steps to reproduce the behavior:
xfreerdp /u:dev /p:xxx /v:<IP_ADDRESS> +compression +clipboard /dynamic-resolution +toggle-fullscreen /cert-ignore /timeout:25000
Expected behavior
An RDP session should establish
Screenshots

Application details

FreeRDP version (2.11.2)
Command line used: xfreerdp /u:dev /p:xxx /v:<IP_ADDRESS> +compression +clipboard /dynamic-resolution +toggle-fullscreen /cert-ignore /timeout:25000
Output of xfreerdp /buildconfig:

└─# xfreerdp /buildconfig                                                                                147 ⨯
This is FreeRDP version 2.11.2 (2.11.2)
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_BACKTRACE=1 HAVE_EXECINFO_BACKTRACE_SYMBOLS=1 HAVE_EXECINFO_BACKTRACE_SYMBOLS_FD=1 HAVE_EXECINFO_H=ON HAVE_EXECINFO_HEADER=1 HAVE_FCNTL_H=1 HAVE_GETLOGIN_R=1 HAVE_GETPWUID_R=1 HAVE_INTTYPES_H=1 HAVE_JOURNALD_H=TRUE HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_PIXMAN_REGION=OFF HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIBS= HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL=1 HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CAIRO=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_URBDRC=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=ON WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=ON WITH_GSSAPI=OFF WITH_ICU=ON WITH_INTERNAL_MD4=OFF WITH_INTERNAL_MD5=OFF WITH_IPP=OFF WITH_JPEG=ON WITH_KERBEROS=ON WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=ON WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PAM=ON WITH_PCSC=ON WITH_PROFILER=OFF WITH_PROXY=OFF WITH_PULSE=ON WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SHADOW=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_SWSCALE=ON WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_VERBOSE_WINPR_ASSERT=ON WITH_WAYLAND=ON WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_XCURSOR=ON WITH_XDAMAGE=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XTEST=ON WITH_XV=ON WITH_ZLIB=ON
Build type:          RelWithDebInfo
CFLAGS:              -g -O2 -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -fno-omit-frame-pointer -DWINPR_DLL
Compiler:            GNU, 13.2.0
Target architecture: x64

OS version connecting to (server side): Windows Server 2022 & Windows 11

Environment (please complete the following information):

OS: Kali Linux 2023.4
Version/Distribution: Linux kali 6.5.0-kali3-amd64
Architecture: amd64

nvm, reinstalling fixed the issue for me!


docs: Clarify 'copy_image' example

It was pointed out on Slack that this example was unclear as to what should be passed to open().

Can somebody approve this? I'm trying to get out of the habit of merging my own patches without positive proof that somebody else's eyes have been on it.


Autocreate and store passwords in .envrc

DIfferent handling of passwords was chosen - they are rendered directly to docker-composes based on their definition in (ansible's) hosts file for given server.


Improvements to MPI RectGrid_test

Currently MPI test in RectGrid test runs on only one MPI rank. Maybe it should use the following pattern:

Run test file in on 1 MPI rank with known data.
Read the same file in parallel and compare that the data are the same.
Write the same file in parallel so it can be compared with the file written serially.

The changes implemented in #514.


Changes for project Id length and README for cloud collection

Fixes #251 and updates README

all valid characters for a uuid are only 1 byte.


bug(material/progress-bar): mat-progress-bar not displaying in mat-option

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Putting a mat-progress-bar inside of a mat-option won't display.
Reproduction
StackBlitz link: https://stackblitz.com/edit/s6vpnq?file=src%2Fexample%2Fselect-overview-example.html,src%2Fexample%2Fselect-overview-example.ts
Steps to reproduce:

Open the select dropdown

Expected Behavior
I expect to have a progress bar inside each mat-option.
Actual Behavior
mat-progress-bar does not display
Environment

Angular: 19.0.0-next.2
CDK/Material: 19.0.0-next.2
Browser(s): Chrome, Firefox
Operating System (e.g. Windows, macOS, Ubuntu): macOS

Note: The issue is also present in cdk/material 15.x.x, 18.x.x, ... as it is not a regression or due to a preview version.

The problem seems to be that the mat-progress-bar doesn't grow to fill the parent .mdc-list-item__primary-text, which is the direct child of the flex mat-option container.
Some possible solutions:

Override .mdc-list-item__primary-text to have flex-basis: 100%
Do you need the mat-progress-bar to be a child of an actual mat-option? Is it to indicate that you're loading the options? Because in that case it could be simply a child of ma-select

I'd go with the second solution. Works like a charm. Thanks.


Status codes publish to main

Publishes the status-codes branch used by #756 and #762 to main.

@SmilyOrg fix the conflicts :)

@ePaul @tkrop this should be ready to merge now

👍

:+1:


Add alice blueprint commit

Adds nix run .#alice-blueprint-commit to be used against the devnet demo.

Will keep this branch around, but closing for now.


correct ansi colors for 16 colors environments

Colors were used from the non-standard 90-97 ansi range. Travis, and some other terminals, does not support these and so show white text. With this change the colors are visible again.
Proof at the travis logs of this PR https://travis-ci.org/gotwarlost/istanbul/jobs/117557241#L3662

Coverage decreased (-0.001%) to 97.556% when pulling ee776c02bb78c3922f65d782671b63650ecef419 on jtangelder:fix-colors into ad8ab1d7a5284407efb83d0d7a8b32eb6fbd93c4 on gotwarlost:master.

Coverage decreased (-0.002%) to 97.554% when pulling 4d2daef57a1896d1bd591147f9184c7c0253c646 on jtangelder:fix-colors into ad8ab1d7a5284407efb83d0d7a8b32eb6fbd93c4 on gotwarlost:master.

LGTM.

Actually, there is a small difference between the old and new code. If an undefined/ invalid class name was passed to the function before, it would just return the string without mangling it.
Could you modify the code so that the old behavior of not modifying the string when an unknown class name is passed, is maintained?

I've updated the PR. Thanks for the review!

Available in<EMAIL_ADDRESS>- sorry for the delay.


fix: pubsub subscription check stops working when an error occurs

Many places are using continue when an error occurs. By placing the reset interval in the last when an error occurs, it stops checking whether to subscribe or unsubscribe to PubSub.
This also could be related to flaky e2e tests using the event persisters.

It could stop subscribing if it execute continue before reset the Timer.
This PR will fix this issue. LGTM 👍!


Fix to nbagg widgets ensuring that tight fig_inches are applied

While the nbagg backend works fairly well it does not seem to take into account the tight bbox_inches property, which means that a lot of whitespace is left over when plotting anything that is non-square. Since we already have a function to determine the tight bounding box we can simply apply that manually to avoid large white margins.
Ready to merge as soon as tests pass.

Ok the tests are passing. Merging now.


[Bug]: Error parsing gas meter reading

What happened?

Gas meter is about to get to 7000 (as you can see in the image) and it seems the add on is having issues parsing the current value. It seems to be introducing a dash after the first digit (as you can see in the logs I shared)
Please let me know if you need any more info.
AddOn and Version
meterparser-<IP_ADDRESS>
HomeAssistant Version
2023.1.1
Relevant log output
06:15:22 PM - ERROR
could not convert string to float: '7-199'
app.camera.gas-meter      2023-01-12 06:20:23 PM - ERROR
could not convert string to float: '6-199'

I’ve downgraded to <IP_ADDRESS> just to check if it was a bug recently introduced but the error is still happening.

Ok thanks for reporting! Based on your image and logs it seems it had trouble reading the second. The latest changes only affects digits meters, dials code was not touched intentionally.
Is it possible to improve the image quality a bit by adjusting your camera? Maybe moving or tilting it slightly would be enough. I can see some distortions on this image that could be related to the camera axis.

Yes, I can try adjusting a little, always tricky as you know. This setup has been working fine for months, it only starting showing the error when it was closed to 7000. To add more, now the meter is past 7000 and the add-on seems to be working mostly fine again.
Is it possible to remove unwanted characters before parsing? If it's reading dials, should only be numbers in that string. Or are dashes possible too?

Indeed dashes are not expected, however removing the dash does not fix it, because even if I removed the dash in the middle, there is no reading and the result would be the same: an invalid reading.
Given that you have good readings now, I'm considering this as an expected scenario due to bad lighting conditions and/or camera angle. I don't see evidence that the 7000 reading would always fail, seems like just a coincidence.


Hyprcusor util creation fails with error "Failed: (2) failed to add image *.svg to hlc"

Error
Failed: (2) failed to add image hand1.svg to hlc

Steps to reproduce:
I followed Vaxry's blog https://blog.vaxry.net/articles/2024-cursors

Fetch latest version of Bibata Modern
hyprcusor-util --extract
Replace .pngs with svgs
Update corresponding meta.hl
Update Manifest.hl
hyprcusor-util --create

Hyprcursor versions:

master
v0.1.4

Logs
 Contents of hand1
LS
hand1.svg
meta.hl

meta.hl

resize_algorithm = bilinear
hotspot_x = 0.56
hotspot_y = 0.25

define_size = 16, hand1.svg
define_size = 20, hand1.svg
define_size = 22, hand1.svg
define_size = 24, hand1.svg
define_size = 28, hand1.svg
define_size = 32, hand1.svg
define_size = 40, hand1.svg
define_size = 48, hand1.svg
define_size = 56, hand1.svg
define_size = 64, hand1.svg
define_size = 72, hand1.svg
define_size = 80, hand1.svg
define_size = 88, hand1.svg
define_size = 96, hand1.svg

define_override = grab
define_override = openhand

 hyprcursor Log
hyprcursor-util --create ~/.local/src/xcursors/extracted_Bibata-Modern-Ice_01
Shape hand1:
	overrides: 2
	sizes: 14
Shape copy:
	overrides: 3
	sizes: 14
Shape tcross:
	overrides: 1
	sizes: 14
Shape top_left_corner:
	overrides: 1
	sizes: 14
Shape move:
	overrides: 5
	sizes: 14
Shape dotbox:
	overrides: 4
	sizes: 14
Shape plus:
	overrides: 1
	sizes: 14
Shape grabbing:
	overrides: 4
	sizes: 14
Shape question_arrow:
	overrides: 5
	sizes: 14
Shape fd_double_arrow:
	overrides: 3
	sizes: 14
Shape zoom-in:
	overrides: 0
	sizes: 14
Shape bottom_side:
	overrides: 1
	sizes: 14
Shape crosshair:
	overrides: 0
	sizes: 14
Shape right_side:
	overrides: 1
	sizes: 14
Shape sb_h_double_arrow:
	overrides: 8
	sizes: 14
Shape bd_double_arrow:
	overrides: 3
	sizes: 14
Shape top_right_corner:
	overrides: 1
	sizes: 14
Shape sb_left_arrow:
	overrides: 1
	sizes: 14
Shape crossed_circle:
	overrides: 2
	sizes: 14
Shape ur_angle:
	overrides: 0
	sizes: 14
Shape top_tee:
	overrides: 0
	sizes: 14
Shape bottom_tee:
	overrides: 0
	sizes: 14
Shape left_ptr_watch:
	overrides: 4
	sizes: 742
Shape right_tee:
	overrides: 0
	sizes: 14
Shape hand2:
	overrides: 4
	sizes: 14
Shape pencil:
	overrides: 1
	sizes: 14
Shape cross:
	overrides: 2
	sizes: 14
Shape bottom_left_corner:
	overrides: 1
	sizes: 14
Shape sb_right_arrow:
	overrides: 1
	sizes: 14
Shape right_ptr:
	overrides: 2
	sizes: 14
Shape circle:
	overrides: 1
	sizes: 14
Shape zoom-out:
	overrides: 0
	sizes: 14
Shape pointer-move:
	overrides: 0
	sizes: 14
Shape sb_v_double_arrow:
	overrides: 9
	sizes: 14
Shape dnd-link:
	overrides: 1
	sizes: 14
Shape context-menu:
	overrides: 0
	sizes: 14
Shape wayland-cursor:
	overrides: 0
	sizes: 14
Shape top_side:
	overrides: 1
	sizes: 14
Shape X_cursor:
	overrides: 2
	sizes: 14
Shape wait:
	overrides: 1
	sizes: 742
Shape vertical-text:
	overrides: 0
	sizes: 14
Shape left_tee:
	overrides: 0
	sizes: 14
Shape left_ptr:
	overrides: 3
	sizes: 14
Shape left_side:
	overrides: 1
	sizes: 14
Shape xterm:
	overrides: 2
	sizes: 14
Shape link:
	overrides: 3
	sizes: 14
Shape dnd-ask:
	overrides: 0
	sizes: 14
Shape sb_down_arrow:
	overrides: 1
	sizes: 14
Shape lr_angle:
	overrides: 0
	sizes: 14
Shape bottom_right_corner:
	overrides: 1
	sizes: 14
Shape sb_up_arrow:
	overrides: 1
	sizes: 14
Shape center_ptr:
	overrides: 0
	sizes: 14
Shape ul_angle:
	overrides: 0
	sizes: 14
Shape dnd_no_drop:
	overrides: 1
	sizes: 14
Shape ll_angle:
	overrides: 0
	sizes: 14
Shape dnd-copy:
	overrides: 0
	sizes: 14
About to delete (recursively) /home/arvind/.local/src/xcursors//theme_BibataIce Hyprcursor/, are you sure? [Y/n]
y
Added image hand1.svg to shape hand1
Failed: (2) failed to add image hand1.svg to hlc

svg should always have the size 0, as they do not have a size. Multiple svg will be treated as an animation.

svg should always have the size 0, as they do not have a size. Multiple svg will be treated as an animation.

Ok!!, That worked
Initially I tried by removing the size as svg didn't use it and when I checked some of the issues some folks had defined pixel size along with svg. It wasn't clear from the README.


[Question]: Any issues with running on Podman?

Is your question not already answered in the FAQ?

[X] I made sure the question is not listed in the FAQ.

Is this a general question and not a technical issue?

[X] I am sure my question is not about a technical issue.

Question
Hey folks,
What's your experience with running Windows container on Podman? We are consider to switch to it from Docker and I wonder if that's a road full of tears.
Thanks!

I just tried podman (again) and this time I did not have an issue connecting via RDP (#291). So in my short time I used it podman works fine rootless even, but I am not sure if this is podman or maybe rootless related: #618

I've personally not had any luck with RDP connections, though it does sucessfully startup and can be connected through the browser based NoVNC.
This is my run command
podman run -it --rm --privileged -p 8006:8006 -p 3333:3389/tcp -p 3333:3389/udp --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
Remmina just closes when I try to connect to it with this:

Gnome Connections gives this error:

I've also tried defining an explicit user with the env variables, and it correctly created it which I could see when connected via NoVNC, but it was (generally) unconnectable via RDP.  I was able to connect to it once with gnome connections using that user's username/pass but after I recreated it I didn't work a second time.

same problem. in linux it is very difficult to connect, but in windows it is easy

same problem. in linux it is very difficult to connect, but in windows it is easy

I can also confirm that I can connect to the VM container with my phone's rdp client, but not using Remmina or gnome connections.  I tried both the localhost path and the lan ip paths on the host machine too and I didn't see any difference, just in case connecting via lan worked but not via localhost.

Anyone has any clue why exactly there are some RDP connections issue on the host machine running the container with Podman specifically ?
Any way to move forward or pinpoint the issue here ?


Bug: WebView Preview does not update preview size when "keep page loaded" option is selected

The Bug
WebView Preview does not load when "keep page loaded in background" option is selected.
To Reproduce
Intended Behaviour

Open Configuration -> Tray Icon
Input relevant URL
Select 'show webview'
Deselect 'keep page loaded in the background'
Change size of WebView
Press 'show preview'
Observe change in preview.

Unintended Behaviour -see screenshot of config

Open Configuration -> Tray Icon
Input relevant URL
Select 'show webview'
Select 'keep page loaded in the background'
Change size of WebView
Press 'show preview'
Observe no change.

Expected Behavior
I expect the preview to change size in the same way regardless of if "keep page loaded..." is selected

Machine Info

More Info:

[x] Installed via installer
[ ] Installed manually
[x] Problem occurs in HASS.Agent
[ ] Problem occurs in Satellite Service

Hey @Majumafoo,
I think this is a problem with the preview button. Can you please confirm this by resizing the webview, then restarting HASS.Agent and see if it correctly remembered the position? After the restart, the preview button should work as well for the new position.

which I believe is unintentional.

And you are right :) Will fix, thanks for confirming

Fixed in the latest beta: https://github.com/LAB02-Research/HASS.Agent/releases/tag/2022.13.0-beta2


v0.2 release (WIP)

Preparing changes for a v0.2 release of ringpop-go.
So far we have:

Added a changelog that shows significant changes and also release/upgrade notes for breaking changes
Improved documentation

@uber/ringpop

Looks excellent


Fixes #3361

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

This has been integrated into a different PR for later review


[8.5-next]-[IGNITE-1090] GridCachePartitionedOptimisticTxNodeRestartTest hangs when node lefts topology.

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer can associate accounts here: https://gitbox.apache.org/setup/ )
or /scripts/apply_pull_request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is actual.


Ask CFPB: Fix Answer page previews for admin

Answer pages previewed through the Wagtail admin are not getting routed
through the wagtail-sharing framework because Answer page requests are
intercepted by a self-healing-url view outside of Wagtail. This view will now check
the request to see if it is coming from a sharing site, and if so render a preview.
It turns out this problem also affected page unpublishing, so we can fix that at the same time.
This addresses GHE issues #1020 and #1021
Additions

Tests for page.live status and for wagtail-sharing requests.

Changes

ask_cfpb's answer_view

Testing

Make sure you have a sharing site set up locally. Then try previewing an Ask CFPB answer page that has a state of LIVE + DRAFT
If you have a recent production dump, page en-1969 (How can I get a refund ...) should be in that state near the top of the admin list view for Ask CFPB.

Hover over the page listing, click on MORE on the right and then select View sharing link
You should see the same version of the page that you see when choosing VIEW DRAFT, and it should be different from the version you see when choosing VIEW LIVE

Pick a live answer page and un-publish it. The site page should raise Http404.

Tested locally and this PR appears to solve the unpublish page issue for Ask CFPB questions!


Reset-AzureADMSLifeCycleGroup -GroupID parameter incorrect

The documentation for Reset-AzureADMSLifeCycleGroup (online and within get-help) incorrectly shows '-GroupID' as the parameter. It is in fact '-ID'

@ickthwart Where's the doc?


Paging the details

Please add a setting to limit the pictures on the details page + a pager,

I prefer to keep the current lazy loading approach :-)


corrected spanish translations

Corrected spanish translations

Added new label "now": "Now", to the English file if you don't mind adding it to yours?

Added new label "now": "Now", to the English file if you don't mind adding it to yours?

I can do it. I have create a new PR, right?

Yes please

No problem bro

Also Catalan if you happen to know that one? 😄

Also Catalan if you happen to know that one? 😄

Sure, I'm working with catalans here haha


[Feat] ADD FAQ PAGE

Description
add a faq page to the website
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@HimangshuSharma01 As of now, we do not need it. We will let you know in the future if there is a need. Please search for another issue and raise it, which I'm happy to assign to you.


raise a bug when InsterLeave

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Issues

[X] I have checked existing issues and there are no issues with the same problem.

Neovim Version
NVIM v0.11.0-dev Build type: RelWithDebInfo LuaJIT 2.1.0-beta3 Run "nvim -V1 -v" for more info
Dev Version?

[ ] I am using a stable Neovim release version, or if I am using a dev version of Neovim I have confirmed that my issue is reproducible on a stable version.

Operating System
WSL 版本： <IP_ADDRESS> 内核版本： <IP_ADDRESS>-1 WSLg 版本： 1.0.65 MSRDC 版本： 1.2.5620 Direct3D 版本： 1.611.1-81528511 DXCore 版本： 10.0.26100.1-240331-1435.ge-release Windows 版本： 10.0.26100.2454
Minimal Config
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
  local lazyrepo = "https://github.com/folke/lazy.nvim.git"
  local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
  if vim.v.shell_error ~= 0 then
    vim.api.nvim_echo({
      { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
      { out, "WarningMsg" },
      { "\nPress any key to exit..." },
    }, true, {})
    vim.fn.getchar()
    os.exit(1)
  end
end
vim.opt.rtp:prepend(lazypath)

-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"

-- Setup lazy.nvim
require("lazy").setup({
  spec = {
    -- add your plugins here
    {
  "nvimtools/none-ls.nvim",
  event = { "BufReadPre", "BufNewFile" },
  dependencies = {
    "nvim-lua/plenary.nvim",
  },
  config = function()
    local null_ls = require("null-ls")
      null_ls.setup({
      sources = {
               null_ls.builtins.formatting.stylua,
      },
    })
  end,
}

  },
  -- Configure any other settings here. See the documentation for more details.
  -- colorscheme that will be used when installing plugins.
  install = { colorscheme = { "habamax" } },
  -- automatically check for plugin updates
  checker = { enabled = true },
})

Steps to Reproduce
Type some letters in Insert mode and leave insert mode in the lua file
Reproducibility Check

[X] I confirm that my minimal config is based on the minimal_init.lua template and that my issue is reproducible by running nvim --clean -u minimal_init.lua and following the steps above.

Expected Behavior
No error is reported when leaving insert mode
Actual Behavior
error is reported when leaving insert mode
Debug Log
[WARN  Tue Oct 22 08:52:06 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command prettier is not executable (make sure it's installed and on your $PATH)
[WARN  Mon Nov  4 16:53:12 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Tue Nov  5 11:29:58 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:09:07 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:12:41 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:19:11 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:23:47 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:25:49 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:27:15 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
[WARN  Wed Nov  6 09:34:02 2024] /home/zr/.local/share/nvim/lazy/none-ls.nvim/lua/null-ls/generators.lua:148: failed to run generator: ....local/share/nvim/lazy/none-ls.nvim/lua/null-ls/loop.lua:165: command stylua is not executable (make sure it's installed and on your $PATH)
Help
No
Implementation Help
No response
Requirements

[X] I have read and followed the instructions above and understand that my issue will be closed if I did not provide the required information.

upvote ⬆

Update neovim to the latest nightly, or use a stable release.
不是很能理解你这里的问题在哪，如果你在用 neovim nightly 的话请更新到最新的 commit，详见 #209

I'm using nightly, currently getting this same error.

Update neovim to the latest nightly, or use a stable release.
不是很能理解你这里的问题在哪，如果你在用 neovim nightly 的话请更新到最新的 commit，详见 #209

I'm using nightly, currently getting this same error.

bug会在commit：56e6e1b出现

Update neovim to the latest nightly, or use a stable release.
不是很能理解你这里的问题在哪，如果你在用 neovim nightly 的话请更新到最新的 commit，详见 #209

I'm using nightly, currently getting this same error.

bug在commit：56e6e1b后出现

I'm unable to reproduce this (NVIM v0.11.0-dev-1265+g6cdcac4492 from https://github.com/neovim/neovim/releases/nightly):
vim.g.loaded_remote_plugins = ""
vim.o.runtimepath = vim.env["VIMRUNTIME"]

local temp_dir = vim.fs.dirname(vim.fs.dirname(vim.fn.tempname()))

local package_root = vim.fs.joinpath(temp_dir, "nvim", "site")
vim.o.packpath = package_root

local install_path = vim.fs.joinpath(package_root, "pack", "deps", "start", "mini.deps")

local null_ls_config = function()
	local null_ls = require("null-ls")
	-- add only what you need to reproduce your issue
	null_ls.setup({
		sources = {
			null_ls.builtins.formatting.stylua,
		},
		debug = true,
	})
end

local function load_plugins()
	-- only add other plugins if they are necessary to reproduce the issue
	local deps = require("mini.deps")
	deps.setup({
		path = {
			package = package_root,
		},
	})
	deps.add({
		source = "nvimtools/none-ls.nvim",
		depends = { "nvim-lua/plenary.nvim" },
	})
	deps.later(null_ls_config)
end

if vim.fn.isdirectory(install_path) == 0 then
	vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/echasnovski/mini.deps", install_path })
end
load_plugins()

vim.treesitter.start = function() end

reopening for troubleshooting

I'm unable to reproduce this (NVIM v0.11.0-dev-1265+g6cdcac4492 from https://github.com/neovim/neovim/releases/nightly):
vim.g.loaded_remote_plugins = ""
vim.o.runtimepath = vim.env["VIMRUNTIME"]

local temp_dir = vim.fs.dirname(vim.fs.dirname(vim.fn.tempname()))

local package_root = vim.fs.joinpath(temp_dir, "nvim", "site")
vim.o.packpath = package_root

local install_path = vim.fs.joinpath(package_root, "pack", "deps", "start", "mini.deps")

local null_ls_config = function()
	local null_ls = require("null-ls")
	-- add only what you need to reproduce your issue
	null_ls.setup({
		sources = {
			null_ls.builtins.formatting.stylua,
		},
		debug = true,
	})
end

local function load_plugins()
	-- only add other plugins if they are necessary to reproduce the issue
	local deps = require("mini.deps")
	deps.setup({
		path = {
			package = package_root,
		},
	})
	deps.add({
		source = "nvimtools/none-ls.nvim",
		depends = { "nvim-lua/plenary.nvim" },
	})
	deps.later(null_ls_config)
end

if vim.fn.isdirectory(install_path) == 0 then
	vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/echasnovski/mini.deps", install_path })
end
load_plugins()

vim.treesitter.start = function() end

谢谢，更新到NVIM v0.11.0-dev-1265+g6cdcac4492就不会有问题了


Packaging: Store version in VERSION file

This allows to retrieve the version number easily without python.
Signed-off-by: Till Maas<EMAIL_ADDRESS>

Coverage remained the same at 66.186% when pulling 0f61abc1ca245211e452d5fe520f0dbbaf2b6a96 on tyll:version_file into 11dba8966f012ded006f709cf656171b8a6d9108 on nmstate:master.


WIP: Podcast feed

This PR adds a second XML feed for the behind-the-scenes podcast discussed in https://github.com/artsy/artsy.github.io/issues/355 .
Still left todo:

[ ] Fill in YAML description etc for podcast.
[ ] Validate feed XML once we have a sample episode.
[ ] Submit to iTunes.
[ ] Automatically upload MP3 to S3 bucket.

Looks like CI is going to fail until we get some actual data in there.

Proselint found issues
README.md

Line
Message
Severity

Spell Checker found issues
README.md

Line
Typo

3
blog runs on top of a default jekyll install. If you would like an

3
you would like an overview of jekyll their [website rocks](http://

22
gories are generated when the ENV var PRODUCTION = "YES".

30
o give yourself a key inside **_config.yml** - for example:

45
nder. Here is a sample header YAML:_

63
ll be deployed to the site by travis when merged.

73
This will add required YAML to _config.yml. You'll need

  Generated by :no_entry_sign: Danger

I've created the podcast.artsy.engineering bucket for episode uploads, will get around to automating that later this week.

@ashfurrow Buckets with periods had issues, change that to dashes :)

http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

Good thinking, deleted old bucket and created artsy-engineering-podcast.

@pepopowitz Okay, this should be good to go Steve! I generated the RSS XML locally and it mostly passed validation (it couldn't verify, however, the http://example.com/test.mp3 episode URL returned 200). Once we cleanup the recording, we can upload it with this script, commit the change, and add it to this PR 👍 There may be some validation errors that we'll need to fix only once we've deploy everything.

This is thinking ahead a little bit, and it's not something we've talked about....but thinking about how I explore/share podcasts, it'd be great to eventually have:

a podcast "home" page
individual pages for each episode
an audio player on each episode page to check it out

This work is certainly out of scope for this PR, but as someone who doesn't know much about jekyll, I'm thinking through how we'd use the episodes defined in _config.yml to generate those pages.

The podcast page itself would effectively be an html version of podcast.xml.
The episode pages could be built in a similar manner as the author pages, which are also defined in _config.yml.

Do those approaches make sense? Are there better approaches for either of those?

Do those approaches make sense? Are there better approaches for either of those?

Yeah this makes sense! I like how we would use the same _config.yml source-of-truth for both the RSS feed and the page. I also agree the feature that you've outlined (pages for each episode, etc) make sense 👍

Yup, you got them all I think 👍 Makes sense, thanks for following up! I only added those this week, since each episode will have different hosts.

Okay, let's #squashongreen here and once it's deployed, we can submit to the Apple Podcasts directory!
And about that... I checked and the mobile@ Apple ID "doesn't have an App Store account", whatever that means. It'll probably be easiest for us to create a new Apple ID with the OpenSourceGroup@ email – maybe we can pair tomorrow?


Mouseless - Page Scroll

VS Code uses CTRL+Up and CTRL+Down to scroll on page while maintaining Cursor position. Looks like we could do the same here

Audit: Won't do


PoC: Partial Artifact Download

Just toying around
Consider this code to produce an artifact (like this: https://wandb.ai/timssweeney/dev_testing/artifacts/dataset/partial_artifact/5c755748654b030b0189/files) - make an artifact with 10 dirs, each with 10 files:
import wandb
import tempfile

run = wandb.init(project="dev_testing")

# Create a partial artifact from the temp directory
artifact = wandb.Artifact(
    name=f"partial_artifact",
    type="dataset",
)

# Create 10 temp directories each with 10 files
for i in range(10):
    with tempfile.TemporaryDirectory() as tmpdirname:
        for j in range(10):
            with open(f"{tmpdirname}/file_{j}.txt", "w") as f:
                f.write("hello world")

        # Add the temp directory to the artifact
        artifact.add_dir(tmpdirname, name=f"dir_{i}")

# Save the artifact version to W&B
run.log_artifact(artifact)

run.finish()

And download code like:
run = wandb.init(project="dev_testing")

art = run.use_artifact("partial_artifact:latest")

downloaded_to = art.download(path_predicate= lambda path: path.startswith("dir_0"))

run.finish()

print(downloaded_to)
print(os.listdir(downloaded_to))
print(os.listdir(downloaded_to + "/dir_0"))

This gives you (only 10 files downloaded):
...
wandb:   10 of 10 files downloaded.
...
./artifacts/partial_artifact:v1
['dir_0']
['file_7.txt', 'file_6.txt', 'file_4.txt', 'file_5.txt', 'file_1.txt', 'file_0.txt', 'file_2.txt', 'file_3.txt', 'file_8.txt', 'file_9.txt']

I like this idea, I think it's pretty elegant. One thought: should the callable be passed the entry path or the entire entry? Maybe that's too unusual a use case and for most users they would end up passing lambda entry: entry.path.startswith("dir_0"), but if the entry has attached metadata they could instead filter on lambda entry: entry.extra.get("split") == 0 or something.


ipad issue on week visualization

Any ideas about how to fix calendar visualization on ipad?
thx

I had this issue as well, but with all devices, not just the iPad.
I did the fix mentioned here in this other issue and it resolved the issue for me.


zlib: bump over CVE, use fossils url which is more stable

Could you please tell me how to make Bazel use an external zlib? That would
simplify life of package managers.
Thanks.

We've already updated zlib in the main branch but thank you for your contribution!


Auto structure creation should know about stucture members

this->vft = &cc_handler_vft
init_wsa_ctx(&this->__offset(0x4).d)
sub_40238e(&this->__offset(0x1e4).d, arg2)
this->field_240 = 0
this->field_248 = 0
this->field_23c = arg3
return this

In this example, init_wsa_ctx have prototype as void __fastcall init_wsa_ctx(struct wsa_ctx* ctx), so it is known that __offset(0x4).d is actually a wsa_ctx stucture but when I press S on it, it creates a member int32_t field_4.  It should create a struct wsa_ctx field_4 instead. Actually, it should do this at "create all members" stage, which related to #4104 I guess.

@xusheng6 Coudl this be that we're not keeping track of the address of? Would be really good if our auto struct creation was aware of when it was passed into a function.

@op2786 Is it possible to share the binary with me? I will verify if my understanding above it correct, and see if there is other possible ways to fix it. If you cannot share the binary, please turn on "Show All Expression Types" and send me the output again

@xusheng6 I'll send it to you in slack.

Database shared in private with us. Anyone from vector35 should search "16260762028509746446" for it

Similar bug: https://github.com/Vector35/binaryninja-api/issues/4584


Playground Bug when Identical terminal rules submitted.

While developing a JavaDoc Extractor to test Langium, It was found that while inserting 2 terminal rules with the same profile caused no error message to appear, and the Content to be 'Loading...' forever.
The grammar is under development, hence the clear failure in contradictory statements, but should not cause the playground to crash in this way.
Recording of the Bug
Screencast from 2023-07-14 19-13-44.webm
Text of Grammar
Note that the terminal rules are identical barring the 'hidden'.
grammar JavaDocExtractor

entry Model:
    (jdocs+=JDoc)*;
terminal JDoc: ('/**' -> '*/');

hidden terminal NotJDoc: ('/**' -> '*/');

Text Content
/** foo 1 */
person John
person Jane

/* foo 2*/

Hello John!
Hello Jane!

/** foo 4*/

Browser & OS
Google Chrome Version 114.0.5735.198 (Official Build) (64-bit)
OS Ubuntu 23.04
Linux Kernel 6.2.0-24-generic

I believe that happens in general every time a grammar is entered that causes the parser initialization to fail. The user grammar worker seems to crash in that case and doesn't recover.


Batch processing Video Transcoding Gem not working on two Macs with new project.

queue.txt
I have been batch processing video files with the VTG for a couple years. For some reason today I can not get it to work on either computer, one on 10.12.6 and the other on the 10.13 Beta. Both have worked as early as last week.
Workflow

cd into destination folder
use find /path/to/my/movies -name *.MOV >queue.txt to make a file with list of files to be processed.
run batch-encode.sh from destination folder

_#!/bin/bash
readonly queue="$(cd "$(dirname "$0")" && pwd)/queue.txt"
input="$(sed -n 1p "$queue")"
while [ "$input" ]; do
sed -i '' 1d "$queue" || exit 1
transcode-video.sh "$input"
input="$(sed -n 1p "$queue")"
done_
But today it just seems to be doing nothing, not wiping the queue or anything.
Here is a quick video: https://vimeo.com/235854074

Update: Seems to be working now, must be the way I deleted the previous entries after only half a batch was completed.  The empty line at the top of the queue.txt must have been stopping the process for some reason.

@quasimog Well, it's a good thing I got distracted by unexpected visitors an hour ago so you could solve this yourself. :) Seriously, my apologies for being unable to respond right away.
Yes, any blank line in the queue.txt file will stop batch processing. That's actually a feature, allowing you to control the looping behavior without changing the executing script.
I'm going to assume we can close this now?

Yes thank you very much!
Sent from my iPhone.

On Sep 28, 2017, at 1:13 AM, Don Melton<EMAIL_ADDRESS>wrote:
@quasimog Well, it's a good thing I got distracted by unexpected visitors an hour ago so you could solve this yourself. :) Seriously, my apologies for being unable to respond right away.
Yes, any blank line in the queue.txt file will stop batch processing. That's actually a feature, allowing you to control the looping behavior without changing the executing script.
I'm going to assume we can close this now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@quasimog You are very welcome, sir.


_86Box: 3.11 -> 4.0

Description of changes
Many improvements, for example support for Pipewire, support for emulating ACPI machines with soft power, a large number of fixes for both emulation bugs and other various issues. Full changelog here.
As far as changes relevant to Nixpkgs go:
Fluidsynth is now dynamically linked instead of being resolved at runtime using QLibrary, allowing us to remove it from the postFixup patch. It now also uses the fluidsynth headers, so it needs to be added to buildInputs.
libslirp is now an external dependency, so it needs to be added to buildInputs.
The VNC renderer is currently broken in 86Box 4.0, and discord-gamesdk doesn't "build" in NixOS currently, but otherwise I did not notice any issues needing attention.
Closes #252553.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 252877 run on x86_64-linux 1

1 package built:

_86Box


After writing automation from web gui check where user stores automations.yaml

Hi, I divided my setup like this :
automation: !include includes/automations/automations.yaml
everything works fine until i want to add new automation from www gui. When automation is saved the system (i presume) checks if there is a file in default position : automations.yaml, if there is it adds automation to its end, but when there is no file (like in my example) it creates new file in default localisation with new (only) automations. After restarting HA i end up without automation in HA and with two files:

1 file (new) in default localisation
1 file in "./includes/automation/automations.yaml" without freshly written automation.

Can it be changed, so the system firstly checks where is users automations.yaml ?

No, the locatio where the included file is stored is not known to the automation editor (and is generally not known).
That's why the documentation says you need to use this special path. There have been numerous issues about this before, please see them for further reference.

`The automation editor reads and writes to the file automations.yaml in the root of your configuration folder. Currently, both the name of this file and its location are fixed. Make sure that you have set up the automation integration to read from it:
Configuration.yaml example
automation: !include automations.yaml
If you still want to use your old automation section, add a label to the old entry:
automation old:

trigger:
platform: ...
You can use the automation: and automation old: sections at the same time:

automation old: to keep your manual designed automations
automation: to save the automation created by the online editor
automation: !include automations.yaml
automation old: !include_dir_merge_list automations`
From the docs https://www.home-assistant.io/docs/automation/editor/
The editor doesn't check and its hard coded (as stated in the docs)

I'll close here since this is working as expected and it's documented.
Feature and enhancement requests should go in the Feature Requests section of our community forum. Thanks!


[#10] Create email-validation template

Context:
In order to send messages from the webapi it is needed to implement a communication module
To do:

TDD: create tests
Create template for e-mail email-confirmation in modules/communication/1.application/templates

Codecov Report

Merging #30 (801c2be) into main (8e061c4) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##              main       #30   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           85        86    +1
  Lines          682       692   +10
  Branches        84        85    +1
=========================================
+ Hits           682       692   +10

Impacted Files
Coverage Δ

...3.infra/compilers/handlebars/handlebars-adapter.ts
100.00% <100.00%> (ø)

...ion/1.application/handlers/user-created-handler.ts
100.00% <100.00%> (ø)

...se-cases/send-email-confirmation-email-use-case.ts
100.00% <100.00%> (ø)

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


dino-xing sign update

needs road stripes
@jakearchibald how do you want me to deliver this? in XD fine, or you want me to edit the asset in the repo?

Yeah, XD is our source of truth.

But feel free to also ship code if you feel like it, just let us know :)

passing back, sign updated in XD!

I wanted to do this, but I have no idea how Jake went from whatever XD outputs to what is in the code 😂

you too!? ok, i thought you did that work, now we know it's jake. it's beautiful work, i can only assume he hand ported the code over and use his expertise to shave off bit that wasnt needed. masterful jake, fo real.

Yeah, it was mostly manual. I'll pick this up tomorrow.

Oh the 'xing' is still there. Can we drop the xing? I still feel it doesn't mean anything to many folks outside the US, and I don't think we should be sending a US-centric message.

sure, low FGs


Misleading error message when user is missing permissions

Environment details

OS type and version: MacOS 11.6.2
Python version: 3.9.9
pip version: 20.3.4
pandas-gbq version: 0.17.0

Steps to reproduce

Create a service account that has the "BigQuery Data Editor" and "BigQuery JobUser" roles (these are not sufficient for using read_gbq; it's a user error to use them, but the focus of this ticket is that the helpful error message gets lost):
Invoke pandas_gbq.read_gbq with params that should work - i.e. they'd work fine if the user had the "BigQuery User" role

You'll get this error:
>       if isinstance(rpc_exc, grpc.Call) or _is_informative_grpc_error(rpc_exc):
E       AttributeError: 'NoneType' object has no attribute 'Call'

The actual error is visible in the traceback:
E           grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
E           	status = StatusCode.PERMISSION_DENIED
E           	details = "request failed: the user does not have 'bigquery.readsessions.create' permission for 'projects/redacted'"

The "NoneType has no attribute" message is misleading and obscures the problem. I believe the error should be reporting the permission issue that is captured in the above block.
Again, this is ultimately a user error due to the wrong permissions being used, but a user will find that out more quickly by getting back the actual error instead of the "NoneType has no attribute" error.

Thanks for the report! I just saw someone report a similar issue on a related library here: https://github.com/googleapis/python-bigquery-reservation/issues/201
I suspect this is an issue with error translations in the API core library. Moving this issue there.


subtype mismatch in black_box

The following code
fn b(x: &[u8]) -> [u8; 32] {
    [0u8; 32]
}

pub fn bb(x: &[u8]) -> [u8; 32] {
    core::hint::black_box(b(x))
}

produces the following error when running it through eurydice
subtype mismatch:
  uint8_t[32size_t] -> uint8_t[32size_t] (a.k.a. uint8_t[32size_t] -> uint8_t[32size_t]) vs:
  uint8_t[32size_t] -> uint8_t[32size_t] -> () (a.k.a. uint8_t[32size_t] -> uint8_t[32size_t] -> ())

This feels almost identical to the fix I just pushed for slice_index -- https://github.com/AeneasVerif/eurydice/pull/93
(note to self for when I investigate this further)


About datasets of your experiments.

Dear Peng Hu,
Sorry to bother you again.
There's something I'd like to ask about datasets of your experiments.
In your paper, in addition to "Wikipedia", there were experiments on "INRIA-Websearch", "NUS-WIDE", and "XmediaNet"." The data from "wikipedia" is available on your github, but the data from other datasets are not available. Is it possible to make those datasets available? (i.e., nus_wide_deep_doc2vec_data_42941.h5py, INRIA-Websearch.mat in noisydataset.py, etc.)
If this is difficult, could you please tell me how to create them?
I am sorry for taking up so much of your time but I appreciate your help.
Thanks so much.

Dear Daiki Okamura,
Because we should apply authorization for these datasets from the authors,
I do not think it would be proper to share the datasets online. These
datasets could access through the following websites. You could download
the raw data and train with the corresponding backbones (image backbone are
the pre-trained models given by the torchvision, and the pre-trained
doc2vec model is available from https://github.com/jhlau/doc2vec). Attached
is the list for  nus_wide_deep_doc2vec_data_42941. Thanks a lot for your
attention. Hope this helps.
Best regards,
Hu, Peng
INRIA-Websearch: https://weiyc.github.io/assets/projects/tcyb.html
NUS-WIDE:
https://lms.comp.nus.edu.sg/wp-content/uploads/2019/research/nuswide/NUS-WIDE.html
XmediaNet: http://<IP_ADDRESS>/tiki/XMediaNet/
NUS-WIDE
Daiki Okamura @.***> 于2021年11月12日周五 下午8:44写道：

Dear Peng Hu,
Sorry to bother you again.
There's something I'd like to ask about datasets of your experiments.
In your paper, in addition to "Wikipedia", there were experiments on
"INRIA-Websearch", "NUS-WIDE", and "XmediaNet"." The data from "wikipedia"
is available on your github, but the data from other datasets are not
available. Is it possible to make those datasets available? (i.e.,
nus_wide_deep_doc2vec_data_42941.h5py, INRIA-Websearch.mat in
noisydataset.py, etc.)
If this is difficult, could you please tell me how to create them?
I am sorry for taking up so much of your time but I appreciate your help.
Thanks so much.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/penghu-cs/MRL/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK5KOI6JRR7EZDNPVJ5CMETULUD2PANCNFSM5H4YMUFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Dear Peng Hu,
Thank you for your prompt reply.
I understand that it is not possible to put it on the site due to authorization.
Thank you also for sharing the URL of the Dataset.
There are two additional questions I would like to ask you.
First, which model did you use for the pre-trained Doc2Vec, "English Wikipedia" or "Associated Press News"?
Secondly, I'm not familiar with the NUS-WIDE dataset, but am I correct in assuming that I need to download the Flickr dataset separately?
I am sorry to ask you so many times but I appreciate your help.
Thanks so much.

Dear Daiki Okamura,
Thank you for your understanding.

We used the pre-trained Doc2Vec, which has been trained on "English
Wikipedia".
Yes. You could download the Flickr dataset, and construct NUS-WIDE with
the given lists.

Thanks a lot.
Best regards,
Hu, Peng
Daiki Okamura @.***> 于2021年11月15日周一 上午9:22写道：

Dear Peng Hu,
Thank you for your prompt reply.
I understand that it is not possible to put it on the site due to
authorization.
Thank you also for sharing the URL of the Dataset.
There are two additional questions I would like to ask you.
First, which model did you use for the pre-trained Doc2Vec, "English
Wikipedia" or "Associated Press News"?
Secondly, I'm not familiar with the NUS-WIDE dataset, but am I correct in
assuming that I need to download the Flickr dataset separately?
I am sorry to ask you so many times but I appreciate your help.
Thanks so much.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/penghu-cs/MRL/issues/5#issuecomment-968427169, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AK5KOI7YHLXESPHHLABQU3TUMBOF3ANCNFSM5H4YMUFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Dear Peng Hu,
Thank you very much for your answer.
Your answer is very understandable.
I appreciate your kind answer.
Thanks you so much.

Dear Daiki Okamura,
You are welcome. Thanks very much for your attention.
Best regards,
Hu, Peng
Daiki Okamura @.***> 于2021年11月15日周一 下午12:07写道：

Dear Peng Hu,
Thank you very much for your answer.
Your answer is very understandable.
I appreciate your kind answer.
Thanks you so much.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/penghu-cs/MRL/issues/5#issuecomment-968517985, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AK5KOI2D3FVZITENB455OM3UMCBQ3ANCNFSM5H4YMUFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Dear Peng Hu,
Thank you very much for your detailed answer the other day.
I would like to ask you two additional questions about your dataset.
First, you mentioned that you used pre-trained Doc2Vec for text feature extraction. How many epochs did you set for feature extraction (i.e., epochs or steps in gensim.models.Doc2Vec.infer_vector())?
Secondly, INRIA-Webserch has 'fc6', 'fc7', 'FT_fc6', 'FT_fc7' as image features, which feature did you use in your experiment?
I’m really sorry to bother you over and over but I appreciate your help.
Sincerely,
Daiki Okamura

Dear Peng Hu,
Thank you for your quick response.
Your answers are very helpful and easy to understand.
It helped me a lot.
Thanks you so much.
Sincerely,
Daiki Okamura

Dear Peng Hu,
I am sorry to keep repeating myself but I'm very interested in your method.
I would like to ask you about hyperparameters and datasets.
First of all, about the hyperparameter, in equation (8) of your paper, there is a hyperparameter β. Can you tell me the optimal value of β for your experiments on each dataset? Or is β a constant value for all experiments?
One more thing about the dataset, did you use 'tr_text' or 'te_text' as text features directly in INRIA-Websearch?
I am sorry to ask you so many times but I appreciate your help.
Sincerely,
Daiki Okamura

Dear Daiki Okamura,
You are so polite! Thanks a lot for your interest. This method is a bit
sensitive to the hyperparameter β. We tuned the parameter on the validation
set of different datasets.
Yes.  The 'tr_text' or 'te_text' of the given data are used as text
features in our experiments.
If you have any questions, please let me know. Thanks.
Best wishes,
Hu, Peng
Daiki Okamura @.***> 于2021年12月9日周四 19:12写道：

Dear Peng Hu,
I am sorry to keep repeating myself but I'm very interested in your method.
I would like to ask you about hyperparameters and datasets.
First of all, about the hyperparameter, in equation (8) of your paper,
there is a hyperparameter β. Can you tell me the optimal value of β for
your experiments on each dataset? Or is β a constant value for all
experiments?
One more thing about the dataset, did you use 'tr_text' or 'te_text' as
text features directly in INRIA-Websearch?
I am sorry to ask you so many times but I appreciate your help.
Sincerely,
Daiki Okamura
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/penghu-cs/MRL/issues/5#issuecomment-989754499, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AK5KOI6AFKLXLFHZTJIB2WLUQCFJFANCNFSM5H4YMUFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Dear Peng Hu,
Thank you very much for your kindness every time.
I understand that hyperparameters are tuned with a validation set.
Also, thank you for your answer about datasets.
As an additional question, did you do any preprocessing on the text when doing feature extraction on Xmedia or Wikipedia dataset?
Thank you very much for your kind answer.
Sincerely,
Daiki Okamura

Dear Peng Hu,
It’s been a while since our last correspondence.
I have two questions about the NUS-WIDE dataset.
First, you said that you selected 10 classes from 81 classes (each sample belongs to only one of ten classes) in the NUS-WIDE dataset used in your experiment.
Could you tell me which classes you selected?
Secondly, I understand the NUS-WIDE dataset is a multi-label dataset.
Is there any overlap of classes in the selected data?
We would appreciate your answer.
Sincerely,
Daiki Okamura

Dear Daiki Okamura,
Sorry for the late reply. The data are selected following the list given by
the authors of [1]. Because of the license, it is not proper to share the
data online. Some details could be found in the paper. Thanks.
[1] Yuxin Peng, Jinwei Qi, Xin Huang, and Yuxin Yuan. 2018. CCL:
Cross-modal Correlation Learning With Multigrained Fusion by Hierarchical
Network. IEEE Transactions on Multimedia 20, 2 (Feb 2018), 405–420.
Best regards,
Hu, Peng
Daiki Okamura @.***> 于2022年6月3日周五 17:18写道：

Dear Peng Hu,
It’s been a while since our last correspondence.
I have two questions about the NUS-WIDE dataset.
First, you said that you selected 10 classes from 81 classes (each sample
belongs to only one of ten classes) in the NUS-WIDE dataset used in your
experiment.
Could you tell me which classes you selected?
Secondly, I understand the NUS-WIDE dataset is a multi-label dataset.
Is there any overlap of classes in the selected data?
We would appreciate your answer.
Sincerely,
Daiki Okamura
—
Reply to this email directly, view it on GitHub
https://github.com/penghu-cs/MRL/issues/5#issuecomment-1145769163, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AK5KOIZP6MBUEEVAXBO2KCTVNHEVVANCNFSM5H4YMUFA
.
You are receiving this because you commented.Message ID:
@.***>

Dear Peng Hu,
Thank you for your reply.
I understand that you can't share because of the license.
Furthermore, thank you for sharing the reference.
I refer to it.
Thank you for your cooperation.
Sincerely,
Daiki Okamura


Implement minimal application code for testing

We should have a minimal, fast-running application code for integration testing. Should finish training in seconds.
Check if the NVFlare examples contain something suitable for this purpose and if it can be used with the MediSwarm swarm learning.

application/test_jobs/minimal_training/ (at 19c4b85d4599fe054bc223c83874c734bbe31875) takes about 30 seconds in simulation mode. Most of this is setup of the simulation, the actual training takes about 4 seconds.

The base model and data module are the same as in the 3D CNN example and could be extracted as application code infrastructure. I'll create a follow-up issue for this.


set convert_indent_on_save to default to true

Closes #30324.
Fixes issues with spaces being used for indents when pasting from the tutorial docs for new users. This will make it so they will by default convert back to tabs.

Thanks!


Make it possible to pass io.Writer to Migrator.Status

Description
At the moment, pop.Migrator exposes Status() which writes directly to os.Stdout:
https://github.com/gobuffalo/pop/blob/master/migrator.go#L200
Expected Behavior
I would expect to be able to pass my own io.Writer there, because I want to, for example, redirect the output to a logger or somewhere else.
This could easily be solvable with:
type Migrator struct {
	Connection *Connection
	SchemaPath string
	Migrations map[string]Migrations
+      Stdout io.Writer
}

Happy to contribute a PR.

Fixed with #498.

Awesome!