dev to main sync

Date: 23-11-2023
Developer Name: @shubhamsigdar1
Issue Ticket Number:-

https://github.com/Real-Dev-Squad/website-status/issues/1014
https://github.com/Real-Dev-Squad/website-status/issues/1012

PR Number(s):-

https://github.com/Real-Dev-Squad/website-status/pull/1013
https://github.com/Real-Dev-Squad/website-status/pull/1011

Is Under Feature Flag

[ ] Yes
[X] No

Database changes

[X] Yes
[ ] No

Breaking changes (If your feature is breaking/missing something please mention pending tickets)

[ ] Yes
[x] No

Is Development Tested?

[x] Yes
[ ] No

Tested in staging?

[x] Yes
[ ] No

Add relevant Screenshot below
https://github.com/Real-Dev-Squad/website-status/assets/107163260/edf452b7-2aae-4a50-8235-5c0e348af786

Date: 23-11-2023
Developer Name: @ajoykumardas12
Issue Ticket Number:-

https://github.com/Real-Dev-Squad/website-status/issues/999

PR Number(s):-

https://github.com/Real-Dev-Squad/website-status/pull/1010

Frontend Changes:

[x] Yes
[ ] No

Backend Changes:

[ ] Yes
[x] No

Feature Flag:
This change affects both features under feature flag and out of feature flag.
Dev Tested:

[x] Yes
[ ] No

Tested in staging?

[x] Yes
[ ] No

Add relevant Screenshot below
https://github.com/Real-Dev-Squad/website-status/assets/107163260/edf452b7-2aae-4a50-8235-5c0e348af786

Staging Proof for #1032
Date: 03-12-2023
Developer Name: @ajoykumardas12
Issue Ticket Number:-

#1029

PR Number(s):-

#1032

Frontend Changes:

[x] Yes
[ ] No

Backend Changes:

[ ] Yes
[x] No

Feature Flag:
This PR takes a feature(#935 ) out of feature flag.
Dev Tested:

[x] Yes
[ ] No

Tested in staging?

[x] Yes
[ ] No

Staging Proof
https://github.com/Real-Dev-Squad/website-status/assets/87164140/19b97973-d5e1-4fca-973e-ce05edae3a9a

Date: 03-12-2023
Developer Name: @ardourApeX
Issue Ticket Number:-

https://github.com/Real-Dev-Squad/website-status/issues/996

PR Number(s):-

https://github.com/Real-Dev-Squad/website-status/pull/1018
https://github.com/Real-Dev-Squad/website-status/pull/1024
https://github.com/Real-Dev-Squad/website-status/pull/1026
https://github.com/Real-Dev-Squad/website-status/pull/1028
https://github.com/Real-Dev-Squad/website-status/pull/1034

Dev Tested:

[x] Yes

Under Feature Flag:

[x] Yes

Frontend Changes:

[x] Yes

Staging Proof


GEODE-8553: Fix inter-locks in ThinClientLocator

ThinClientLocatorHelper uses a mutex called m_locatorLock, which is
used in the entire scope of all the public member functions for this
class.
Problem with that is all of those functions perform some network
communication and in the event of networking issues, this will result
in having all the application threads inter-locked.
Also, the only purpose of this mutex is to avoid that the locators
list is read while it's being updated.
Given all of the above, the class has been refactored, so every time
the locators list has to be accessed, a copy of it is created, being
that copy created only while owning the mutex.
And for the case of the update, a new locators list is composed and
its only at the end of the update function where the mutex is locked
and the locators list swapped by the new one.
This whole change ensures that the time the mutex is in use is
minimal while the functionality remains intact.

Regarding general comment about the mssing test ensuring this PR is not breaking anything, let me give it a thought and will come back with a proposal :)

Hi again,
Regarding the test proposal, I've got an idea I would like to share with you in order to get your opinion on the matter.
The purpose of this PR is avoid that whenever a thread is connecting to a locator or performing a request, other threads accesing the pool locator don't get locked.
Therefore what I thought is to:

Introduce a new abstract class ConnectorFactory, which basically creates a new Connector.
Create a ConnectorFactory implementation called TcpConnFactory which basically creates TcpConn/TcpSslConn. This itself would also help reduced duplicated code, as connections creation is duplicated both in TcrConnection and ThinClientLocatorHelper.
PoolFactory would be the one responsible for setting the instance of ConnectorFactory into the created pool, adding therefore a method to set ConnectorFactory instance in there.
ConnectorFactory should be then accesible throught the Pool.
Create a Google Mock for ConnectorFactory.
Create a Google Mock for Connector.

PST. While seeking a solution for the test proposal I think I've noticed something: "Is it possible that many of the factory class existing in NC, should be instead builders?"
Ok, so having set all the above scaffolding, then the idea would be to create a ThinClientLocatorHelper TS which tries to perform requests by multiple threads, and having the ability to control whats returned by the connections and how much time is spent on a connection operation, you can therefore check that if one thread is waiting for an operation to complete, the other thread can inmmediatly return.
An pseudo-code example would be the following:
testGetAllServerWhileUpdating
`
createCache();
createPoolFactoryWithCustomConnectorFactory();
updateT = createUpdateThread(connector_sleep_time=10s);
getAllServersT = createGetAllServersThread(connector_sleep_time=0s);
ASSERT_EQ(getAllServersT.wait_for(1s), std::future_state::ready);
`
So want do you think about it?
What I don't know is where would I put the test, for that I might need a hand from your side :)
BR
/Mario

