5.3.4 crash "Realm accessed from incorrect thread"

Goals
Running reporting jobs on background threads.  This exception appears to occur randomly since v5.x.  This issue is reported elsewhere against v5.3.x and earlier but I am creating a new issue against v5.3.4.
Expected Results
Do not expect to get this crash since call to Realm() and subsequent access of the realm is occurring on the same thread.
Actual Results
2020-08-19 12:46:02.455571+1000 MakeSpace[2462:172263] *** Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'
*** First throw call stack:
(
0   CoreFoundation                      0x00007fff32706b57 exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff6b54d5bf objc_exception_throw + 48
2   Realm                               0x0000000102391915 -[RLMRealm verifyThread] + 70
3   Realm                               0x000000010232dd12 RLMGetObjects + 80
4   RealmSwift                          0x0000000102bee120 $s10RealmSwift0A0V7objectsyAA7ResultsVyxGxmAA6ObjectCRbzlF + 112
5   MakeSpace                           0x00000001007b5051 $s9MakeSpace010BrandMicroB11DataExtractC20processReportSegment7segment5codes9operation10completionySi_s10ArraySliceVySSGAA17OSReportOperationCySSSg_yptctFyyXEfU + 1105
6   MakeSpace                           0x00000001007b645f $s9MakeSpace010BrandMicroB11DataExtractC20processReportSegment7segment5codes9operation10completionySi_s10ArraySliceVySSGAA17OSReportOperationCySSSg_yptctFyyXEfU_TA + 47
7   MakeSpace                           0x000000010007d77f $ss5Error_pIgzo_ytsAA_pIegrzo_TR + 15
8   MakeSpace                           0x00000001007be224 $ss5Error_pIgzo_ytsAA_pIegrzo_TRTA + 20
9   libswiftObjectiveC.dylib            0x00007fff6c3a9d8e $s10ObjectiveC15autoreleasepool8invokingxxyKXE_tKlF + 46
10  MakeSpace                           0x00000001007b4b8b $s9MakeSpace010BrandMicroB11DataExtractC20processReportSegment7segment5codes9operation10completionySi_s10ArraySliceVySSGAA17OSReportOperationCySSSg_yptctF + 395
11  MakeSpace                           0x00000001007bf28c $sTA + 44
12  MakeSpace                           0x0000000100c95a4b $s9MakeSpace17OSReportOperationC13processReport33_8052702ECD28E6803A02135FC2E5BA3DLL7segment5codes10completionySi_s10ArraySliceVySSGySSSg_yptctFyycfU + 219
13  MakeSpace                           0x0000000100c96387 $s9MakeSpace17OSReportOperationC13processReport33_8052702ECD28E6803A02135FC2E5BA3DLL7segment5codes10completionySi_s10ArraySliceVySSGySSSg_yptctFyycfU_TA + 55
14  MakeSpace                           0x0000000100049e20 $sIeg_IeyB_TR + 48
15  libdispatch.dylib                   0x0000000102d23844 _dispatch_call_block_and_release + 12
16  libdispatch.dylib                   0x0000000102d24826 _dispatch_client_callout + 8
17  libdispatch.dylib                   0x0000000102d26e8d _dispatch_queue_override_invoke + 1038
18  libdispatch.dylib                   0x0000000102d38391 _dispatch_root_queue_drain + 334
19  libdispatch.dylib                   0x0000000102d38e03 _dispatch_worker_thread2 + 127
20  libsystem_pthread.dylib             0x0000000102db231b _pthread_wqthread + 220
21  libsystem_pthread.dylib             0x0000000102db149b start_wqthread + 15
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Steps for others to Reproduce
Unable to reliably reproduce this yet.
Code Sample
N/A
Version of Realm and Tooling
Realm framework version: RealmSwift 5.3.4
Realm Object Server version: ?
Xcode version: 11.6
iOS/OSX version: macOS 10.15.6
Dependency manager + version: N/A

I just managed to get another crash, this time ever so slightly different.
2020-08-19 13:10:35.441117+1000 MakeSpace[2511:184305] *** Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'
*** First throw call stack:
(
0   CoreFoundation                      0x00007fff32706b57 _exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff6b54d5bf objc_exception_throw + 48
2   Realm                               0x0000000102394c43 -[RLMRealm refresh] + 73
3   RealmSwift                          0x0000000102beeac0 $s10RealmSwift0A0V7refreshSbyF + 16
4   MakeSpace                           0x0000000100cffd94 $s9MakeSpace27MonthlyStoreReportOperationC06createE010completionyyyc_tFyycfU + 756
5   MakeSpace                           0x0000000100049e20 $sIeg_IeyB_TR + 48
6   libdispatch.dylib                   0x0000000102d23844 _dispatch_call_block_and_release + 12
7   libdispatch.dylib                   0x0000000102d24826 _dispatch_client_callout + 8
8   libdispatch.dylib                   0x0000000102d26e8d _dispatch_queue_override_invoke + 1038
9   libdispatch.dylib                   0x0000000102d38391 _dispatch_root_queue_drain + 334
10  libdispatch.dylib                   0x0000000102d38e03 _dispatch_worker_thread2 + 127
11  libsystem_pthread.dylib             0x0000000102db231b _pthread_wqthread + 220
12  libsystem_pthread.dylib             0x0000000102db149b start_wqthread + 15
)
libc++abi.dylib: terminating with uncaught exception of type NSException
2020-08-19 13:10:35.441052+1000 MakeSpace[2511:177028] [General] Realm accessed from incorrect thread.
2020-08-19 13:10:35.441970+1000 MakeSpace[2511:177028] [General] (
0   CoreFoundation                      0x00007fff32706b57 _exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff6b54d5bf objc_exception_throw + 48
2   Realm                               0x0000000102394c43 -[RLMRealm refresh] + 73
3   RealmSwift                          0x0000000102beeac0 $s10RealmSwift0A0V7refreshSbyF + 16
4   MakeSpace                           0x0000000100cffd94 $s9MakeSpace27MonthlyStoreReportOperationC06createE010completionyyyc_tFyycfU + 756
5   MakeSpace                           0x0000000100049e20 $sIeg_IeyB_TR + 48
6   libdispatch.dylib                   0x0000000102d23844 _dispatch_call_block_and_release + 12
7   libdispatch.dylib                   0x0000000102d24826 _dispatch_client_callout + 8
8   libdispatch.dylib                   0x0000000102d26e8d _dispatch_queue_override_invoke + 1038
9   libdispatch.dylib                   0x0000000102d38391 _dispatch_root_queue_drain + 334
10  libdispatch.dylib                   0x0000000102d38e03 _dispatch_worker_thread2 + 127
11  libsystem_pthread.dylib             0x0000000102db231b _pthread_wqthread + 220
12  libsystem_pthread.dylib             0x0000000102db149b start_wqthread + 15
)
(Recorded stack frame)

It seems I can now reliably get a crash by running a particular batch of reports - and the crash seems to occur much sooner than before.  Note that these reports are generated by NSOperations, each NSOperation opens the realm and generates the report for a particular input code.  Usually the queue has 4 concurrent operations but the crash is occurring regardless of whether maxConcurrentOperations = 1 or 4.  The thread ID does not change between the calls to open the realm and the calls to realm.refresh() - which is where the exception gets thrown.
Let me know if you are still looking for a repro case for this issue since I may be able to recreate one more easily now.
I am just about to test this with a non synced realm (i.e. local realm file) to see if it still occurs.

A repro case would be wonderful if you can put one together.

Ok I'll see what I can do.

This is annoying - I haven't been able to reproduce in a test app but seem to be able to repeatedly cause the exception with one particular sequence of steps in the application.  Other sequences cause the crash eventually as well but not consistently in the same place.  The crash seems to happen on the first call(realm.refresh(), realm.objects(), etc.) immediately after a realm is opened on a new thread.  If the thread gets passed this point then it does not appear to subsequently crash.

@tgoyne - is there any way I can help debug this issue since I can reproduce it pretty easily in the production application but not in the test app.  Perhaps I am barking up the wrong tree here but it seems this call is failing when it shouldn't be.  I don't have any understanding of how the realm code works but presumably m_runloop is getting set when Realm() is called and subsequent access to the realm uses the call below to check that calls are from the same thread.
Let me know if you have any suggestions as to how I might try and debug this.  I was thinking of putting in some debug logging to log when the m_runloop value is set and when the call below is being made.  Is there some realm id that can be used to identify which realm instance the call is being made on?
bool RunLoopScheduler::is_on_thread() const noexcept
{
return CFRunLoopGetCurrent() == m_runloop;
}

Are you opening the Realm in one NSOperation and then accessing it in another? If so that would explain the error; to make that work you would need to use a Realm confined to a queue and run the NSOperation on that queue.

If no queue-bound threads are involved (i.e. you don't use asyncOpen, never specify a queue when opening a Realm, and never specify a queue to deliver to when adding an object/collection change notification), the basic flow is:
When the Realm is opened, we generate a cache key for that Realm, which is 1 for the main thread and pthread_self() for other threads. If we have a Realm for the path being opened and that key already we return that, and otherwise create a new RLMRealm instance and cache it using that key.
When a new Realm instance is created, we create a new default scheduler, which on Apple platforms is RunLoopScheduler. No runloop is explicitly passed in, so RunLoopScheduler calls CFRunLoopGetCurrent() to capture the current thread's runloop and retains that.
Each time data is read from the Realm, we check that we're on the correct thread, which in RunLoopScheduler's case consists of calling CFRunLoopGetCurrent() and checking if it returned the same thing as when the scheduler was constructed.

The problem is presumably in one of these spots. A bug in the caching logic could mean that you're incorrectly getting a Realm for a different thread. The caching code is largely unchanged from 4.x though, so if it's wrong that suggests it was always wrong but in a way that didn't matter until now.
One explanation for the problem would be that our assuption that CFRunLoopGetCurrent() == CFRunLoopGetCurrent() always holds is actually incorrect. This part is the biggest difference from 4.x so it's an obvious thing to blame (in 4.x the equivalent assumption was std::this_thread::id() == std::this_thread::id()). The documentation explicitly states that there's always exactly one run loop per thread, so unless that's wrong it's not obvious how that could be false, though.
A possibility could be that thread IDs being reused after the thread is terminated are causing problems. If a thread terminates while we have a cached Realm for that thread, then a new thread is created with the same ID, we could get that old Realm from the cache. It would have the correct thread id, but a different CFRunLoop instance. In 4.x we wouldn't notice this happening because we only checked thread id, but in 5.x we would notice it and throw an incorrect thread exception. You could try adding NSLog(@"thread id: %p, runloop: %p", (void *)pthread_self(), (void *)CFRunLoopGetCurrent()); to the start of realmWithConfiguration:queue:error:. If this is the problem, immediately before the incorrect thread exception you'll see a threadid which appeared previously but with a different runloop.
I'll also try to put together a test which tests thread ID reuse handling. Even if it turns out to not be what's causing problems for you I think the logic may be incorrect.

@tgoyne No the realm is opened in one operation only.  I think the idea that something is being reused and upsetting your cache seems the more likely scenario.
I'll try logging what you have suggested.
Currently I am using the Swift Package Manager version - the source files are readonly - is it possible to somehow incorporate this version with source code into my project so I can add the debug comment to the Realm source files ?

*** First throw call stack:
(
0   CoreFoundation                      0x000000018ab819c4 _exceptionPreprocess + 240
1   libobjc.A.dylib                     0x00000001c517510c objc_exception_throw + 60
2   MakeSpace                           0x00000001056f0e28 -[RLMRealm refresh] + 116
3   MakeSpace                           0x000000010575ffb0 $s10RealmSwift0A0V7refreshSbyF + 52
4   MakeSpace                           0x0000000104c97308 $s9MakeSpace18StoreChangeReportsC10createData5codes15progressCounter0I7MessageSSSgSaySSG_ySdcySSctF + 836
5   MakeSpace                           0x0000000104ead714 $s9MakeSpace19BaseReportGeneratorC14createDataFile15progressCounter0I7Message10completionyySdc_ySScySSSgctFyycfU + 756
6   MakeSpace                           0x00000001049337cc $sIeg_IeyB_TR + 52
7   libdispatch.dylib                   0x00000001084a8120 _dispatch_call_block_and_release + 32
8   libdispatch.dylib                   0x00000001084a9bfc _dispatch_client_callout + 20
9   libdispatch.dylib                   0x00000001084c018c _dispatch_root_queue_drain + 848
10  libdispatch.dylib                   0x00000001084c0b54 _dispatch_worker_thread2 + 140
11  libsystem_pthread.dylib             0x000000010854b628 _pthread_wqthread + 216
12  libsystem_pthread.dylib             0x000000010854a398 start_wqthread + 8
)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'
terminating with uncaught exception of type NSException
(lldb)

If you could give me some guidance on how I can add the realm source code to my project such that I can edit the source code I want to check the values in the call below.  Is there anywhere else that could be generating the same exception that is worth checking?
bool RunLoopScheduler::is_on_thread() const noexcept
{
return CFRunLoopGetCurrent() == m_runloop;
}

OK I've managed to figure out how to edit the source code and have added the following code:
Swift Class
let realm = try Realm(configuration: self.realmConfig)
print("open realm>>thread id: (ObjectIdentifier(Thread.current)), runloop: ( ObjectIdentifier(CFRunLoopGetCurrent()))");
RunLoopScheduler::RunLoopScheduler(CFRunLoopRef run_loop)
: m_runloop(run_loop ?: CFRunLoopGetCurrent())
{
CFRetain(m_runloop);
printf("thread: %p, m: %p\n", (void *)pthread_self(), (void *)m_runloop);
}
bool RunLoopScheduler::is_on_thread() const noexcept
{
CFRunLoopRef t_runloop = CFRunLoopGetCurrent();
if (t_runloop != m_runloop) {
printf("m: %p, c: %p\n", (void *)m_runloop, (void *)t_runloop);
}
return t_runloop == m_runloop;
}
The output at the bottom shows that m_runloop has a different value to the current runloop. And that runloop value shows up earlier.  The thread ids don't match between the C++ calls and the Swift calls.  Is there some translation required ?
...
createReport() about to open realm
thread: 0x16df0b000, m: 0x6000037d4500
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
realm.refresh>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
thread: 0x16daab000, m: 0x6000037f8000
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
thread: 0x16db37000, m: 0x6000037d6300
realm.refresh>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
thread: 0x16dbc3000, m: 0x6000037c8a00
realm.refresh>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
realm.refresh>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
open realm>>thread id: ObjectIdentifier(0x0000600001eabf40), runloop: ObjectIdentifier(0x00006000037d4500)
open realm>>thread id: ObjectIdentifier(0x0000600001e16dc0), runloop: ObjectIdentifier(0x00006000037f8000)
open realm>>thread id: ObjectIdentifier(0x0000600001e174c0), runloop: ObjectIdentifier(0x00006000037d6300)
open realm>>thread id: ObjectIdentifier(0x0000600001e14f80), runloop: ObjectIdentifier(0x00006000037c8a00)
2020-08-20 20:02:24.252615+1000 MakeSpace[6506:190623] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L011"
createReport() about to open realm
thread: 0x16dc4f000, m: 0x6000037cfe00
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
realm.refresh>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
2020-08-20 20:02:31.988262+1000 MakeSpace[6506:190668] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L006"
2020-08-20 20:02:32.837665+1000 MakeSpace[6506:190690] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L002"
2020-08-20 20:02:35.074163+1000 MakeSpace[6506:190545] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L007"
open realm>>thread id: ObjectIdentifier(0x0000600001e63540), runloop: ObjectIdentifier(0x00006000037cfe00)
2020-08-20 20:03:08.546080+1000 MakeSpace[6506:190546] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L001"
StoreChangeReports.createData() about to open realm
thread: 0x16d907000, m: 0x60000b7b2600
open realm>>thread id: ObjectIdentifier(0x00006000013e29c0), runloop: ObjectIdentifier(0x000060000b7b2600)
realm.refresh>>thread id: ObjectIdentifier(0x00006000013e29c0)-<NSThread: 0x6000013e29c0>{number = 14, name = (null)}, runloop: ObjectIdentifier(0x000060000b7b2600)
open realm>>thread id: ObjectIdentifier(0x00006000013e29c0), runloop: ObjectIdentifier(0x000060000b7b2600)
createReport() about to open realm
thread: 0x16de7f000, m: 0x6000037ce800
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
realm.refresh>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
open realm>>thread id: ObjectIdentifier(0x0000600001e2c280), runloop: ObjectIdentifier(0x00006000037ce800)
2020-08-20 20:03:43.255156+1000 MakeSpace[6506:190622] MonthlyStoreReportOperation.createReport(completion:)[118]: "Report completed for L012"
StoreChangeReports.createData() about to open realm
open realm>>thread id: ObjectIdentifier(0x0000600001001700), runloop: ObjectIdentifier(0x000060000b7c8900)
realm.refresh>>thread id: ObjectIdentifier(0x0000600001001700)-<NSThread: 0x600001001700>{number = 15, name = (null)}, runloop: ObjectIdentifier(0x000060000b7c8900)
m: 0x6000037f8000, c: 0x60000b7c8900
2020-08-20 20:03:43.264027+1000 MakeSpace[6506:191305] *** Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'

I was able to reproduce this with a nice small test:
- (void)testThreadIDReuse {
    NSMutableArray *realms = [NSMutableArray array];
    std::unordered_set<pthread_t> threadIds;
    bool done = false;
    while (!done) {
        std::thread([&] {
            RLMRealm *realm = [RLMRealm defaultRealm];
            [realms addObject:realm];
            (void)[IntObject allObjectsInRealm:realm].count;
            [realm refresh];
            if (!threadIds.insert(pthread_self()).second) {
                done = true;
            }
        }).join();
    }
}

I think this'll be pretty straightforward to fix now that I understand what's going wrong.

Just curious as to why you changed from using the thread id itself ?

The 5.0 changes to support delivering notifications to different threads requires that the main thread's scheduler be based on the runloop because that's something we can get from different threads in a documented way, while you technically can't get the main thread's threadid from different threads. Rather than special-casing the main thread's scheduler I just made them all use the runloop because there didn't appear to be any downside to that.

This seems to be an issue with older versions of realm as well - I'm currently seeing this on a project with v3.18.0.
I was able to replicate the crash by background/foregrounding my app several times (we do some Realm querying when the app comes to the foreground).
Here's a simple test based on @tgoyne's awesome explanation above.
// define this somewhere that will persist in memory
var temp_thread_runloops: [String: String] = [:]

var realm: Realm {
            // log thread and current run loop right before creating your realm instance
            let t1 = String(format: "%p", pthread_self())
            let t2 = String(format: "%p", unsafeBitCast(CFRunLoopGetCurrent(), to: UnsafeMutablePointer<Void>.self))
            if temp_thread_runloops[t2] != nil, temp_thread_runloops[t2] != t1 {
                fatalError("🔥 bug in realm instance cacheing!!")
            }
            NSLog("t1: \(t1) t2: \(t2)")
            temp_thread_runloops[t2] = t1
            return try! Realm(configuration: configuration)
}

Guess i'll have to backport the patch in #6714 until this project moves to a more modern version of realm.


Change exercise tests to be TDD orientated.

I have rearranged the tests for this exercise to be more test driven development orientated as we would potentially want the easier test cases to come first so the user doing the exercise can write code to fail fast (eg. negative coins, 0 coins, etc) then build up to the difficult scenarios of using Lilliputian and Lower Elbonia Coins.
This is just a suggestion as I found the exercises as a great way of doing TDD - albeit the tests having already been wrote!

Thanks! Would you also be willing on making this change on the problem-spec repository?
https://github.com/exercism/problem-specifications/
I want to stay close to the canonical when we can, and it seems that this change might benefit a lot of tracks.

Sure, I've submitted the following PR that reflects the updated ordering: https://github.com/exercism/problem-specifications/pull/1563

Since we're now using test.toml and are free to arrange/re-arrange the tests to our order, I'm going to close this in favour of a potential future new PR that just re-orders the tests in our repo only.


Import xingyif/scalabridge repo

This is an initial/WIP import of the xingyif/scalabridge repo.

comments in slack.

🎉 this is enormously useful material, now easier to find

can I help publicize this from https://twitter.com/scala_lang , if y'all think the timing for that is okay?


Finished unit tests (for now)

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
:information_source: You can also turn on project coverage checks and project coverage reporting on Pull Request comment
Thanks for integrating Codecov - We've got you covered :open_umbrella:


import3rdParties

Is there is a way to add a css file to the webview?
I can see the import3rdParties prop but where can I add the name of the file?

Hi @eran88 , No there isn't a way for now. there is a issue #3 to pass custom styles and we will implement it in future releases. import3rdParties  is related to editor's own 3rd party libraries like quill's scripts and styles.

We've added customStyles.  You may use it in release >= 0.7.0


Website offline?

plumebio.com shows "The content of the page cannot be displayed".  I assume that is not intended.

Thanks for reporting this issue. Unreachable websites are now automatically removed from the club website. If an unreachable website becomes reachable again in future, it would automatically get included in the club website in the next weekly rebuild.


Likecoin BDJuno throws error while storing up-to-date undonding delegations

Bug description

BDJuno for likecoin throws this error when processing genesis file:
error while handling genesis err="error while storing staking genesis unbonding delegations: error while storing up-to-date undonding delegations: pq: ON CONFLICT DO UPDATE command cannot affect row a second time" module=staking

Duplicated of #177, it should be solved with
   ```sql
   ALTER TABLE redelegation
    DROP CONSTRAINT redelegation_validator_delegator_unique;

   ALTER TABLE redelegation
      ADD CONSTRAINT redelegation_validator_delegator_unique UNIQUE (delegator_address, src_validator_address,
                                                                   dst_validator_address, amount, completion_time);

   ALTER TABLE unbonding_delegation
      DROP CONSTRAINT unbonding_delegation_validator_delegator_unique;

   ALTER TABLE unbonding_delegation
      ADD CONSTRAINT unbonding_delegation_validator_delegator_unique UNIQUE (delegator_address, validator_address,

@RiccardoM Yes it fixed it! Thanks, closing this now.


Syntax tab-suggestions for UmiAI

Hi, I'm trying to add convenience syntax completition for Umi tags:

after <[tag -> '][', '|', ']>', ...filteredWildcards
after < if Umi is detected suggest [ as the first thing

I'm fighting with hideResults() in if (fixedTag === null) and other ifs that match and I'm worried I'll break other suggestions once I find a condition that would allow me to add these suggestions.
I can commit what I have but it's not much, reduce to get yamlTags in shape of { [tag]: true, ... } to check for a match and a conditional array expansion with hardcoded suggestions.
I can carry implementing with a conditional that will not hide suggestions after a tab-completition of a tag.
This is a nice-to-have so no time pressure here or anything. I just started prototyping because I had a free hour and got a bit stuck on hideResults() fighting me all the time :P.
https://github.com/ctwrs/a1111-sd-webui-tagcomplete/commit/ce63ea4559129525185cd2e1af7cbac1435aac0c

Dunn o if it will help you, but I have the global hideBlocked bool for preventing hideResults() if I explicitly don't want it,
I used that to keep normal wildcards open in case the user wants to insert not only the wildcard but one of its stand-ins.
See this part in insetTextAtCursor():
// Hide results after inserting
if (tagType === "wildcardFile") {
    // If it's a wildcard, we want to keep the results open so the user can select another wildcard
    hideBlocked = true;
    autocomplete(textArea, prompt, sanitizedText);
    setTimeout(() => { hideBlocked = false; }, 100);
} else {
    hideResults(textArea);
}


⚠ ClamAV has degraded performance

In be6221e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 84 ms

Resolved: ClamAV performance has improved in ada9de8.


feat: memory support

Description
Memory design in camel:

memory storage
memory types:

short-term
long-term

Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[ ] Example (update in the folder of example)

Checklist

[ ] I have read the CONTRIBUTION guide. (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly. (required for a bug fix or a new feature)
[ ] I have updated the documentation accordingly.

This is current memory design. I will push the basic code without examples and documents by the end of tomorrow.

Is it still a draft? Do you need a review?

Is it still a draft? Do you need a review?

Yes, it’s still a draft. I will request review when I think it’s almost done.😁

Todo List:

[ ] Vector DB

[x] Qdrant storage
[x] Qdrant test
[ ] VectorDBMemory
[ ] VectorDBTest
[ ] Document
[ ] Exmaples

[ ] Chat History

[x] Chat History Memory & test
[x] Lossless storage & test

[x] Json
[x] In-memory

[ ] Document
[ ] Exmaples

[ ] Cognitive Memory

[ ] Implement
[ ] Test
[ ] Document
[ ] Exmaples

Most of the core code is done. I will keep updating the documentation and examples.

This PR has too many contents, so I divide it into several parts. The first step is ChatHistoryMemory and agent memory interaction, see #280.

Okay, I've got the idea where it all is going

This branch is the main branch for memory development. Close since it will not be merged.


Add method for removing clients from server

Without calling this method, clients wouldn't get cleaned up properly from the holepunch server if they cancel the nat traversal before it is complete.

Yes, those are good points as well!


Astro Pico implementation code

This change converts this lighting app to an occupancy sensor.
To build:

Download the esp-idf repository and run source export.sh in that
repo
In the root of this repo, run source scripts/activate.sh 3) Go into the examples/lighting-app/esp32 directory 4) Set the target by running idf.py set-target esp32c3 5) Build and flash it by running idf.py build flash monitor

I saw some issues if i unplugged the device and plugged it back in while idf.py monitor was being run. I recommend stopping the monitor, plugging the device, then running the command again.

!!!!!!!!!! Please delete the instructions below and replace with PR description
If you have an issue number, please use a syntax of
Fixes #12345 and a brief change description
If you do not have an issue number, please have a good description of
the problem and the fix. Help the reviewer understand what to expect.
Make sure you delete these instructions (to prove you have read them).
!!!!!!!!!! Instructions end

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Cliff Chung seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add "TI84 calculator online" link

Add the "TI84 calculator online" link, which is very convenient for students.

Hello,
This tool is built in violation of the copyright act. It simply copies the code for a tool TI made. I cannot promote it in good conscience.


Add captions in send_audio, voice and file

The argument has been added right after path, just like it is in the telegram documentation.
If there is some other thing to be changed in the documentation, I will do whatever is needed.

Got it. I'll do these changes asap


onAdd method can add new attribution when cloning; BUG FIXED: clone the DOM at first time add new attribution invalid

onAdd method can add new attribution when cloning; BUG FIXED FOR ISSUE #172

closes #172

Please remove dist/util.d.ts and examples/components/disable-sorting.tsx` from commits, as these files no longer exist.
Other than that it looks good. great work! <3

ok! I get it😄

@cangshudada Why did you close this? I hadn't pulled it in yet.

@cangshudada Why did you close this? I hadn't pulled it in yet.
btw in future you could've used git commit --amend followed in sequence by :wq to save it, then force push with git -uf origin master :)

sry,I did not notice😥!


Publish 06/18/2021, 3:30 PM

Docs Build status updates of commit 0ba2625:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Workspace - not working in Safari on iPad ?

Hi @ronm123 Have you managed to get the Workspace working on iPad at all?
I've just tested on iPad 2 and iPad Mini and neither work for me so wondering what iPads/browsers others have and whether the Workspace works for them. As with the Android issues, the editor works fine (if you can get to it by typing in the url directly)
iPad Mini / Safari

iPad2 iOS 8.3 / Safari

This is a bit of a deal breaker if we are trying to promote mobile authoring...

Hi John
my iPad 4 + Safari works fine apart from the play button not doing anything which I think I added as a separate issue. Did you clear the safari cache? Does using the sort your files option have any impact?
I have an old iPad 1 that I can also test with and a Samsung 8" tablet so I'll test with them shortly and report back...

Hi John
I can't test on my iPad 1 yet (completely flat) but have tested on an 8" Samsung Android and an 8" Windows 8.1 tablet and both display the workspace and editor fine. Curiously the Android tablet has the same issue as my iPad with the play button not doing anything but the Windows tablet gave a pop-up blocker message and when allowed the play button from the editor does work.

IHi John and Ron,
I use an iPad 3th generation and that looks ok.

Hi Inge
out of curiousity does the play button in the editor work for you on your iPad?
For me on iPad and Android preview works and edit works but not play from the editor.
Ron

Which issue is about the play button? I had the same issue on an Android. Had to allow for popups. NOTE, that you do NOT get a warning about the popups. Android justs supresses them.

No. Play inside editor is not working by default on iPad (answering for Inge)

Hi Ron, hmm, I hadn't tried using the Sort button but yes when I do press that the workspace tree loads...
I've traced the problem and there seems to be a javascript error with the layout which is causing this. Hopefully fixing that will fix the issues on some Android browsers also...
Don't really know where to start with this one though...

If you allow popups in safari on the iPad, Play from the editor works.(only if you disable auto blocking of popups, will you be asked the question)

John,
What happens if you use my installation? I'll send you a login shortly.

Yes, I can confirm what Tom says. Play wasn't working and was doing nothing. Turned off popup blocking and when I clicked Play I got a message about site opening a popup. Clicked Allow and LO opens...

Doh! Never actually considered pop-up blocking being the cause of play not working given that edit, preview, properties all open. But yes turning Safari pop-up blocking off gives the prompt and then play works. Great!

Just to add - turning off 'Block pop-ups' on my Samsung 8" Android tablet via the default browser advanced settings also then prompts when play is clicked and if allowed play works. Also using Chrome on the same tablet prompts even with block pop-ups turned on and adds the allowed site to the exceptions list.

Safari - iPad 3 - popups allowed - cache cleared
I get a mixture of results depending on what installation I try.
On Tom's privatebeta site the Workspace list loads fine and I can select projects and preview them from Workspace. If I try to edit them though it opens the editor url but gets stuck on the loading spinner. I also can't create a new project properly - I can enter a project name and click create but no window opens. It has created the project though as if I refresh you can see it in the project list. This all works ok on my PC.
Accessing my local XAMPP installation (up to date), the Workspace list doesn't load but if I enter the url directly the editor loads OK. I can't create a project at all - clicking create doesn't do anything so I can't get to the box to enter the project name. I've tried the orientation changes and sorting projects that Ron mentioned on Trello but nothing makes the project list appear. All OK on my PC.

It's quite a strange issue really and part of me thinks it is my issue and part of me thinks it's somehow the code...  To document here what i've found..
I had 2x subdomains, setup roughly 1-2 years apart, on same domain (but not necessarily same server as they are managed) and same php version.
1 domain xerte.xxxx was set up first, running v2.1 the other, xerte-dev.xxx was setup recently. It was a direct copy of the checked out github repository and fully up to date... this is the one that didn't work on iPad. Suspecting a corrupt file, I deleted everything except config(s), database and USER-FILES and reinstalled from zip from xerte.org.uk. It still didn't work...
After testing Ron's and Tom's install, both worked flawlessly. I then decided it must be the server so I upgraded the v2.1 using the zip, ran upgrade.php and tested on the ipad and it works?!?
So the only difference i have is that they are on different subdomains on shared hosting which could possibly be different servers although supposedly configured the same or xerte-dev has a hyphen in the name whereas Tom's and Ron's don't and that is somehow the issue...
I debugged Safari on the iPad and the only console errors I got are above but not sure what is causing them. Can you debug iPad3 @FayCross ? Do you see these console errors?

Like Fay above, before doing each of these tests i've made sure popups are allowed and cleared cache.

I used to be able to access the developer console for errors on the iPad but Apple have helpfully taken that feature out. I think I need to connect to a Mac to do this now - I'll borrow one to try and let you know

I'm now getting iPad2 Safari to work fine on a new install on a new subdomain so I don't really know why the previous install didn't work.... so like @FayCross i'm seeing really different results across installs and haven't found any common cause yet...

@JohnSmith-LT is the install that isn't working available externally John? If it is I'm happy to test on the iPads I have if you want to share details offlist. Likewise @FayCross if the install that you have that isn't working is externally available let me know.

This seems to have resolved itself on my install anyway so i'm none the wiser but at least it's working now...


Can TagUI automate windows,mainframes applications as well along with web applications?

Raising user query through email, for benefit of other users

For using Windows apps, it is done using visual automation at the moment with support for calling AutoHotKey or RoroScript. We plan to make Windows apps integration better and native.
More details here - https://github.com/kelaberetiv/TagUI/issues/113


Delete start.bat

why?

because goanimate wrapper does not use start.bat

start.bat was included in this build of Wrapper for users familiar with Wrapper Offline's startup procedure who aren't familiar with the command line.


LocalPlanner runs too slowly and takes too long time

Hi everyone, I'm trying to use quad-sdk in my work, so I forked the repository into my own account as: https://github.com/ruihuang1124/quad-sdk, and the branch of my code is dev/ray. I encountered a local planner that took too long to run issue, I tried different ipopt linear solvers (ma27, ma57), but the results were similar. The problem is as shown in the screenshot below. You can see that LocalPlanner took 10+ms and caused the frequency of the /robot_1/local_plan topic to be too low. (The expectation is 333hz, but the actual release frequency is only 80-100hz as shown in the picture). The configuration of my computer is CPU: AMD Ryzen 7 5800H and GPU: GeForce RTX™ 3060 6GB, so I think the computer's performance is sufficient?

Hi @ruihuang1124,
Assuming your branch was branched off of devel, the local planner should be running raster than its currently running on your system. I would also double check your install of the solver, see Issue 288 for more details on this: https://github.com/robomechanics/quad-sdk/issues/288
When you tried different solvers, did you also make sure to change line 208 on nmpc_controller.cpp to the corresponding solver? Also it would help if you could detail what modifications you made to the devel branch, so I could help further. I don't believe you need to worry about your computer configuration at all, its performance should be more than enough. For reference, the local planner should take 2-3 seconds,
Best,
David Ologan

Hi friend, @ologandavid
Thank you for your reply, I do change line 208 on nmpc_controller.cpp to the corresponding solver, and the log information shows that I was using the right solver as I change the "print_level" from "0" to "5". Actually, I found that my problem may not be caused by computer configuration or code writing: I tried configuring this repo on another brand-new laptop (the code version is still branch dev/ray in https://github.com/ruihuang1124 /quad-sdk), when running the code after just configuring the software, the local planner took only 2-3ms as you mention, everything looked good. However, when I further installed pinocchio (https://github .com/stack-of-tasks/pinocchio) warehouse and hipim (https://github.com/giaf/hpipm) and their dependencies. At this time, I ran the local planner and found that it took a very long time (larger than 50cm), I realized that maybe the newly installed software had changed some of my quad-sdk dependencies, so I went into my catkin_ws workspace and deleted all the build and devel files and then completely recompiled and installed quad-sdk, then I ran local_planner and found that it only took 2-3ms. So under the current quad-sdk software version: I think we can completely recompile and install the quad-sdk related software when we encounter a situation similar to mine. I hope it can give people encounter similar problems a reference solution.
Best,
Ray.


Migrate from appcfg.py to gcloud command

Looks gcloud command is the standard way to configure App Engine app nowadays (though appcfg.py is still available). It would be better to migrate our tools / instructions to use gcloud command.

Fix might be required for following directory:
tools/gae
tools/console

https://cloud.google.com/appengine/docs/standard/java/tools/migrating-from-appcfg-to-gcloud

@gimite @nworden
Sorry for the delay in seeing this and let me consult how we should handle this issue.
When I tried to use Google Cloud SDK instead of the original App Engine SDK, it worked with the following command as the old SDK(including new React UI) without problem.
$ /opt/google-cloud-sdk/bin/dev_appserver.py app/app.yaml --port 8000 --admin_port=8001
I saw the generation comparison but as far as I see python2.7 is compatible with gVisor(2nd Gen GAE).
So whet I should do seems to simply replacing line 42 of tools/gae to gcloud command. Is my understanding correct?
If so, I think we can also leave current tools/gae and append the description how to use Google Cloud SDK in the (Getting Started guide)[https://github.com/google/personfinder/wiki/GettingStarted].
Does it sound OK?
Please let me know your thoughts.
Thanks!
Miki

Thanks for taking a look at this!
tools/gae can also be used in this way:
$ tools/gae update app -A my-app-id --noauth_local_webserver

as documented in:
https://github.com/google/personfinder/wiki/GettingStarted
Have you confirmed if the command works as is with Cloud SDK?

So what I should do seems to simply replacing line 42 of tools/gae to gcloud command.

What about line 39? Don't you need to update the line too because dev_appserver.py is now at /opt/google-cloud-sdk/bin/dev_appserver.py?

If so, I think we can also leave current tools/gae without any modification and append the description how to use Google Cloud SDK in the Getting Started guide.

If we leave tools/gae as is, it won't work with Cloud SDK, right? I would prefer to update it to make it work with Cloud SDK to avoid confusion.

App Engine standalone SDK seems to have gotten unavailable in Aug. 2020., which forces us to migrate out of appcfg.
https://cloud.google.com/appengine/docs/standard/python/sdk-gcloud-migration

App Engine standalone SDK seems to have gotten unavailable in Aug. 2020., which forces us to migrate out of appcfg.
https://cloud.google.com/appengine/docs/standard/python/sdk-gcloud-migration

I have found APPENGINE_DIR strings in the following files (but not yet examined the usage).

config files
https://github.com/google/personfinder/blob/master/.travis.yml
https://github.com/google/personfinder/blob/master/Dockerfile

tests
https://github.com/google/personfinder/blob/master/tests/server_tests.py

tools
https://github.com/google/personfinder/blob/master/tools/gae
https://github.com/google/personfinder/blob/master/tools/common.sh

pfif-tools
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/gae
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/common.sh
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/remote_api.py

I can not find the usage on tools/console, which was mentioned above.

I have found APPENGINE_DIR strings in the following files (but not yet examined the usage).

config files
https://github.com/google/personfinder/blob/master/.travis.yml
https://github.com/google/personfinder/blob/master/Dockerfile

tests
https://github.com/google/personfinder/blob/master/tests/server_tests.py

tools
https://github.com/google/personfinder/blob/master/tools/gae
https://github.com/google/personfinder/blob/master/tools/common.sh

pfif-tools
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/gae
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/common.sh
https://github.com/google/personfinder/blob/master/tools/pfif-tools/tools/remote_api.py

I can not find the usage on tools/console, which was mentioned above.

Searching for tools/gae in our wiki (search result), I only found two types of usages, which could mean that we only expect these arguments (run or update).
tools/gae run ...
tools/gae update ...

Searching for tools/gae in our wiki (search result), I only found two types of usages, which could mean that we only expect these arguments (run or update).
tools/gae run ...
tools/gae update ...

tools/console may not be mentioned anywhere, but it is still a useful tool (which allows us to interactively run Python code against a PF instance on AppEngine), so it would be great if we can keep it working.

Searching for tools/gae in our wiki (search result), I only found two types of usages, which could mean that we only expect these arguments (run or update).

This is probably true.
Note that we don't necessarily need to keep command line syntax of these commands. We just need an alternative way to do the same things (and update documents).
Among what you find, these would be in high priority:

tests
tools/gae, tools/common

Others can be done later. e.g., I believe none of the core developers are actively using the Docker setup or pfif-tools now.

tools/console may not be mentioned anywhere, but it is still a useful tool (which allows us to interactively run Python code against a PF instance on AppEngine), so it would be great if we can keep it working.

Searching for tools/gae in our wiki (search result), I only found two types of usages, which could mean that we only expect these arguments (run or update).

This is probably true.
Note that we don't necessarily need to keep command line syntax of these commands. We just need an alternative way to do the same things (and update documents).
Among what you find, these would be in high priority:

tests
tools/gae, tools/common

Others can be done later. e.g., I believe none of the core developers are actively using the Docker setup or pfif-tools now.

Thanks for the advice. I will prioritize the two scripts. In the meantime, https://github.com/google/personfinder/issues/771 has to be addressed first.

Thanks for the advice. I will prioritize the two scripts. In the meantime, https://github.com/google/personfinder/issues/771 has to be addressed first.

tools/console may not be mentioned anywhere, but it is still a useful tool (which allows us to interactively run Python code against a PF instance on AppEngine), so it would be great if we can keep it working.

TODO: This has to be looked into and addressed.

Searching for tools/gae in our wiki (search result), I only found two types of usages, which could mean that we only expect these arguments (run or update).

This is probably true.
Note that we don't necessarily need to keep command line syntax of these commands. We just need an alternative way to do the same things (and update documents).
Among what you find, these would be in high priority:

tests
tools/gae, tools/common

tools/gae was deleted and tools/common was updated in https://github.com/google/personfinder/pull/773.
tests do not fail after the change. Hence it is likely that no updates are needed there.

Others can be done later. e.g., I believe none of the core developers are actively using the Docker setup or pfif-tools now.

@gimite re: tools/console:
I found some documents referring to it - search results.

On localhost the command mostly works fine without any modification since it depends on app engine python libraries, not appcfg command (which is deprecated).

Might the document, however, be outdated regarding the default behavior?

DeveloperGuideGHC11 says:

tools/console # Connects to localhost port 8000 by default

However, when I run tools/console while running a host on the port (dev_appserver.py app --port=8000 --admin_port=8080), it is not connected.
It works fine when I specify it in the arguments.
I am unsure if the default behavior still holds true as long as I look into the source codes in tools/console and tools/console.py.

 % tools/console
Not connected.  Use connect(appserver_url) to connect.
from model import *
from setup_pf import *
>>>

 % tools/console localhost:8000
Connected to: localhost:8000
from model import *
from setup_pf import *
dev~None>

On production server, authentication fails. I guess it is due to my permission, not due to the script itself. Could you help verify it?

% tools/console googlepersonfinder.appspot.com
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/v2/auth?...(omitted)...
Enter verification code:

Authorization Error
Error 401: invalid_client
The OAuth client was not found.

Might the document, however, be outdated regarding the default behavior?

Yeah it looks the behavior in the document is outdated. I believe it's expected that it does nothing when no arguments are provided.

On production server, authentication fails. I guess it is due to my permission, not due to the script itself. Could you help verify it?

Replied this in an email since this may be something to do with our internal setup.

Yeah it looks the behavior in the document is outdated. I believe it's expected that it does nothing when no arguments are provided.

The document is updated.
https://github.com/google/personfinder/wiki/DeveloperGuideGHC11/_compare/d80204d85ee3117217b284ace1bf3c3be091dd6b...440e5565751a88ea79580b6fb16bef8427e3ccab

Replied this in an email since this may be something to do with our internal setup.

Thanks. No edition seems to be needed for tools/console.
Since the major use cases have been addressed as commented above (https://github.com/google/personfinder/issues/395#issuecomment-774920041), I am closing the issue for now.
Someone could reopen the issue or file a new one if any other usage of appcfg.py is found in the future.

Great, thanks!

Thanks. No edition seems to be needed for tools/console.

Ideally it should be mentioned somewhere that you need to set up the application default credential for it (it isn't obvious that the tool depends on it), though I'm not sure where the best place for it is. Maybe at least in the comment of tools/console?

I have added it to tools/consoleand DeveplerFaq.
https://github.com/google/personfinder/wiki/DeveloperFaq/_compare/568a38cf4d787c4663b3389e8dd2d9c60714b1b5...e8e3ed3e8e00c80ad7562f6858e119bc04acd83c


Awake: More possibilities with other apps

Description of the new feature / enhancement
Would also be a great benefit, when Awake works with Microsoft Teams and other online detection apps.
Now the PC stays awake, but for example Teams changes the status anyway to 'Away', it should stay in 'Online'.
Scenario when this would be used?
For example for helpdesk worker, it benefits, when they always appear online and the status doesn't flip.
Supporting information
No response

We'll consolidate the tracking of the issue here: #12547. Thank you for the suggestion, @EricSch!


Improve centos7 osd runner to correctly export fpm and allows dynamic node version switch

Description
Improve centos7 osd runner to correctly export fpm and allows dynamic node version switch

The fpm utility now correctly exported to env, means OSD core build rpm will not crash anymore
Add an entrypoint to dynamically export node version when runner starts. If no params, use 10.24.1; if use -e "NODE_VERSION=14.18.2" it uses 14.18.2. We can add more versions easily later. This makes the dashboards builds the same way as opensearch since you can now apply different node versions for different releases in input manifest.

% docker run --rm -it -u root opensearchstaging/ci-runner:test123
v10.24.1 is already installed.
Now using node v10.24.1 (npm v6.14.12)
Now using node v10.24.1 (npm v6.14.12)

% docker run --rm -it -e "NODE_VERSION=14.18.2" opensearchstaging/ci-runner:test123
v14.18.2 is already installed.
Now using node v14.18.2 (npm v6.14.15)
Now using node v14.18.2 (npm v6.14.15)

Test image: https://hub.docker.com/r/opensearchstaging/ci-runner/tags?page=1&ordering=last_updated&name=ci-runner-centos7-opensearch-dashboards-build-v1
Thanks.
Issues Resolved
#1887
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1888 (cd4d81d) into main (28d9525) will decrease coverage by 0.13%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #1888      +/-   ##
============================================
- Coverage     94.54%   94.40%   -0.14%
  Complexity       19       19
============================================
  Files           178      178
  Lines          3630     3630
  Branches         27       27
============================================
- Hits           3432     3427       -5
- Misses          194      199       +5
  Partials          4        4

Impacted Files
Coverage Δ

src/system/temporary_directory.py
83.87% <0.00%> (-12.91%)
:arrow_down:

src/system/os.py
93.75% <0.00%> (-6.25%)
:arrow_down:

Continue to review full report at Codecov.

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

I will test this change in my https://github.com/opensearch-project/opensearch-build/pull/1807 once the new tag is ready

I am performing testing in https://github.com/opensearch-project/opensearch-build/pull/1807 by using the new image generated by this PR. I will approve once my test is successful.

Verified that the new image is working. (sample run)


Update README.md

The second sequence diagram does not appear anymore, even though I opened it.

Superseded by #13


📝  Replace short description

"__project_short_description": "Create a relecloud demo application with {{cookiecutter.project_backend}} and {{cookiecutter.db_resource}}",
https://github.com/kjaymiller/cookiecutter-relecloud/blob/3171ea2bd0185cbf1590dec1e2aeee9dab2315d2/cookiecutter.json#L4

This was completed but isn't being used anywhere. I would be okay with removing this field.


Add ability for region playlist crop and append to include tempo mark…

…ers fixes #1462
Pretty new to this so feel free to review and comment anything that could be done better.
As commit name says, this makes it that the region playlist "Append" and "Crop" commands also take in account tempo markers.
Tested on windows on a quite complex session successfully.
The whole part with chunks is because we needed to have also the "Metronome Pattern" data duplicated, but it isn't accessible via standard getters and setters.

Thanks for the pull request, nice to see some new contributers. :thumbsup:

Mmmh, anyone has an idea why it specifically doesn't compile on the Linux x86 32-bit test? I'm not sure I understand the error log.

Mmmh, anyone has an idea why it specifically doesn't compile on the Linux x86 32-bit test? I'm not sure I understand the error log.

Don't worry about it, it's an auto-build misconfiguration issue, already fixed in the v2.13 branch (https://github.com/reaper-oss/sws/commit/b6e80c0797281425cb1e395f6f0f6f2f9705c9ca).

@Sonicville360 Sorry for the Iooong delay. We're currently in the process of preparing a new SWS pre-release. I looked briefly at this PR, ts_beatbase (11th PT value) is missing in the RawTempoMarkerData.
It shows up when setting BPM basis to something other than 1/4 in the Edit Tempo/Time signature marker dialog in current REAPER version.
Also the meanings of the other values could added in your comments for documentation purpose as mentioned by Justin.
Would you be up for tweaking the PR?

:white_check_mark: Build sws 800-master completed (commit https://github.com/reaper-oss/sws/commit/ba38b5492e by @PSchwilden)

Windows 64-bit

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x64.pdb
build/sws-<IP_ADDRESS>-Windows-x64-demute-region-playlist-tempo-markers-ba38b549.exe

Windows 32-bit

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x86.pdb
build/sws-<IP_ADDRESS>-Windows-x86-demute-region-playlist-tempo-markers-ba38b549.exe

macOS x86 64-bit

build/sws-<IP_ADDRESS>-Darwin-x86_64-demute-region-playlist-tempo-markers-ba38b549.dmg

macOS x86 32-bit

build/sws-<IP_ADDRESS>-Darwin-i386-demute-region-playlist-tempo-markers-ba38b549.dmg

macOS ARM 64-bit

build/sws-<IP_ADDRESS>-Darwin-arm64-demute-region-playlist-tempo-markers-ba38b549.dmg

Linux x86 64-bit

build/sws-<IP_ADDRESS>-Linux-x86_64-demute-region-playlist-tempo-markers-ba38b549.tar.xz

Linux x86 32-bit

build/sws-<IP_ADDRESS>-Linux-i686-demute-region-playlist-tempo-markers-ba38b549.tar.xz

Linux ARM 64-bit

build/sws-<IP_ADDRESS>-Linux-aarch64-demute-region-playlist-tempo-markers-ba38b549.tar.xz

Linux ARM 32-bit

build/sws-<IP_ADDRESS>-Linux-armv7l-demute-region-playlist-tempo-markers-ba38b549.tar.xz

I wrote an alternative implementation of this PR in #1694. It uses only chunk manipulation.

On a side note, this push still has a small "bug" which I don't know how to solve. When appending or cropping the project, the metronome patterns are duplicated correctly but they aren't "applied". I have to save the new project, close and reopen it to hear the correct metronome pattern. I guess I have to reload something after the marker duplication but I wouldn't know what.

Confirmed. I think this is a REAPER bug: it can be duplicated with the script below.
local chunk = [[
<TEMPOENVEX
EGUID {EA3AB88C-668F-2147-90D8-591728D4085D}
ACT 1 -1
VIS 1 0 1
LANEHEIGHT 0 0
ARM 0
DEFSHAPE 1 -1 -1
PT 0.000000000000<PHONE_NUMBER>000 1
PT 2.000000000000<PHONE_NUMBER>000 1 0 0 8 0 ""<PHONE_NUMBER><PHONE_NUMBER>
>
]]

local mtr = reaper.GetMasterTrack(nil)
local env = reaper.GetTrackEnvelopeByName(mtr, "Tempo map")
reaper.SetEnvelopeStateChunk(env, chunk, false)

Hey @cfillion! Thanks for the thorough review.
As you have already written an alternative implementation in #1694 should I spend time correcting this or should I just delete the PR and branch?

I found a workaround for the metronome pattern issue: calling SetTempoTimeSigMarker on any marker after setting the envelope chunk applies the new patterns.

As you have already written an alternative implementation in https://github.com/reaper-oss/sws/pull/1694 should I spend time correcting this or should I just delete the PR and branch?

Please keep the branch intact, in case my version doesn't handle some edge cases, it may be useful to refer to this one as reference.
(Pushed some fixes to my branch related to item timebase, since setting points via the chunk doesn't update everything on REAPER's side, I wouldn't be surprised if more special cases are found. More testing required...)


Question re: Venezuelan nationals should only be asked to kids born outside of Venezuela.

@nonprofittechy did you already address this?

No, it's not addressed yet. It was causing a hard to track down bug but I'm sure we can figure it out


Update configure-ssl-app-service-certificate.md

Add note for maximum expiration date to avoid unintentional renewal

I have already talked this with yutang

@msangapu-msft
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Platform  samd21: SPI Host driver default dopo & dipo pad combination is invalid

The default option for dipo & dopo pad is 0, which gives an invalid pin pad combination. This needs to be fixed ASAP. Now you can work around it by using the extra configuration options...

#5 Maybe this issue is a consequence of this bug


Improve Settlement Engine Request Durability?

In the RedisBalanceTracker, when a Fulfill packet is process for balance tracking purposes, the lua script will decrement the balance in preparation for calling the settlement engine to initiate a settlement.
In the happy path, this all works fine. There are one very edge-case where the Connector's balance could become inaccurate with respect to its counterparty:
If the request to the SE is rejected or otherwise fails, and the Connector crashes before the settlement payment can be refunded, then the balance will be artificially low, whereas the peer's balance will, accurately, be higher. Upon server-restart (or other Connectors in a cluster) will think the balance is lower than it actually is. This isn't a very problematic place for a Connector to be, because it simply means the Connector will think the the peer is closer to the min_balance than it actually is. So, if anything this just means the peer will have less credit than it otherwise should, which might hinder the trustline relationship, but won't put the Connector at any additional risk.

Overall, this feels like a very teeny, tiny, edge case. We should probably think about how to detect it, e.g., using good monitoring, but it doesn't seem worth fixing (though it would be interesting to discuss possible solutions/mitigations, and see how difficult those would be).


lg_netcast: fix exception on missing access_token

Description:
When configuring the platform without access_token parameter (to get current access_token for the TV) an KeyError is logged and the platform is not initialised. To fix this the access_token parameter needs a default value of None in the platform code.
As a workaround users can configure the platform with an invalid access_token to get the token displayed on the TV:
media_player:
  platform: lg_netcast
  host: <IP_ADDRESS>
  access_token: 0

After that the access_token can be set to the value displayed on the TV screen.
Related issue (if applicable): #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If code communicates with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Looks good! :dolphin:


OpenGex Blender exporter updated

This is based on @joeld42 pull request (here). Created a new one because that one was never accepted or updated after comments. To be clear, this is the original blender exporter made by @EricLengyel with the updates made by @joeld42 plus the following:

Fixed crash "Scene.frame_set(): required parameter "subframe" to be a keyword argument!" when exporting animations;
Fixed crash when exporting with "Selection Only" option is set;
Fixed crash when exporting mesh with vertex colors;
Added option to export floats as hexadecimals;
Added option to export Vertex Colors (off by default);
Added option to export UVs (on by default);
Added option to export Normals (on by default);
Added option to export Materials (on by default);
Log the file name being exported and how long it took to export it;
Re-enable morph targets export, after a couple of fixes;
Updated calls to free allocated mesh to 2.80 api;

I've tested with a couple of free 3d assets on Blender 2.93 and 3.3 for these fixes. Obviously this is not battle tested, but I think it's in a basic useful state for people wanting to work with OpenGex.

@miguelcartaxo @miguelcartaxoZPX Thanks for the blender script. I tried and wondering if animation are still working. Importing works but with animation I have some trouble at least with models downloaded from mixamo. Did you encountered something similar or any issues with animation?

Hello, unfortunately, animation is not well tested. I didn't have animation models to tested on, I only recently grabbed some from a humble bundle to test but I have not gotten to it. Since this pull request was never accepted, and it's been more than a year, I've only made a couple more fixes on my private repos and been spending my time creating a OpenGex Blender importer, so I could have a .blend or .fbx file with animation and/or other stuff, import it to Blender, then exported as .ogex, see if it looks reasonable, then imported and compared with the original.

@miguelcartaxo Thanks. I still investigating and try to fix the animation issues I currenlty have BUT I haven´t worked with blender or python a  lot so I don´t have big insides of it. Will see how it goes.

What is the issue? Does it fail to export? Or exports successfully but there is missing data on the file?
I was in the same boat, I have never worked with Blender before this (code-wise), and my experience with python was very limited, so I had to research how to properly debug a plugin in blender, figure out the Blender API and all of that stuff.

@miguelcartaxo I tried a few models from the mixamo website. Import the fbx into blender and exported the file with the ogex blender file ( I did modify it a bit - but nothing special so far). After I exported it I used the c4 engine to import the model into the world. The model itself was looking good BUT I encoutered issue when I export animation from Blender and import them into the c4 engine. The issue was mainly that the animation has some offset applied and keeps the model jiggling.

@miguelcartaxo

Does it fail to export?

Mostly works BUT I suspect it depends on which option you choose. However I think animation are broken but not entirly sure.

Does it fail to export?

The export itself is succesful

Or exports successfully but there is missing data on the file?
I´m looking into the ogex file but from what I can tell it looks good - only the animation part is something that I´m not 100% sure.

Cheers


Material Icons Update

Closes #152, #158 and #172.
Adds Material Icons Outlined, Sharp and Two Tone.
Updates Material Icons to v4.

Hey @DecliningLotus, thanks for the update! Would you mind letting us know when the updated @fontsource/material-icons package version (containing these changes) will be released?

@Maximaximum, it's out now. Was having some issues with Lerna but we're all good now!

@DecliningLotus thanks a lot! It seems to be working now, but some icons are still missing. Made a comment here: https://github.com/fontsource/fontsource/issues/172

@Maximaximum, I'll check it out soon but I'm a little unsure considering these are the latest files from the official Google repo.


Running in half-precision

Hi!  An earlier issue I was having (the one I posted in the wrong repo) seems to have resulted from my hacky attempts to get the half-precision functionality working with this code.  Simply setting the "half" flag raises an error due to interactions with DistributedDataParallel (tells you that you need to call amp.initialize before wrapping in DistributedDataParallel).  When I tried the obvious fix for this (moving amp.initialize earlier), another error arose, having to do with the "parameters_to_vector" calls.  It seems that these were unable to deal with a mix of half-precision and full-precision parameters.  My workaround was to no longer store all the parameters in one vector and instead to store and update them in a list, and while this got rid of all runtime errors it seemed to yield functional problems.
Rather than make you comb through the details of these changes, I figure I should just ask: what is the cleanest way to take the current code and make it runnable in half precision?  Without doing so I can only run with batch sides of 64, even with 8 gpus, and I'd like to get up to batch size 256.

Yea sorry about that. I haven't tested this implementation in FP16, but have you tried swapping the optimization level for AMP to O2 ? If this doesn't work, we would need to determine a way to rewrite the CosEMA module in a way that makes it compatible with how Apex handles its fp32/fp16 conversions and I'm not quite sure how to go about doing that.

O2 doesn't seem to resolve it -- for now, the simplest workaround in my particular case is probably to just use a smaller ResNet so I can increase the batch size.  But if you ever come up with a good solution I'd be interested!


App: fix child windows not inheriting mainWindow properties, including userAgent

When a new child window is spawned (such as for a Google login popup), those child windows were not receiving the mainWindow's properties. Chiefly among this was the userAgent which caused a bug in #831

👍, only one question. I'll read your reply on why you may want, or not, to insist on handling all these events, but regardless, good, feel free to merge.

@ronjouch I actually started adding all events to see what was being fired off to see what I could intercept, but got to the one I needed and stopped. I still think it's useful to know what's going on / order of events in a debug scenario and would propose that we add all events like this at some point.
Also based on the hacky way I had to send that setup func back I think this area is ready for a refractor anyway. What do you think?

@TheCleric

I started adding all events to see what was being fired off to see what I could intercept, but got to the one I needed and stopped. I still think it's useful to know what's going on / order of events in a debug scenario and would propose that we add all events like this at some point.

Makes sense! This costs basically zero, and given the new loglevelled logging, it's invisible by default. Okay with the current code that I'll merge now (to cut a release), and okay to add all events at some point to improve hackability.

Also based on the hacky way I had to send that setup func back I think this area is ready for a refactor anyway. What do you think?

👍, do all the refactor that's needed to keep things understandable & maintainable.


Fix bot.players

This is only the first commit of the fixing of bot.players, maybe don't merge it yet.
What changed :

players now have a UUID
packets often don't give the username anymore, only the UUID

bot.players was previously indexed by the player name, it should now probably be indexed by the UUID. A uuidToUsername function and a usernameToUuid function might be useful.
This means all mention of bot.players need to be changed throughout the code.

In the end I let bot.players be indexed by the username and added a bot.uuidToUsername, that's enough.
Chatterbox.js now works :)
Ready to merge


Continuous Delivery Dashboard | Incorrect Bundles count

Setup

Rancher version: v2.6-head 3f9109c

Describe the bug

CD Dashboard adds an extra bundle to a gitrepo deployed in fleet-local workspace(namespace) when a gitrepo added to the fleet-default workspace (namespace)
To Reproduce

Deploy a downstream cluster (so the fleet-default namespace at least one cluster to deploy resources)
As an admin navigate to "Continuous Delivery"
In the namespace dropdown select 'fleet-local'
Git repos -> Add Repository
Data:
Name: test
Repository URL: https://github.com/sgapanovich/test.git
Branch: main
Click Create
If you go to Continuous Delivery Dashboard you will see that test repo has 1/1 Bundles ready (it makes sense since we had only one bundle added in the repo from step 5)
In the namespace dropdown select 'fleet-default'
Git repos -> Add Repository
Data:
Name: test1
Repository URL: https://github.com/sgapanovich/fleet-examples.git
Branch: master
Path: simple
Click Create
Navigate to Continuous Delivery Dashboard

Result
test repo in the 'fleet-local' has a bundle added resulting in 2/2
Expected Result

every repo in the Dashboard should have count only for its own bundles (test should not have its bundle count increased unless it's designed and bundle is added in the repo itself)

Per the screenshot taken below, there is still a bug in the bundles count. I waited a significant amount of time to check to see if the fleet-local bundles ready count would get updated but only the fleet-default namespace shows the correct value.

@geethub97 can you tell me the steps you followed? Can I see any console errors? I am seeing things correctly still.

@bmdepesa can you share steps/video of it if you could?
What I find strange is that bundles ready count is 0/0 even if cluster count is 1/1

@Shavin Fonseka I just followed the steps listed above, and I re did it multiple times before taking the screenshots. Not sure why mine was showing 0/0 for local


Support statement folding in IDE plugin

Closes #657

Totally new to the Plugin SDK, if there are better ways to match PsiElements - would love to improve this.
Integration tests should be pretty extensive, also tested a lot manually with fixtures. Some extra exploratory testing won't hurt though.

fantastic!
The best way to iterate the tree is PsiTreeUtil.findChildrenOfType but that requires the PsiElements you want to find have their own class. The new code under alec/working-kotlin functions that way so this will be easily migrated to that

Great, I'll take a look! One particular thing that I was missing is smth like RULE_sql_import_stmt_list to be able to track multiple imports better, currently they come as RULE_sql_stmt_list.

got it, the new grammar does the same thing but could be changed to be inside a import_stmt_list rule


Text in dropdown is truncated on android

On android, the text in the dropdown is truncated if it doesn't fit horizontally. This makes it hard to pick the right answer.
See the example below:

We need some sort of wrapping and make sure it doesn't break the rendering on iOS

I spent some time yesterday digging into this issue. There's no obvious style or props to fix the picker. NativeBase is essentially extending the base Picker.Item component from React Native, and underneath that are two Android specific implementations (dropdown and dialog), which reach into the phone OS to do the rendering. So I'm not convinced that by default the Picker.Item can handle multiple lines of text.
It is possible that because we are forcing a specific width, it's undoing whatever normally handles word-wrap. But I had tried flexWrap on the picker Item, and I'm unconvinced it did anything.
It probably needs someone with native Android experience to figure out whether multiple-line picker option text is supporter, or how it's enabled if possible.
I figure this needs a fix on the ReactNative level. I have seen on the Web people previously running into this problem was magically fixed if they upgraded to React Native 0.59, but we are on 0.60.
The other alternative is building a custom widget ourselves to replace the picker, or change the user-interface to not use a dropdown, but an on-page series of radio buttons. Again, this is a custom component too.

Have you checked their issue board Mike? there's no way we are the first to
ever run into that issue.
On Wed, 29 Apr 2020 at 11:18, MikeD<EMAIL_ADDRESS>wrote:

I spent some time yesterday digging into this issue. There's no obvious
style or props to fix the picker. NativeBase is essentially extending the
base Picker.Item component from React Native, and underneath that are two
Android specific implementations (dropdown and dialog), which reach into
the phone OS to do the rendering. So I'm not convinced that by default the
Picker.Item can handle multiple lines of text.
It is possible that because we are forcing a specific width, it's undoing
whatever normally handles word-wrap. But I had tried flexWrap on the picker
Item, and I'm unconvinced it did anything.
It probably needs someone with native Android experience to figure out
whether multiple-line picker option text is supporter, or how it's enabled
if possible.
I figure this needs a fix on the ReactNative level. I have seen on the Web
people previously running into this problem was magically fixed if they
upgraded to React Native 0.59, but we are on 0.60.
The other alternative is building a custom widget ourselves to replace the
picker, or change the user-interface to not use a dropdown, but an on-page
series of radio buttons. Again, this is a custom component too.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zoe/covid-tracker-react-native/issues/152#issuecomment-621111452,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANQK52QBJZZWNVECFZG2CITRO75FVANCNFSM4MP3XDTQ
.

--
Julien Lavigne du Cadet
VP of Engineering
[image: ZOE] https://joinzoe.com/
https://joinzoe.com
[image: Instagram]  https://www.instagram.com/zoe/[image: Twitter]
https://twitter.com/join_zoe[image: LinkedIn]
https://www.linkedin.com/company/joinzoe/[image: Facebook]
https://www.facebook.com/joinzoe1/


chore(deps): update common-dev-assets digest to 7241dd8

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
16e53c8 -> 7241dd8

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Encountered known unsupported method torch.nn.functional.has_torch_function_variadic

meet this error when convert a pytorch model to trt

We have not support all ops in pytorch yet.


Travis CI should use xenial as the base distro

Right now we are using trusty but support for CUDA 9.2 and others are being actively tested on xenial
In addition all gpuCI tests run on xenial as the base so this will help with compatibility there

It seems like Travis CI doesn't support xenial and don't have any ETA on support for xenial or bionic.
https://docs.travis-ci.com/user/reference/overview/


FirebaseUI / Facebook showing blank screen on device

Describe your environment

Swift: 3
iOS version: 10.3.2
Firebase SDK version: 4.0.2
FirebaseUI version: 1.0.0
CocoaPods Version: 1.2.1

Step 3: Describe the problem:
I'm trying to use FirebaseUI to setup a login with both Email and Facebook. I've followed all the required steps and the code works great in the simulator.
On a device however, the email code keeps working, but the facebook button opens a white blank page and nothing happens afterward.
Observed Results:

No apparent logs when I'm connected to the debugger
(couldn't upload the video.. so I took a gif of the video ^_^)

Expected Results:

I would expect the code works on both the simulator and the device

Relevant Code:
authUi = FUIAuth.defaultAuthUI()
authUi.providers = [FUIFacebookAuth.init()]
authUi.delegate = self
let controller = authUi.authViewController() as UINavigationController
controller.navigationBar.barTintColor = UIColor.black
controller.navigationBar.isTranslucent = true
controller.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
controller.navigationBar.tintColor = UIColor.black
self.present(controller, animated: true, completion: nil)

Looks like a device specific issue as it's working on a friend's iPhone, I'm seeing the issue only on mine at the moment

Cleared the data on my device's Safari and it's working well now... I guess some issue with safari


Insert my name into the contributors list

Description
This PR is meant to insert my name into the contributors list #
Notes for Reviewer

Module you've worked on

[ ] Frontend (Signup/Login)
[ ] Backend (Login)
[ ] Backend (Signup)
[ ] Homepage
[ ] Others

If you specified others, please mention...

Congrats @R-V-Vighnesh for your first PR to PDA org.


Implemented entities Husk and Bogged

Description
Implemented mocks for Husk and Bogged.
Checklist
The following items should be checked before the pull request can be merged.

[X] Code follows existing style.
[X] Unit tests added (if applicable).

Relates

https://github.com/MockBukkit/MockBukkit/issues/825

@thelooter Update on this? Otherwise I will just approve it

From my side it's updated. Is just pending a review from @thelooter to validate if they agrees with the comments.

Please use the Annotations we have in this codebase


[ADU] ESP32 ADU sample freezes when downgrading the image (1.1 to 1.0)

Please provide us with the following information:

Device froze after receiving this request:
{"desired":{"deviceUpdate":{"service":{"workflow":{"action":255,"id":"nodeployment"}},"__t":"c"},"$version":4},"reported":{"deviceUpdate":{"__t":"c","agent":{"deviceProperties":{"manufacturer":"ESPRESSIF","model":"ESP32-Azure-IoT-Kit","interfaceId":"dtmi:azure:iot:deviceUpdate;1","aduVer":"DU;agent/0.8.0-rc1-public-preview"},"compatPropertyNames":"manufacturer,model","state":0,"installedUpdateId":"{\"provider\":\"ESPRESSIF\",\"name\":\"ESP32-Azure-IoT-Kit\",\"version\":\"1.1\"}","workflow":{"action":3,"id":"d24626b0-647f-4bba-bac5-d94cad6d48ad-5927a9f1010728cb01c4389b415b34280eb65e5e"}},"service":{"ac":406,"av":3,"value":{}}},"$version":8}}

This issue is for a: (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Repro:

I followed steps to create an v1.0 image using ESP-IDF and flashed my device. Before doing anything else, I also created an ADU update for this image.
I then created a v1.1 image and also created an ADU update for this.
I imported both v1.0 and v1.1 to ADU
ADU tells me the latest update for that device is v1.1, as expected, and I deployed that to the device. The device successful reports v1.1 and ADU also says it was successful.
Go to ADU and delete v1.1 update
ADU will eventually show that the latest update should be v1.0, and let you deploy it. Create a new deployment.

At this point, the device is stuck. ADU reports the update is available, but never says it is in progress. I see no new messages generated on the console for the device. If I look at the device twin, it says the connection state is "disconnected".
Following our in-person debugging, I pressed the reset button on the device. When the device reset, it started to pick up the v1.0 update, and at that point everything proceeded as expected (console reports v1.0 installed, and ADU says it is installed). As far as I can tell, it looks right at this point, and there is a bug requiring me to reboot the device.
FWIW, you guys noticed this in my console log after the device was reset, that seems like it might be a related issue?

E (195671) AZ IOT: az_iot_adu_client_get_agent_state_payload failed: 0x80010002
E (195671) AZ IOT: [ADU] Failed sending agent state.

I have a strong suspicion it is because the sample is receiving the following in the desired properties:
"desired": {
"deviceUpdate": {
"service": {
"workflow": {
"action": 255,
"id": "nodeployment"
}
},
"__t": "c"
},
"$version": 4
}
Deleting an update in the portal causes this. It was discussed previously that when an update is deleted in the portal, ADU should not write "nodeployment", it should write the id of the deleted update.

But in any case, our code should handle that, so we need to fix it too.

The root of the problem comes with this payload being parsed
{
  "service": {
    "workflow": {
      "action": 255,
      "id": "nodeployment"
    }
  },
  "__t": "c"
}

And the problematic code is here:
https://github.com/Azure-Samples/iot-middleware-freertos-samples/blob/82321fdbc7f26dc38dec4053004505445bd3345a/libs/azure-iot-middleware-freertos/source/azure_iot_adu_client.c#L298-L312
It should not get to line 312 as there is no update manifest.
We should maybe check the action or the id for nodeployment.


Request textDocument/definition failed

SQL Operations Studio Version: sqlops 0.26.6 (49bf9163461901730033f85f69220ab4db44045f, 2018-02-14T22:08:11.844Z)
OS Version: Darwin x64 17.4.0
Extensions: none

since the last update I keep getting errors when copying and pasting.  Not exactly consistent, but very frequent.  All I am doing is copying and then pasting into a SQL script.  Happens when copy from another app, from the same app different window and same app same window.  here is the error I keep getting
[Error - 07:21:05] Request textDocument/definition failed.
Message: No results were found.
Code: 0

update to the lastest version (0.26.7) it fixed  that issue specificly :)
see old bug report #717

Please update to 0.26.7 (there should be an auto-update available on macOS).


After upgrade to v2, I cannot sign certs anymore.

I just recently upgrade to ACMEv2, and I'm now getting this error message when attempting to sign existing certs that worked under v1:
 + Valid till May 28 11:15:46 2021 GMT (Longer than 30 days). Ignoring because renew was forced!
 + Signing domains...
ERROR: Certificate authority doesn't allow certificate signing

I attempted to switch back to v1 to ensure that I'd have working certs, but now I get:
 + Generating signing request...
 + Requesting authorization for xxxx.yyyy...
EXPECTED value GOT EOF

This is w/ dehydrated 0.7.0.

I'm really not sure what you are doing. You give no information about your configuration and expect your issues to be magically solved?

Can you please fix up the documentation/error messages wrt to switching to v2?  It turns out that I have an old/original config file that has API=1 set in it and w/o any documentation or helpful error messages, I wasted hours of my time trying to figure it out.
https://twitter.com/encthenet/status/1383944449508601858?s=20


Fix 404 when send pull request some situation

With integration tests and should fix #6302

@lunny, would it be possible to write a document somewhere explaining what the permissions should be doing things? (This isn't the PR for that I know but I think it's a good example of one where we're not very clear about what permissions things should have.)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9139f35). Click here to learn what that means.
The diff coverage is 10%.

@@            Coverage Diff            @@
##             master    #6871   +/-   ##
=========================================
  Coverage          ?   41.33%
=========================================
  Files             ?      432
  Lines             ?    59532
  Branches          ?        0
=========================================
  Hits              ?    24607
  Misses            ?    31689
  Partials          ?     3236

Impacted Files
Coverage Δ

routers/repo/pull.go
36.43% <11.11%> (ø)

routers/api/v1/repo/pull.go
36.19% <9.09%> (ø)

Continue to review full report at Codecov.

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

@lunny are you able to backport?

@zeripath I think that's a good idea. I will do that.


GL/Windows: Flixel-ui has upside down rendering

Can be demonstrated with the current "User Interface/RPG Interface" demo in Flixel.
Reproduction steps:

In assets/state_title.xml Comment out the "radio_group" tag at the bottom of the file. (this bypasses a cast error I will report in another issue)
Compile using "lime test neko" (legacy)
Compile using "lime test neko -Dnext" (next/standard)

Expectations:

Legacy and Next visuals should be quivalent

Results:

They are not :)

Legacy:

Next:

This has been already fixed on latest git, try it and report back if it hasn't, I'm not having this problem.

I have the latest git :) It's a subtle, Flixel-UI only error. I reproduced it just now with latest everything.

Loading a scaled image calls this:
https://github.com/HaxeFlixel/flixel-ui/blob/dev/flixel/addons/ui/FlxUI.hx#L3391
Which calls this:
https://github.com/HaxeFlixel/flixel-ui/blob/dev/flixel/addons/ui/U.hx#L1064
And then calls this:
https://github.com/HaxeFlixel/flixel-ui/blob/dev/flixel/addons/ui/U.hx#L1091
So a lot of intermediate images might be drawn and stored, so there's a possibility for any internal flipping to become noticeable because of weird interactions with the intermediate caching.

Uh, I still can't reproduce it, I guess this PR is needed? https://github.com/HaxeFlixel/flixel-demos/pull/167

Yeah, sorry about that. You can pull from the larsiusprime fork.
On Mon, Apr 13, 2015 at 2:00 PM, Justo Delgado<EMAIL_ADDRESS>wrote:

Uh, I still can't reproduce it, I guess this PR is needed?
HaxeFlixel/flixel-demos#167
https://github.com/HaxeFlixel/flixel-demos/pull/167
—
Reply to this email directly or view it on GitHub
https://github.com/openfl/openfl/issues/597#issuecomment-92461450.

--
www.fortressofdoors.com -- Games, Art, Design

Forgot I have push access. Merged.

I'm experiencing what appears to be the same bug, outside of Flixel UI.
If I don't call BitmapData.draw, the buffer doesn't get flipped on the Y axis.
I attempted to reproduce it in an isolated environment, but had no luck.

I'm working on it, I am getting closer:
https://github.com/larsiusprime/openfl/tree/fixupsidedownrender

PR:
https://github.com/openfl/openfl/pull/607


Camera Preview is Stretched and Landscape-Oriented After Upgrading to Flutter 3.27.0

After upgrading to Flutter version 3.27.0, the camera package appears to have an issue where the camera preview is incorrectly displayed. The preview is stretched and locked in a landscape orientation, even when the device is in portrait mode. This behavior was not observed in previous Flutter versions.
Steps to reproduce
1 - Create a Flutter project and include the camera package.
2 - Set up the camera preview widget to display in portrait mode.
3 - Run the application on a physical device or emulator.
Expected results
1 - The camera preview should display in the correct aspect ratio.
2 - The preview should adjust to the device's orientation (portrait or landscape).
Actual results
1 - The camera preview is stretched.
2 - The preview remains in a landscape orientation, regardless of the device's orientation.
Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.27.0, on Microsoft Windows [Version 10.0.19045.4651], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 36.0.0-rc1)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.7.2)
[!] Android Studio (version 2023.1)
    X Unable to determine bundled Java version.
[√] Android Studio (version 2023.3)
[√] VS Code (version 1.96.0)
[√] Connected device (4 available)
[√] Network resources

! Doctor found issues in 1 category.

@G705-Ghilan
Can you check if you are hitting https://github.com/flutter/flutter/issues/154241 or your case is different than it?
If so, can you provide a short demo of the behavior along with plugin version you are using and Android device on which you see this ?
Does it show reported behavior using camera plugin example on 3.27.0 but not on previous stable (ex: 3.24.4) ?

I had same problem but I avoided it by downgrading flutter SDK (3.24.5)


Support Queue Strategy on Android and iOS

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] The changes have been tested successfully.

Until now, when the speak method was called, it interrupted any requests in progress that had not been completed.
The aim is to allow the user to choose between two strategies:

0: Stop the current request when a new request is called.
1: Queue the request if another request is in progress. It will start when all previous requests have been completed.

@EnzoMenegaldo Have you tested your changes? I ask because you did not check the box.

@EnzoMenegaldo Have you tested your changes? I ask because you did not check the box.

Yes @robingenz I have tested on iOS and Android.


Undo play in loop when sound is currently playing

Sound is configured to loop
The user starts the sound (song)
The user opens the edit view
The user configures the song to no longer play in a loop
The user leaves the sound-edit view

Bug:

The sounds loops on and on - until the user stops it
(After the user restarts the sound, it will no longe be played in a loop.)

The same bug exists the other way round: If the sound already plays, turning looping on does not work and requires a restart of the sound.


add viewer to mutationadd

fix #37

Codecov Report

Merging #56 into master will not impact coverage.

@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   82.67%   82.67%
=======================================
  Files          13       13
  Lines         202      202
=======================================
  Hits          167      167
  Misses         35       35

Continue to review full report at Codecov.

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

This will always include a viewer in the mutation?

only on add mutation, we can move this as a parameter or as a config later

@sibelius: The boilerplate has a ViewerLoader, should we use it or not?

neh, just return the logged user


(maint) Properly escape stdin when using --run-as

When using --run-as, we create a wrapper script around the task and
embed the stdin directly into the script inside a heredoc. Previously,
it was possible for escape sequences within that heredoc to corrupt the
stdin, resulting in incorrect task behavior. We now properly set the
heredoc to ignore all escape sequences, ensuring the task receives
the stdin exactly as intended.
Because we always send stdin as a single line of JSON, it's impossible
for it to escape the heredoc by including a line starting with EOF (our
heredoc marker).

This seems like it should have a ticket.

CLA signed by all contributors.