CORE-5375: Add an option to perform vNode DB reset during force CPI upload

https://github.com/corda/corda-api/pull/526

Initial impl to test out structure. Not expecting tests and detekt to pass yet

Will be interesting to see how to e2e test this, maybe a flow that persists some object to the database and force upload a change and assert the new object persists and old object doesn't persist - possibly this scenario can't be tested yet.

I think like you say, that's not something we can currently test without the finalized ledger, but maybe we could have a CPI with a migration, do reset, and validate the "same" CPI with an entirely different migration can apply.
Should be doable with something like changing a VARCHAR to a BIGINT

@driessamyn @mbrkic-r3 just to bring the conversation into one thread. From what you guys are saying, there are two main issues.
One is the intermingling of the CPI and virtual node operations, and Two is the wrong DBs are getting reset here. Is that correct?
My inclination is that I probably need to take another swing at it and make the reset operation it's own endpoint as Dries suggests, to prevent the coupling.
I think it might also be an easier change to validate. @vkolomeyko main issue on our end will be the time it'll take to redo it and the slightly different scope of the ticket.
Another option is just to fix the DBs that are being dropped and instead make it a standalone endpoint as a follow up task

just to bring the conversation into one thread. From what you guys are saying, there are two main issues.

I think there is an important 3rd one in that dropping the DB/Schema is not the right approach as this will wipe out system tables.
It'll probably also add complexity down the line when @relyafi implements the notary vnodes. I don't think force-updating a CPI should have side effects that aren't related to the CPI.

just to bring the conversation into one thread. From what you guys are saying, there are two main issues.

I think there is an important 3rd one in that dropping the DB/Schema is not the right approach as this will wipe out system tables. It'll probably also add complexity down the line when @relyafi implements the notary vnodes. I don't think force-updating a CPI should have side effects that aren't related to the CPI.

That's fair enough. I guess then the two outstanding things is that I guess it'll then be on the user to decide whether to reset via that separate API endpoint you've suggested, and the other one would be some pointers on how best to achieve the "reset" then. I'm not sure how one would identify custom tables in the vault/crypto schemas since a user can more or less call them whatever they want.

In general, the user would have deployed the CPI, the liquibase migrations have run, they have a bunch of flows running and created some data and now they want to upload a new CPI. Dropping the tables would be surprising and unacceptable in some situations. I think the best thing to do is rerun the migrations. A careful user would be able to develop the CPI to  update the migrations in a backwards compatible way.  Or a user could role back the database to a snapshot before the earlier CPI uploads.
We have to handle liquibase migrations failing in any case.
What bothers me and I think may be causing confusion is the coupling of CPI file upload with virtual node creation and lifecycle. We should think of them as separate operations.

In general, the user would have deployed the CPI, the liquibase migrations have run, they have a bunch of flows running and created some data and now they want to upload a new CPI. Dropping the tables would be surprising and unacceptable in some situations. I think the best thing to do is rerun the migrations. A careful user would be able to develop the CPI to update the migrations in a backwards compatible way. Or a user could role back the database to a snapshot before the earlier CPI uploads.
We have to handle liquibase migrations failing in any case.
What bothers me and I think may be causing confusion is the coupling of CPI file upload with virtual node creation and lifecycle. We should think of them as separate operations.

I might have caused some confusion - the intent was that this should only be done in the case of forceUploading which is a dev only workflow. I think the other main issue is the mingling of vnode and cpi code. (funnily enough, the endpoint that triggers it is a vnode maintenance one but runs cpi code, but I digress)
I'm totally happy to split this into two endpoints. The original forceUpload one, and a new reset db endpoint. The thing I'm not confident in is how to find the custom user tables in a way that won't break as an alternative to dropping the entire schema.
If there's some functionality to retrieve those tables already that'd be amazing, but I hadn't seen anything for it.

@dickon, @benmcmahon100 is right, we must not forget the usecase for this. The force-update (which this PR is extending) is purely a development usecase. The scenio is a developer is writing an app and want to go through a cycle of making code changes and pushing it quickly, without needing to worry about incrementing version numbers etc.
These code changes could include DB changes, which is why the reset is needed, because Liquibase will only run migrations that haven't been migrated yet, so if the developer has just added a column to a table, for example, this will never be executed unless they version their Liquibase files (which off course is expected in "real" updates).
For this reason, @benmcmahon100, I think the best way may be to use Liquibase to roll back the DB and re-migrate. I.e. we know which files are in the CPI/CPK that is being force-uploaded, so we should be able to say "roll all these scripts back, then migrate them again".
The downside of this approach is that it may leave some tables behind in case they have, for example, removed a CPK from the CPI, but I think that would be ok as, going back to the usecase, we're only concerned about being able to run the migrations that may have some changes as part of the development cycle.
Off course it's not waterproof as somebody may rename migrations, for example, in which case they'll have to reset their dev environment, which is probably also ok.
Let's jump on a quick call to discuss if needed.


Data are not re-injected after socket reopened (ie. hot code push)

I preload data from server side with onAllRoutes hook:
FastRender.onAllRoutes ->
  @subscribe 'x'
  @subscribe 'y'
  @subscribe 'z'

And it works very fine. But when I do a hot code push or when the socket is closed/reopened, data are not re-injected. I'm obliged to subscribe to them manually with Meteor.subscribe().

You are still supposed to subscribe on client side to enable data reactivity.  FastRender just preloads the data so the subscriptions can return before they even make the initial round trip.


Add extra selectors to the Services

We need to add extra labels to the Service selector to point explicitly to the correct pod in the namespace. It is pretty useful when you have much other stuff to be in the same namespace to avoid conflicts.

Coverage remained the same at 75.57% when pulling 6ff2c083bc0938805225b6744552544fdc6ef545 on dshmatov:add-service-selector-extra-labels into 64762a46d9890e22bb2bdc03b42d4b729eadedd6 on emqx:main.

Great！ thanks


Create issue templates

Useful to have an issue template for bugs

issue templates for both feature requests and bug reports have been merged directly into master


chore(project): update to node v16

Update the website to use Node v16
Changelog
New
Changed

Update engines in package.json
Update .nvmrc
Update GitHub Action workflows

Removed

@tay1orjones ugh vercel does not support v16 😞


Structuring libraries

First, thanks for taking the initiative!
I was thinking about how to structure the project. I think Kotlinx Coroutines gives a good example of how this can be done, where there are specific support libraries for external libraries.

The question I have is, how fine-grained do the KxS support libs need to be? Is k3s-jdk okay, or should there be k3s-jdk-io, k3s-jdk-nio, k3s-jdk-sql? Both is also possible, if k3s-jdk exposes the specialised libs as API dependencies.

I agree, that looks good. I think ks3-jdk is fine for starters. I don't think we'll have too big of a footprint if we go with that. We could try to limit ourselves to most useful types and add more types on demand.

Are there more libraries which provide types which we want to add serializers for? Okio was a good example, where it might make sense to have a ByteString serializer in ks3-okio

Should we call it ks3-jdk or ks3-jvm? I don't think we would need to have multiple variants depending on java version.

I think -jdk. JDK is the toolkit, JVM is the virtual machine, plus -jvm clashes with the Kotlin multiplatform -jvm variants.

Here's another library that could have serializers: https://github.com/ionspin/kotlin-multiplatform-bignum
BigDecimal and BigInteger can't be encoded yet (awaiting the release of https://github.com/Kotlin/kotlinx.serialization/pull/2041), but we could add BigDecimalAsString

Currently the ks3-jdk project is set up to be Kotlin Multiplatform. However, this means it publishes -js and -native variants, which don't really make sense for this project - it's -jvm only.
Example (I've disabled Kotlin/Native locally, so there's no -native variants):

I realise now this is probably the purpose behind defining separate conventions for Kotlin Multiplatform JVM, JS, and Native!
However, what might be simpler is defining a kotlin-jvm.gradle.kts convention, and converting ks3-jdk to use this. Then the published artifact would be io.ks3:ks3-jdk:1.2.3. Pro: it doesn't have the redundant -jvm, con: it doesn't match the pattern that other ks3 libraries will have...

@aSemy with the BigInteger / BigDecimal stuff I felt that it might be interesting to have format-specific modules as well..
E.g. ks3-jdk-json for the BigIntegerAsJsonLiteral / BigDecimalAsJsonLiteral serializers (which us JsonUnquotedValue for JSON and regular String for other formats) There's not really any reason to use this unless you're working with JSON

I think that makes sense, but I'd be a bit cautious about fragmenting the subprojects too much.
A ks3-json subproject makes sense, and if you make it multiplatform then the BigDecimal serializers would go into ks3-json/src/jvmMain, which would then be published as ks3-json-jvm.


When using Jira it seems like git-phlow try to talk to Github

See #211 for what user did.
The user also reported a trace of the request, which looks like it tries to connect to Github - if one looks at the payload and their two respectively APIs:
POST /authorizations HTTP/1.1
Host: jira.customer.com
User-Agent: Go-http-client/1.1
Content-Length: 99
Authorization: Basic A23Heyas0GAF
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

{"scopes":["public_repo","repo","repo_deployment","repo:status"],"note":"git phlow DK-PRJKEY-AT5698"}

Deliveries
Look for existing test-cases that shows we test both github and jira API's and find the place in the code where we can clearly see the two are separated.
Make a design for test-cases if no test-cases exists.
We will use API mock-up instead of running instances.

This should be fixed by #220


[libshortfin] Python build ergonomics.

Move bindings/python -> python
Rework setup.py so that it can be the main driver for Python based dev:

Add env vars SHORTFIN_IREE_SOURCE_DIR, SHORTFIN_ENABLE_ASAN, SHORTFIN_DEV_MODE, SHORTFIN_RUN_CTESTS
Update README with python based dev flow commands
Change build dir to build/cmake (from build/b)

Removes a redundant build of IREE in the main CI (was not doing anything in bundled mode).

With this, I can change my dev process to be entirely based on pip install with a fully editable build and the ability to manipulate cmake post build. This better aligns with how users will consume it.

@marbre for post review


Add GER: Germoney

[x] I understand that token listing is not required to use the Polygon Wallet with a token.

Please provide the following information for your token.
Token Name: Germoney
Token Symbol: GER
Decimals: 2
Polygon Address: 0x03a68f78107d102d26353e5476733b067950bab6
Ethereum Address: 0x844Af22fBEC4D1bb9C062F33D29e4Ad8d0EFc01D
Logo URI: https://www.germoney.cash/static/media/logo.7c3abfc4.png
Project Name: Germoney
Project Summary: Germoney represents the old currency of Germany. The D-Mark. Therefore the total supply equals the remaining D-Mark existing in circulation.
Project Contact<EMAIL_ADDRESS>Project Website: https://germoney.cash
Mainnet/Testnet: Mainnet
Additonal Notes:

Included in AllTokens v1.2.0.


Account page

Adds the ability to download the account and also shows/hides pieces of the account page depending on which type of account is logged in, Hosted vs Local Geth Node.

Coverage decreased (-0.3%) to 76.437% when pulling f19ce412dfc4a72faf2f58307f2362624158a75c on accountPage into 872d737a0c18e0204ae6ffd7ec0b4f3dd73e866e on master.

Hey @JohnDanz,
The link url should just be a string passed to aurc, then aurc renders a  component. See some other link examples. We should never create html elements in augur.

We don't actually render the link, it simply creates one, sets the values that need to be on it to force a download, then clicks it to activate it.

Coverage decreased (-0.3%) to 76.427% when pulling 3ef1b8cc2170c5354b9aec62abc2cb8ef07e484c on accountPage into e3e9e9fadb82325299bcd914f42bac32c1c2fd2f on master.

Coverage increased (+0.06%) to 76.769% when pulling b2f2639b2e173255c32a4a2ccb3a28e549bec56b on accountPage into e3e9e9fadb82325299bcd914f42bac32c1c2fd2f on master.

much better!


Predictions in Image_ocr.py

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[X] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[ ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[X] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

I am working with help from this example https://github.com/fchollet/keras/blob/master/examples/image_ocr.py
I am returning the trained model after training and implemented model.predict() to get predictions for the input. I am unable to understand what exactly this model is predicting about the image. And if there is a way to decode, please explain. Here is end part of the code,
def train(run_name, start_epoch, stop_epoch, img_w):
    # Input Parameters
    img_h = 64
    words_per_epoch = 1000
    val_split = 0.2
    val_words = int(words_per_epoch * (val_split))

    # Network parameters
    conv_filters = 16
    kernel_size = (3, 3)
    pool_size = 2
    time_dense_size = 32
    rnn_size = 512

    if K.image_data_format() == 'channels_first':
        input_shape = (1, img_w, img_h)
    else:
        input_shape = (img_w, img_h, 1)

    fdir = os.path.dirname(get_file('wordlists.tgz',
                                    origin='http://www.mythic-ai.com/datasets/wordlists.tgz', untar=True))
    #minibatch_size was 32

.
.
.
.
.

    model = Model(inputs=[input_data, labels, input_length, label_length], outputs=loss_out)

    # the loss calc occurs elsewhere, so use a dummy lambda func for the loss
    model.compile(loss={'ctc': lambda y_true, y_pred: y_pred},metrics=['accuracy'], optimizer=sgd)
    if start_epoch > 0:
        weight_file = os.path.join(OUTPUT_DIR, os.path.join(run_name, 'weights%02d.h5' % (start_epoch - 1)))
        model.load_weights(weight_file)

    # captures output of softmax so we can decode the output during visualization
    test_func = K.function([input_data], [y_pred])

    viz_cb = VizCallback(run_name, test_func, img_gen.next_val())

    model.fit_generator(generator=img_gen.next_train(), steps_per_epoch=(words_per_epoch - val_words),
                        epochs=stop_epoch, validation_data=img_gen.next_val(), validation_steps=val_words,
                        callbacks=[viz_cb, img_gen], initial_epoch=start_epoch)
    return model

if __name__ == '__main__':
    run_name = datetime.datetime.now().strftime('%Y:%m:%d:%H:%M:%S')
    model = train(run_name, 0, 5, 128)
    #After getting the model, I am feeding input data to the predict function.
    a = np.load('numpydata/1/X_data.npy')
    b = np.load('numpydata/1/labels.npy')
    c = np.load('numpydata/1/input_length.npy')
    d = np.load('numpydata/1/label_length.npy')
    print(model.predict([a,b,c,d], batch_size = 32, verbose=0 ))

The output comes out to be an array of decimal values.
[[ 14.59035492]
 [ 15.46845436]
 [  9.55725193]
 [ 19.38563347]
 [ 13.73395443]
 [ 21.07408333]
 [  8.06727886]
 [ 13.42582989]
 [  4.02513456]
 [ 20.28575706]
 [  8.77123833]
 [ 13.9582119 ]
 [ 14.74723148]
 [ 19.74582672]
 [  9.06725311]
 [ 20.33335114]
 [  8.33902454]
 [ 20.70859909]
 [ 19.34511566]
 [ 15.36414433]
 [ 11.41501808]
 [ 16.08496857]
 [ 19.46848297]
 [ 14.60270977]
 [ 21.54194641]
 [ 20.92100906]
 [  4.06134892]
 [ 14.14681911]
 [ 16.94049454]
 [ -0.409695  ]
 [ -0.41031939]
 [ -0.41318247]]

@mbhenry  @fchollet  please help on this. what to do with these predictions, I am stuck.

Hi, were you able to understand the output from model.predict () here?


node_modules/react-native-vision-camera-image-labeler/android/src/main/java/com/visioncameraimagelabeler/VisionCameraImageLabelerPackage.kt:14:7 Unresolved reference: FrameProcessorPluginRegistry

node_modules/react-native-vision-camera-image-labeler/android/src/main/java/com/visioncameraimagelabeler/VisionCameraImageLabelerPackage.kt:14:7 Unresolved reference: FrameProcessorPluginRegistry
How to resolve this?

You can use vision-camera version 4.3.2 for now, it because vision-camera updated to 4.5 and my plugin now can't support it I'll update it when have free time.

Hi, I encountered another issue while launching the app. It crashes when opening the camera, but the app works when isActive={false}

Are you using, my plugin like I show in README ? I tested again and don't find any problems it works any vision-camera above 4.3.2.


fix: add release branch

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feature: Refactor Configuration Option Names

The current set of configuration option names works, but it could be improved. I'd like to align option names more closely with those in sphinx-autoapi where reasonable.

After reviewing the current option names and what sphinx-autoapi uses, I've landed on the following option name changes:

project_root => autoapi_dir (docs)
exclude => autoapi_ignore (docs)
generate_local_output => autoapi_keep_files (docs)
output_dir => autoapi_root (docs)


add kue, cal reward

Pull Request Test Coverage Report for Build 137

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.496%

Totals

Change from base Build 136:
0.0%

Covered Lines:
88

Relevant Lines:
95

💛  - Coveralls


Change node.js version

Please describe your issue:
Hello I am using Electron with es6 & I have problem when packaging it (es6 params need node >= 6..X.X)
My electron builder create a package with node 5.1.1 in it.
How can I build a package with node v6 in it ?
Thansk !!

My fault !
I was using an example of command line comming from a website =>
electron-packager app "myApp" --out=dist/win --platform=win32 --arch=ia32 --version=0.36.2 --icon
I did not understand tht version was in fact the electron verison used (thought it was myApp version.)


Crashing after update to 1.0.15

I have this addon installed in Home Assistant, and after updating to 1.0.15, it crashes with the following stacktrace:
[10:59:58 INF] Loading /config/espresense/config.yaml
[10:59:59 INF] Optimization enabled
[10:59:59 INF] Attempting to connect to mqtt server at core-mosquitto:1883 as addons...
[10:59:59 ERR] Hosting failed to start
System.ArgumentNullException: Value cannot be null. (Parameter 'managedMqttClient')
   at MQTTnet.Extensions.ManagedClient.ManagedMqttClientExtensions.EnqueueAsync(IManagedMqttClient managedMqttClient, String topic, String payload, MqttQualityOfServiceLevel qualityOfServiceLevel, Boolean retain)
   at ESPresense.Services.MqttCoordinator.EnqueueAsync(String topic, String payload, Boolean retain) in /App/src/Services/MqttCoordinator.cs:line 199
   at ESPresense.Services.TelemetryService.ExecuteAsync(CancellationToken stoppingToken) in /App/src/Services/TelemetryService.cs:line 50
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
[10:59:59 ERR] BackgroundService failed
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at ESPresense.Services.NodeTelemetryStore.ExecuteAsync(CancellationToken stoppingToken) in /App/src/Services/NodeTelemetryStore.cs:line 32
   at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[10:59:59 ERR] BackgroundService failed
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at ESPresense.Services.NodeSettingsStore.ExecuteAsync(CancellationToken stoppingToken) in /App/src/Services/NodeSettingsStore.cs:line 60
   at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[10:59:59 FTL] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at ESPresense.Services.NodeTelemetryStore.ExecuteAsync(CancellationToken stoppingToken) in /App/src/Services/NodeTelemetryStore.cs:line 32
   at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'managedMqttClient')
   at MQTTnet.Extensions.ManagedClient.ManagedMqttClientExtensions.EnqueueAsync(IManagedMqttClient managedMqttClient, String topic, String payload, MqttQualityOfServiceLevel qualityOfServiceLevel, Boolean retain)
   at ESPresense.Services.MqttCoordinator.EnqueueAsync(String topic, String payload, Boolean retain) in /App/src/Services/MqttCoordinator.cs:line 199
   at ESPresense.Services.TelemetryService.ExecuteAsync(CancellationToken stoppingToken) in /App/src/Services/TelemetryService.cs:line 50
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at Program.<Main>$(String[] args) in /App/src/Program.cs:line 110

+1

+1

+1


Stack traces for Async

Debugging issues in Async is currently a little painful.  You end up with long stack traces of $rt_guardAsync(), etc.. calls with some possibly helpful listings from classes.js intermixed.  I would like to add a debug mode that would maintain its own java stack traces.  Conceptually it should suffice to just add a map of threadId->stack.  And upon entering a method, it just adds a line to the stack recording the file name and line number - and existing the method it pops the item from the stack for the current thread.
Is there already a similar mechanism built in?  Or can you suggest some tips to make debugging easier?

I made more verbose logging of exceptions. May it help you?

Yes.  This makes it much easier.  Thanks!


A new transport socket extension for offloading mTLS handshakes to Secure Session Agent (S2A)

This issue introduces a new transport socket extension. This extension will offload the functionality of performing mTLS handshakes to the Secure Session Agent. The Secure Session Agent is a service that enables workloads to offload mTLS handshakes and protects the private key material from exfiltration.
Using this transport socket extension, the Envoy client will create a gRPC connection to the S2A handshaker service. The Envoy client will then relay the handshake messages between the S2A handshaker service and the peer. Once the mTLS handshake is complete, the Envoy client will receive the session key for encrypting/decrypting the record protocol messages.
This extension will provide a similar functionality as the ATLS transport socket extension but for offloading mTLS handshakes.

@asraa

@ggreenway @antoniovicente this is a proposal for a new extension that would offload private key operations

@ambuc can probably weigh in here as he is familiar with both our existing uses of the TLS transport socket handshaker extension and S2A requirements. My understanding is that S2A actually doesn't delegate to BoringSSL session management in the same way that the existing TLS socket does and instead uses the TSI layer (more similar to ALTS).

The title said mTLS. Was that just referring to mutual-auth, but not over TLS? If the underlying protocol is TLS, it may make sense to re-use some or all of the TLS transport socket. If it's not TLS, then a new transport socket is the way to go.

my two cents: without a public design doc / ABOUT.md page on the https://github.com/google/s2a-core repo, it will be difficult for Envoy maintainers to help figure out whether this integration should happen at the custom handshaker level, the socket level, etc. Let's first try and publish some specific details of the data model and control flow for S2A. Hopefully afterwards, the Envoy interface cut point will be obvious.

The underlying protocol is TLS. However, S2A provides its own record
protocol and frame protector implementation (similar to ALTS).
As James mentioned, will create an ABOUT.md page at
https://github.com/google/s2a-core to provide some more details.
On Tue, May 4, 2021 at 9:49 AM James Adam Buckland @.***>
wrote:

my two cents: without a public design doc / ABOUT.md page on the
https://github.com/google/s2a-core repo, it will be difficult for Envoy
maintainers to help figure out whether this integration should happen at
the custom handshaker level, the socket level, etc. Let's first try and
publish some specific details of the data model and control flow for S2A.
Hopefully afterwards, the Envoy interface cut point will be obvious.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/envoyproxy/envoy/issues/16110#issuecomment-832088797,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACWO4NKTMHJJVA7KJWCT6DTMAQRFANCNFSM43LMVGMQ
.

It would be good to use the handshaker interface as the main integration point.
https://github.com/envoyproxy/envoy/blob/main/include/envoy/ssl/handshaker.h
Does S2A use standard SSL records after the handshake is complete?

If the protocol and code structure is similar to ALTS, perhaps it makes sense to integrate with the alts / tsi_socket extension?

I think interacting both ALTA and S2A interact with the TSI layer for transport security encapsulation, but I'd defer to @tavishvaidya on how similar the implementations are likely to look. If they are close it's worth doing this, if there is more different than in common than separate extensions might work better.

I'm good with there being two extensions based on these details. @ggreenway @ambuc @antoniovicente?

my two cents: without a public design doc / ABOUT.md page on the https://github.com/google/s2a-core repo, it will be difficult for Envoy maintainers to help figure out whether this integration should happen at the custom handshaker level, the socket level, etc. Let's first try and publish some specific details of the data model and control flow for S2A. Hopefully afterwards, the Envoy interface cut point will be obvious.

From a dependency maintainer point of view it will be helpful to know if this is an internal Google only thing similar to ALTS (which started internal GOOG only but expanded a little into GCP usage with Envoy), or whether the plan is for broad usage by the community.

We are evaluating this and determining the value it could provide to the community in the long term.

If there is no further objection, I'm willing to sponsor this extension and let's move on. If there is further discussion to be had, happy to have it, but I'd like to keep this moving. S2A is not Google internal, it will be exposed to end users operating on GCP effectievly, we have precedent from ALTS to the AWS extensions for Cloud provider specific extension, so I think this passes the sniff test on general usefulness to Envoy OSS.

If there is no further objection, I'm willing to sponsor this extension and let's move on.

SGTM

Thank you all for the discussion. Here is the ABOUT.md that provides a bit more insight into how S2A will be used.

Thanks for posting that. It looks to me like this is roughly equivalent (functionality-wise, but maybe with different purpose) to cloudflare's keyless TLS. Is that correct? Could this be used for server TLS handshakes also, or is it limited to the client in mTLS?

This can be used for both server and client TLS handshakes as well.

This can be used for both server and client TLS handshakes.

In that case it will be good to update the diagram (and description) in ABOUT.md to show server side usage of the S2A.

@tavishvaidya Are you planning to implement this API? Also the link to ABOUT.md seems not working - Is there any updated link that I can follow?

@htuch incase you know the new repo link to ABOUT.md?

@yanavlasov can you help steer the S2A questions to the right folks? Thanks.

any timeline on the implementation @htuch @yanavlasov ?

@lambdai there's been a bunch of this work internally. @yanavlasov can you find out what is OSS-able?


Write a Blog Post: Creating Custom Plans with plan.md in Goose 🦢

Write a Blog Post: Creating Custom Plans with plan.md in Goose 🦢
Goose is your on-machine developer agent, automating engineering tasks seamlessly within your IDE or terminal. Guided by you, it can intelligently assess your project's needs, generate code modifications, and implement changes on its own.
Learn more about Goose in our documentation.
Once your content is merged, it will be featured on our Community Content site!
Example clips
https://github.com/user-attachments/assets/0217fc29-3b0b-4ab5-8a60-2dc53eb2b293
https://github.com/user-attachments/assets/5497112f-7ebb-4e73-9611-191be6d1934f
🚀 Goal
Write a blog post explaining how to effectively use plan.md files with Goose. Help others understand how these files can define execution plans and improve Goose's task management.
🤝 How You Can Contribute
Write about things like:

What are plan.md files and why use them
Creating your first plan.md file
Using Jinja templating in plans
Passing arguments to plans
Best practices and tips
Real-world examples
Creative ways to structure plans

🔑 Tasks and Acceptance Criteria

[ ] Write a blog post about using plan.md files
[ ] Host your blog post on your preferred platform (dev.to, Medium, personal blog, etc.)
[ ] Add your content to the content/content.json file
[ ] Create a pull request with your changes

Your contribution in content.json must include:
{
    "type": "blog",
    "thumbnail": "./img/your-thumbnail.png",
    "title": "Your Blog Post Title",
    "link": "https://linktoyourblog.com",
    "contributor": "Your Name"
}

🌟 Resources

Goose Documentation
Goose repo
plan.md Documentation
How to use toolkits
How to create toolkits

Full episodes on Goose to understand more

Getting Started

Comment ".take" on this issue to get assigned
Fork the repository and create a new branch
Write your blog post
Submit a PR with your content.json addition
Wait for review and address any feedback

Questions?
If you have any questions or need clarification, please comment on this issue!
Happy writing! 🦢
Would you like me to create the video, short, and social versions too?

.take

@Nabhel thanks for picking up this issue. I have a video here that might help you understand custom plans a bit more and Goose a bit more. i would start it at 5:03 minutes to skip the rest of the stuff that I talk about https://www.canva.com/design/DAGWg-PfVmM/xoNC2AeMqsrsIpCfifw6xA/watch

Kind reminder that Loose Goose November ends November 20 at 11:59 pm ET, so if you wanted to be eligible for prizes, you only have a few hours left, but if you just want to work on this for fun after the deadline then let me know!

@blackgirlbytes Thank you for the video tutorial you shared, it really helped me watched it over and over to understand how to run goose. Although I'm not sure I can make it for any prizes, I want to keep working on some of the open issue to learn and get better at contributing. Thank you.

@Nabhel As a fellow contributor, I appreciate your efforts for creating a nice blog post! Also, congratulations in winning the dev.to writing challenge for your post : "My hactoberfest experience with TBD". ✨💫🧨

@KiranBaliga Thanks so much. 🙏


allow talon.new option to define default page name

The current default page name is dashboard. It would be nice to have a task option to override the name of this page. Something like mix talon.new --default-page-name=info.

I'm currently working on a project where I don't want a dashboard page. Instead, the default page is info. It would save some time if I had a mix option to do this, instead of renaming the dashboard page afterwards.


Automated cherry pick of #3693: bm register find network

Cherry pick of #3693 on release/2.12.
#3693: bm register find network

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@02a8de8). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.12   #3695   +/-   ##
==============================================
  Coverage                ?   6.94%
==============================================
  Files                   ?     501
  Lines                   ?   84060
  Branches                ?       0
==============================================
  Hits                    ?    5838
  Misses                  ?   77728
  Partials                ?     494

Flag
Coverage Δ

#aFlag
6.94% <ø> (?)

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 02a8de8...4517749. Read the comment docs.


No obs_sky messages

With the last update I do not get any obs_sky messages to MQTT.
I appear to have everything else but since the actual data is all in obs_sky, I don't have much into HA.
Looks like it is related to my last PR.  I passed temp and dewpoint_c so I'm not sure what happened.

DEBUG:weatherflow2mqtt.weatherflow_mqtt:Event type device_status has been processed, with payload: {}

Traceback (most recent call last):

  File "/usr/local/bin/weatherflow2mqtt", line 33, in <module>

    sys.exit(load_entry_point('weatherflow2mqtt==0.10.0', 'console_scripts', 'weatherflow2mqtt')())

  File "/usr/local/lib/python3.9/site-packages/weatherflow2mqtt-0.10.0-py3.9.egg/weatherflow2mqtt/__main__.py", line 10, in main

  File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run

    return loop.run_until_complete(main)

  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete

    return future.result()

  File "/usr/local/lib/python3.9/site-packages/weatherflow2mqtt-0.10.0-py3.9.egg/weatherflow2mqtt/weatherflow_mqtt.py", line 305, in main

TypeError: visibility() missing 2 required positional arguments: 'temp' and 'dewpoint_c'

DEBUG:asyncio:Using selector: EpollSelector

I am on a short vacation, back Friday. So I cannot look at it before then.

Looks like someone already did a PR for this.

I can merge the PR now, but I cannot build the docker images. before I am back home. So you can try and build yourself, and see if that works.

Your latest push fixed most of the data not getting thru; however the visibility is now zero.
The last PR I looked at passed temperature vice temp and dewpoint vice dewpoint_c, I don't know if that is the issue.  I just looked at what changed but did not look at how that is passed.  I passed to the visibility function; I need to dig into what the other passing of variables was that I missed the first time.

I noticed the same. I already changed the procedure, to pass temp and humidity (to ensure it always in Metric), and then calculate the dewpoint in the visibility function. All that seems to work, but the state never gets published, even though the calculation runs without errors. And with no state published no value in HA. I am looking in to that right now.

So, I made v2.0.12, which I believe fixes the issue. Could you try that?

I will check it when i get back home; that will be a few hours.

I looked at the code, and I'm confused.  Was dewpoint_c not available and had to be calculated inside the function again?

Yes, it was calculated, but if you use it with Imperial units set, the dewpoint function returns the value in F and so does the temperature function, so the formula you made would have to be changed, for Imperial Units. I found it easier just to recalculate dewpoint, and ensure the value was returned in metric units for dewpoint.

I might rework the function a little.  For clarity, I was thinking of breaking the components up such as the max possible distance and then then percent of that for humidity effects.  I think this would be helpful since I have some other formulas I'm working on based on light levels.

It is working well.  Visibility approximation calculation seems to be tracking fairly well with weather sites.
With this, I may have figured out a big part of the fog calculation by having visibility as one of the conditions.


How to add rotation to "demoUpload" version

I am having difficulty adding the rotation from Vanilla Demo to the Upload Demo. There seems to be another JavaScript syntax being used which "appears" to require a slightly different rotate written script?

Did you set enableOrientation: true when initializing the croppie?

I didn't know how to add it to this syntax, so I enabled it by default in croppie.js.

Can you explain the troubles that you're having?  Provide some code?  I'm not sure what the problem is.

Sure ... I am pretty much using UploadCrop demo's script as you see below.
$( document ).ready(function() {

    var $uploadCrop = $('#upload-demo');

        $uploadCrop.croppie({
            viewport: {
                width: 450,
                height: 450,
                type: 'square'
            },
            boundary: {
                width: 500,
                height: 500
            }
        });
        $uploadCrop.croppie('bind', 'demo/cat.jpg');

        $('.vanilla-rotate').on('click', function(ev) {
            vanilla.rotate(parseInt($(this).data('deg')));
        });

    $('.upload-result').on('click', function (ev) {
        $uploadCrop.croppie('result', {
            type: 'canvas',
            size: 'original'
        }).then(function (resp) {
            $('#imagebase64').val(resp);
            $('#form').submit();
        });
    });

});

The button is ...
<button class="vanilla-rotate" data-deg="-90">Rotate</button>

Didn't know if you were able to look into this. I have provided the source above.

Oh sorry, overlooked this one.
The difference is you're initializing croppie with jquery.  So you'll want to execute the rotate method with jquery, like so:
$uploadCrop.croppie('rotate', parseInt($(this).data('deg')));

That did it! I knew it was that line. Just didn't know enough but tried everything. Thanks again!!

No problem!

Where did you add that code? Please help me I am also getting the same issue.

That work for me ! try it
//html
<button type="button" id="rotateLeft" data-rotate="-90"></button>
//javascript
'$( "#rotateLeft" ).click(function() {
$uploadCrop.croppie('rotate', parseInt($(this).data('rotate')));
});'

I got a reply after six months.hahahaha
Thanks lminhphuongtma,

That work for me ! try it
//html
<button type="button" id="rotateLeft" data-rotate="-90"></button>
//javascript
`function demoUpload() {
var $uploadCrop;
        function readFile(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();

                reader.onload = function (e) {
                    $('.upload-demo').addClass('ready');
                    $uploadCrop.croppie('bind', {
                        url: e.target.result,
                        orientation: 1
                    }).then(function(){
                        console.log('jQuery bind complete');
                    });

                }

                reader.readAsDataURL(input.files[0]);
            }
            else {
                swal("Sorry - you're browser doesn't support the FileReader API");
            }
        }

        $uploadCrop = $('#upload-demo').croppie({
            viewport: {
                width: 330,
                height: 205
            },
            boundary:{
                height:270,
                width:380
            },
            showZoomer: true,
            enableExif: true,
            enableOrientation: true
        });

        $('#upload').on('change', function () { readFile(this); });
        //select tab to crop image and show it on <img>.
        $('a[data-toggle="tab"]').on('show.bs.tab', function (ev) {
            $uploadCrop.croppie('result', {
                type: 'canvas',
                size: 'viewport'
            }).then(function (resp) {
                if(resp != 'data:,')
                     $('#imgReview').attr("src",resp);
            });
        });

         //NOTE for you: Rotate
        $( "#rotateLeft" ).click(function() {
            $uploadCrop.croppie('rotate', parseInt($(this).data('rotate')));
        });

        $( "#rotateRight" ).click(function() {
            $uploadCrop.croppie('rotate',parseInt($(this).data('rotate')));
        });

   }`

it's work, thanks @lminhphuongtma


Better detection for symfony 5 router

Do not rely on HttpKernel to understand if we have a compiled router available
This addresses https://github.com/hautelook/TemplatedUriRouter/pull/29#discussion_r400806226
@stof  do you mind having a look at this?

This looks good to me (but I think it also requires updating the bundle as it also uses this detection IIRC)

thanks!

@goetas any plan to release this ?

https://github.com/hautelook/TemplatedUriRouter/releases/tag/3.3.0


with-easymock-dependencies assembly doesn't include easymock 2.5.2

From<EMAIL_ADDRESS>on November 10, 2009 19:19:09
with-easymock-dependencies doesn't include easymock 2.5.2 for some reason
Original issue: http://code.google.com/p/powermock/issues/detail?id=198

From<EMAIL_ADDRESS>on July 22, 2010 02:24:03
Doesn't include easymock X
Labels: -Milestone-Release1.4 Milestone-Release1.5

From<EMAIL_ADDRESS>on January 05, 2012 06:46:41
EasyMock -3 is included
Status: Invalid


Remove init prints

Currently running the pegnet cli, we always get prints from init functions in the various packages.
2019-07-16 19:23:52.647666143 -0500 CDT m=+0.002079765
Reading ByteMap Table  /home/steven/.lxrhash/lrxhash-seed-fafaececfafaecec-passes-5.size-25.dat

This is occurring in the LXRHash repo, and probably the bigger issue is that the hashmap is being initialised for cli calls.

Actually the first timestamp is from here: https://github.com/pegnet/pegnet/blob/28078c9a2a6e7c1dcef50e421522a7ab14e7c960/common/log.go#L21-L24

This is occurring in the LXRHash repo, and probably the bigger issue is that the hashmap is being initialised for cli calls.

related issue: https://github.com/pegnet/LXRHash/issues/25

https://github.com/pegnet/pegnet/pull/119


Remove utf declaration strings.

For #727

Hi @kishan3! thank you for addressing this.
First of all, I think it will be better if, instead of changing the utf line with a blank line, you directly remove them, in that way we won't be having an empty line at the beginning of each file. You did it in some files.
Apart from that, the pipelines are failing because of two reasons:

flake8

You can check them here: https://travis-ci.org/github/scrapinghub/dateparser/jobs/713286313

dateparser/data/numeral_translation_data/__init__.py:1:1: W391 blank line at end of file
dateparser/data/date_translation_data/__init__.py:1:1: W391 blank line at end of file

It seems that you added extra lines in those __init__.py files.

The content of the file "../dateparser/data/date_translation_data/*.py" doesn't match the content of the generated file.

This is a test that checks that the files in dateparser/data/date_translation_data/ are not edited directly. The write_complete_data.py script adds the encoding comment and when it compares the generated file with the file it's different, so you have two options:
a) Don't change neither the script nor the files in dateparser/data/date_translation_data/. We can open a new PR for handling the script changes.
b) Undo the changes you have made in the files in dateparser/data/date_translation_data/, update the script avoiding it from adding the utf-8 comment in the generated files, and, after that, run write_complete_data.py.
Let me know what you choose :)

Hi @noviluni Thanks for the feedback.

For files inside dateparse/data/.. I created another PR with what you mentioned in option "b" #761

Hi @kishan3! Let me know when it's ready for review by removing the [WIP] :)

Oops forgot to remove it @noviluni. Done now!

“This branch cannot be rebased due to conflicts”

Hi @kishan3, could you rebase/fix the conflicting files? :)

Done @noviluni !


x/vuln/cmd/govulncheck: TestCommand/main fail with Go tip since CL 596035

x/vuln's longtest builders started to fail consistently since (main repo's) CL 596035
https://ci.chromium.org/ui/p/golang/builders/ci/x_vuln-gotip-linux-amd64-longtest/b8738967372571184001/test-results
cc @golang/vulndb

Related Issues and Documentation

x/vuln/cmd/govulncheck: TestCommand broken since https://go-review.git.corp.google.com/c/vuln/+/427585 #54827 (closed)
x/vuln/cmd/govulncheck: TestCommand fails after golang.org/x dependency update #65084 (closed)
x/vuln: TestStaticCheck consistently failing on `longtest` builders as of CL 538765 #63967 (closed)
x/vuln/internal/vulncheck/internal/buildinfo: broken at tip #61511 (closed)
x/vuln/cmd/govulncheck: TestCommand failures with mismatched exit codes and no other output #52410 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

cc @samthanawalla @matloob

I've created a CL for this: https://go-review.git.corp.google.com/c/vuln/+/605855
Just waiting for a review.

Thanks!


Authentication and authorization

Thanks a lot for neogrok, I love it!
In a corporate setting, it may be required to provide the search interface behind authentication and even further, to provide search results, based on the authenticated user's permissions to the git repositories being indexed by zoekt.
If this is of any interest to you, you could have a look at our implementation at https://github.com/GEBIT/neogrok/commits/gebit/ (beware, JS and SvelteKit rookies here).
In order to handle permissions at the repository level, we made a custom version of zoekt, which additionally gets information about the users + their repository permissions, and the user doing the search.

Cool.  I have left auth up to a reverse proxy sitting in front of neogrok in my own deployments, but that does not allow for this kind of granular auth at all.

Good point, one could implement this e.g. with apache mod-openidc and rely on the RemoteUser header being set. Only passing that value to zoekt would be needed.


Naming of files loaded into interpreter

I've tweaked some interpreter stuff to make it a little more polished. I've come across a spot where we were loading the files strangely which I have now fixed. With my new code, we can name the files nicely (opposed to _file0, _file1, etc...). I was thinking they could be named a04624_000 for analysis04624_000.root and f04624_000 for fragment04624_000.root, with other files being named o1, o2, etc. I'm fine with the way it is, just checking if others have opinions because now is the time to make the change.

Until we decide, I am leaving them as _file0, etc., but being more transparent with what is going on.

Actually this gets kind of hairy because the file name is used to write the file. I'm just going to leave it like it is.


[BUG] Angular app does not appear in AppInsights Application map

We have an Angular app that interacts with one (or more) .NET Core APIs. We've added the ApplicationInsights JS library to our Angular application, as well as the .NET Core apps.
In Azure Application Insights, we can correctly see the page views for the Angular app, and we can see the API calls being made in the .NET Core app (with all that logging).
But, in the Application Map, I can only see the API portion, and the items it interacts with ie [ API ] ==> [ Storage ], when I expected to be able to see [ App ] ==> [ API ] ==> [ Storage ]. Ideally, we'd be able to see that "user went to /history, which then triggered these three (3) calls, and these 25 interactions with external dependencies.
We are initializing the ApplicationInsights object using:
    config: {
      instrumentationKey: environment.appInsights.instrumentationKey,
      distributedTracingMode: DistributedTracingModes.W3C,
      autoTrackPageVisitTime: true,
      enableAutoRouteTracking: true,
      enableAjaxErrorStatusText: true
    }

and then .startTrackPage and .stopTrackPage.
Is there anything else that we need to configure to get the full dependency map working in Azure? Or is the Application Map only for server-side components, and not for anything running in the Angular code?
(Apologies if this isn't the correct project to raise the question).

UPDATE: I've since added the following to the configuration:
disableFetchTracking: false,
enableCorsCorrelation: true

I can see in the End to End transaction details that the UI calls the API, which calls storage, etc. But the map is not showing the UI at all. Interestingly, it is showing a node called the same as the Application Insights resource, and this looks like it's making the requests to both the UI and the API portion when running locally.

Are you seeing traceparent headers in your outgoing requests to your API? This is how we link things together for the App Map.
Also if you recently made these changes, I think App Map has a ~30 minute granularity (I could be wrong here)? And so it might need time to pick up all of the changes you've made. The fact that things are linked together in the end-to-end transaction details, but not on App Map makes me think this is the issue.

Thanks @markwolff . I can see the traceparent request headers being sent to the API.
I've opened the map to show everything for the last 24 hours, and still no dice. Everything about the Angular app is being grouped under the <app-insights-resource-name> node, even if they are being served from different domains (ie a new app/domain per PR for review/testing purposes).

@danielbecroft Thanks for the update. Could you share a screenshot of a sample e2e transaction details view and one of the corresponding app map result?

@markwolff  apologies for the redactions:
End to end:

Application map

@markwolff Is there anything else that I can, or need to, provide to assist further with this issue/question?

@markwolff Ping, we're still seeing this issue. Not sure if it's a configuration problem, or a problem with the SDK.

@xiao-lix Can you take over looking at this as mark is no longer on the team 😢

@danielbecroft hi Daniel, can you please help me understand the ask. I'm wondering this might be a question to App Map team, but before reaching out to them, I need to confirm I understand correctly.

I have a sample app that is making some http and fetch requests through angular ui. It does not send to my own server, so no api->storage layer. What it looks on my app map is:

Compared with your app map, yours is also starting from the app insights resource node app-insights...production to ...websites.net node. Do you expect to see another layer after the ...webstie.net node to the storage? I got confused when you say you see the api -> storage layer but not app -> api layer.
FYI: here's my sample app and the http  and fetch requests are simply making from the home page.

@xiao-lix Thanks for the reply. The API was interacting with the storage layer, so I was seeing app -> api -> storage. Our deployment scenario was the same application deployed to multiple addresses, with different API endpoints.
In the screenshot in this comment, the appinsights...production node is interacting with two API instances (the two -api nodes up and to the right). But in reality, this is two separate instances of the same application, running under two different domains:

app1-ui -> app1-api -> storage1
app2-ui -> app2-api -> storage2

The Angular application node isn't getting separated out by the domain it came from. I was expecting it to.
Hopefully that makes sense.

@danielbecroft Thanks for the clarification. I sent a email to the internal team to ask around. Let me get back to you if I hear any updates.

@danielbecroft hello, I found it's hard to pass the issue back and forth. Would you like me to set up a meeting? I could invite devs from AppMap team and our team. It would be great if you can show us your app and needs. And what is your time zone? If you are ok giving us a call, please send an email to my address: lxiao at microsoft.com, and let me know some of your available time slots. They are oof until next Tuesday, please send me some time after next Tuesday. Thanks!

Hi @xiao-lix Apologies for the delay. My timezone is GMT+10, so it might be hard to arrange a meeting that overlaps.
My scenario seems pretty simple (to us): take the same Angular application and build and deploy in multiple domain names. How do we get the separate domain names appearing as individual nodes in Application Insights?
Do we need to override the name somehow?


Switch & Switch.Thumb Animation Bug on React Native

Current Behavior
When we try to use animation property on Switch component it does not apply to thumb slide action. Using animation property on Slide.Thumb provides a smooth animation and experience with the Switch.
But this breaks the checked behavior of the Switch component and thumb always stays in the left on load. Also if the checked value is true by initial, it slips and goes of the Switch area. (Both checked and defaultChecked has same behavior.)
Basic Usage with animation property:
(while checked switch bg is red)

Behavior video with animation property:
(when checked property is true from any state or storage while Switch.Thumb animation property is set. Switch on the top is default false and bottom is true and first of all red screen means i refreshed the app.)
https://github.com/tamagui/tamagui/assets/52458408/e28e7033-7039-4166-ae01-d81d8b85f0c1
Usage without animation property:
Then when i remove the animation property from Switch.Thumb (also loses smooth animation 😢)

Behavior video without animation property:
https://github.com/tamagui/tamagui/assets/52458408/2662192d-310c-4ba1-bd84-be5f698a00a6
Expected Behavior
I should able to use animation on Switch.Thumb without any issue or Switch animation should pass to Switch.Thumb component without any issue or side effect.
Tamagui Version
1.95.1

Platform (Web, iOS, Android)
iOS and Android
(Web is not tested due to not using/supporting on my app)

Reproduction
- Use Switch and Switch.Thumb component (example like i shared on Current Behavior area)
- Then use animation prop on Switch.Thumb
- Then use a default value as true for checked/defaultChecked property of Switch
- Refresh app and see the issue (switch is shown as unchecked)
- Then try to click/switch again, see the thumb is sliding off the switch area

System Info
System:
  OS: macOS 14.4.1
  CPU: (10) arm64 Apple M2 Pro
  Memory: 276.98 MB / 32.00 GB
  Shell: 5.9 - /bin/zsh
Binaries:
  Node: 20.10.0 - ~/Library/Caches/fnm_multishells/43774_1713942235819/bin/node
  Yarn: 1.22.21 - ~/Library/Caches/fnm_multishells/43774_1713942235819/bin/yarn
  npm: 10.2.3 - ~/Library/Caches/fnm_multishells/43774_1713942235819/bin/npm
  pnpm: 9.0.5 - ~/Library/Caches/fnm_multishells/43774_1713942235819/bin/pnpm
  bun: 1.1.3 - ~/.bun/bin/bun
  Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Browsers:
  Chrome: 124.0.6367.61
  Safari: 17.4.1
npmPackages:
  @babel/core: ^7.20.0 => 7.24.3
  @expo/vector-icons: ^14.0.0 => 14.0.0
  @react-navigation/bottom-tabs: ^6.5.8 => 6.5.20
  @react-navigation/drawer: ^6.6.6 => 6.6.15
  @react-navigation/native: ^6.1.7 => 6.1.17
  @rnmapbox/maps: ^10.1.19 => 10.1.19
  @shopify/flash-list: 1.6.3 => 1.6.3
  @tamagui/animations-moti: 1.95.1 => 1.95.1
  @tamagui/babel-plugin: 1.95.1 => 1.95.1
  @tamagui/react-native-media-driver: 1.95.1 => 1.95.1
  @tamagui/shorthands: 1.95.1 => 1.95.1
  @tamagui/themes: 1.95.1 => 1.95.1
  @types/bun: ^1.0.8 => 1.0.12
  @types/jest: ^29.5.12 => 29.5.12
  @types/react: ^18.2.65 => 18.2.74
  @typescript-eslint/eslint-plugin: ^6.7.2 => 6.21.0
  @typescript-eslint/parser: ^6.7.2 => 6.21.0
  ajv: ^8.12.0 => 8.12.0
  eslint: ^8.50.0 => 8.57.0
  eslint-config-universe: ^12.0.0 => 12.0.0
  expo: ~50.0.17 => 50.0.17
  expo-camera: ~14.1.3 => 14.1.3
  expo-constants: ~15.4.6 => 15.4.6
  expo-dev-client: ~3.3.11 => 3.3.11
  expo-font: ~11.10.3 => 11.10.3
  expo-linear-gradient: ~12.7.2 => 12.7.2
  expo-linking: ~6.2.2 => 6.2.2
  expo-localization: ~14.8.4 => 14.8.4
  expo-location: ~16.5.5 => 16.5.5
  expo-router: ~3.4.8 => 3.4.8
  expo-status-bar: ~1.11.1 => 1.11.1
  expo-system-ui: ~2.9.4 => 2.9.4
  expo-web-browser: ~12.8.2 => 12.8.2
  i18next: ^23.11.2 => 23.11.2
  immer: ^10.0.4 => 10.0.4
  prettier: ^3.0.3 => 3.2.5
  react: 18.2.0 => 18.2.0
  react-dom: 18.2.0 => 18.2.0
  react-i18next: ^14.1.0 => 14.1.0
  react-native: 0.73.6 => 0.73.6
  react-native-confirmation-code-field: ^7.3.2 => 7.4.0
  react-native-gesture-handler: ~2.14.0 => 2.14.1
  react-native-mmkv: ^2.12.2 => 2.12.2
  react-native-reanimated: ~3.6.2 => 3.6.3
  react-native-safe-area-context: ^4.8.2 => 4.9.0
  react-native-screens: ~3.29.0 => 3.29.0
  react-native-svg: 14.1.0 => 14.1.0
  react-native-web: ~0.19.6 => 0.19.10
  react-native-webview: 13.6.4 => 13.6.4
  source-map-explorer: ^2.5.3 => 2.5.3
  tamagui: 1.95.1 => 1.95.1
  typescript: ^5.1.3 => 5.4.3
  zustand: ^4.5.2 => 4.5.2

there is a fix for this issue on the master branch, which will be available with the next tamagui release


Abstract methods should be rendered in italics in a class diagram

Originally reported on Google Code with ID 631

In the following I would like to see m appear in italics or have the abstract stereotype
class X {
abstract;
abstract void m();
}
class Passenger {
name;
}
class Flight {
number;
}
class Booking {
seatNumber;

-- 1 Passenger;
-- 1 Flight;
}

Reported by @umple on 2014-09-19 16:38:40

Completed by M. Fritze


version 1.2.0-rc crashes a lot

Crashes on (PC worlds):[cor1.lvl, end1.lvl, geo1.lvl, mus1.lvl, nab2.lvl, pol1.lvl, spa1.lvl, spa2.lvl, spa3.lvl, spa4.lvl,
spa8.lvl, spa9.lvl, spa_sky.lvl, tan1.lvl, uta1.lvl]
Hangs on (PC worlds):[tat3.lvl ]
Crashes on (PC):[core.lvl, ingame.lvl]
Crashes on (PC Side):[gun.lvl, jed.lvl, tur.lvl]
I looked into these a little and don't yet understand why all the crashing happens.
But I do think these crashes should get fixed before new features come in.

Yeah these crashes are a pain, I'm not entirely sure what causes them myself. I think it does have something to do with file saving but I'm unsure.

But I do think these crashes should get fixed before new features come in.

Definitely, especially since it's the only thing really blocking v1.2 being "done"

These errors seem to occur with certain collisions, at least with the files I'm using.
Turning off collision handling seems to bypass the errors.

I've tested out the latest code on the shipped (PC) world lvl files; the crashes seem to be gone.
I do still see a hang on tat3.lvl and shell.lvl (as in the previous version).
For tat3.lvl, it appears to get stuck in model_scene.cpp:: 'reverse_pretransforms()' on 'tat3_bldg_jabba'.

With the latest release (1.2.1), the crashes are gone.


smp: shell: consume all pending buffers in smp_shell_process()

smp_shell_process() is called only once after receiving new bytes over
shell. If multiple MCUMGR frames were received over UART one after the
other, then calling smp_shell_process() resulted in consuming only the
first one. All subsequent frames were not processed unless there was
some more RX traffic.
Process received frames in smp_shell_process() in a loop until there is
no frame left. This will make sure that received packets are not stalled
waiting for more RX traffic to trigger processing again.
Fixes: #34891

@sw Can you review and approve if OK?


[Sema] Convert LinkedExprAnalyzer if chain to ASTVisitor

The visitor pattern is easier to reason about and easier to optimize.

@swift-ci please smoke test

On second thought, never mind. I hope to come back with a better pull request.

@davezarzycki I think it would be great to move in the direction of removing LinkedExprAnalyzer instead of refactoring it. Latest discussion about this happened in https://github.com/apple/swift/pull/26140 which also has some additional links to other previously considered PRs.


Vehicle stuck on INIT mode

Hi, I get an issue similar to https://github.com/01org/gazebo-sitl/issues/8.
After I run
~/course/UAV/code/ardupilot/build/sitl/bin$ ./arducopter --model x
mavproxy.py --master tcp:<IP_ADDRESS>:5760 --out udp:<IP_ADDRESS>:14556 --streamrate -1
param load ${ARDUPILOTDIR}/Tools/autotest/default_params/copter.parm
gazebo ./world/gzsitl_drone_target.world --verbose

The quadcopter stays on the floor and does not take off.
Here is the output from gazebo ./world/gzsitl_drone_target.world --verbose
$ gazebo ./world/gzsitl_drone_target.world --verbose
Gazebo multi-robot simulator, version 8.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Gazebo multi-robot simulator, version 8.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://<IP_ADDRESS>:11345
[Msg] Connected to gazebo master @ http://<IP_ADDRESS>:11345
[Msg] Publicized address: <IP_ADDRESS>
[Msg] Publicized address: <IP_ADDRESS>
[mav_vehicle] Our system id: 1
[mav_vehicle] Waiting for vehicle...
The gzsitl plugin is attached to the model
init
state: INIT
Warning [parser.cc:440] Converting a deprecated SDF source[data-string].

Thank you in advance

The correct port should be 15556 not 14556 (that's from an old version that was causing conflict with other software). I just noticed the Readme hasn't been updated, I'll fix it.

README has been updated with the proper arducopter and mavproxy commands.


Design docs

Initial stages of draft for proposed design docs process.

@jbaxleyiii @tmeasday would be curious to get your thoughts about the error proposal. If you have feedback on design docs in general that would be useful, too.
Anyone else's feedback is of course welcome and appreciated as well!

It seems reasonable. What do we thing RA should do? There seem to be 3 cases

Error getting query, nothing in store
Error getting query, partial (or full) results already in the store
Error during query, which returns partial results.

Do we need to distinguish between those cases? It seems challenging if we are trying to include the errors on the standard data: {top, level, fields} object.

@stubailo I don't think error handling will be more cumbersome if GraphQL errors get delivered with the data. If the server returns data and errors, shouldn't you be able to pass both of those to the UI at the same time? If you call the next callback and the error callback separately, how can you be sure that these are associated? And which one do you call first? Will both of them re-render the component?
On second thought though, maybe we can avoid complexity in our code by just sending all errors through the errors callback and all data through the next callback. Is that what you're proposing?
@tmeasday I think we don't need to distinguish between 1 and 2, because that would make things complicated.

@tmeasday I think we don't need to distinguish between 1 and 2, because that would make things complicated.

@helfer I guess it just depends on whether we want to make that data available in 2 (or 3).

@tmeasday I would say for the sake of simplicity we don't make that data available at the moment. If there's an error and no data is returned, then that's what you get from Apollo Client. One can always try to repeat that same query with noFetch turned on if you want to know what's in the store.


use interupt timer for beacon and GPS

FSM as of https://github.com/ODU-CGA-CubeSat/dilophos/pull/19/commits/2202c0b359b28832f61f53f381da579d3f511703


ellipsize Subtitle

Hi,
is it somehow possible to ellipsize the subtitle?
I've already tried it using TextAppearance, but it's not working. So i assume you are not using TextView...

Hello there. Like the title itself, the subtitle is not a TextView. They are CharSequences drawn using Canvas. But you're right I seem to skip the part where I had to ellipsize the subtitle. Let me work on that and thank you for the notice.

Hey again, I have uploaded version 0.4.2 specifically for subtitle ellipsizing, mimicking the logic of title. Please check if it is working in your case and thank you very much for pointing out the issue.

Almost perfect. There is just some padding missing. I suppose 16dp should be enough.

@MeinLieberScholli As you have already discovered, neither the subtitle or the title has a padding. Unfortunately, so is the standard CollapsingToolbarLayout.
CollapsingToolbarLayout

SubtitleCollapsingToolbarLayout

I could make an extra feature to enable this padding, but as a general rule I think we should all follow Material Design Guideline. What do you think?

I didn't know that^^ I was just comparing it to the regular AppBarLayout.

In my opinion, it's a clear violation of the material design guide. It wouldn't be the first time that the CollapsingToolbarLayout has a bug or is missing a feature. I couldn't find any issue regarding that, so i might create one myself in the next few days.

@MeinLieberScholli I can see your point, but I can't make it the default behavior, mainly because 'CollapsingToolbarLayout' has not yet also use this padding.
So I released version 0.4.4 to enable this padding only when attr useCompatPadding is enabled (or by programatically) and no menu item is visible. When a menu item is present and visible, I think it's their responsibility to apply the padding.
useCorrectPadding without menu item

useCorrectPadding with menu item

If you decided to make your own 'CollapsingToolbarLayout', please let me know, I kinda wanna see, others' perspectives are always interesting :)

Is there a solution now?


Websocket packets are buffered and sent per seconds instead of real time

Hi @jczic - great work on this web server, excellent quality docs as well.
I've implemented the server on a Pycom G01 (esp32) and it seems to be running well. I also run a websocket for a specific webUI page displaying real-time data to a driver using gps read-outs.
I need the websocket data to update every 200ms (5hz) and in my code this is easily achievable - however the server seems to be buffering the data and sending as batches.
I've wiresharked it to make sure its not on the client side - and in below image you can see the bundles of packets being sent together every 1 second.

Implementation code - pretty much the example code.
 wsMod = MicroWebSrv2.LoadModule('WebSockets')
  wsMod.OnWebSocketAccepted = OnWebSocketAccepted
  # Instanciates the MicroWebSrv2 class,
  mws2 = MicroWebSrv2()
  mws2.RootPath = '/flash/'
  mws2.BindAddress = ('<IP_ADDRESS>', 5000)
  # For embedded MicroPython, use a very light configuration,
  mws2.SetEmbeddedConfig()

  # All pages not found will be redirected to the home '/',
  mws2.NotFoundURL = '/'
  mws2.StartManaged(parllProcCount=1,procStackSize = 10*1024)

Could really appreciate your thoughts on this.
I've managed to accidentality get it to send data in real time a couple of times while trying to fix the issue - by setting parllProcCount =2 but this causes other instability issues and core dumps.

Hello @zzfjean,
I've fixed this delay problem with multiple TCP writing in XAsyncSockets lib.
(commit https://github.com/jczic/MicroWebSrv2/commit/42d1bde3d635722dc8fc68834e9e8df8dea9ccbb)

Hello @zzfjean,
I've fixed this delay problem with multiple TCP writing in XAsyncSockets lib.
(commit https://github.com/jczic/MicroWebSrv2/commit/42d1bde3d635722dc8fc68834e9e8df8dea9ccbb)

@zzfjean Does this work better for you?

@zzfjean Does this work better for you?

@jczic awesome work with a quick response - I'll test this first thing tomorrow!

@jczic awesome work with a quick response - I'll test this first thing tomorrow!

@jczic  i can confirm your change fixed this issue - great work and thank you for the quick resolution!
Screenshot below from wireshark now shows around 5hz update rate nicely distributed.

@jczic  i can confirm your change fixed this issue - great work and thank you for the quick resolution!
Screenshot below from wireshark now shows around 5hz update rate nicely distributed.


NBA Teams() do not work

The example code for NBA team does not work
from sportsipy.nba.teams import Teams

teams = Teams()
for team in teams:
    print(team.name, team.abbreviation)

I get an error:
(Pdb) Teams(year=year)
The requested page returned a valid response, but no data could be found. Has the season begun, and is the data available on www.sports-reference.com?

(Pdb) Teams(year=2001)
The requested page returned a valid response, but no data could be found. Has the season begun, and is the data available on www.sports-reference.com?

(Pdb) Teams()
The requested page returned a valid response, but no data could be found. Has the season begun, and is the data available on www.sports-reference.com?

(Pdb) from sportsipy.nba.teams import Teams
(Pdb) teams = Teams()
The requested page returned a valid response, but no data could be found. Has the season begun, and is the data available on www.sports-reference.com?

Not sure when  this started happening
This is because
from pyquery import PyQuery as pq

(Pdb) doc = pq(SEASON_PAGE_URL % year)
(Pdb) doc
[<html.no-js>]

(Pdb) teams_list = utils._get_stats_table(doc, 'div#all_team-stats-base')
(Pdb) teams_list
(Pdb) opp_teams_list = utils._get_stats_table(doc, 'div#all_opponent-stats-base')
(Pdb) opp_teams_list

They are returns nothing

I think it is because the tables for the second round of playoffs are empty.

The entire nba package is no longer functional. 'no data could be found'

@joewilaj @roclark   How long has this been?  How do these tasks get assigned? Wondering how long it will take them to fix this.

I just discovered this issue today. I had been using the package everyday for the past few months with with no error. I am not sure what needs to be fixed.

Would love an update on this

I am not sure if someone is going to fix it. I am also curious whether this GitHub page is maintained by who? @roclark @ajhodges

I also need this fixed. Perhaps a fork would be necessary if this isn't being maintained any more?

The div tag's id value changed on the teams pages.  Here is a diff with the fix for this issue: `diff --git a/sportsipy/nba/nba_utils.py b/sportsipy/nba/nba_utils.py
index 919edc4..0dd1209 100644
--- a/sportsipy/nba/nba_utils.py
+++ b/sportsipy/nba/nba_utils.py
@@ -82,8 +82,8 @@ def _retrieve_all_teams(year, season_file=None):
utils._url_exists(SEASON_PAGE_URL % str(int(year) - 1)):
year = str(int(year) - 1)
doc = utils._pull_page(SEASON_PAGE_URL % year, season_file)

teams_list = utils._get_stats_table(doc, 'div#all_team-stats-base')
opp_teams_list = utils._get_stats_table(doc, 'div#all_opponent-stats-base')

teams_list = utils._get_stats_table(doc, 'div#div_confs_standings_E')

opp_teams_list = utils._get_stats_table(doc, 'div#div_confs_standings_W')
if not teams_list and not opp_teams_list:
utils._no_data_found()
When I try an push a new branch with the fix to the repository, I get this message:git push origin fix_teams_div_id
ERROR: Permission to roclark/sportsipy.git denied to MarkGannon.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
`

Thanks @MarkGannon! I had a feeling it was some simple HTML change on the source but CBA at the time. Appreciate it!

Will anyone push the changes? I tried with getting a schedule for every team
teams = Teams()
for team in teams:
schedule = team.schedule()  # Returns a Schedule instance for each team
# Returns a Pandas DataFrame of all metrics for all game Boxscores for
# a season.
df = team.schedule.dataframe_extended
and I also get the same error

Hey @roclark  thanks again for pulling this together! I've reinstalled the package and I'm unfortunately running into the same issue. Is there another version I should be using?


As a developer, I can easily access service ports

Feature request:
As a developer, I wish to easily access the ports for my app services.
What you expected to happen:
Currently, we have to type ddev describe to see ports for our connected services and database information. As a developer, I would like my tooling to easily know these ports for custom commands or a custom bootstrap process of my CMS on the host.

When I run ddev start, my service ports are mapped to .ddev/ports.json
When I run ddev stop my service port maps are removed
When I run a CLI tool on my host, the CMS can be bootstrapped by services using port defined in .ddev/ports.json

This would allow Solr, MySQL/Maria, Elastic, Redis support on host command line. I picked JSON because it's most easy thing to serialize/unserialize across languages.
So regardless if WP-CLI, Drush, Console, whatever. Each CMS can support a host settings.
I would like to have a generated ports.json in the .ddev folder. This would resemble the following:
{
  mysql: 32768
  mailhog: 8025
}

Each time the command is run and containers are brought up, this is updated.
This would allow me to easily customize settings to read the port from my host and allow execution of tooling on my host, instead of ddev exec.
This is beneficial so that I can run Blackfire.io profiling and Xdebug on my commands.
Why ports.json? Because my current workflow involves something like this
    $cmd = "docker inspect --format='{{(index (index .NetworkSettings.Ports \"3306/tcp\") 0).HostPort}}' {{ container_name }}";
    $port = trim(shell_exec($cmd));
    $host = '{{ project_domain }}';
    define('DB_HOST', "$host:$port");

That means each time the settings are loaded it executes a docker inspect which isn't performant and requires specific container naming. But since ddev controls the containers we can trust the file will be built properly
I picked JSON because it is the most common format that can be serialized/unserialized across languages (without external libraries.)
Anything else do we need to know:
Related source links or issues:
This was inspired by / relates to #454
My WordPress setup: https://github.com/mglaman/platform-docker/tree/develop/resources/stacks/wordpress
My Drupal setup: https://github.com/mglaman/platform-docker/tree/develop/resources/stacks/drupal8
Please use a complexity rating of 1-5 (5 is high) for a feature request. (High complexity implies more PR planning)
3

Also, I picked JSON because it is the most common format that can be serialized/unserialized across languages.

Copying comment from other issue
Thoughts on

When I run ddev start, my service ports are mapped to .ddev/ports.json
When I run ddev stop my service port maps are removed
When I run a CLI tool on my host, the CMS can be bootstrapped by services using port defined in .ddev/ports.json

This would allow Solr, MySQL/Maria, Elastic, Redis support on host command line. I picked JSON because it's most easy thing to serialize/unserialize across languages.
So regardless if WP-CLI, Drush, Console, whatever. Each CMS can support a host settings.

The Drupal configuration currently has
// This is super ugly but it determines whether or not drush should include a custom settings file which allows
// it to work both within a docker container and natively on the host system.
if (!empty($_SERVER["argv"]) && strpos($_SERVER["argv"][0], "drush") && empty($_ENV['DEPLOY_NAME'])) {
  include __DIR__ . '../../../drush.settings.php';
}

This should be renamed to host.settings.php and loaded whenever DEPLOY_NAME is missing or any DDEV* environment variable.

However CreateSettingsFile is only called on import db... not when ddev config runs.

I had a discussion with @mglaman at Midcamp. There are two segments to this feature.

Simply the exposing of this information, which I don't see as a problem and could be helpful as a flat file way of accessing that information.
By default including, this in the DB configurations as variables so that they can be used.

The first should be an easy lift. The second has some implications across CMSes. Let me know if that would hit your use case. I'm assuming it's likely that end-users will need to modify DB settings file per project to make this work. However, I'm open to discuss in more detail to see how viable the second part is.

ddev describe -j already has output that shows published_port for mysql, is that adequate for this?:
    "raw": {
        "approot": "/Users/rfay/workspace/d7git",
        "dbinfo": {
            "dbname": "db",
            "host": "db",
            "password": "db",
            "port": "3306",
            "published_port": "32848",
            "username": "db"
        },

It does. Currently I have
if (!getenv('DDEV_PROJECT_TYPE')) {
  $result = json_decode(shell_exec('ddev describe -j'));
  $databases['default']['default']['host'] = '<IP_ADDRESS>';
  $databases['default']['default']['port'] = $result->raw->dbinfo->published_port;
}

But the idea would be to not run shell_exec each time.
I guess via hooks I could echo that to a JSON file and just load that instead.

Your hook would have to clean up the file when you did an 'rm', because it would then be the wrong port (likely) on start.

I’m long overdue to drive this one to AC. I’ll commit to COB Monday.

I believe this is a related request by @tmotyl asking for stable ports for mysqlworkbench. The same could be achievable if the ports were accessible. See https://github.com/drud/ddev/issues/941

So this is an initial set of thoughts that may sane or not. But I see a few different ways this could be achieved in order to meet the goals during various use cases.
Problem Statement:

While each projects ports are easily found using ddev describe -j, there is frustration in having to search and replace these values out while on the 1) host command line, 2) container command line or 3) CMS/application. The concept of always generating a .ddev/ports.json file allows access by all three.

Host Command Line: This could be achievable by either relying on a 3rd party library (jq to parse json on Linux) or a new command like ddev ports, which would take the current project and generate environment variables for each. This could be akin to PROJECTNAME_PORT_MYSQL. A user would run ddev port && mysql -u username -ppassword -hlocalhost --port=$PROJECTNAME_PORT_MYSQL
Container Command Line. If we include the jq library, a user could then more .ddev/ports.json and then pipe through jq '.key'
CMS application. Since we are already generating a settings.ddev.php for Drupal, we could then attempt to read the .ddev/ports.json file during bootstrap and then run json_decode and store in $settings.php['ddev']['ports'].

Please ignore any syntax errors. The point is more of trying to determine a way to make this programmable and fixed from a usage perpsective while allowing ports to change to avoid collisions.

ddev describe and ddev describe -j as of v1.14 also report the ports (http and https) of 3rd party services. Closing as I think this does the job.


Problem /error in "How to use pyscf"

I have a problem with an example in this chapter:
The given example is
from pyscf import gto, scf, ccsd
mol = gto.M(atom='H 0 0 0; H 0 0 1.1', basis='ccpvtz')
mf = scf.RHF(mol).run()
mycc = ccsd.CCSD(mf).run()
print(mycc.e_tot)
print(mycc.e_corr)
print(mycc.t1.shape)
print(mycc.t2.shape)
and the error is

ImportError                               Traceback (most recent call last)
Cell In[4], line 1
----> 1 from pyscf import gto, scf, ccsd
3 mol = gto.M(atom='H 0 0 0; H 0 0 1.1', basis='ccpvtz')
4 mf = scf.RHF(mol).run()
ImportError: cannot import name 'ccsd' from 'pyscf' (/home/#####/.conda/envs/myjupyter/lib/python3.10/site-packages/pyscf/init.py)

What is the problem? Is there no module named ccsd?
Any help is very welcome

Sorry, it should be from pyscf import cc. I'll fix it on the website.


BERT Multi-lingual: similarity score of two different languages?

Hi,
Is it possible to find the similarity score of two different languages?
For example:

Sentence 1 (English)
Sentence 2 (Translation in Hindi of sentence 1)
Sentence similarity score.

Best
Chirag Sanghvi

i've tried multilingual machine translation based on transformer, embedding from different language will cluster on different clusters, and distance between these clusters is concerned with similarities between languages.
i think it will be the same in this case, similarity will only meaningful when relative similarity is measured

Hi @real-brilliant ,
I am trying multilingual machine translation as well, But how did you fine-tune the multi-lingual model?
And what kind of data?
Can you share the code?

I tried that based on tensor2tensor instead of bert.
As for fine-tuning data, i use 1:1 multilingual data between each language pairs.
Although google's team claims that using as much data as you have will greatly improve bleu of low-resource language, training based on  even-distributed data is a more safe choice, and will greatly prevent the recurrence of wrong language in decoding
Codes is not private and cannot be shared, sorry for that.

Hi @real-brilliant ,
I am trying the same thing, i am using 1:1 multilingual data between each language pairs.
I understand that's OK.
Thank you for your response.
Best,
Chirag Sanghvi

Have a look at facebookresearch/LASER for some ideas, this is discussed extensively in the issues.


fix(cobalt): broken applicator selectors, improve vars

🔧 What does this fix? 🔧
...
🗒 Checklist 🗒

[x] I have read and followed Catppuccin's contributing guidelines.
[ ] I have updated the version appropriately in the ==UserStyle== header of the catppuccin.user.css file.

@kerichdev please make sure to test the theme works in the future! The theme selectors were wrong and so the theme didn't apply at all from the last PR. Don't feel pressured to merge PRs right away, take your time :)

@kerichdev please make sure to test the theme works in the future! The theme "applicator" selectors (what we target for dark/light themes and to apply the #catppuccin mixin in general) were wrong and so the theme didn't apply at all from the last PR. Don't feel pressured to merge PRs right away, take your time :)

hi - that's interesting, i did encounter a bug with the theme not working entirely on my side while trying to fix it myself - but it did work when i tested the PR.
my bad, will keep a sharper eye next time!


Class 'PaginateRoute' not found

I'm using laravel 5.4 and after I put PaginateRoute::registerMacros(); into my RouteServiceProvider.php i got this error:
Class 'PaginateRoute' not found
Of course I pasted use PaginateRoute;

Did you register the class alias in config/app.php?

Yes:
'providers' => [
     Spatie\PaginateRoute\PaginateRouteServiceProvider::class,
    ],

'aliases' => [

    'PaginateRoute' => Spatie\PaginateRoute\PaginateRouteFacade::class
],

Hmm that's odd—could you post the contents of your RouteServiceProvider file?

Of course:
<?php

namespace App\Providers;

use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use PaginateRoute;

class RouteServiceProvider extends ServiceProvider
{
    /**
     * This namespace is applied to your controller routes.
     *
     * In addition, it is set as the URL generator's root namespace.
     *
     * @var string
     */
    protected $namespace = 'App\Http\Controllers';

    /**
     * Define your route model bindings, pattern filters, etc.
     *
     * @return void
     */
    public function boot()
    {
        PaginateRoute::registerMacros();
        parent::boot();

    }

    /**
     * Define the routes for the application.
     *
     * @return void
     */
    public function map()
    {
        $this->mapApiRoutes();

        $this->mapWebRoutes();

        //
    }

    /**
     * Define the "web" routes for the application.
     *
     * These routes all receive session state, CSRF protection, etc.
     *
     * @return void
     */
    protected function mapWebRoutes()
    {
        Route::middleware('web')
             ->namespace($this->namespace)
             ->group(base_path('routes/web.php'));
    }

    /**
     * Define the "api" routes for the application.
     *
     * These routes are typically stateless.
     *
     * @return void
     */
    protected function mapApiRoutes()
    {
        Route::prefix('api')
             ->middleware('api')
             ->namespace($this->namespace)
             ->group(base_path('routes/api.php'));
    }
}

Do you have any idea?

Sorry, have no idea what's going wrong, everything looks good to me :/
Maybe try resolving it from the container instead of using the facade?
app('paginateroute')-> registerMacros();

No. :(
ReflectionException in Container.php line 719:
Class paginateroute does not exist

What does your config/app.php file look like?

For last chance I tried to run aprtisan optimize with --force flag and it worked. So now I can register macros.  Thank you for your time!

Aah I assume the config was cached then, good to see this resolved!


Improve handling of absence in sustained inactivity bouts during first night

This small PR should address:

#812
#806

fixes #812
fixes #806

Checklist before merging:

[ ] Existing tests still work (check by running the test suite, e.g. from RStudio).
[ ] Added tests (if you added functionality) or fixed existing test (if you fixed a bug).
[ ] Updated or expanded the documentation.
[ ] Updated release notes in inst/NEWS.Rd with a user-readable summary. Please, include references to relevant issues or PR discussions.
[ ] Added your name to the contributors lists in the DESCRIPTION and CITATION.cff files.

or we can make the column names identification case insensitive by adding ignore.case = TRUE to the grep functions in g.loadlog.

Good idea, as I do not think we ever intended this to be case sensitive. I will add that now to this branch and then make the merge.


Address Duplicates

Right now there is nothing in place to prevent pixels "overwriting" each other.
If this is deliberate then please close this issue.
Ideas to address this:

Order the existing list (by x,y)
Add a test to enforce that the list should be ordered by x and y
Add a test to enforce that there are no duplicates in the list

I'll take this one

LOL. I opened this issue with the intention on working on it myself, but to be fair I did not actually claim it. Interested to see your implementation @ConorGrocock  :)

Something that also needs to be addressed is that there are existing duplicates. How are you treating those?

I've forgotten to claim issues far to many times in the past week. So I get it.
I wasn't sure how to deal with it. So I made a seperate commit where I changed the position to one that is similar to the existing one. It's not a great solution but it's the only one that I could think of.

@simeydk or @ConorGrocock who of you two is working on the unit test for verifying duplicates? Now that we have the sorted file this should be easier to enforce but the test would still be useful for the automatic merging.

I'd like to give it a go. Will submit something soon
On Fri, 04 Oct 2019, 18:45 Dominik Kundel<EMAIL_ADDRESS>wrote:

@simeydk https://github.com/simeydk or @ConorGrocock
https://github.com/ConorGrocock who of you two is working on the unit
test for verifying duplicates? Now that we have the sorted file this should
be easier to enforce but the test would still be useful for the automatic
merging.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twilio-labs/open-pixel-art/issues/206?email_source=notifications&email_token=ADD3OTIYAC4YAI36DFKVH4LQM5XLVA5CNFSM4I474YQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMHSUA#issuecomment-538474832,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADD3OTN66WABZFTIKVPTPCLQM5XLVANCNFSM4I474YQA
.

Thanks for contributing @simeydk :) can we add the test that checks for order as well? I think @ConorGrocock had one ready already.

I'll submit a new pull request with my order test

Thank you both of you for your contributions!


Mass proficient extraction for NAS storage

What is the purpose of this PR?
Closes #327. Closes #322.
How did you implement your changes
See issue link.
Remaining issues
Need to test this on Christine's run next week.

Agreed, looks good!

Looks good. You should also confirm that the offsets are being handled correctly for mass extraction, since I remember some trickiness about the sign of the proficient and deficient extraction.
Should be straightforward to extract proficient, deficient, and the whole range, and make sure that proficient + deficient = combined

Proficient + deficient unfortunately does not equal combined via the current offset. For most channels, the vast majority of values (about 95-99%) match up, but some channels (ex. Noodle, Fe, Au) have little in common between proficient + deficient and combined. Other channels like H3K27me3 and H3K9ac are also a bit more problematic (70-79%).
In terms of offset, I've been working with:

Combined from -0.3 to 0.3
Proficient from 0 to 0.3
Deficient from -0.3 to 0

Hmmm. I can't think of a reason why that would be the case. -0.3 to 0.3 should be the same as the half interval combined.
Can you look into where the differences are?

Mike might have an idea (other than a bug in the code) of how these could be different. Maybe you can ask him at pipeline meeting today?

Mike might have an idea (other than a bug in the code) of how these could be different. Maybe you can ask him at pipeline meeting today?

Mike thinks the integration ranges are the issue. Both the lower and upper bound on mibi-bin-tools are inclusive.
This means that the range goes from [-0.3, 0] for deficient, and [0, 0.3] for proficient. Mike said this explains why deficient + proficient > total (-0.3, 0.3) and not to worry about it.

Okay, will you redo the calculation with -.3 to -.001 and see if that resolves the difference?

@ngreenwald there were no changes to the final results.
I did notice that the Noodle channel had odd panel values specified (116.7, 125.0). In the current mass proficient setup, these do not get corrected since the offset of start is not -0.3. I wonder if at least for Noodle specifically it explains the discrepancy.

Okay, then I would say we hold off on merging this until it's clear what the problem is. Is it always the same difference for a given channel in different images, or does it depend? Are all pixels equally affected or only some? How does it differ across different channels?
You can skip extracting the proficient channels for the current mibi runs as well until we figure it out.
And yes, differences in noodle channel don't matter since it's spanning multiple masses.

Across different channels, the differences are inconsistent for channels between different FOVs, and this varies by channel as well (some channels such as CD14, CD38, PDL1, etc. experience minimal inconsistencies, while others such as Fe, H3K27me3, etc. experience much more significant inconsistencies).
In general, across all images and channels, each region does seem to be equally affected. The average distance between differing pixels between pos + neg images vs full extraction images is around 10 pixels. However, channels such as Fe experience much more frequent clusters of extreme differences between pos + neg vs full extraction images, while others such as CD14 may see frequent clusters of small differences but no clusters of large differences.
This does make sense since Fe is a channel that experienced much more significant inconsistencies in magnitude, whereas CD14 didn't.

Okay, can you make some summary plots of the differences so we can set a sense of how big a problem this is across different channels?

Yup, will have some ready for tomorrow's standup.

Located one key flaw in the current mass proficient pipeline: the way the wrapping_functions work in mibi_bin_tools.bin_files._set_tof_ranges which converts mass ranges to time of flight ranges.
By default, the upper_tof_range in this function gets wrapped in an np.ceil call, while the lower_tof_range gets wrapped in an np.floor call. For deficient extraction, the upper_tof_range is 0 (gets np.ceilinged). However, for proficient extraction, 0 is now the lower_tof_range and thus gets np.floored.
This causes leakage in the time of flight ranges that gets passed to the extraction process. Suppose the full range of integration is [12, 20] for a target. To my knowledge, the deficient range should ideally be [12, 16] for deficient and [16, 20] for proficient. However, what we're seeing is a deficient range of [12, 17] and a proficient range of [16, 20]. This happens because np.ceil pushes the cutoff at upper_tof_range=0 up to 17 for deficient, but the cutoff at lower_tof_range=0 down to 16 for proficient. This range leakage also explains why we're seeing negative_ext + positive_ext > full_ext across all channels and FOVs. I confirmed that adjusting the ranges also ensures negative_ext + positive_ext == full_ext.
There are ways to correct for the proficient range window, but I also want to verify whether the deficient time of flight extraction window is correct. @ngreenwald what do you think?

Sounds good! Will you put together a brief summary for Friday? Mike will probably be the best to decide how we want to set it up.
To confirm, we can now replicate to the full extraction by adding together the partial extraction? Will you check a couple other integration windows as well to see? i.e. -0.3 to -0.1 is the same as -0.3 to -0.2 and -0.2 to -0.1?

@ngreenwald yes, we can now replicate full = sum of neg + pos. I've confirmed this for other ranges as well.

Per discussions with Mike, we'll define proficient and deficient as the following windows:
Deficient: (-0.3, -0.06)
Proficient: (-0.06, 0.3)

Need to test this PR on the next cohort CIMAC/SPAIN runs before requesting a review.

Per our meeting a few weeks ago, we'll be reverting the definition of deficient and proficient back to:

Deficient: (-0.3, 0)
Proficient: (0, 0.3)


ci: fix packaging script

Not ready for merge: we have a CLI bug on the latest version of Node.js.
This PR may not be needed once the bug is fixed.