I'll think about your idea today and get back to you.  My first instinct is that it's a much larger change than even the initial one, however, so it may be beyond the scope of what I'm comfortable with, absent a lot more testing etc.
In the meantime, your last commit broke our Windows build, maybe due to some platform difference in boost(?).  Here's the error output:
  ThinClientPoolStickyDM.cpp
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2039: 'shared_lock': is not a member of 'boost' [C:\build\cppcache\static\apache-geode-static.vcxproj]
  C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36): note: see declaration of 'boost'
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2065: 'shared_lock': undeclared identifier [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2226: syntax error: unexpected type 'boost::shared_mutex' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143: syntax error: missing ';' before '{' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143: syntax error: missing ';' before '}' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2039: 'unique_lock': is not a member of 'boost' [C:\build\cppcache\static\apache-geode-static.vcxproj]
  C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36): note: see declaration of 'boost'
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2065: 'unique_lock': undeclared identifier [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2226: syntax error: unexpected type 'boost::shared_mutex' [C:\build\cppcache\static\apache-geode-static.vcxproj]

I'll try a build on a Windows instance here, and let you know if I find out what's up before you.  Thanks!

I'll think about your idea today and get back to you. My first instinct is that it's a much larger change than even the initial one, however, so it may be beyond the scope of what I'm comfortable with, absent a lot more testing etc.
In the meantime, your last commit broke our Windows build, maybe due to some platform difference in boost(?). Here's the error output:
  ThinClientPoolStickyDM.cpp
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2039: 'shared_lock': is not a member of 'boost' [C:\build\cppcache\static\apache-geode-static.vcxproj]
  C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36): note: see declaration of 'boost'
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2065: 'shared_lock': undeclared identifier [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2226: syntax error: unexpected type 'boost::shared_mutex' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143: syntax error: missing ';' before '{' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143: syntax error: missing ';' before '}' [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2039: 'unique_lock': is not a member of 'boost' [C:\build\cppcache\static\apache-geode-static.vcxproj]
  C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36): note: see declaration of 'boost'
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2065: 'unique_lock': undeclared identifier [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error C2226: syntax error: unexpected type 'boost::shared_mutex' [C:\build\cppcache\static\apache-geode-static.vcxproj]

I'll try a build on a Windows instance here, and let you know if I find out what's up before you. Thanks!

Regarding about the size of the PR, totally agree. Indeed usually I tend to do many more but much smaller commits. But I don't know what's your WOW here. I guess we could always split this PR right?
Regarding the Windows error, sorry, my mistake, Thing is Boost.Thread includes different headers depending on the platform. Pthread implementation implicitly includes boost/thread/lock_types.hpp, but the windows implementation does not. I've already pushed a commit solving it.
Btw. Do you have a publicly available CI cluster or somwhere were test can be executed for every supported platform?
Or are we supposed to execute them all manually?
Thanks for all :)

@gaussianrecurrence Yes we have a CI pipeline for all the builds/tests, we're working out how to donate and make it public.  In the meantime, we run all incoming PR branches through it to avoid unpleasant surprises.
I'm now seeing a ton of test failures on Windows:
18% tests passed, 86 tests failed out of 105
Label Time Summary:
FLAKY      =   0.00 secproc (42 tests)
OMITTED    =   0.00 secproc (20 tests)
QUICK      =  60.32 secproc (15 tests)
STABLE     = 13222.11 secproc (105 tests)
Total Test time (real) = 3604.23 sec
The following tests did not run:
7 - testFwPerf (Disabled)
11 - testOverflowPutGetSqLite (Disabled)
22 - testThinClientAfterRegionLive (Disabled)
25 - testThinClientCacheables (Disabled)
31 - testThinClientCq (Disabled)
33 - testThinClientCqDurable (Disabled)
34 - testThinClientCqFailover (Disabled)
35 - testThinClientCqHAFailover (Disabled)
44 - testThinClientDurableConnect (Disabled)
47 - testThinClientDurableDisconnectNormal (Disabled)
48 - testThinClientDurableDisconnectTimeout (Disabled)
49 - testThinClientDurableFailoverClientClosedNoRedundancy (Disabled)
51 - testThinClientDurableFailoverClientNotClosedRedundancy (Disabled)
54 - testThinClientDurableKeepAliveFalseTimeout (Disabled)
55 - testThinClientDurableKeepAliveTrueNormal (Disabled)
57 - testThinClientDurableReconnect (Disabled)
58 - testThinClientFailover (Disabled)
59 - testThinClientFailover2 (Disabled)
61 - testThinClientFailoverInterest (Disabled)
62 - testThinClientFailoverInterest2 (Disabled)
64 - testThinClientFailoverRegex (Disabled)
65 - testThinClientFixedPartitionResolver (Disabled)
66 - testThinClientGatewayTest (Disabled)
68 - testThinClientHADistOps (Disabled)
69 - testThinClientHAEventIDMap (Disabled)
70 - testThinClientHAFailover (Disabled)
71 - testThinClientHAFailoverRegex (Disabled)
72 - testThinClientHAMixedRedundancy (Disabled)
74 - testThinClientHAQueryFailover (Disabled)
86 - testThinClientLRUExpiration (Disabled)
87 - testThinClientLargePutAllWithCallBackArg (Disabled)
95 - testThinClientLocatorFailover (Disabled)
96 - testThinClientMultiDS (Disabled)
100 - testThinClientPRPutAllFailover (Disabled)
101 - testThinClientPRSingleHop (Disabled)
103 - testThinClientPartitionResolver (Disabled)
104 - testThinClientPdxDeltaWithNotification (Disabled)
109 - testThinClientPdxTests (Disabled)
110 - testThinClientPoolAttrTest (Disabled)
114 - testThinClientPoolLocator (Disabled)
115 - testThinClientPoolRedundancy (Disabled)
117 - testThinClientPoolServer (Disabled)
118 - testThinClientPutAll (Disabled)
119 - testThinClientPutAllPRSingleHop (Disabled)
122 - testThinClientPutAllWithCallBackArgWithoutConcurrency (Disabled)
124 - testThinClientPutWithDelta (Disabled)
135 - testThinClientRemoteQueryTimeout (Disabled)
140 - testThinClientRemoveOps (Disabled)
141 - testThinClientSecurityAuthentication (Disabled)
142 - testThinClientSecurityAuthenticationMU (Disabled)
144 - testThinClientSecurityAuthorization (Disabled)
145 - testThinClientSecurityAuthorizationMU (Disabled)
146 - testThinClientSecurityCQAuthorizationMU (Disabled)
147 - testThinClientSecurityDurableCQAuthorizationMU (Disabled)
149 - testThinClientSecurityPostAuthorization (Disabled)
150 - testThinClientTXFailover (Disabled)
151 - testThinClientTicket303 (Disabled)
152 - testThinClientTicket304 (Disabled)
154 - testThinClientTracking (Disabled)
157 - testThinClientTransactionsXA (Disabled)
162 - testThinClientWriterException (Disabled)
163 - testTimedSemaphore (Disabled)
The following tests FAILED:
1 - testCacheless (Timeout)
12 - testPdxMetadataCheckTest (Failed)
14 - testRegionAccessThreadSafe (Failed)
18 - testSerialization (Failed)
23 - testThinClientBigValue (Failed)
24 - testThinClientCacheableStringArray (Failed)
26 - testThinClientCacheablesLimits (Failed)
27 - testThinClientCallbackArg (Failed)
28 - testThinClientClearRegion (Failed)
29 - testThinClientConflation (Failed)
30 - testThinClientContainsKeyOnServer (Failed)
32 - testThinClientCqDelta (Failed)
36 - testThinClientCqIR (Failed)
37 - testThinClientDeltaWithNotification (Failed)
38 - testThinClientDisconnectionListioner (Failed)
39 - testThinClientDistOps2 (Failed)
40 - testThinClientDistOpsDontUpdateLocatorList (Failed)
41 - testThinClientDistOpsNotSticky (Failed)
42 - testThinClientDistOpsSticky (Failed)
43 - testThinClientDistOpsUpdateLocatorList (Failed)
45 - testThinClientDurableCrashNormal (Failed)
46 - testThinClientDurableCrashTimeout (Failed)
50 - testThinClientDurableFailoverClientClosedRedundancy (Failed)
52 - testThinClientDurableInterest (Failed)
53 - testThinClientDurableKeepAliveFalseNormal (Failed)
56 - testThinClientDurableKeepAliveTrueTimeout (Failed)
60 - testThinClientFailover3 (Failed)
63 - testThinClientFailoverInterestAllWithCache (Failed)
67 - testThinClientGetInterests (Failed)
73 - testThinClientHAPeriodicAck (Failed)
75 - testThinClientHeapLRU (Failed)
76 - testThinClientIntResPolKeysInv (Failed)
77 - testThinClientInterest1 (Failed)
78 - testThinClientInterest1Cacheless (Failed)
79 - testThinClientInterest1_Bug1001 (Failed)
80 - testThinClientInterest2Pooled (Failed)
81 - testThinClientInterest3 (Failed)
82 - testThinClientInterest3Cacheless (Failed)
83 - testThinClientInterestList (Failed)
84 - testThinClientInterestList2 (Failed)
85 - testThinClientInterestNotify (Timeout)
88 - testThinClientListenerCallbackArgTest (Failed)
89 - testThinClientListenerEvents (Failed)
90 - testThinClientListenerInit (Failed)
91 - testThinClientListenerWriterWithSubscription (Failed)
92 - testThinClientListenerWriterWithoutSubscription (Failed)
94 - testThinClientLocator (Failed)
97 - testThinClientMultipleCaches (Failed)
98 - testThinClientNotification (Failed)
99 - testThinClientNotificationWithDeltaWithoutcache (Failed)
102 - testThinClientPRSingleHopServerGroup (Failed)
105 - testThinClientPdxEnum (Failed)
106 - testThinClientPdxInstance (Failed)
107 - testThinClientPdxSerializer (Failed)
108 - testThinClientPdxSerializerForJava (Failed)
111 - testThinClientPoolExecuteFunctionThrowsException (Failed)
112 - testThinClientPoolExecuteHAFunction (Failed)
113 - testThinClientPoolExecuteHAFunctionPrSHOP (Failed)
116 - testThinClientPoolRegInterest (Failed)
120 - testThinClientPutAllTimeout (Failed)
121 - testThinClientPutAllWithCallBackArgWithConcurrency (Failed)
123 - testThinClientPutGetAll (Failed)
125 - testThinClientRIwithlocalRegionDestroy (Failed)
126 - testThinClientRegex (Failed)
127 - testThinClientRegex2 (Failed)
128 - testThinClientRegex3 (Failed)
129 - testThinClientRegionQueryDifferentServerConfigs (Failed)
130 - testThinClientRegionQueryExclusiveness (Failed)
131 - testThinClientRemoteQueryFailover (Failed)
132 - testThinClientRemoteQueryFailoverPdx (Failed)
133 - testThinClientRemoteQueryRS (Failed)
134 - testThinClientRemoteQuerySS (Failed)
136 - testThinClientRemoteRegionQuery (Failed)
137 - testThinClientRemoveAll (Failed)
139 - testThinClientRemoveAllSequence (Failed)
143 - testThinClientSecurityAuthenticationSetAuthInitialize (Failed)
148 - testThinClientSecurityMultiUserTest (Failed)
153 - testThinClientTicket317 (Failed)
155 - testThinClientTransactionsWithSticky (Failed)
156 - testThinClientTransactionsWithoutSticky (Failed)
158 - testThinClientVersionedOps (Failed)
159 - testThinClientVersionedOpsPartitionPersistent (Failed)
160 - testThinClientVersionedOpsReplicate (Failed)
161 - testThinClientVersionedOpsReplicatePersistent (Failed)
165 - testXmlCacheCreationWithPools (Timeout)
167 - testXmlCacheInitialization (Timeout)
Errors while running CTest

Oh my... let me see if I can set up an environment in Windows and run all the tests. Sorry for the inconviniences :S

I'm running tests on a Windows EC2 instance to confirm it's a real thing and not just a hiccup in our infrastructure.

I'm hitting the same test results on a Windows VM, so something major is wrong on that platform.

Hi,
Ok... got it finally. After fighting 1-2 days with VS and the old testing framework I located the problem.
Problem has to do with move semantics and ConnectionWrapper. Thing is for some reason I forgot how to program and I implemented the movement of the conn_ attr just as conn_(std::move(other.conn_)) and whenever the original object conn_ pointer is not nullptr, therefore the pointer is destroyed, leaving the second object pointing to an invalid.
Thing is, it seems GCC implementation of the standard is different than MSVC's and it avoids calling to the move constructor and that's why test were passing in Linux.
Will upload a fix ASAP.
BR,
Mario.

@gaussianrecurrence Still seeing a clangformat failure in ThinClientLocatorHelper.hpp, see Travis results above.  Note that you need clangformat v6 or v7 to be compatible with the v6 we're using in Travis.  When you have the right version installed on your dev machine, from a clean repo run cmake --build . --target all-clangformat, then check in any formatting changes the tool has made.  Thanks!

@gaussianrecurrence Still seeing a clangformat failure in ThinClientLocatorHelper.hpp, see Travis results above. Note that you need clangformat v6 or v7 to be compatible with the v6 we're using in Travis. When you have the right version installed on your dev machine, from a clean repo run cmake --build . --target all-clangformat, then check in any formatting changes the tool has made. Thanks!

Yes, sorry I made the change quickly and forgot that :S

Windows build still hitting an issue:
C:\nativeclient\cppcache\src\ThinClientPoolDM.cpp(572): error C2220: warning treated as error - no 'object' file generated [C:\build\cppcache\static\apache-geode-static.vcxproj]
C:\nativeclient\cppcache\src\ThinClientPoolDM.cpp(572): warning C4267: 'argument': conversion from 'size_t' to 'int32_t', possible loss of data [C:\build\cppcache\static\apache-geode-static.vcxproj]

So sorry @pdxcodemonkey,
Will fix the issue and compile/run tests in all platforms, just to be sure. It might take a while.

If you push the build fix to your branch, my pipeline will run build/test for all platforms automatically...

If you push the build fix to your branch, my pipeline will run build/test for all platforms automatically...

Oh that's nice. On either case I completed the execution of the tests.
They are all passing except for this new integration test:
BasicIPv6Test.queryResultForRange
Thing is the problem seems ip6-locahost does not exist in my host. I modified it so it uses ::1 as binding address, just to see if that was the problem but it failed due to ACE not being able to find the host. Which leds me to think.
Shouldn't be IPV6 tests disabled if WITH_IPV6 CMake option is not enabled?
Or should I always compile with IPV6 in order to run the tests?
Summaziring here: "In theory all test should pass except for the IPV6 one"

Re: BasicIPV6Test, you're right this one won't pass unless your build is compiled WITH_IPV6 and your network is configured to route IPv6.  We've never had a test bed that worked for this one, so in our CI we use the ctest -E switch to avoid running the test.

Branch rebased.
Clang-format passed
Compilation ran OK both in Linux and Windows.
All tests passed both in Linux and Windows.

Please let me know your feeling about the pending topic (the tests). If you think I might need to come up with an intermediate test, or maybe I should make a prior PR to setup all the necessary scaffolding in order to make connection tests in the future.
Thanks 🙂

Codecov Report

Merging #660 into develop will decrease coverage by 0.07%.
The diff coverage is 93.12%.

@@             Coverage Diff             @@
##           develop     #660      +/-   ##
===========================================
- Coverage    74.03%   73.95%   -0.08%
===========================================
  Files          644      644
  Lines        51133    51030     -103
===========================================
- Hits         37854    37740     -114
- Misses       13279    13290      +11

Impacted Files
Coverage Δ

cppcache/src/ThinClientLocatorHelper.cpp
91.15% <92.85%> (+5.04%)
:arrow_up:

cppcache/src/ThinClientLocatorHelper.hpp
100.00% <100.00%> (ø)

cppcache/src/ThinClientPoolDM.cpp
75.46% <100.00%> (-0.63%)
:arrow_down:

...tion-test/testThinClientRemoteQueryFailoverPdx.cpp
85.48% <0.00%> (-4.04%)
:arrow_down:

cppcache/src/TXCommitMessage.cpp
74.50% <0.00%> (-1.97%)
:arrow_down:

cppcache/src/TcrEndpoint.cpp
54.55% <0.00%> (-1.83%)
:arrow_down:

cppcache/src/RemoteQuery.cpp
75.53% <0.00%> (-1.07%)
:arrow_down:

cppcache/src/ThinClientRedundancyManager.cpp
75.31% <0.00%> (-0.47%)
:arrow_down:

cppcache/src/TcrConnection.cpp
72.79% <0.00%> (-0.16%)
: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 5f06ae2...1f3142d. Read the comment docs.

@gaussianrecurrence Is this ready for re-review?

@gaussianrecurrence Is this ready for re-review?

Sure. Only thing left in here is the testing part, for which I would really appreciate any ideas.
As I told you we could even make a previous PR in which we add the necessary scaffolding to test this.
Or maybe there is another way I did not come up with, which is much simpler.
Thanks for putting some time on this :)

Hi
Sorry to go into the topic again, but @mreddington @pdxcodemonkey or @pivotal-jbarrett did you had the chance to look into it?

Ok @pdxcodemonkey and @pivotal-jbarrett I think I came up with an integration test for this change. It works as follows:

Set 5s connect-timeout.
Deploy 1 locator.
Add 1 non-existent locator to the pool.
Send 64 concurrent requests to get the server list.
By probability if there are no interlocks ~50%+-E% of the requests should
have completed in a brief period of time.
Note that E% is the error allowance percentage, which is set to 10%.
Therefore a 10 seconds timeout is set in order to reach the request
completed treshold.
Test passes if the number of completed requests before the timeout was
greater or equal to the thresholds, otherwise it fails.

It does not cover everything, but I'd would appreciate your feedback in order to see If I am in the right direction. Thanks!

Sorry to bother you again, it has been quite a long time since this had any feedback. Is there anything else you would like me to do in order to get this ready?
Thanks!


Cmd+left causes an error when pressed inside an empty paragraph

Observed on OSX:

This is related to #813 and both caused by the placeholder.


Shift indent forward/backward for a block of code

On the editor I'm currently use, you select the block of code and press shortcut keys. It's very simple.

This is already supported. This is done with the tab key for indent and shift+tab for un-indent. Feel free to change the keybindings ( Edit -> Keybindings ).


[WIP] Add balance format util

lgtm, apart from the few cases @KarishmaBothara pointed out

Not applicable to latest balance formatting rules


Ability to select HAL/CUDA  device from the API

It would be good to provide an API to select the device to run IREE on (in case of GPU like devices). Currently this is possible by setting the ENV vars for CUDA but we would like to be able to do it from the API so that if you provide a command line arg to iree-run-module you should be able to run IREE on that particular device.

Vulkan does this here:
https://github.com/google/iree/blob/931a3b1465246e81ea99d8d7b308626c50709238/iree/hal/vulkan/registration/driver_module.cc#L24
->
https://github.com/google/iree/blob/931a3b1465246e81ea99d8d7b308626c50709238/iree/hal/vulkan/api.h#L236
(that is, there's a way to pass it in on the programmatic API for creating drivers as well as a flag exposed that just sets that value when using the flags approach)

I think CUDA has it in the API too right?
https://github.com/google/iree/blob/931a3b1465246e81ea99d8d7b308626c50709238/iree/hal/cuda/api.h#L27
I can just add the flag similar to Vulkan, anything else that would be needed?

Raised this PR, that exposes a flag to select device https://github.com/google/iree/pull/8455/files

https://github.com/google/iree/pull/8455


How to install from bower?

Here's some good news/bad news.
Bad News
Bower is not officially supported by ui-bootstrap4. Since it no longer recommends being used for new projects, and I have limited resources, I have no intention of maintaining support for it.
Good News
It should just work. With some minor caveats.
$ bower install morgul/ui-bootstrap4

However, there's no dist folder. Instead, the files you're looking for are under bower_components/ui-bootstrap4/docs.  That folder contains a copy of every version, ever. Needless to say, it's a little overkill, but it'll work.
If you (or anyone else) wants to improve that situation and make it less bloatedr, I will absolutely take merge requests.


Dependency Issues

Installed: Anaconda(python3.8)
When I run the project-07 and the env-fs-install.sh will auto install pytorch-2.1.0, but it can't be used in running project07 which require pytorch-1.8.0. Is it the wrong head of fairseq from github, which will require the version 2.1.0 of pytorch?

Sorry for the trouble.
I missed the fact that fairseq does not specify torch version in its setup.py. Therefore, pip will install the latest torch when executing pip install --editable ./ in fairseq.
Could you try this modified env-fs-install.sh ?
https://github.com/nii-yamagishilab/project-NN-Pytorch-scripts/blob/newfunctions/env-fs-install.sh
The torch < 2.0 is installed before setting up fairseq.
Let me know if it works. (at least it works on my side).

Thank you for you reply.
I reinstall anconda3 and the env-fs-install.sh script, and now the fairseq-pip2 env has pytorch=1.9.0:

But meet fairseq version issue(log_eval_trained_toy_eval_set_err):

I think the installed fairseq version is correct. Could you check
$: conda activate fairseq-pip2

(fairseq-pip2) $: python -c "import fairseq; print(fairseq.__version__)"
1.0.0a0+862efab

(fairseq-pip2) $: python -c "import fairseq; print(fairseq.__file__)"
pytorch-project-2020/fairseq/fairseq/__init__.py

(fairseq-pip2) $: python -c "import fairseq; import fairseq.checkpoint_utils;print(fairseq.checkpoint_utils.__file__)"
pytorch-project-2020/fairseq/fairseq/checkpoint_utils.py

Does your environment show something similar?  It should be able to load checkpoint_utils in fairseq.

I have the same output:

When I use the quick start command,
bash 00_demo.sh model-W2V-XLSR-ft-GF config_train_toyset 01

The output:

May you try to run the command like this?
$ conda activate fairseq-pip2
(fairseq-pip2)$: cd model-W2V-XLSR-ft-GF/config_train_toyset/01
(fairseq-pip2)$: python main.py --model-forward-with
-file-name --num-workers 8 --epochs 100 --no-best-epochs 10 --batch-size 8 --sampler block_shuffle_by_leng
th --lr-decay-factor 0.5 --lr-scheduler-type 1 --lr 0.000001 --not-save-each-epoch --seed 01 --module-conf
ig config_train_toyset

-------------------------------------------------
---  Start program 2023-10-15 14:24:22.637296 ---
-------------------------------------------------
Load module: config_train_toyset
Load module: model
2023-10-15 14:24:23 | INFO | fairseq.tasks.text_to_speech | Please install tensorboardX: pip install tenso
rboardX
---------------------------------------------------------------------------
---  Loading dataset asvspoof2019_toyset_trn 2023-10-15 14:24:23.617452 ---
---------------------------------------------------------------------------
Skip scanning directories
Read sequence info: ./asvspoof2019_toyset_trn_utt_length.dic
---------------------------------------------------------------------------
---  Loading dataset asvspoof2019_toyset_val 2023-10-15 14:24:23.619423 ---
---------------------------------------------------------------------------
Skip scanning directories
Read sequence info: ./asvspoof2019_toyset_val_utt_length.dic
--------------------------------------------------------
---  Start model training 2023-10-15 14:24:31.994543 ---
--------------------------------------------------------

If there is still error,  ust pdb and go to the debugging mode.
Stop at line 44 of model.py, you can check whether fairseq.checkpoint_utils is available.
(fairseq-pip2)$: python -m pdb main.py --model-forward-with-file-name --num-workers 8 --epochs 100 --no-best-epochs 10 --batch-size 8 --sampler block_shuffle_by_length --lr-decay-factor 0.5 --lr-scheduler-type 1 --lr 0.000001 --not-save-each-epoch --seed 01 --module-config config_train_toyset

-> """
(Pdb) b model.py:44
(Pdb) c
-------------------------------------------------
---  Start program 2023-10-15 14:27:13.006081 ---
-------------------------------------------------
Load module: config_train_toyset
Load module: model
2023-10-15 14:27:14 | INFO | fairseq.tasks.text_to_speech | Please install tensorboardX: pip install tensorboardX
---------------------------------------------------------------------------
---  Loading dataset asvspoof2019_toyset_trn 2023-10-15 14:27:15.353425 ---
---------------------------------------------------------------------------
Skip scanning directories
Read sequence info: ./asvspoof2019_toyset_trn_utt_length.dic
---------------------------------------------------------------------------
---  Loading dataset asvspoof2019_toyset_val 2023-10-15 14:27:15.358449 ---
---------------------------------------------------------------------------
Skip scanning directories
Read sequence info: ./asvspoof2019_toyset_val_utt_length.dic

(Pdb) fairseq.checkpoint_utils.__file__
'env/fairseq/fairseq/checkpoint_utils.py'
(Pdb) fairseq.__file__
'env/fairseq/fairseq/__init__.py'

To solve  "AttributeError: module 'fairseg' has no attribute 'checkpoint utils' " problem, I have added these code into model-W2V-XLSR-ft-GF/config_train_toyset/01/main.py,
import sys
sys.path.append('/home/sirius/Documents/project-NN-Pytorch-scripts-2/fairseq')

log_eval_trained_toy_eval_set_err and log_train_err are no content at all.
But the train.py will finished, could you tell me the memory and graphics requirements for training? Maybe the memory overflow.

When installing fairseq by pip install --editable ./ in env-fs-install.sh, package should be automatically added to the python path.
In fact, it should be available in site-packages of your conda environment
$: conda activate fairseq-pip2
(fairseq-pip2) $: python -c "import sys;print([x for x in sys.path if x.endswith('site-packages')][0])" | xargs -I{} ls {} | grep fairseq
__editable___fairseq_1_0_0a0_862efab_finder.py
__editable__.fairseq-1.0.0a0+862efab.pth
fairseq-1.0.0a0+862efab.dist-info

In my case, the py file above will point to the actual location of the fairseq.
If you can import fairseq but not the expected version with checkpoint_utils, I guess there are multiple versions of fairseq in that conda environment?  Anyway, it is good to know that it is solved somehow :) Sorry for the trouble at the very beginning.
I can use tesla_p100 with 16G mem for training in the demo script.
If GPU mem overflows, log_train_err should show something like
    return torch.layer_norm(input, normalized_shape, weight, bias, eps, torch.backends.cudnn.enabled)
RuntimeError: CUDA out of memory. Tried to allocate 26.00 MiB (GPU 0; 15.90 GiB total capacity; 14.73 GiB already allocated; 25.75 MiB free; 14.91 GiB reserved in total by PyTorch)

Could you also check log_train and log_eval_pretrained_toy_eval_set?
If there is nothing written in the log, it may be that the printed something from stdout has not been redirected to the log file by the Ubuntu OS.

Thank you for your patient response. I think I have solved my problem because the CPU I assigned to him only has 2 cores and 4g mem, os kill the trainning process I think. ^ ^.

Thanks for the feedback!
I update it here
#56


Client Allocation Request for: 上海童程文化传播有限公司（ Shanghai TongCheng culture communication co., LTD.）

Client Allocation Questions
Core Information

Name: 上海童程文化传播有限公司（ Shanghai TongCheng culture communication co., LTD.）
Website / Social Media: Wechat ID:gh_ae37b77400fe
Region: Greater China
DataCap Requested: 20TiB
Addresses to be Notarized: f13lwcalwguboqmquxqvyqqj22fiuyqvw3qucv4qa
Notary Requested: ozhtdong

@tanw2009 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Could you share your website with us?

We don't have a public website. Now we want to get storage resources are used to store a large number of video, training materials and other data resources.
我们没有网站。目前我们有大量视频、教材等数据需要存储，希望获得存储资源。

Reference in new

We don't have a public website. Now we want to get storage resources are used to store a large number of video, training materials and other data resources.
我们没有网站。目前我们有大量视频、教材等数据需要存储，希望获得存储资源。


Run workspace as a daemon with port mapping?

In past I used some of this workplaces on Docker with -d option and port mapping?
If this is not available anymore since which docker tag stopped to be supported?
(ie, which is the last "daemon" support version?)
Docker tags: https://hub.docker.com/r/cloud9/ws-python/tags/

I suppose that this is not available because when I run it
ubuntu@ubuntu-xenial:~$ docker run -d -p 9001:80 cloud9/ws-python
2a2f0796388e3b19d7b5b10823bd537551d8372b2f8f0d2e47e025686e741c22

It fails with the following output
ubuntu@ubuntu-xenial:~$ docker logs 2a2f0796388e
stdin: is not a tty


Drupal makes its own thumbnails, and it's confusing.

This isn't exactly a problem just a thing that caused some crossed wires, so we should probably know about. We have an Islandora 8 installation where derivatives aren't working, but Thumbnails are getting created, and I think it's Drupal's doing.
We uploaded a JPG as an original file. It's still the only "Media" attached to the Repository Item node (which is typed as an "Image"). So as far as node/34/media is concerned, we have no Service File and no Thumbnail.
But if you go look at the view of all media, /admin/content/media, the recently uploaded image is there represented by a small thumbnail. If you inspect the html, that thumbnail's src is
http://[host]/_flysystem/fedora/styles/thumbnail/fedora/2019-05/IMG_0606.JPG?itok=VCsRkku-
That actually resolves to a file.
This file lives in Fedora, as you can see by crawling Fedora (from the top-level Root Object there's a child at http://[host]:8080/fcrepo/rest/styles/thumbnail/fedora/2019-05 which contains http://[host]:8080/fcrepo/rest/styles/thumbnail/fedora/2019-05/IMG_0606.JPG
Its RDF is sparse:

I thought that these folders were the result of derivatives running. They are absolutely not. These are from Drupal's Image Styles, configured at admin/config/media/image-styles.
If I alter the View that populates /admin/content/media so the "Thumbnail" field uses the "Medium (220x220)" Image style, then my Fedora root object suddenly contains a bunch new 'medium' folders like http://[host]:8080/fcrepo/rest/styles/medium/fedora/2019-05
So, This is a way that Fedora is being used perhaps without intention. It's not explicitly harmful, but it "muddies up" the distinction that we had made wherein Drupal was the source of front-end stuff, and Fedora was for preservation.

That should very much be on Drupal's public filesystem.
This does raise the question of if we should tie more tightly to the Drupal thumbnail system, and the answer is probably, as always, yes.  It's been a while since last I looked at that and it's definitely worth re-investigating.

I think this works for Image media types, but not files (Tiffs). So until they fix that upload form so that we can upload a Tiff as an Image we'll have to stick with this. Maybe they fixed that in 8.7.
Also for things like audio/video/pdf/documents/etc.... I'm not sure how we would handle those.

So I looked into this.  If we made a custom MediaSource plugin, we can tell it to reference the thumbnails we generate for when we can't use image styles.  Might be worth looking into.  It goes into detail about what the responsibilities of the plugin are in the documentation: https://api.drupal.org/api/drupal/core!modules!media!src!MediaSourceInterface.php/interface/MediaSourceInterface/8.6.x

👀  Danny that's really really cool.


[popup] Search for Apex Classes in Shortcuts

It would be very useful to be able to search for Apex Classes in Shortcuts. Sometimes there is a need to check how a particular class looks in a particular environment (for example, production). The standard Setup menu for classes does not allow for search, only filtering by first letter, and it is hard to use, especially in orgs with a large number of classes. Developer Console is a bit better as it allows searching, but it is not always available due to user permissions, especially in production.
Apex Classes in Shortcuts search results would solve this issue. Class name, namespace prefix (if available) and API version could be displayed. Clicking on the class would redirect to Setup page displaying it (/lightning/setup/ApexClasses/page?address=%2F{ApexClassId}). If there is a concern that the user will be overwhelmed with too many search results, then an option in configuration (default off) could be added.
I've already added the appropriate code to  async getMatches(shortcutSearch) in popup.js and tested it locally, so if it's OK I can submit a PR.

Hi @mpekacki,
Why not !
The only concern I have is the performance for the search.
I already had in mind to add an option to let users decide which metadata they want to search for.
ie only on profiles but not on flow, or apex classes and custom permissions ..

Hi @tprouvot,
I tested it in an org with a fairly large number of classes and I did not notice any performance degradation. I also ran queries like SELECT Id, Name FROM ApexClass WHERE Name LIKE '%a%' LIMIT 30 manually and they also perform almost instantly. But having it configurable would be ideal, I can even try to include it in my PR, it that's OK. Would it mean getting rid of metadataShortcutSearch option and replacing it with metadataFlowsShortcutSearch,  metadataProfilesShortcutSearch, metadataPermSetsShortcutSearch and metadataApexClassesShortcutSearch?

I think I can add the ApexClass search by letting users configuring what metadata they are searching for in the Shortcut:


Question regarding image sizes

When I read the description of this repo it says that this plugin creates an image of x2 size and x3 size. Afterwards, I'm told it "never upscales images".
How does this not affect image quality? If an image of x2 is created, AFAIK the image is created at a 200%

Thank you for making the fix. Can you point me to how I can patch or update to the patched code? I can download the zip from GitHub, but can't figure out how to install the updated GEM.


[FEATURE] launch physical meshes after compilation

This can be a starting point to learn runtime_emitter.
Background
In Pipeshard Parallel, the final compilation step is to interpret the solution into a configuration containing all information about computation, communication, parameter, output and debug information. Now the instruction_lists and executable_configs are indexed by MeshHostWorker, which means we have to give the emitter a physical mesh group(see here). The final target is to run all steps in the compilation(except for profiling) without using GPU resources.
TODO

[ ] call SymbolicReshardingTask.put_tasks in PipeshardMeshDriverExecutable.__init__. The same applies for the SymbolicBroadcastReshardingTask;
[ ] replace the mesh_group by sliced_virtual_meshes and move the two lines out of the function. Maybe we can create a VirtualMeshGroup to provide interfaces. Some operations will be skipped;
[ ] add skipped operations from last step in PipeshardMeshDriverExecutable.__init__.

working on it


Se feedback 6

Questions, Comments - both are welcome. Have a good weekend

@breijm  I have a question on: "You should explain how you run the tools in the Concurrency section"
With the tools, do you mean how we run the ASATs? If so, we currently don't execute Maven on the user's project. We do explicitly say on the GUI that the user run mvn site before selecting his/her project.

@ClintonCao Thanks for the reminder. That the user has to run maven site before hand hadn't clicked yet. Makes much more sense. Out of curiousity, why not run the command for the user using a Process? If you require that the project be a maven project and that pom.xml is in the root it should work.

@breijm The reason why we decided not to run Maven, is because we couldn't figure out how to start it with ProcessBuilder. We've taken a look at the following link: https://maven.apache.org/guides/getting-started/windows-prerequisites.html , but it seems to be a bit complicated.

@ClintonCao If you require that the user has Maven installed then you can run mvn site. No need to set up Maven with your tool. It's a small convenience for the user that  site them the tool runs site instead of the current manual workflow. For now just ignore the comment and if you do add this feature don't forget to add it to the ADD.

@breijm Yes I do agree that it will be more covenient. I have looked at using Invocation from Maven invoker, but I needed to supply the Maven home path (which I cannot find for some reason). I also tried using Maven Embedder, but no output files were created. I will check on them again later. If I do manage to solve this problem, I will update the ADD :smiley:


build: move to turbo

Lerna is still used for the clean  and publish commands, we could try to use rimraf for clean and changesets for publishing
pnpm is needed for installing ( It automatically links and installs the packages node_modules, similar to lerna bootstrap )
turbo is used for running tests
Signed-off-by: Jytesh<EMAIL_ADDRESS>

I have a tiny npm package for running a command across directories – maybe we can use it instead of lerna?
https://github.com/kikobeats/eachdir

Would work ig, also need to add changesets to completely remove lerna

I'm not sure if
lerna publish --yes --sort --conventional-commits

can be replaced by changeset.
What lerna is doing with --conventional-commits is determining if the next version should be major|minor|patch.
is it possible to do an equivalent thing with changeset?

Oh Okay, lerna + turbo is recommended by turbo team itself so ig we can go with that

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 93.996%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
318

Relevant Lines:
325

💛  - Coveralls


Issues with Overview section on multiple pages

Service name (the service in question)
Task Agent is one of the services. But, this issue is for many services.
Description of issue (in as much detail as possible)
The overview section of many services is not accessible.
Pools - Overview is not accessible but Pools - Add is accessible. The overview section throws 404 - Content Not Found.

You can compare it with Overview section of the Test Management service.

This issue has been fixed


mark data_timeout as obsolete

The data_timeout setting is now longer use anywhere in the code base it' time to mark it as obsolete. This will make the option no longer appear in the documentation and logstash will refuse to start if its used.

LGTM


Allows an option to hide results

Current implementation hides the results only if the selected text is unique
An option to 'hideResults' can be used to set this property using onPress events on a Touchable component

Thx for the PR! Your changes are merged and will be released soon :).


remote planner runs with 'mock' modality

so it can produce recipes with particles of mixed modalities (because every particle has 'mock' modality added to its spec)
ps: also only text description is produced for suggestions produced remotely (eg dom description is missing)

Implementation plan: https://docs.google.com/document/d/1ia3LSFHzeVhen2SpNmkqu0AUHz2XRRcVt8WnKH1Sbi4/edit?pli=1#


[FR] Configure to use production database even when running with emulators

I'm trying to run test for a migration logic that get data from a production database, and inject it into another database. But when using firebase-admin, it always use the local emulator for both, there is no way to have firebase-admin use the product database when FIREBASE_DATABASE_EMULATOR_HOST is defined.
I think firebase-admin should not connect to the emulator if a specific configuration is passed.

The source of this is https://github.com/firebase/firebase-js-sdk/blob/ef33328f7cb7d585a1304ed39649f5b69a111b3c/packages/database/src/core/RepoManager.ts#L140

@SamyPesse thanks for the feedback, can you elaborate on what you mean by "when a specific configuration is passed"?

@samtstern We don't use the configuration coming from google cloud cli file or from the function itself, we always pass the service account ourselves using:
const app = admin.initializeApp(
    {
        // @ts-ignore
        credential: admin.credential.cert(someConfigObject),
        projectId: someConfigObject.project_id,
        databaseURL: `https://${someConfigObject.project_id}.firebaseio.com`,
    },
    'origin'
);

When passing a file with a projectId and credential, I don't always want firebase-admin to connect to the firebase emulator.
Running the emulator doesn't mean that I want all firebase requests to go to the emulator.

@samtstern @yuchenshi is there anything more to this? Looks like WAI to me.

An alternative solution that works for me is:
const { auth, database } = withoutEnvs(() => {
    const app = admin.initializeApp(
        {
           // PRODUCTION config here
        },
        'origin'
    );

    return {
        auth: app.auth(),
        database: app.database(),
    };
}, [
    // Remove env used to connect to local emulator if any
    // because of https://github.com/firebase/firebase-admin-node/issues/1096
    'FIREBASE_DATABASE_EMULATOR_HOST',
    'FIRESTORE_EMULATOR_HOST',
    'FIREBASE_AUTH_EMULATOR_HOST',
]);

function withoutEnvs<T>(fn: () => T, envs: string[]): T {
    const saved: Array<[string, string]> = [];

    envs.forEach((key) => {
        saved.push([key, process.env[key]]);
        delete process.env[key];
    });

    const result = fn();

    saved.forEach(([key, value]) => {
        if (value) {
            process.env[key] = value;
        }
    });

    return result;
}

I've been thinking about this one and I don't think there is a feasible way to fix this without reducing safety for those who don't understand this.  Right now we're sticking with "if the emulator is running, we should connect to it".
The worst possible situation is the reverse of yours: if someone wants to connect to the emulator but accidentally connects to production they could be destroying real user data. We have to optimize to prevent that where we can.
For advanced use cases like yours you'll probably need to continue using "hacks" like the workaround you discovered. Thanks for prompting this discussion, I hope my rationale makes sense!

@samtstern Thanks and yes it totally makes sense 👍  especially "if someone wants to connect to the emulator but accidentally connects to production they could be destroying real user data. We have to optimize to prevent that where we can."


Clarify shape_centered property

Following #33440

Thanks!

One comment from the future:
AFAICT "centered in the provided texture" is only true when the shape is smaller than the texture.
If the shape is larger than the provided texture (which seems to be a common use case to allow for "sloppy" interactions on touch devices) then it's the texture which is centered in the shape.
If this is the intended behaviour, I wonder if "centered on the provided texture" might be more accurate?


Adding simulations script for init.py

adding simulations to __init__.py for importability.

Looks like the travis build is failing because the of sphinx have you seen this before in previous PRs @catherine-martlin or @julesfowler?

I think this issue might be resolved in PR #318 - we should think about merging that fix in.

Well, more than just think about it.

@catherine-martlin, should be good to go. Let me know if the rebasing was successful.


Add a pure API with explicit random state passing

It would be great if mwc-random had a pure API that explictly passes random state around, especially for integration with something like MonadRandom ( https://hackage.haskell.org/package/MonadRandom ).

I don't think it's good idea. State is rather large: 258 Word32 so it's not efficient to carry it around.And implementation uses in-place state mutation to achieve high  performance

That's actually a good point, didn't think of that. Might maybe make more sense for my use case to build a new MonadRandom-like thing that runs in PrimMonad

Writing generic API for random number generation is challenging task. All PRNG I know about (I'm no expert though) generate uniformly distributed bit vector (usually 32 or 64 bits wide). Everything else is built upon it
Haskell PRNGs could be split into two main categories: ones with pure state (System.Random), and ones with mutable state. Latter tend to have large state (mwc8222, Mersenne twister). Explicit state passing or passing of reference to mutable state could be abstracted using state or reader monad correspondingly. Unifying API this disparate is not easy task

FWIW, I went with this solution for my own uses now: https://gist.github.com/sdroege/6209e97b4dfc9791033d
Might be useful to have something like this in mwc-random

You might be interested in mwc-random-monad package. It provides monadic API for mwc-random but doesn't generalize different generators

Ah, for some reason I didn't find that package and reinvented parts of it :)

I'm closing this issue.


Updating to Chromium 88.0.4324.150

Please respond if you would like to update ungoogled-chromium to the new stable Chromium version.
Notes for the developer
Once you claim it, it is advisable that you create a Draft Pull Request for increased visibility:

Finally, make sure to reference this issue in your PR.
Feel free to ask questions and discuss issues here along the way. Thanks!
Notes for others
Feel free to raise issues or questions throughout the process. However, please refrain from asking ETAs unless no visible progress has been made here or on the developer's PR for a while (e.g. 2 weeks).

I plan on working on this; Chromium 88.0.4324.150 fixes a security vulnerability which Google believes to be actively exploited in the wild.

I just wanted to give you guys an update; I am still waiting for Google to post the source tarball for Chromium 88.0.4324.150...

There were no changes in pdfium or skia from .146 to .150, some in chromium (not relevant to security), and the security relevant one in v8. I got the v8 patchset from Chromium Gerrit and applied it to .146 – all ungoogled chromium patches passed and I'm building now on my build system (for x86-64 macos).
TL;DR: no adjustments to ungoogled chromium patches should be necessary

Checked on Android version. Can confirm the patches used here are not affected.


Run the rspec and inspec tests as part of the PR workflow.

:speaking_head: Foreword
Thank for taking the time to fill this feature request fully. Without it we may not be able to , and the issue may be closed without resolution.
:person_frowning: Problem Statement
It doesn't look like the tests get run when creating a PR or merging.
:grey_question: Possible Solution
We need to make sure the tests run to verify the function of the resource.
:arrow_heading_up: Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
:heavy_plus_sign: Additional context
Add any other context about the problem here. e.g. related issues or existing pull requests.

fixed by #4.


Fix points being classified outside navmesh2d at edges

Fixes #34449.
The old method of finding which navmesh triangle start and end points are within could fail due to floating point error if a point was on an edge, between 2 triangles. This new method uses a different test with an epsilon, and allows finding the closest triangle even if the point was just outside.
Notes

I'm using real_t type here going with the whole idea of enabling compiling with real_t as double. However I don't know how necessary this would be in practice even with a large 2d map, so can easily change these to float.
I'm not sure how efficient the whole process of going through the nav polys is, I'm assuming it's using a linked list, I just copied that bit from the original. I'd personally probably pre-create a linear list, or use a spatial partitioning scheme (even a grid) however in the interests of changing as little as possible I've left as is. This is all getting changed in 4.0 anyway so this is more a bug fix.
There are other ways of doing point in triangle tests (e.g. barycentric) but I wanted some kind of measure of closeness in world space so the triangles would be comparable.
The test itself is not that optimized, but it does a cheaper bounding box test first so it shouldn't matter in practice. Bounding boxes could also be precalculated but again, I'm doing minimal changes.

This could do with some more testing, I've only tested it with the godot demo project for 2d navigation. I've never actually used the godot 2d / 3d navmeshes! :smile:

@lawnjelly Is this still desired? If so, it needs to be rebased on the latest master branch.

I'll close this for now as I don't currently have time to re-examine it, but can be used as reference for anyone wishing to solve this problem.


Move to Hyper 1.0

Tracking ref: https://github.com/hyperium/hyper/issues/3088

https://seanmonstar.com/blog/hyper-v1/ v1 is released now

@Zerotask yup, I'm working on it locally. Let's just say there's quite a few breaking changes, so this might require a bit :)


Fix cb sometimes not being a function

This happens when using a deferred and not providing a progress callback.
However since the progressCallbacks property is mutable from the outside, this changes the invocation instead of the appending.

Thanks for the contribution!


karma-safari-launcher may be not a dependency

Hi Team
There is a dependencies of karma-safari-launcher on npm here
But IMHO that may not be a dependency and I searched out the codebase and didn't find any code related with karma-safari-launcher
Please confirm and help

Sorry for my poor English

Thanks! This must have been by accident when releasing<EMAIL_ADDRESS>when adapting the new CI flow for 3.x. Will fix asap.


Documentation support for shortcodes

Since shortcodes implemented by the maintainer(s) of a Hugo site could grow a lot as the needs of the site grow, it would be nice if the hugo CLI supported a documentation system for shortcodes. The proposal is for shortcode templates to support a "meta" item, similar to how versions are currently supported in shortcodes as a meta tag.
Then, if one were to run hugo list shortcodes or hugo describe shortcodes, all the shortcodes available in the site could be printed onto the console, with the title being the name of the shortcode and the description provided by the metadata.
This would have to support both the shortcodes implemented at the repo root level, as well as shortcodes implemented in themes / modules.

Keep alive for now

A documentation subsystem to allow/enable quickly reviewing docs for shortcodes would be immensely useful; moreover, once it's possible to surface those docs automatically in the CLI, the information can be reused for a theme reference docs export as a static site.
Right now, the only way I'm able to document shortcodes/etc is in a separate site for the theme which you must know exists and has to be handcrafted.

Put your shortcode into a module, then document that module with a proper README.md, done.
I don't think (my opinion only) that Hugo should support features of third party developers. I also started doing little automatically included content particles that describe the shortcodes available. You would mount content, layouts and add your params in the params section of config or via data configuration. Then the user adds the module and everything maps in nicely.
What I am saying is that anything that has to run extra will make Hugo slower and is not really part of its "list of tasks". Documentation should be the developer's task.
Problems to keep your eyes on here would be naming conflicts of the resulting web pages, always try working with some form of namespace (I use content/dnb/shortcodes/shortcodename/index.md for instance.
Another thing to find out or document would be the implementation of the pages into some form of navigation. In some of my projects, I solved that by adding a config/development configuration for menu items that snap into main navigation if it exists. This would show only by hugo server and not in production.

In my original feature proposal, I envisioned it as more of a static thing, to run while editing or creating content, akin to hugo new. Since it's not runtime, I don't think it would make Hugo any slower.


Login not return access token and  OnLogin not running

I try to run code sample but not really success. It only return Id Token and Scopes: oauth2. Please help!.

Have the same issue. none of the events are triggered. Forced to rollback to native solution


Fix CommonJS/ES6 interop issue with modern Webpack/babel #27

This fixes issue #27 found in modern webpack/babel.

Updated deps to latest as well.


Fix broken import in opentelemetry readme examples

Description
Since Opentelemetry 1.15.0 set_logger_provider has been moved from opentelemetry.sdk._logs to opentelemetry._logs.
When testing with azure-monitor-opentelemetry-exporter==1.0.0b19, this change also applies. In this PR I updated the readme examples on how to use azure-monitor-opentelemetry-exporter to this new place to import set_logger_provider.
In the code everywhere set_logger_provider is used was already fixed, so this only needs a fix in the readme.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

@lucasfijen please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Nederlandse Spoorwegen"


Obligatory "doesn't work on Canary issue"

I tried upgrading an app to the latest Ember build today and I noticed that the x-select components weren't rendering anything. I ran the tests in this repo against Canary and it looks like they all fail each module has failing assertions (except for JSHint! :tada:).
I'm sure there's nothing wrong on your end. You guys are great. But those Ember core people... :wink:  Maybe there is an issue that could be filed before 1.13 is out the door or maybe there is an open issue that might be affecting x-select?

I think this is the related issue https://github.com/emberjs/ember.js/issues/11301.

I've briefly looked at the fails on canary but haven't taken the time to troubleshoot. X-select is technically "broken" on anything 1.11+. That's due to this: https://github.com/emberjs/ember.js/issues/11221
I'll take a look and see if it's on our end or not hopefully today :)

https://github.com/thefrontside/emberx-select/pull/33 has tests passing on Glimmer, though without support for the form attribute.

Closing this. #40 has passing tests on canary :)


Register the zookeeper bin dir in the PATH env variable

optional/configurable registration of the zkCli (and other zookeeper tools) to the system's PATH
disabled by default
Note: this feature isn't enabled for the (old)debian installation, because the default zookeeper_dir
setting is not applying here (it should be /usr/share/zookeeper).

:ok_hand:


IOS scrollbar is being added with a delay; blocking me to scroll content immediately. How to fix it?

Hi all,
I have a <ion-content> element where a lot of content is being shown. I have a dynamic button which toggles me new content when I click on it. Before I click on it, I can't see a scrollbar, because the content fits to the screen...
The problem:
When I click on the button, however, the content that is being shown, is overflowing so you need a scrollbar. The scrollbar is being added, but it's being added with a delay of nearly 1 to 2 seconds. I can't fix this problem at all... so when I click on the button, the new content is being toggled and I want to scroll immediately down, yet I am being blocked, because the scrollbar isn't set... it's set after a couple of seconds and that is when I can start scrolling down.
Is this a known bug? If not, how can I solve this delay?

Cordova CLI: 6.4.0
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: macOS Sierra
Node Version: v6.8.1
Xcode version: Xcode 8.2.1 Build version 8C1002

Hello, thanks for using Ionic! This delay that your talking about is because when you change the content of the entire screen you cause the browser to have to do at least two full render cycles, one for getting rid of the original content and one for all the new content. Also, in this case with so much repainting and rerendering it is most likely causing layout thrashing which is going to cause even more of a delay. This is not an Ionic issue but simply a UX issue with your code. I would recommend looking into a different pattern than simply erasing all the content on the page and adding all new content. Sorry I couldn't help more with this issue!


What is the good practice to move to monolog

Hi there,
I am trying to use monologs but I am confused to how to use it(I have checked the example on Github). I added my current structure for logging here. I am not good with coding, so I appreciate if you give me sample code example for better understanding.
Thank you for your help,
My current project has the flowing structure:
logs.inc
/**
 * Logs a message to a external sites.
 */
function log_remote($group, $type, $message, $entity='entity_log') {
}
/**
 * Wraps log so that messages can be logged to a file.
 */
function log($message, $type = 'ok', $out = NULL) {
....
  // Write message to file.
    log_to_file($log_message . "\n");
}

/**
 * Wraps set_error so that errors can be logged to a file.
 */
function set_error($error, $message = null) {

 log("$error: $message", 'error');
}

/**
 * Logs a string to the current log file.
 */
function log_to_file($text) {
}

Then in my other php files I am calling the functions:
log_remote('SITE', 'SITE_ERROR', $message);
set_error('SITE', $message);
log("message");

Well, the readme describes basic usage: https://github.com/Seldaek/monolog#basic-usage
Monolog having an object-oriented API, its usage is different from our own procedural API using a global function.


Feature/istanbul test coverage

Add scripts for istanbul test coverage, clean up mocha scripts and package.json

I did check the mocha tests, with
mocha src/**/*.spec.js

all the test suites (<TabBar />, <TabBarButton/>, AuthState and CounterState) are executed totaling at 12 test cases. Results:
  <TabBar />
    ✓ should render a <TabBarButton> for each passed tab
    ✓ should mark current tab as selected
    ✓ should apply custom height to the root element

  <TabBarButton/>
    ✓ should render the text property as label
    ✓ should respond to press events
    ✓ should render selected button with a background color

  AuthState
    onUserLoginSuccess
      ✓ should update the currentUser bit

  CounterState
    increment
      ✓ should increment the value property by one
    reset
      ✓ should reset the counter state to initial value
    random
      ✓ should update loading bit
      ✓ should trigger a requestRandomNumber side effect
    requestRandomNumber
      ✓ should generate a random number and dispatch it

  12 passing (86ms)

With
mocha src/**/__specs__/*.spec.js

only <TabBar /> and <TabBarButton/> consisting of 6 test cases are executed. Results:
  <TabBar />
    ✓ should render a <TabBarButton> for each passed tab
    ✓ should mark current tab as selected
    ✓ should apply custom height to the root element

  <TabBarButton/>
    ✓ should render the text property as label
    ✓ should respond to press events
    ✓ should render selected button with a background color

  6 passing (61ms)

Giving --recursive option to mocha did not change the results with either file patterns.
These are the test files I found:
find . -name *.spec.js
./node_modules/react-native/node_modules/temp/no_cleanup_on_exit.spec.js
./src/components/__specs__/TabBar.spec.js
./src/components/__specs__/TabBarButton.spec.js
./src/modules/auth/__specs__/AuthState.spec.js
./src/modules/counter/__specs__/CounterState.spec.js

@janivihervas sounds good! Merging :+1:


Unable to embed note in foldable callout

I'm trying to embed another note in a foldable callout but it always remains outside the callout when folded, no matter whether it loads initially closed or open. No problem with it on Obsidian itself or with other content inside, only when publishing that.

Is related to https://github.com/oleeskild/obsidian-digital-garden/pull/303
needs: compiler that escapes stuff in callouts


v10 module.json using depreciated objects - warnings at startup

Describe the bug
Depreciation warnings show on load.
To Reproduce
Install module
Load Foundry to setup screen. Compatibility warning shows:

Check console.

Expected behavior
No warnings
Screenshots
See above
Details

OS: Windows 10
Browser: chrome
Foundry VTT version: v10.290
Module version:  0.4.0-alpha-4
[N/A ] Does it work in Safety Mode (without other plugins enabled)
[X] I did read FAQ - https://github.com/frondeus/fvtt-syrin-control/wiki/Frequently-Asked-Questions
-->

Logs
See above
Additional context

Fixed in 0.4.0-beta2


Github backend and API wrapper

Pre-Flight checklist

[x] Migrations

[x] Migration is backwards-compatible with current production code

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

[x] Settings

[x] New settings are documented and present in app.json
[x] New settings have reasonable development defaults, if applicable
[x] Opened issue for DevOps regarding necessary configuration changes to deployed environments

What are the relevant tickets?
#209
Also closes #213
What's this PR do?

Creates a github-specific backend and API for creating website repos and syncing website content between the repo and database.
Creates an updated_by field to track who last edited a WebsiteContent object (which will be passed on to git, unless FEATURE_GIT_ANONYMOUS_COMMITS=False in yoru .env file).
Modifies WebsiteContent serializers to pass on the request user to the owner field (if created) or updated_by field (if edited)

How should this be manually tested?
Tests should pass.
For manual testing:
In github:

create a git token (Settings/Developer settings/Personal access tokens) with the following scopes: repo, admin:org, admin: repo_hook, admin:org_hook - and set GIT_TOKEN=<your_token> in your .env file
create a new organization and set GIT_ORGANIZATION=<your_organization> in your .env file
set CONTENT_SYNC_BACKEND=content_sync.backends.github.GithubBackend in your env file

In ocw-studio:

Create a new website through the front-end.  Very shortly you should see a new website.name git repo under your organization.
If you create new WebsiteContent objects via the app, they will not be synced to github because content_filepath is None.  However, the owner and updated_by fields should now be set to your user when creating it, and the updated_by field should be set to the user who edits it.

In a django shell, you can manually assign a fake filepath to some of these objects and then they should be added to the repo:
from content_sync.signals import *
from websites.models import *
website = Website.objects.get(name="<my_new_website>")
content = WebsiteContent.objects.create(website=website, content_filepath="content/my_content.md", markdown="Test")

Then you can try deleting it:
from content_sync.backends.github import GithubBackend
backend = GithubBackend(website)
backend.delete_content_in_backend(content.content_sync_state)

If you have imported any OCW courses, try syncing all of its content in 1 commit:
website = Website.objects.get(name="6-253-convex-analysis-and-optimization-spring-2012")
backend = GithubBackend(website)
backend.create_website_in_backend()
backend.sync_all_content_to_backend()

Run backend.sync_all_content_to_backend() again no new commit should be made because there have been no changes.
Make a change to one WebContent file.  Assign a user to updated_by field as well if there isn't one yet. This time there should be another commit made with that one file, made by that user, after you save the content (via a signal).
content = website.websitecontent_set.last()
content.updated_by = <your_user>
content.markdown = content.markdown + " edit"
content.save()

Merge the main branch to the preview branch and confirm the merge commit is in github:
backend.create_backend_preview()

Then merge the preview branch to the release branch:
backend.create_backend_release()

Any background context you want to provide?
The code to transform WebsiteContent data into the appropriate file content, and vice versa, is out of scope yet required for this PR to work, so some basic functionality was added as a temporary solution.
Also not included in this PR:

a signal to delete content from the repo when it is deleted from the database
Retries on failed git tasks
generating repos for existing websites via management command
other management commands to sync between the database and repo(s).

Codecov Report

Merging #216 (aea9f0e) into nl/sync-abc (8450856) will increase coverage by 5.83%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           nl/sync-abc     #216      +/-   ##
===============================================
+ Coverage        85.95%   91.79%   +5.83%
===============================================
  Files              108       54      -54
  Lines             2578     1158    -1420
  Branches           395      248     -147
===============================================
- Hits              2216     1063    -1153
+ Misses             343       93     -250
+ Partials            19        2      -17

Impacted Files
Coverage Δ

static/js/util/factories/websites.ts
96.49% <0.00%> (-1.76%)
:arrow_down:

...ev/management/commands/generate_example_configs.py

main/admin.py

main/constants.py

websites/views.py

websites/urls.py

repl.py

...dev/management/commands/populate_local_starters.py

main/s3_utils.py

main/middleware.py

... and 39 more

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 8450856...aea9f0e. Read the comment docs.

@nlevesque I think it's ready for another look.  Changes include the following:

A website-specific lock on the content_sync.tasks.sync_website_content task.
Running the above task whenever a WebsiteContent is created/changed via the DRF API (1 commit per user for all content changed for the website)
Syncing all content for a website again just before making a merge commit from the main to preview branch
Removed WebsiteContent signal
Retry decorator for most of the github api functions (I noticed a few intermittent connection errors and such when running a bunch of them)
Using a 100-character combo of website name and uuid for repo names
A new function to sync content for all websites, hopefully to be used very rarely (since it will be very slow), which checks for the amount of gihub API requests still available and will pause if too low until the rate limit resets.
rebased with master


error running package

Hi,
I am having problem running xrdtools. Anaconda 2.7 is up to date and all dependancies are installed. Could you please help resolving the error below:
$ xrdml calcite.xrdml
TTraceback (most recent call last):
File "/Users/lortz/Anaconda/Anaconda2/anaconda/bin/xrdml", line 11, in
sys.exit(xrdml())
File "/Users/lortz/Anaconda/Anaconda2/anaconda/lib/python2.7/site-packages/xrdtools/tools/clt.py", line 28, in xrdml
data = xrdtools.read_xrdml(filename)
File "/Users/lortz/Anaconda/Anaconda2/anaconda/lib/python2.7/site-packages/xrdtools/io.py", line 352, in read_xrdml
data = _append2arr(data, scan, key)
File "/Users/lortz/Anaconda/Anaconda2/anaconda/lib/python2.7/site-packages/xrdtools/io.py", line 159, in _append2arr
data[key] = scan[key]
KeyError: u'Psi'

Thanks for the solution. I implemented it and it's tested with python 2.7, 3.5 and 3.6 in the xrdtools-dev-0.1.1 branch. Feel free to test it.


Permission and Roles cannot be Deleted.

First take a look at the following

https://github.com/jeremykenedy/laravel-roles#opening-an-issue
https://github.com/jeremykenedy/laravel-roles/issues?q=is%3Aissue+is%3Aclosed

Describe the bug
permission and roles delete button and modal not working its giving javascript error.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Probably a javascript error from not including the js.
What's the js error in the browser it gives?

roles:1840 Uncaught TypeError: Cannot read property 'submit' of undefined in ===>>> resources/views/vendor/laravelroles/laravelroles/forms/confirm-modal.blade.php

i have not changed anything in original code just installed on local and this is it.

I cannot duplicate or see an error in that script file.
It's possible you might not have one of the following configured or your blade file you are extending off of has the needed includes in it.
see
https://github.com/jeremykenedy/laravel-roles/blob/master/src/config/roles.php#L153
https://github.com/jeremykenedy/laravel-roles/blob/b180f18a494ff8527c5dd120aca6a0515971abb5/src/config/roles.php#L155
Link to file outlined in js error reported:
https://github.com/jeremykenedy/laravel-roles/blob/master/src/resources/views/laravelroles/scripts/confirm-modal.blade.php
Call to file:
https://github.com/jeremykenedy/laravel-roles/blob/master/src/resources/views/laravelroles/crud/dashboard.blade.php#L85

as i said i havent changed anything it was the original code cloned from git everything else is working but not delete button.
YES i have placed these js files in my

but this on.show.bs.modal is not working title message and modal body is not being changed too

Could be a jquery build conflict, okay the config/env settings for the package and see how it works with including and using a cdn va your built app.js. It may take some fínese to align that js. If bootstrap modal isn't even popping up it's most likely a js conflict issue.
Sent from my iPhone

On Apr 2, 2021, at 11:06 AM, shehroz-myglu @.***> wrote:

but this on.show.bs.modal is not working title message and modal body is not being changed too
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Cannot replicate


Switched broken pypip.in badges to shields.io

Hello, this is an auto-generated Pull Request. (Feedback?)
Some time ago, pypip.in shut down. This broke the badges for a bunch of repositories, including waliki. Thankfully, an equivalent service is run by shields.io. This pull request changes the badge to use shields.io instead.

Coverage remained the same at 75.0% when pulling 96671fc4e506964bfa4ef02ef5701ee33be30e13 on movermeyer:fix_badges into b7db696075ceebb5676be61f44e2d806cc472255 on mgaitan:master.


MM-19533 Add toasts feature

Summary
This PR adds toasts feature for webapp based on the spec https://docs.google.com/document/d/1lANE8O3jVn4yjHNBbe4tMtXVcl3BYcRLWS0IViQ2Vds/edit
Toasts are of two types

Unread toasts which appears when entering a channel with unreads

New messages toasts which appears when new posts arrive and user is not at the bottom of the channel

Similar toast like 1. When users marks a posts as unread

Ticket Link
MM-19537
MM-19533
Related Pull Requests
requires redux PR for a new selector: https://github.com/mattermost/mattermost-redux/pull/967

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-4628.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Just noting here, as this is something I observed while testing
When both toasts (channel sidebar and new toast) are both shown side by side, the difference in design is noticeable. Is this ok?

for comparison Slack toasts are below

I see in the spec doc a definition for Archive Toast which I can't seem to generate in my testing. Assuming that we are not delivering that toast in this PR?

Just noting here, as this is something I observed while testing
When both toasts (channel sidebar and new toast) are both shown side by side, the difference in design is noticeable. Is this ok?

for comparison Slack toasts are below

@andrewbrown00 thoughts on this?

I see in the spec doc a definition for Archive Toast which I can't seem to generate in my testing. Assuming that we are not delivering that toast in this PR?

@adamjclarkson Yes, archive toast is not part of this PR. It is needed for the new permalink view update hence it is not included in this.

@Willyfrog @hmhealey @jgilliam17 @andrewbrown00
There's some urgency attached to this one for a client. Hopefully you can review in the next couple of days. THX.

For the second review assigned to @Willyfrog, we might need to get someone else to do that review since I don't know when he'll be back, and even when he does get back, he'll likely have to spend some time catching up on things.

I'm back, but I've been with a headache the whole week so I've been postponing the review to do a proper job. I'll try to have the review tonight

New commit detected. SpinWick will upgrade if the updated docker image is available.

@hmhealey Thanks. For the review will get back to your review comments today.

Mattermost test server updated with git commit 6595c873bed9e64b441d1f701dc6af23a42d152b.
Access here: https://mattermost-webapp-pr-4628.test.mattermost.cloud

Just noting here, as this is something I observed while testing
When both toasts (channel sidebar and new toast) are both shown side by side, the difference in design is noticeable. Is this ok?

for comparison Slack toasts are below

@andrewbrown00 thoughts on this?

@adamjclarkson it's okay for now, we will add the consistency as part of the UI Redesign effort which is in-progress. If we have time we could create a ticket to look at those banner buttons for the next release and get them updated globally.

I'm a bit worried how much logic that the PostListVirtualized needs to control the Toast. PostListVirtualized is already rather bloated, and this is adding more hard-to-follow logic to it.

@hmhealey I agree, When i started with this i didn't realise it will complicate this. Looking at making a wrapper and separate some logic from here

New commit detected. SpinWick will upgrade if the updated docker image is available.

Mattermost test server updated with git commit 50c6d4d3d8d11b97ca2babcba9b72d9bd3de173d.
Access here: https://mattermost-webapp-pr-4628.test.mattermost.cloud

@hmhealey I changed the way toasts is structured to remove some of the complexity from virt list. I also changed the styles to be in toast.scss along with internal state handling timeouts

New commit detected. SpinWick will upgrade if the updated docker image is available.

Mattermost test server updated with git commit df86f547189242a25d3b57da30c97460b8bad3b6.
Access here: https://mattermost-webapp-pr-4628.test.mattermost.cloud

New commit detected. SpinWick will upgrade if the updated docker image is available.

New commit detected. SpinWick will upgrade if the updated docker image is available.

New commit detected. SpinWick will upgrade if the updated docker image is available.

New commit detected. SpinWick will upgrade if the updated docker image is available.

Test server creation failed. See the logs for more information.

Mattermost test server updated with git commit af652b7500343284a150a6345b6c495edbeb35a2.
Access here: https://mattermost-webapp-pr-4628.test.mattermost.cloud

Test server creation failed. See the logs for more information.

Test server creation failed. See the logs for more information.


Improving RefreshingOAuth2CredentialsInterceptor

Adding additional exception logging for unexpected cases
Timeout is now 15 seconds, and configurable by a user
Reduced visibility of package private variables in favor of new methods meant for testing
Added handling for directExecutor()

Closing this in favor of smaller PRs.


New version v2.0.0.RELEASE of spring cloud dataflow server kubernetes

Waiting for spring-cloud-dataflow-server-kubernetes v2.0.0.RELEASE.
When are we expecting to have docker image spring-cloud-dataflow-server-kubernetes v2.0.0.RELEASE ?
I am getting below error when I try to launch task/trying to access scheduler tab:
2019-04-02 21:25:35.192  INFO 1 --- [           main] o.s.c.d.s.k.KubernetesDataFlowServer     : Started KubernetesDataFlowServer in 43.464 seconds (JVM running for 45.692)
2019-04-02 21:25:35.313  INFO 1 --- [           main] .s.c.d.s.s.LauncherInitializationService : Creating Local Task Launcher named 'default' since no Task Launchers configured.
2019-04-02 21:25:35.398  INFO 1 --- [           main] .s.c.d.s.s.LauncherInitializationService : Added 'Local' platform account 'default' into Task Launcher repository.
2019-04-02 21:25:36.708  INFO 1 --- [p-nio-80-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-04-02 21:25:38.533  INFO 1 --- [p-nio-80-exec-4] o.h.h.i.QueryTranslatorFactoryInitiator  : HHH000397: Using ASTQueryTranslatorFactory
2019-04-02 21:25:41.903 ERROR 1 --- [-nio-80-exec-10] o.s.c.d.s.c.RestControllerAdvice         : Caught exception while handling a request
java.lang.IllegalStateException: Could not find a default scheduler.
at org.springframework.cloud.dataflow.server.service.impl.DefaultSchedulerService.getDefaultLauncher(DefaultSchedulerService.java:172) ~[spring-cloud-dataflow-server-core-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.cloud.dataflow.server.service.impl.DefaultSchedulerService.list(DefaultSchedulerService.java:209) ~[spring-cloud-dataflow-server-core-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.cloud.dataflow.server.controller.TaskSchedulerController.list(TaskSchedulerController.java:84) ~[spring-cloud-dataflow-server-core-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]

per this repo's readme - "Beginning with Spring Cloud Data Flow v2.0.0, we have consolidated the Local, Cloud Foundry, and Kubernetes servers into a single server. Instead of building, maintaining, and shipping individual server-implementations, we have consolidated them into a single server, and all the supported platform-specific deployer implementation libraries are bundled in it."
you can find the current 2.x release line docs at: http://docs.spring.io/spring-cloud-dataflow/docs/2.0.1.RELEASE/reference/htmlsingle/#getting-started


Add USB2CAN support to pythoncan transport

This pull request adds usb2can support to the python-can wrapper transport. This allows using the USB2CAN adapter to interact with UAVCAN devices on Windows.

Pull Request Test Coverage Report for Build 38202570

0 of 0   changed or added relevant lines in 0 files are covered.
38 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.05%) to 95.348%

Files with Coverage Reduction
New Missed Lines
%

/home/appveyor/projects/pyuavcan/pyuavcan/transport/serial/_serial.py
2
92.73%

/home/appveyor/projects/pyuavcan/pyuavcan/transport/can/media/pythoncan/_pythoncan.py
36
70.15%

Totals

Change from base Build 37726864:
-0.05%

Covered Lines:
11721

Relevant Lines:
12138

💛  - Coveralls


Maximum call stack size exceeded

I freshly installed the NextCloudTasks Module 2 days ago. It was not working in the beginning because of a self signed certificate (mentioned in another issue). I corrected that and it worked fine for 2 days. Now I get new errorlogs mentioning the following:
[25.04.2021 14:46.37.409] [ERROR]
0|MagicMirror  | WebDav RangeError: Maximum call stack size exceeded
0|MagicMirror  |     at findParent (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:4:20)
0|MagicMirror  |     at findParent (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:13:31)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:34:26)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
0|MagicMirror  |     at transformData (/home/pi/MagicMirror/modules/MMM-NextCloud-Tasks/transformer.js:55:16)
What can I do to prevent these errors?

I managed to track it down a little bit. The error is connected to subtasks. If I create subtasks on my phone with my tasks.org app and DAVX5 synchronisation I run into this error. If I create subtasks in the Nextcloud Browser version with tasks it works and is shown on the mirror.
However, my phone created subtasks are shown normally in the Nextcloud browser version with no difference at all.

I agree. I have the same problem. Without any subtasks it works fine. But it will also not work, if i create subtasks over the webbrowser in nextcloud.

I was able to resolve this issue locally by modifying the following line:
https://github.com/SoulOfNoob/MMM-NextCloud-Tasks/blob/1d173bcdc807cac87aac2cf937aa07f7cb42bd4c/webDavHelper.js#L15
I added the check to exclude completed items here
if (element.type === 'VTODO' && element.status !== "COMPLETED") elements.push(element);

A more holistic solution would be to also include the check for the hideCompletedTasks config, but I'm always hiding them, so I'm okay hard-coding this.

I researched this issue some more and found the root cause. @PottiMc hit the nail on the head with different applications creating subtasks with slightly different JSON in the "related-to" key. Compare the two below:
{
    "type": "VTODO",
    "params": [],
    "uid": "01047820-e10e-458b-a49c-ea7bfbaf5d35",
    "created": "2022-05-11T18:53:20.000Z",
    "lastmodified": "2022-05-11T18:53:20.000Z",
    "dtstamp": "2022-05-11T18:53:20.000Z",
    "summary": "First type of subtask",
    "related-to": "36afe9f3-c233-437b-ab42-3c48471148c5"
}
{
    "type": "VTODO",
    "params": [],
    "dtstamp": "2022-05-10T16:09:58.000Z",
    "uid": "a54e54bf-3744-4f2a-a02c-a7dbfe7028f4",
    "sequence": "1",
    "created": "2022-05-10T09:19:40.000Z",
    "lastmodified": "2022-05-10T16:09:19.000Z",
    "summary": "Second type of subtask",
    "status": "NEEDS-ACTION",
    "related-to": {
        "params": {
            "RELTYPE": "PARENT"
        },
        "val": "a273153a-18ef-4c6e-83fd-3ecae8707b5a"
    }
}

In the first example, the UID is stored directly in the related-to key, while in the latter it's stored in the val key nested within the related-to key. I can't be sure how the former was created, as all my testing in both the browser and on the app with CardDAV sync yielded the latter layout. Possibly the former was created from an old version of one of the implementations?
The bug occurs in the findParents recursive loop, but since it's checking the related-to value directly, it never finds the parent, because that's not where the UID is stored. My fix simply involves checking if val is present, and if so, use that, otherwise use the related-to value.
Note: The reason my "fix" from two weeks ago worked is because I no longer use subtasks, so filtering them out meant I didn't experience the bug anymore.
@SoulOfNoob I submitted a PR above with this fix. Please review and merge if it looks good.

@PottiMc  & @Archonw, I have forked this repo and fixed this issue. I also added features for sort options and colorized icons. Check it out! https://github.com/starlingfire/MMM-NextCloud-Tasks

It actually took me very long to test, sorry for that. But your fork is working fine! Thank you!


switch to tokio mutex

This change lets bootstrapper.send be used in async functions.

@mitsuhiko Are you interested in merging this?

I think this makes sense.


Fix crash. Add new functions. Apply Java conversion.

what are you 'nong sha lei'

Bug fix & enhancement according to issues.

在 2016年3月16日，下午1:25，mBigMing<EMAIL_ADDRESS>写道：
what are you 'nong sha lei'
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/mBigFlower/mCalendarView/pull/1#issuecomment-197159021


Open a Discussion Group

Hi @wslyvh, thanks for your repo,
Would you mind to create a discussion group that let's everyone discuss the feature they want?
Here is the reference on how to open GitHub discussion ^1 . It is free. 😄

To be honest, I'm usually fine with using issues for discussions.
Happy to give this a try though. Thanks for suggesting it
https://github.com/wslyvh/nexth/discussions


Mod conflicts with

It is somehow conflicting with a LWM's Deep Storage and Simple storage. There are problems with apparel list, it can't be shown properly
Also, why so many "{incert race here} already has short hash"?

Yeah, it is not problem with other mods. Something is bugging in eltex apparel

Yeah, it is not problem with other mods. Something is bugging in eltex apparel

You have Humanoid Alien Races enabled. We have a custom version built in for now, please disable it before reporting further bugs.

You have Humanoid Alien Races enabled. We have a custom version built in for now, please disable it before reporting further bugs.


Strange results of GaussRecon

Hi,
Thanks for kindly providing an unofficial implementation of the GaussRecon!  I am very interested in this fast method that could replace PoissonRecon for oriented point clouds.  However, when I tried to run it with an example input from PoissonRecon https://www.cs.jhu.edu/~misha/Code/PoissonRecon/horse.npts , the result looks very strange (red: GaussRecon, white: PoissonRecon):

I tried to tune the w parameter, but it still does not work.
Do you have some ideas about what the issues might be? Or could you share a working input for GaussRecon?
Thanks!

Hi,
Perhaps you are using an older version? For our GR implementation, there is an additional parameter -a, which specifies the number of neighbors used for estimating local areas. But in an older version, there was no such parameter and all point areas are set to 1e-5 just for convenience. So this older version doesn't work with highly non-uniform points.
Below is the output of ./main_GaussReconCUDA -i ~/horse.npts -o out.ply -a 32 -w 0.02, which looks reasonable:

Also note that the original GR paper uses a disk integration technique to further improve accuracy, which our implementation doesn't have.

Oops, I just realized I was still doing tests and haven't committed that update here. Please bear with me for some more time.

Hi, sorry for the delay. I've updated the GR code with an area estimation for non-uniform points. Please rebuild the binary executables. This specific example should work well with
./main_GaussRecon_cuda -i horse.npts -o horse_out.ply -a 32 -w 0.02


[WiP] Simple startup of Virtlet

[x] fix DNS handling in Virtlet DaemonSet - stop tying it to image-service
[x] rename contrib/deploy -> deploy
[x] update examples directory (move image-*.yaml and cirros-vm.yaml from deploy there)
[x] add script that starts kubeadm-dind-cluster, deploys Virtlet on it and starts a sample VM
[x] update README.md - add instructions on single-command startup and slightly more manual startup method based on kubeadm-dind-cluster (i.e. the same thing but "the hard way")
[ ] gain initial feedback on how well the script works
[ ] update file URLs in demo script to use master branch

Fixes #207

This change is

@ivan4th I think demo.sh should support --help option.

Why? It does not use any parameters, or i'm missing something?

Because you may want to use --help just to check maybe it accepts some, and instead it will start executing stuff.
--help could return short description + info how to exit how to clean etc.

Seems legit, but also documenting this in place where script is mentioned in docs should be enough IMO.
The best would be to add such info in both places, in docs and in script.

yeah docs are must have :)

 with one question and one suggestion.

Reviewed 16 of 22 files at r1, 6 of 6 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

deploy/demo.sh, line 143 at r2 (raw file):

  echo >&2
  echo "[1] https://github.com/Mirantis/virtlet" >&2
  echo "[2] https://github.com/Mirantis/kubeadm-dind-cluster" >&2

All this lines could be changed to:
cat <<__EOF__ >&2
Usage: ...
...
...
__EOF__

This would probably look cleaner a bit without using echo & redirection on each line.
Also instead of checking "--help" or "-h" - i would like to show this info if number of parameters is not equal to zero, what would cover mentioned parameters like any other misused. WDYT?

Comments from Reviewable

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

README.md, line 23 at r3 (raw file):

You can also give Virtlet a quick try using our demo script (requires Docker 1.12+):

wget https://cdn.rawgit.com/Mirantis/virtlet/ivan4th/master/deploy/demo.sh

Last thing - remove ivan4th in branch name and we can merge this IMO.

Comments from Reviewable

Review status: 14 of 16 files reviewed at latest revision, 2 unresolved discussions.

README.md, line 23 at r3 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
Last thing - remove ivan4th in branch name and we can merge this IMO.

Fixed, also switched to raw.githubusercontent.com

deploy/demo.sh, line 143 at r2 (raw file):
Previously, jellonek (Piotr Skamruk) wrote…
All this lines could be changed to:
cat <<__EOF__ >&2
Usage: ...
...
...
__EOF__

This would probably look cleaner a bit without using echo & redirection on each line.
Also instead of checking "--help" or "-h" - i would like to show this info if number of parameters is not equal to zero, what would cover mentioned parameters like any other misused. WDYT?
</blockquote></details>

Done.

---

*Comments from [Reviewable](https://reviewable.io:443/reviews/mirantis/virtlet/217)*
<!-- Sent from Reviewable.io -->

Reviewed 2 of 2 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable