Languages: Add accessing languages by adding to the url params instead of by tapping a button

e.g. for Spanish, add ?lang=es to the end of the url. The developer will list the language codes to test.
Will we need some different way for the developer to list the languages to test? Use the same env var, but with different values or with a special step?
note: At request of users.
[Possibly we could have some languages we test by default, but I'm not sure about doing that because it would double, triple, etc. the length of the tests by default, possibly without the dev being aware of it. Also, how would we detect that those languages actually existed for this interview? So that we wouldn't just be testing English repeatedly if the language url just defaulted to English.]

Was closed by #713 and #721


Support of DPopNonce added in OpenId4Vci library

OpenId4Vci library is now supporting DPop Nonce in latest version. It was fixed with issue # 95
Can you please add its support in wallet kit also?

Hi, I used this code but I am getting error in following line of code in OpenId4CIService(in handleAuthorizationCode function):
let authorizedRequest = await issuer.authorizeWithAuthorizationCode(authorizationCode: request)
On some investigation I found following error in OPenID4CI library:
`▿ GenericErrorResponse

error : "invalid_dpop_proof"
▿ errorDescription : Optional

some : "DPoP header not present"

cNonce : nil
cNonceExpiresInSeconds : nil
interval : nil`


Tensorflow Profiler does not work on WSL2: Failed to load libcupti (is it installed and accessible?)

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
v2.12.0-rc1-12-g0db597d0d75 2.12.0
Custom code
Yes
OS platform and distribution
Windows 10 WSL Ubuntu
Mobile device
Ubuntu 22.04
Python version
3.9
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
11.8/8.6
GPU model and memory
No response
Current behavior?
After following exactly the steps mentioned in https://www.tensorflow.org/install/pip for installing Tensorflow on WSL2, and installing the latest version of the profiler plugin, the Tensorboard profiler does not seem to work.
This is with a fresh WSL2 install, miniconda install, etc.

Failed to load libcupti (is it installed and accessible?)

No step marker observed and hence the step time is unknown. This may happen if (1) training steps are not instrumented (e.g., if you are not using Keras) or (2) the profiling duration is shorter than the step time. For (1), you need to add step instrumentation; for (2), you may try to profile longer.

The problem does not seem to be that lubcupti fails to load (despite what is indicated by Tensorboard); libcupti seems to be found just fine, but there may be some problems - See the attached log output for possible clues as to what's happening.
Standalone code to reproduce the issue
# The below code is copied directly from https://github.com/keras-team/keras-io/blob/master/examples/vision/mnist_convnet.py - with the single addition of adding Tensorboard profiling.

import numpy as np
from tensorflow import keras
from tensorflow.keras import layers

"""
## Prepare the data
"""

# Model / data parameters
num_classes = 10
input_shape = (28, 28, 1)

# Load the data and split it between train and test sets
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

# Scale images to the [0, 1] range
x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255
# Make sure images have shape (28, 28, 1)
x_train = np.expand_dims(x_train, -1)
x_test = np.expand_dims(x_test, -1)
print("x_train shape:", x_train.shape)
print(x_train.shape[0], "train samples")
print(x_test.shape[0], "test samples")

# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

"""
## Build the model
"""

model = keras.Sequential(
    [
        keras.Input(shape=input_shape),
        layers.Conv2D(32, kernel_size=(3, 3), activation="relu"),
        layers.MaxPooling2D(pool_size=(2, 2)),
        layers.Conv2D(64, kernel_size=(3, 3), activation="relu"),
        layers.MaxPooling2D(pool_size=(2, 2)),
        layers.Flatten(),
        layers.Dropout(0.5),
        layers.Dense(num_classes, activation="softmax"),
    ]
)

model.summary()

"""
## Train the model
"""

batch_size = 128
epochs = 15

model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"])

model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.1, callbacks=[
    keras.callbacks.TensorBoard(profile_batch=[20, 30])
])

"""
## Evaluate the trained model
"""

score = model.evaluate(x_test, y_test, verbose=0)
print("Test loss:", score[0])
print("Test accuracy:", score[1])

Relevant log output
17/422 [>.............................] - ETA: 2s - loss: 2.0755 - accuracy: 0.38602023-07-07 15:45:09.034256: I tensorflow/tsl/profiler/lib/profiler_session.cc:104] Profiler session initializing.
2023-07-07 15:45:09.034284: I tensorflow/tsl/profiler/lib/profiler_session.cc:119] Profiler session started.
2023-07-07 15:45:09.034300: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:135] cuptiGetTimestamp: ignored due to a previous error.
2023-07-07 15:45:09.034304: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:186] cuptiSubscribe: ignored due to a previous error.
2023-07-07 15:45:09.034307: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:459] cuptiGetResultString: ignored due to a previous error.
2023-07-07 15:45:09.034309: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_tracer.cc:1730] function cupti_interface_->Subscribe( &subscriber_, (CUpti_CallbackFunc)ApiCallback, this)failed with error
 25/422 [>.............................] - ETA: 2s - loss: 1.8839 - accuracy: 0.46882023-07-07 15:45:09.105818: I tensorflow/tsl/profiler/lib/profiler_session.cc:70] Profiler session collecting data.
2023-07-07 15:45:09.105940: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:142] cuptiFinalize: ignored due to a previous error.
2023-07-07 15:45:09.105943: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:459] cuptiGetResultString: ignored due to a previous error.
2023-07-07 15:45:09.105945: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_tracer.cc:1822] function cupti_interface_->Finalize()failed with error
2023-07-07 15:45:09.107652: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:135] cuptiGetTimestamp: ignored due to a previous error.
2023-07-07 15:45:09.107660: E tensorflow/compiler/xla/backends/profiler/gpu/cupti_error_manager.cc:135] cuptiGetTimestamp: ignored due to a previous error.
2023-07-07 15:45:09.107663: I tensorflow/compiler/xla/backends/profiler/gpu/cupti_collector.cc:541]  GpuTracer has collected 0 callback api events and 0 activity events.
2023-07-07 15:45:09.107809: I tensorflow/tsl/profiler/lib/profiler_session.cc:131] Profiler session tear down.

I am facing the same problem.  Were you able to sort this out?

I have the same problem on TF 2.14. Same config, Ubuntu 22.04 WSL2 on Windows 10.

I am seeing the same problem. Have you found a solution?

Unfortunately no

Same here. Any suggestions would be appreciated.


Time Picker renders partially out of view

Problem description
Time picker renders partially out of view
Link to minimal working code that reproduces the issue
Screenshot:

Full page:

Versions

Material-UI: I got it on your website
React: ditto
Browser: Chrome

Closing for #4796


[kokkos] Replace Nx parallel_scan() with one parallel_scan()+2x parallel_for() in HistoContainer finalize()

This is a more performance workaround for Kokkos not providing team-wide prefix scan.

@PointKernel @jtchilders Please take a look

Looks good! A minor thing here:https://github.com/cms-patatrack/pixeltrack-standalone/blob/a393add0eb827c2a58382d5fc3e720bc22b8a0c0/src/kokkos/KokkosCore/HistoContainer.h#L89
We forgot to add a label to this parallel_scan.

We forgot to add a label to this parallel_scan.

Thanks, I added a label to that now.


How to configure ignore

I'm using a template. So I want to ignore <at line 1, character 1Doctype must be declared first.>

at line 1, character 1Doctype must be declared first.

See these two 😄
https://github.com/yaniswang/HTMLHint/wiki/Doctype-first
https://github.com/yaniswang/HTMLHint/wiki/Usage


Windows issues

Two changes here:

Tell open to use UTF-8 when load.py is reading data into postgres_copy

Avoids issues with "Tracy 4&5-Piñon Pine" when python defaults to an encoding that isn't UTF-8.

Document the install process on Windows (copying substantially from the getting_started_mac instructions.

I changed the recommendations a bit on installing Conda and Github Desktop, but that's just because I'm documenting my own install and I haven't played with Github Desktop.

Hmm, there should also be some comment about setting the password for the catalyst account.  On Windows it doesn't work to leave the passwords empty in settings.py. (Or maybe there's a way, but it's not the default.)

Sadly, the postgres_copy function (which is the fastest way to get the data into the DB by a wide margin) requires an account with root access, and by default we've been using an account w/o any password, which as you've noticed isn't allowed without changing the underlying server authentication settings on Windows or (some) Linuxes... and we're all on Macs, so I don't remember how we ended up getting that parameter set correctly on Windows.  What's the right solution here?  It certainly isn't actually having DB superusers with a null password (which is what we're doing now).


[feature request] panda's dynamic themes

Panda-css has a possibility to define multiple themes and apply them dynamically.
Can multiple themes be added as option to createPreset  or maybe possible to export createSemanticTokens park-ui's helper function to allow users to add themes manually as per panda's docs.
Thank you!

I have the same problem. If I don't set class=dark on the HTML, I don't even know how to correctly change the theme of a section. I tried the method in the Panda document to change the theme, The result is not quite correct

Sorry I don't really understand the issue.

Panda allows multiple themes, but park-ui panda present currently allows only one color theme.
So, I'm asking to export createSemanticTokens and createTokens functions, so the user can construct a preset with multiple color themes oneself.
Now it's like this:
// from panda/src/index.ts

const createPreset = (options: PresetOptions = defaultOptions): Preset => {
  const semanticTokens = createSemanticTokens(options)
  const tokens = createTokens(options)

  return definePreset({
    name: '@park-ui/panda-preset',
    theme: {
      extend: {
        breakpoints,
        keyframes,
        recipes,
        semanticTokens,
        slotRecipes,
        textStyles,
        tokens,
      },
    },
    conditions,
    globalCss,
  })
}

But it's nice to have like this:
// panda.config.ts
import { defineConfig } from '@pandacss/dev'

const theme1SemanticTokens = createSemanticTokens(options1)
const them1tokens = createTokens(options1);

const theme2SemanticTokens = createSemanticTokens(options2)
const theme2tokens = createTokens(options2);

const theme3SemanticTokens = createSemanticTokens(options3)
const theme3tokens = createTokens(options3);

export default defineConfig({
  // ...
  // main theme
  theme: {
    extend: {
      breakpoints,
      keyframes,
      recipes,
      theme1semanticTokens,
      slotRecipes,
      textStyles,
      theme1tokens,
    }
  },
  // alternative theme variants
  themes: {
    primary: {
      breakpoints,
      keyframes,
      recipes,
      theme2semanticTokens,
      slotRecipes,
      textStyles,
      theme2tokens,
    },
   secondary: {
    breakpoints,
    keyframes,
    recipes,
    theme3semanticTokens,
    slotRecipes,
    textStyles,
    theme3tokens,
    }
  }
});


Updated  the Readme

Can you add a description on what is different from this version compared to the one in main?

This readme is more in depth within each function: and promotes adding to certain sections as more functions are added. It also contains some of the important code for additional explanation, while also providing more emphasis on the .env and setup of the project.


How to save InteractiveImage in a html file

Thank you for this very useful library.
Naive question but I couldn't find the answer, how can I save an InteractiveImage ? (I'm not using a notebook)

Glad you find it useful!  I'm not sure what you mean, though.  InteractiveImage only works in a notebook, and would only be useful in a notebook.  E.g. if you have a call InteractiveImage(p, create_image), if what you want is to save an image directly, just call create_image() to get the image as a Python object, or from datashader.utils import export_image ; export_image(create_image(),"filename") to save it to a file.

Thanks for your answer @jbednar . To be more precise, I'd like an interactive image (with a callback for zooming etc), saved in a html file. Pretty the same as does InteractiveImage, but not in a notebook.
Does export_image allow to do that?

If you are hoping to save the full, zoomable plot into a standalone HTML file, you should just use Bokeh directly, not datashader, because that's how Bokeh works: it encodes the full set of data as JSON and exports an HTML file that includes the JavaScript necessary for interacting with the plot, along with the JSON-format data used in the plot. Doing so lets you have a standalone HTML file, but a standalone HTML file will never work for larger datasets that would crash your browser because of the enormous files required.
Datashader is expressly designed not to put the full set of data into an HTML file; it's for use when doing so would not be feasible.  Datashader requires that the data be kept out of the browser, managed by an external Python process, because it is designed for cases when the browser cannot handle the full set of data.  E.g. if your dataset has 1 million points, encoding that as JSON would result in an HTML file that would be unreadable with today's browsers, so datashader keeps that data stored efficiently in a Python process, ready for delivery as an image into the browser so that the browser only ever sees a fixed-size data structure.  So you can either have standalone HTML files, or the ability to handle large datasets; you cannot have both (with today's browser technologies).

Hi @jbednar, I have been using datashader with bokeh and its been amazing to visualise my large dataset. I have plugged it into my pipeline and now I want to take 'snapshots' of the interactive image.
As an example this is the plot I have created with InteractiveImage:

But when I save the tf.shade, the image save doesn't have the bokeh plot params:

Is there a way to save an non-interactive 'snapshot' image of the bokeh plot?

The output of tf.shade is just a bare image, with no axes or labels, and it sounds like you are asking about exporting the entire Bokeh plot, with all its axes and labels? That's an issue for Bokeh rather than datashader, as datashader should work fine with any options for export supported by Bokeh.  Search for "Bokeh export" to see what those options are, but none are very satisfying at present.
InteractiveImage is actually a tiny bit of code borrowed from HoloViews, and we've now added datashader support to the current Github master of holoviews (to be released as version 1.7). With holoviews you can easily choose between using matplotlib and using bokeh to view your plots, and the advantage of the matplotlib backend is that matplotlib figures can be export to svg or png easily.  See an example of using holoviews with datashader here, where you can change 'bokeh' to 'matplotlib' to use matplotlib instead (and remove some of the axis=None lines to show the axes).  See the Exporting tutorial at holoviews.org for options for exporting plots.


Remove misleading payload_ref DB field and fix Group JSON tag

In diagnosing a recent issue, I noticed that the payloadRef of a batch is a Database stored field, but is never set when you query in the database.
This is because we were writing it when we sealed the batch for delivery, but then overwriting it when we confirmed the batch.
It also had VARCHAR(64) in PSQL and VARCHAR(256) in SQLite.
The code actually only needed it to pass the payloadRef from the batch upload operation, to the batch pin operation. Instead of relying on that, I've added it explicitly to the inputs of the Batch Pin operation - which overall feels much more consistent.
Then I've removed the DB field (for newly created envs - it nullable so no need for a migration to remove it).
I had to update the operations interface to return the outputs though, as it wasn't currently.
Unrelated fix - the json: tag on Group was wrong on BatchPersisted so we were returning Group rather than group on the JSON.

Codecov Report

Merging #666 (73dbbf3) into main (b47196c) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #666   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          315       315
  Lines        19370     19374    +4
=========================================
+ Hits         19370     19374    +4

Impacted Files
Coverage Δ

internal/database/sqlcommon/batch_sql.go
100.00% <ø> (ø)

pkg/fftypes/batch.go
100.00% <ø> (ø)

internal/assets/token_approval.go
100.00% <100.00%> (ø)

internal/assets/token_pool.go
100.00% <100.00%> (ø)

internal/assets/token_transfer.go
100.00% <100.00%> (ø)

internal/batchpin/batchpin.go
100.00% <100.00%> (ø)

internal/batchpin/operations.go
100.00% <100.00%> (ø)

internal/broadcast/manager.go
100.00% <100.00%> (ø)

internal/broadcast/operations.go
100.00% <100.00%> (ø)

internal/contracts/manager.go
100.00% <100.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


FIX #9617 - Correct find local IP address when running on iOS device

React native's reload javascript option doesn't always work on iOS devices since version 0.29, as described in https://github.com/facebook/react-native/issues/9617
It only doesn't work when you have a mac on a wireless connection, because react-native-xcode.sh can't find your IP address correctly in this case and will just fallback to use the pre-bundling option on your app.
This small change in react-native-xcode.sh fixed this issue for our project and should fix this issue for all mac users that use wireless connection and that will run a debug version of the app on a real iOS device.

By analyzing the blame information on this pull request, we identified @nathanajah and @alexanderjarvis to be potential reviewers.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

@guilhermebruzzi updated the pull request - view changes

@guilhermebruzzi updated the pull request - view changes

The error on ci/circleci is "Error: [quit()] Unexpected data in simpleCallback." on e2e Android's test. Which doesn't seams to be related to my changes on xcode script.

@guilhermebruzzi updated the pull request - view changes

@guilhermebruzzi updated the pull request - view changes

@guilhermebruzzi updated the pull request - view changes

@guilhermebruzzi updated the pull request - view changes

@Kureev Hi Kureev, I found this article: http://www.askdavetaylor.com/how_do_i_figure_out_my_ip_address_on_a_mac/
And now I implemented a similar way to find your local ip address on a mac, without having to look on every en interface.
Now, if the script doesn't find the ip address on en0, it will use ifconfig to find the ip on any other following interfaces.
What do you think?

@facebook-github-bot shipit

Thanks for your contribution, @guilhermebruzzi! ❤

Thanks for importing. If you are a Facebook employee, you can view this diff on Phabricator.

@Kureev Thank you! :D

this fails with an ifconfig output like this:
[...]
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::12c7:f4b6:88f4:404c%utun0 prefixlen 64 scopeid 0xb
nd6 options=201<PERFORMNUD,DAD>
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
en6: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
ether 00:0e:c6:c1:de:8f
inet6 fe80::10cd:6065:fdb0:7c90%en6 prefixlen 64 secured scopeid 0x4
inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (1000baseT <full-duplex,flow-control,energy-efficient-ethernet>)
status: active

something like this works:
ifconfig | pcregrep -M -o '^en[^\t:]+:([^\n]|\n\t)*status: active' | grep "inet " | grep -v <IP_ADDRESS> | cut -d' ' -f2  | awk 'NR==1{print $1}'

@slicejunk Your code seems good to me (worked on my cases).
Why don't you send it on a new pull request replacing the current line:
IP=$(ifconfig | grep 'inet ' | grep -v <IP_ADDRESS> | cut -d\   -f2  | awk 'NR==1{print $1}')
With:
IP=$(ifconfig | pcregrep -M -o '^en[^\t:]+:([^\n]|\n\t)*status: active' | grep "inet " | grep -v <IP_ADDRESS> | cut -d' ' -f2  | awk 'NR==1{print $1}')


Add readme badges and header styles

Overview of PR

Technical & Architecture Changes

TODO

: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:


Add external programmer and SPIFFS targets to Emacs

As per #427.
Added in the remaining targets to my CMakeLists.txt file and updated the docs with the new key bindings.
I've already pushed the corresponding changes to the Emacs package: ZachMassia/@69d584003332908f49f25fb614ed67925a23a578

Thanks! :+1: :blush:


Docker

Slides for next week.
@pop, @lucywyman r?

+1

@ElijahCaine r?
/me keeps on trying to summon you with @pop.

No mention of LXC?

@jordane Fixed.

@jordane  oops! Fixed.

@jordane gave a +1 in person.


Bump the terraform sdk to the latest v2 release

I haven't tested this or read the release notes, so careful testing is advised!
I noticed we have a GitHub security alert about github.com/ulikunitz/xz. That's in our dependency tree via github.com/hashicorp/terraform-plugin-sdk/v2, and updating the sdk will resovle the alert.
Occasionally bumping the TF SDK feels like soemthing we should do anyway, but I'm not sure if there are other consequences of doing so. Does it change the supported versions of terraform for example?
The number of changes to go.sum is impressive, but I think that's OK? The diff is the result of these commands:
$ go get -u github.com/hashicorp/terraform-plugin-sdk/v
$ go mod tidy

This is well out of date now, closing in favour of dependabot occasionally bumping dependencies #233


Fix bug in curation/draft endpoint

The current code does not allow the publishing of a record if another record already uses the disease name.
This PR fixes the way the disease and disease-ontology are created.
To test: try to publish a record with a disease that already exists in table 'disease'

Available on wwwdev.ebi.ac.uk/gene2phenotype/api


Peer Feedback for milestone 4

Here are the actionable items for milestone 4 based on the peer feedback we received (https://github.com/UBC-MDS/software-review/issues/15)

Note: I removed duplicate feedback from reviewers

Reviewer 1:

Documentation:

[x] Remove k argument from tunnel_filter()

[ ] Fix any typos in examples (we should run the examples on our own computers to make sure they work)

[x] Add example for colour_filters()

[ ] Add inline comments to function code

[x] Either remove random images from root directory or move them to an images folder

Functionality:

[ ] Fix importation code (should be from pymagine import vignette_filter instead of from pymagine import pymagine etc.)

Reviewer 2:

Documentation:

[ ] Function names should be consistent (e.g. vignette_filter vs. colour_filters)

Functionality:

[ ] There is apparently a bug in the edge_detection filter where it is returning black images -> investigate this and see if it can be fixed

[x] Remove shape values output from tunnel_filter

[x] Index file name of saved images so that they don't overwrite each other (this will be useful if the user wants to input a list or array of images)

[ ] Print image directly with imshow() (I know we already tried this, but it might be worth revisiting if we should have an option to do this?)

[x] Add a separate function argument for saving image to a folder

Now we should have a discussion of which tasks are necessary/plausible to include, and who will do each task.

The issues I can tackle:

Remove k argument from tunnel_filter
Move images from root directory to img folder
Remove shape value output from tunnel_filter
Add function argument for saving image to a folder/naming the output image (this also fixes the indexing issue, since the user can specify the names of the images in a loop)

I can add example to colour_filters function

I will:

fix the issue in my function example
consider a couple more code comments, but I have a decent number already

Questions/comments:

Agree function name consistency could be improved but not sure if its worth the hassle/risk at this point. Colour_filterS isn't the end of the world in my opinion because it actually contains a variety of effects, but for the edge detection I agree we could have included 'filter' somehow for consistently. Given the circumstances, I don't think its a huge deal and am fine to leave it
I'm not clear on the 'from pymagine import vignette_filter' item. As far as I can see this is the way it's already done? Am I missing something?
Don't really care to figure out the imshow() stuff at this stage given the issues we had, but agree that would be a nice improvement in the future

Sounds good!
I agree with the function name consistency - I feel like at this point it is more of a "cosmetic" thing and I think the other feedback is more useful to focus on right now.
As for the from pymagine import vignette_filter, I fixed that in my latest PR. The issue was that in our initial example, the import instructions were from pymagine import pymagine and it needed to be from pymagine import vignette_filter AND THEN when calling the function we needed to write vignette_filter.vignette_filter() rather than just calling vignette_filter() directly.

I have fixed this issue: "There is apparently a bug in the edge_detection filter where it is returning black images -> investigate this and see if it can be fixed"


Log Analytics Workspace names must be globally unique

Description
Log Analytics Workspace names must be globally unique
Acceptance Criteria

Use the random provider when creating the log analytics workspace in the hub module

@shannawaz and I talked about this specific issue and he volunteered to bring in the hub as a provider for the other configurations and reference the created log analytics workspace ID from there so that is can be generated randomly.

This is related to #90 and #128.

Closing because I moved the scope of this issue into #128.


sax, xmlbuilder - dependency version bump

sax and xmlbuilder version bump

+1 -- please accept these changes

What is the value of raising the minimum version?

I'm sure it's different for different people, but I work for a big company with a legal department that wants assurance that any 3rd party libraries that we use are actively maintained -- which (to them) means releasing at least every 18-24 months, and being sure that dependencies are similarly up-to-date.  If a 3rd party library is not updated every 18-24 months, they consider it "abandoned" and then we have to go through a big process where we have to assure legal & security people that we will be responsible for any issues that may arise.
So even if you don't make any code changes, you could do a release that merely bumps the dependency versions -- that would be enough.
-Andy
On Thursday, August 29, 2019, 9:03:34 AM PDT, Marek Kubica<EMAIL_ADDRESS>wrote:

What is the value of raising the minimum version?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@ajssd - couldn't have said it better myself.

Only thing failing with Travis is nodejs 4, get rid of it, it's ancient history...
https://travis-ci.org/Leonidas-from-XIV/node-xml2js/builds/578550728?utm_source=github_status&utm_medium=notification

Woohoo! it passed

@ajssd But you do realize that this is completely nonsensical? If just by pushing some files around and creating releases I can make this library seem maintained to your legal department that does make no sense. As you see I do very minimal maintenance (since I don't use the library or Node for that matter myself) so even if I did releases bumping minimal dependency versions it would not change the fact that there is very little maintenance actually happening - the concern that your legal department has is still there, just hidden.
It might be even worse if I were to actually audit the dependencies and their dependencies (not that I actually do), since then just bumping the version might move you from an audited version to one that contains malware (and we have seen this happen in npm!).
Also, what about mature libraries? Many small libraries are sort of "done", no need to bump dependency versions if there are no dependencies and the desired functionality is implemented.

YES SIRR!!!!!!!!!!!!!

@Leonidas-from-XIV - true.  The malware thing could indeed be detrimental.  Although, in this particular case, SAX and Xmlbuilder are two incredibly ppopular repositories, such as xml2js.
https://www.npmjs.com/package/xmlbuilder (6,628,868 weekly downloads)
https://www.npmjs.com/package/sax (13,127,737 weekly downloads)
The way I personally see it, the more popular/important the repository, the less likely that contributors will be malicious.  Case and point with you, you are concerned about this repository because it is super critical. 5,000,000+ downloads weekly.
https://www.npmjs.com/package/xml2js (5,424,816 weekly downloads)

I see everything I mentioned here has been merged, updated and two version changes in the last few days. My work here is complete!


How to set metadata (migrating from Flask-SQLAlchemy)?

I'm trying to migrate from Flask-SQLAlchemy (in hope of solving some errors, and also forcing me to use new querying syntax).
I was creating db this way:
db = SQLAlchemy(
    session_options={"autoflush": False},
    metadata=MetaData(naming_convention=convention),
)

and I'm not sure how to change this to Alchemical.
Is it correct to change session_options to engine_options?
And how do I give my naming conventions somewhere for sqlalchemy to use?
Thank you for help!

First of all and in case you don't know, you can use the new query syntax with Flask-SQLAlchemy (a recent one, of course). If that is the only reason you are switching, you don't have to.
Now regarding your questions. Unfortunately Alchemical is extremely opinionated, as it was born as a private thing that I only I used. I have been adding more general purpose options, but as it turns out, I have not made it possible yet to define session options. I will add that.
A custom metadata object is problematic, I'm not sure if I'll add that. Alchemical manages your metadata, and when/if necessary it creates multiple ones, such as when using multiple databases. I can add metadata options though. In any case, Alchemical initializes the widely accepted naming conventions in all the metadata object it creates, so you may not need to do this anymore if you switch.

Thanks for answering so swiftly!
Well, main reason I started playing with this is that we are having constant random db connection errors in our app and we have no idea what's causing them, so we are trying anything that might help :sweat_smile:
I also like your Model.select() syntax, as it's simpler than db.select(User) that Flask-SQLAlchemy uses. Im still not happy about new way of querying, as it's much longer and less readable (and using Rails in my job, it's really a striking difference between readability and developer ease). But after some trying, it seems like I will really stay with Flask-SQLAlchemy for now.
Having reasonable default naming conventions is great, I don'ŧ understand why these (taken from SQLAlchemy docs) are not default.


Errors are not detected across modules?

Title may be a little unclear, see repro.
HIE Version <IP_ADDRESS>, Git revision e1b6786a73b1235a05d4d19e888dc982d033c283 (1438 commits) x86_64 ghc-8.2.2

Create simple stack project (stack new test simple)
Add a library section with atleast one module (Common in this case) to test.cabal and make executable depend on it:

executable test
  hs-source-dirs:      src
  main-is:             Main.hs
  default-language:    Haskell2010
  build-depends:       base >= 4.7 && < 5,
                       test

library
  hs-source-dirs: lib
  default-language: Haskell2010
  build-depends: base
  exposed-modules: Common

In library module define some type (Foo) and a function (func) that will break when type is modified:

module Common where

data Foo = Bar | Baz deriving Show

func :: Foo -> Foo
func Bar = Baz
func Baz = Bar

In Main.hs import library module and write similar function (func'):

module Main where

import Common

main :: IO ()
main = putStrLn "hello world"

func' :: Foo -> Foo
func' Bar = Baz
func' Baz = Bar

Change Foo type (Bar -> Bak) in library module:

data Foo = Bak | Baz deriving Show

Expected: errors reported for both func and func'
Actual: error reported only for func in library module
Changing contents of Main.hs or relaunching HIE doesn't trigger error, too.
hie.log
I believe this is a regression or at least it's reproducible only in some cases. I've noticed this behaviour only recently - perhaps after exception handling PRs.

Does this only happen when the files are in differing cabal components? Then it might be a limitation of the mapped files hack in HIE/ghc-mod.

@wz1000 no, looks like this happens even if modules are in same component.
I've added Another module to library:
library
  hs-source-dirs: lib
  default-language: Haskell2010
  build-depends: base
  exposed-modules: Common
  other-modules: Another

with contents:
module Another where
import Common

func'' :: Foo -> Foo
func'' Bar = Baz
func'' Baz = Bar

Changed Bar to Bak once again and nothing is reported for Another.hs. Here is log


API ERROR + Could not retrieve client build number + could not retrieve browser version.

Summary
Logging in fails
Reproduction Steps
Followed the example code after installing the updated version directly frmo github (no pypi involved)
Code
import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged on as', self.user)

    async def on_message(self, message):
        # only respond to ourselves
        if message.author != self.user:
            return

        if message.content == 'ping':
            await message.channel.send('pong')

client = MyClient()
client.run('#####')

Expected Results
Logs in succesfully ig
Actual Results
not wokring, even inputting wrong token works fine
/usr/local/bin/python3.12 /Users/pranav/Desktop/Scraper/bot.py
[2024-05-31 21:39:42] [INFO    ] discord.client: Logging in using static token.
[2024-05-31 21:39:43] [INFO    ] discord.utils: Info API temporarily down. Falling back to manual retrieval...
[2024-05-31 21:39:43] [CRITICAL] discord.utils: Could not retrieve client build number. Falling back to hardcoded value...
[2024-05-31 21:39:45] [CRITICAL] discord.utils: Could not retrieve browser version. Falling back to hardcoded value...
[2024-05-31 21:39:45] [INFO    ] discord.http: Found user agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36, build number 9999.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 1025, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 1149, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 1182, in _create_connection_transport
await waiter
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/sslproto.py", line 578, in _on_handshake_complete
raise handshake_exc
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/sslproto.py", line 560, in _do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/ssl.py", line 917, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/pranav/Desktop/Scraper/bot.py", line 16, in
client.run('clearly fake token')
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/client.py", line 1106, in run
asyncio.run(runner())
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/client.py", line 1095, in runner
await self.start(token, reconnect=reconnect)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/client.py", line 1025, in start
await self.login(token)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/client.py", line 867, in login
data = await state.http.static_login(token.strip())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/http.py", line 1058, in static_login
data = await self.get_me()
^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/discord/http.py", line 799, in request
async with self.__session.request(method, url, **kwargs) as response:
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/client.py", line 1197, in aenter
self._resp = await self._coro
^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/client.py", line 581, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 544, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 944, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 1257, in _create_direct_connection
raise last_exc
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 1226, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/aiohttp/connector.py", line 1027, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)')]
Process finished with exit code 1
System Information
/usr/local/bin/python3.12 -m discord -v

Python v3.12.3-final
discord.py-self v2.1.0-alpha

discord.py-self metadata: v2.1.0a4847+gb813c625

aiohttp v3.9.5
system info: Darwin 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:27 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8103

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shared the entire traceback.
[X] I am using a user token (and it isn't visible in the code).

Additional Information
Other people have had the same issue and gotten it resolved somehow

This is a networking issue on your machine, not anything to do with the library. Might be some macOS-specific Python issue.

Damn... If anyone has any ideas i would appreciate it alot

Fixed. Using ChatGPT I found out my problem:
The certificates are invalid or missing.
pip install --upgrade certifi

Navigate to ur python install
cd /Applications/Python(insert python version)

Run the Install Certificates.command file
./Install\ Certificates.command


Importing pandas dataframe on TDengine.

Hi there,
I was wondering if there is a way to import pandas dataframes.
I saw how to export data into a dataframe but couldn't find the reverse.
Thanks.

So far there is no official way to do that but I think it's very easy with lines of Python code. I am personally keen to leave the flexibility to user.


Update kmeans neighborhood notebook

What is the purpose of this PR?
Update and clean-up the k-means neighborhood notebook.
How did you implement your changes

The old notebook required the cell table to include both a column that specified a numeric id for each cell phenotype, and a column that had the cell phenotypes. I simplified this to only require the column with the cell phenotypes. Specifically, in create_neighborhood_matrix, removed cluster_id_col, which was redundant with cluster_name_col.
Fixed a bug where the wrong cell phenotypes were being counted due to fovs missing certain cell phenotypes.
Set default of self_neighbor to False, so a cell is not counting itself as its neighbor.
Set cluster numbers to start at 1. Previously was starting at 0, which is confusing because in cell overlays, 0 usually corresponds to empty slide.
Add inertia as a metric.
Subsample cells for silhouette score calculation.
Remove cells that have no neighbors before clustering.
Scaled (z-scored) the heatmaps, which makes them more interpretable.
Added heatmap that shows the composition of each neighborhood (basically the average feature vector for each cluster).
Fixed overlay generation function so correct legend is shown.
Added Mantis function (although this currently doesn't work, breaks because of segmentation directory issue).
Added subheadings and more descriptive text.

Remaining issues

Need to fix/add tests
Currently, the mantis function fails, I think because of #663
Need to talk about whether to delete the part of the spatial LDA notebook that does kmeans

I fixed all the tests - I think we should be able to merge this in now. For now, I just have the notebook test read in example input that Adam set-up for the enrichment notebook (I didn't bother with testbook since I think we will be using the example dataset for testing?).
I also removed the mantis function for now - pending https://github.com/angelolab/ark-analysis/issues/669.
I also reverted everything in settings.py back to what it was before since it was breaking a bajillion tests. I think rejiggering settings.py should be its own issue.
Also, sorry I royally effed up the pull request somehow where all the commits are showing up....something happened when I was rebasing but hopefully it's not confusing.
@ngreenwald let me know if you want someone else to look it over/what else should be done before merging.

Yeah, the files that were changed were spatial_analysis.py, spatial_analysis_utils.py, visualize.py, and example_pairwise_spatial_enrichment.ipynb (and their respective test files).
This commit has basically all the substantial changes to the code: https://github.com/angelolab/ark-analysis/pull/668/commits/35acc6a5f06b3e62e26bc5151b5d0177b27c4203.
And this commit has basically all the changes to the tests: https://github.com/angelolab/ark-analysis/pull/668/commits/806855e1ceb6bee97aef0b9c65fb1371c89b5f58
(the rest of them are basically fixing typos/reverting files back to what they were).
I looked into a bit when I messed it up. I could just close this pull request and delete the branch, then open a new one. I can do that if it's preferable. @alex-l-kong let me know if you have any other suggestions.

@cliu72 yeah I think that's the easiest way to go.


Fix hll bounds

This fixes the upper and lower bound estimators for HLL sketches with LgK values of 4 through 12.  The previous estimators were not completely wrong, but were off enough that justified making them much more accurate.

Do not merge this.

I have decided that this is still not right.  I am closing this PR.


CNV-36065: Disk modal with persistent reservation

📝 Description
Add the 'Share disk between VMs' and 'Persistent Reservation' flags under 'Advanced settings' in the disk modal
design: https://docs.google.com/document/d/1_fbw2BUZFRmArjhdKc32lTEqU9MRHsj2KYBxbR6ZL_0
If the disk is LUN, enable the persistent reservation flag but disable the 'Share disk' flag .
Share disk for LUN does not make sense as LUN already is a shared disk
Make sure the  FEATURE_HCO_PERSISTENT_RESERVATION cluster flag is enabled, otherwise is not possible to create a disk like that.
🎥 Demo

the pr lgtm but , i see u are adding the new init values to state and adding actions, but maybe I'm missing something, but I don't see any addition to create disk function to use those new fields? again, maybe logic of current create disk function is ok and can handle it, but I just want to make sure :)

Now i pushed the logic to actually add the options to the disk

/lgtm


modifications for pymodaq v4 compatibiltiy

Added correct imports from v4
Modified plugins following new template
simplifies access to parameters values

Hi @quantumm could you test this with pymodaq v4 and your smaract MCS2? I'm testing it with other controllers MCS and SCU.

Using this with SCU is ok!

I talked recently with the guys of smaract about this. I told them it would be much better to release their library on pypi and I suggest you tell them this also.
Is you plugin compatible only with MCS2? Is the python SDK able to handle old MCS and SCU controllers?
From what I saw in you plugin, the smaract.ctl wrapper is just a python replication of the C library. I think one need a proper python object where all the shitty things (like the error management) is included and hidden. But we'll see that when you create you pull request ;-)
And by the way, you can now easily access Parameter's value using:
self.settings.child("stage_parameters", 'step_amplitude').value()

self.settings["stage_parameters", 'step_amplitude']

it makes the code more concise...

Hi,
This does not work for MCS2, and probably won't with MCS:
+comon_parameters_fun(is_multiaxes, axes_names, epsilon=_epsilon)
It looks like v4 requires that axes_names is a list of strings, not integers.
But all library functions require to pass the axis index as integer!
I guess the argument in all calls could be replaced by int(self.settings['multiaxes','axis']). But this seems inefficient, since probably all motor controllers with multiaxes will have the same issue.

Well originally I had only motor IDs with letters U, V. X, Y, Z.... So it was fine but if you really need integer then you're right it's ugly...
I think the solution lies with something I never tried. The list type Parameter can take as limits a dict. I think the printed values are then the keys strings but the parameter value can then either be a string or anything else. I'll look into this soon and make sure it will not collide with other pymodaq feature.

About this idea of using dicts for list, here is a short minimal working example:
import sys

from qtpy.QtWidgets import QApplication
import pyqtgraph as pg

from pyqtgraph.parametertree import Parameter, ParameterTree

limits = {'a':21, 't':'hjk', '1':1}

param =[ {'name': 'list', 'type': 'list', 'limits': limits}]

if __name__ == '__main__':
    app = QApplication(sys.argv)

    widget = ParameterTree()
    settings = Parameter.create(name='test', type='group', children= param)
    widget.setParameters(settings)

    def print_settings(param: Parameter):
        print(f'value:{param.value()}, type: {type(param.value())}')

    settings.child('list').sigValueChanged.connect(print_settings)

    widget.show()
    app.exec()

try it and let me know if this would solve our issue!

Ok this almost works, thanks!!

In daq_move everything is great:

`axes_names= {'Axis 1': 0, 'Axis 2': 1, 'Axis 3': 2}
params = [
             {'title': 'group parameter:',
              'name': 'group_parameter',
              'type': 'group',
              'children': [
                 {'title': 'Controller Name:',
                  'name': 'smaract_mcs2',
                  'type': 'str',
                  'value': 'SmarAct MCS2 controller',
                  'readonly': True},
                 {'title': 'Controller locator',
                  'name': 'controller_locator', 'type': 'list',
                  'limits': controller_locators},
              ]}
            ] + comon_parameters_fun(is_multiaxes, axes_names, epsilon=_epsilon)`

works right off the bat:

However, when put into a dashboard preset, the axis property is not stored properly (it only keeps the string list):

<axis type="list" title="Axis:" visible="1" removable="0" readonly="0" values="['Axis 1', 'Axis 2', 'Axis 3']" limits="['Axis 1', 'Axis 2', 'Axis 3']" show_pb="1"> str('Axis 3')</axis>
So the dashboard loads axis 1 everytime, despite having "Axis 3" selected here.

In a final implementation, it would be nice if the axes names ('Axis 3' here) could be changeable by the plugin and not hard coded. Upon initializaiton, some controllers have some way of reading the real axis names, that would be nice to display!

Hi there,
the new pymodaq release 4.0.7 should solve all this. I created a Mock actuator for the occasion and tested similar behaviour. The limits are now being taken care of if they are list or dict! Also, I added in the base class some methods to deal with axis name/names:
http://pymodaq.cnrs.fr/en/latest/api/api_control_modules/API_DAQMove_Module.html#pymodaq.control_modules.move_utility_classes.DAQ_Move_base.axis_name
using this within the plugin, one should be able to modify the displayed names. Test it please.
Finally I introduced in the plugin template (and pymodaq_plugins_mock) a way to create a configuration file and to modify it on the computer or on the user level (same as the main configuration file). I'll make a paragraph in the doc about this!

Hi, thanks!

The plugin works with the axes_names as dict! if you accept my PR on the pymo_v4 branch I think it will update this PR, which you can accept then (I don't have pushing rights on this repo)

I wasn't able to use the axis_names setter. It does not update the displayed options of self.settings.child('multiaxes', 'axis'). i'll test some more.

Regarding the config files, here when I click on the new icon "Show Plugin Config" (icon left of "Refresh Value") it opens the main config_pymodaq.toml, is this normal? And in the parameter tree, the "Show Config" button inside the Main Settings group does nothing

The plugin works with the axes_names as dict! if you accept my PR on the pymo_v4 branch I think it will update this PR, which you can accept then (I don't have pushing rights on this repo)

ok

I wasn't able to use the axis_names setter. It does not update the displayed options of self.settings.child('multiaxes', 'axis'). i'll test some more.

I published a new branch and PR #PyMoDAQ  to make sure calling these methods update accordingly the UI. Was not working because using param.opts['limits'] doesn't trigger the update settings but using: param.setLimits() now does the job

Regarding the config files, here when I click on the new icon "Show Plugin Config" (icon left of "Refresh Value") it opens the main config_pymodaq.toml, is this normal? And in the parameter tree, the "Show Config" button inside the Main Settings group does nothing

for the icon this is normal but for clarity I will swap the icons between show_settings  and the show_config
As for the button inside the main group, it will open the plugin config if there is a defined config. If you look at the last version of the plugin template, you'll notice a new folder called resources:

In there you can add a template of the config toml file for your plugin. Please try it, then pressing the button will make a copy of the template in the .pymodaq folder. That will be the base config of the plugin package.
For instance for the last version of the pymodaq_plugins_mock:

then each user can modify its own user config (.pymodaq in the user home) to modify the config of the plugins accordingly to their own needs


Add regression tests from all downstream projects

Currently, our test suite only has tests from KEVM and KWASM. The backend is also used by KElrond and MKR-MCD-SPEC, and we should select some tests from those projects which finish in reasonable time to add to our test suite.
This will also help with testing simplifier experiments.

I've tracked down how to add regression tests, but the KElrond test suite does not have an (obvious) way to get per-test profiling information the way KEVM does. I've asked Virgil if he knows a set of tests that might be a good choice and he said he can take a look tomorrow. (I could also start a test run manually using a modified Makefile that times each test, but Everett says the KElrond suite takes 3 hours to run and that would go until the end of my workday anyway).
Everett said we should not worry about getting tests from MKR.

Everett said we should not worry about getting tests from MKR.

Why? @JKTKops @ehildenb

The current symbolic execution proofs for MKR are actually based on KEVM (via refinement proofs), so it's better to focus on passing the specs in tests/specs/mcd/... in the KEVM repository than looking at MKR right now.
The only other features of the MKR semantics independent of this are using the LLVM backend.

After making some progress we've realized that bazel (the build tool used by elrond-multisig) uses the version of the Haskell Backend in the global K package and won't use the version of kore-exec on the path. This is currently blocked until we have a way to extract just the kore files and kore-exec command from that project.
The current idea is to use --bug-report to generate the files we need for regression testing. Virgil plans on adding support for that to the elrond project in a few days.


Split mirrors into separate path in virtualservice analyzers

Fixes #25440, unblocks #22872. Changes mirror hosts to be distinct from other hosts.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure

@zerobfd: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
d2c588a73344924565515ccf0f2a1d21aae74894
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zerobfd: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
ccd499624a1ef8828f6a40df95fe6a2ec9b93af1
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zerobfd: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
7f6a252a33aefb9ec12b8a4ef70538f135b53229
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


capture also ride_type

https://github.com/benda18/Rollercoaster_Evolution/blob/6080f0789363b234a8735ac0bd4d21eaef92dd7e/R/00_build_data.R#L61

this may not be necessary if ride_type is captured already in another table.  document


JetBrains IDEs don't recognize DB UI Angular components anymore

In between versions 0.29.3 (most likely) and 0.30.2 some update seems to have happened that caused JetBrains IDEs not to recognize our DB UI Angular components anymore.

If you have access to WebStorm or IntelliJ for your own testing, please note that after switching to a broken version, invalidating the IDE's cache may be necessary to surface the error (File > Invalidate caches... > Invalidate & Restart). Otherwise, feel free to let me know if I should test something on our end.

DBUXDS-3970


Signature is out of date as of v648.0.6480781

It seems that
const SIGNATURE: &[u8] = &[
    0x80, 0xbe, 0x78, 0x01, 0x00, 0x00, 0x00, 0x74, 0x05, 0xe8,
];

is now incorrect as of v648.0.6480781

5h1b

Same issue
0.648.0.6480781

What is the new signature?

Thanks for opening an issue. Yes, the signature is out of date as of v648. I'll try to get around to this soon.

Ok, thank you!

Thanks for opening an issue. Yes, the signature is out of date as of v648. I'll try to get around to this soon.

@7ap Is there a way I could possibly find this manually? And also how?
Thanks.

i have no idea what i'm doing

@7ap Is there a way I could possibly find this manually? And also how?
Thanks.

I would also like for you to tell us about how to find it/look for it

When will the new version be out?

@5h1b @Tenandrobilgi @adudu21isme @d9no 👀

Hello, I am Stan.
As a new contributor, I am working on a fix for this out-of-date signature. It should be out later today.
Best Regards,
Stan.

Is there a way you could provide a guide?

Hello, I am Stan.
I have updated the signature. The program should now work.

Is there a way you could provide a guide?

Yes. I will make a guide on how to update the signature.
Kind regards,
Stan.

Hello, I am Stan.
I have updated the signature. The program should now work.

Is there a way you could provide a guide?

Yes. I will make a guide on how to update the signature.
Kind regards, Stan.

Thank you for updating it stan, and could you please send a link to the guide when you make it.

I'm closing this issue as it seemed  to have been solved, can't wait for the guide stan!

@5h1b @Tenandrobilgi @adudu21isme @d9no 👀

oh and i would also like to know what is the zliveforbeta channel as i never heard of that, and also why some people that i see with studio internal have there profile set as LuauWebService?

i did some research and it seems zliveforbeta has been deleted, sad :(

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers,
Stan.

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

Thank you for the guide, stan!

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

Thank you Stan! I do have a question though: Does this work for other channel builds?

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

Thank you Stan! I do have a question though: Does this work for other channel builds?

Hello @genocydr, I am Stan.
Yes.
Sincerely,
Stan.

@5h1b @Tenandrobilgi @adudu21isme @d9no 👀

oh and i would also like to know what is the zliveforbeta channel as i never heard of that, and also why some people that i see with studio internal have there profile set as LuauWebService?

Who have you seen with the profile LuauWebService? I own the account LuauWebService, lel

@5h1b @Tenandrobilgi @adudu21isme @d9no 👀

oh and i would also like to know what is the zliveforbeta channel as i never heard of that, and also why some people that i see with studio internal have there profile set as LuauWebService?

Who have you seen with the profile LuauWebService? I own the account LuauWebService, lel
maybe it was your account that posted it on the dev forum, are you dumbprogrammer69?

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

hi, sorry to ask, but can we have a visual tutorial too, i can't seem to understand how IDA works and get stuck on the first part because it says it can't find "VoiceChatEnableApiSecurityCheck"

@5h1b @Tenandrobilgi @adudu21isme @d9no 👀

oh and i would also like to know what is the zliveforbeta channel as i never heard of that, and also why some people that i see with studio internal have there profile set as LuauWebService?

Who have you seen with the profile LuauWebService? I own the account LuauWebService, lel

maybe it was your account that posted it on the dev forum, are you dumbprogrammer69?

I used to. LuauWebService is now my new account, as my girl now owns dumbprogrammer69. But yeah, I posted about Studio Internal in the forum.

Hello @genocydr, I am Stan.
I have made the guide. If any issues arise when following this guide, please let me know.
Cheers, Stan.

hi, sorry to ask, but can we have a visual tutorial too, i can't seem to understand how IDA works and get stuck on the first part because it says it can't find "VoiceChatEnableApiSecurityCheck"

You should probably search for it in strings.

hi, sorry to ask, but can we have a visual tutorial too, i can't seem to understand how IDA works and get stuck on the first part because it says it can't find "VoiceChatEnableApiSecurityCheck"

 You should probably search for it in strings.

i was just pressing search, sorry i'm new to this stuff

hi, sorry to ask, but can we have a visual tutorial too, i can't seem to understand how IDA works and get stuck on the first part because it says it can't find "VoiceChatEnableApiSecurityCheck"

 You should probably search for it in strings.

i was just pressing search, sorry i'm new to this stuff

again i'm am stuck, so sorry for taking up your time, the "jump to xref" is disabled for some reason

i was able to find out how todo it, but i think i did something wrong, all i got was "movups  xmm0, cs:xmmword_1476177F8"

i was able to find out how todo it, but i think i did something wrong, all i got was "movups xmm0, cs:xmmword_1476177F8"

I'll try and help once I am able to, but at the moment I'm busy.

Ya, if it ok with you, can you send me your discord?

genocydr


AngularJS Support

Hi,
Very nice work, would love to use this in an Ionic project I'm busy with - do you have any plans to support AngularJS?
Thanks

Hi @brandon-barker. This project use web standars that are fully compatible with AngularJS so you can use it as it is. If you are thinking about creating a directive on top of Slideout.js so it's easier to include in your own project is welcome but will not be a part of this library.


babel-node cannot transform

Version
2.3.0
Test Case
https://github.com/reactjs/react-router-tutorial
Steps to reproduce
lesson 14
add webpack-hot-middleware
Expected Behavior
babel-node server
SyntaxError: routes.js: Unexpected token (10:2)
   8 |
   9 | module.exports = (
> 10 |   <Route path="/" component={App}>
     |   ^
  11 |     <IndexRoute component={Home}/>
  12 |     <Route path="/repos" component={Repos}>
  13 |       <Route path="/repos/:userName/:repoName" component={Repo}/>
    at Parser.pp.raise (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:1378:13)
    at Parser.pp.unexpected (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:2817:8)
    at Parser.pp.parseExprAtom (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:749:12)
    at Parser.pp.parseExprSubscripts (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:504:
19)
    at Parser.pp.parseMaybeUnary (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:484:19)
    at Parser.pp.parseExprOps (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:415:19)
    at Parser.pp.parseMaybeConditional (/Users/willin/.nvm/versions/node/v5.10.1/lib/node_modules/babel-cli/node_modules/babylon/index.js:39

7:19)

bundled:
chunk    {0} server.bundle.js (main) 73.1 kB [rendered]
    [0] multi main 40 bytes {0} [built] [1 error]
    [1] ./~/.npminstall/html-entities/1.2.0/html-entities/lib/html5-entities.js 49 kB {0} [built]
    [2] ./~/.npminstall/ansi-html/0.0.5/ansi-html/index.js 4.02 kB {0} [built]
    [3] ./~/.npminstall/ansi-regex/2.0.0/ansi-regex/index.js 135 bytes {0} [built]
    [4] ./~/.npminstall/html-entities/1.2.0/html-entities/index.js 231 bytes {0} [built]
    [5] ./~/.npminstall/html-entities/1.2.0/html-entities/lib/html4-entities.js 6.57 kB {0} [built]
    [6] ./~/.npminstall/html-entities/1.2.0/html-entities/lib/xml-entities.js 2.98 kB {0} [built]

    [7] ./~/.npminstall/strip-ansi/3.0.1/strip-ansi/index.js 161 bytes {0} [built]
    [8] ./~/.npminstall/webpack-hot-middleware/2.10.0/webpack-hot-middleware/client-overlay.js 1.73 kB {0} [built]
    [9] ./~/.npminstall/webpack-hot-middleware/2.10.0/webpack-hot-middleware/client.js 4.18 kB {0} [built]
   [10] ./~/.npminstall/webpack-hot-middleware/2.10.0/webpack-hot-middleware/process-update.js 3.88 kB {0} [built]
   [11] (webpack)/buildin/module.js 251 bytes {0} [built]

ERROR in multi main
Module not found: Error: Cannot resolve 'file' or 'directory'

You need to use the react preset.

.babelrc
{
  "presets": [
    "es2015-loose",
    "stage-1",
    "react"
  ],
  "plugins": [
    "transform-runtime",
    "transform-react-jsx"
  ]
}

Can you transpile the files normally? This looks like a Babel mis config.


Status and need of example scripts

I feel that some / most of the scripts within examples/scripts folder are not in a good shape:

introduction statements per script are missing, that is, an explanation of each script's content and motivation

[x] Septimus

inline documentation is mostly very sparse and erratic

[x] Septimus

some commands are commented out without further context

[x] Septimus

some outputs after execution are irritating (e.g., env_eampe.jl outputs something regarding RL settings although it was never configured for RL-based control)

Considering that some of these scripts have been not touched for months and that there seem also content overlaps to the notebooks from the examples folder I would like to ask the core devs to critically go through the scripts and either delete those which them not having added value or improve those which should be kept for documentation / tutorial purpose

All old scripts have been deleted, rest tidied up and documented.
please comment if further need of adjustments or close if ok

Fine regarding last editorial checks


allDocs ndjson response

Would be nide if the _all_docs endpoint could respond in http://ndjson.org/ format (similar to _changes) which would make it possible to do streaming parsing of the response which can improve memory usage and also parsing performance of clients.

Agreed this would be a nice enhancement, thanks for suggesting it.

also very nice for _changes (already existing for longpoll, but would be great for normal mode, too) and _bulk_get


Some new machines & fixes

Add:
Commodore SL386SX, Packard Bell Legend 300SX, Thomson TO16, Amstrad PC5086, Shuttle Hot-419, Hp Vectra VL on dev branch.
Dynamic & sparse VHD support through external minivhd
WinCHIP2 & 2A
APM
i2c devices & DDC
MCA IBM GD5428
Fix :
issues #1, #93, #121
Cue files not loading.
Serial port and mouse
Update:
386+ cpu interpreter & dynarec
VGA, Cirrus Logic & S3 video cards
SCAT chipset
WD1007 ESDI controller

Merged in without too many conflicts, thanks!

Thanks!


Added Capability to run standalone commands against existing VM

This adds the capability to run commands on an ad-hoc approach against an existing virtual machine with three new flags (no script needs passing)
  `--vmcommand string`      A command passed as a string to be executed on the virtual machine specified with [--vmname]
  `--vmname string`         The name of an existing virtual machine to run a command against
  `--vmsudouser string`     A sudo user that the command will be executed

Signed-off-by: Dan Finneran<EMAIL_ADDRESS>

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "vmw_stdalone" git@github.com:thebsdbox/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354470888
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Added in some documentation. The long term goal of this is being able to pull things from a running virtual machine (like swarm keys from a UCP) and then use them with the vSphere plugin as it will spin out some worker instances.


The user having authRole can't access the data because a resolver generated by Amplify CLI doesn't allow authRole to access the data

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v14.17.5
Amplify CLI Version
7.6.21
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Amplify Categories
api
Amplify Commands
push
Describe the bug
I found the like a bug about a resolver generated by Amplify CLI.
I want to create schema any user is allowed to read all data.
I checked this document, I tried below the schema.graphql. But, I couldn't authenticated user is allowed to read all Todo.
schema.graphql
type Todo @model
  @auth(rules: [{ allow: public, operations: [read], provider: iam }]){
  id: ID!
  name: String!
  description: String
}

method
async function list_query() {
  const listTodo = await API.graphql({
    query: listTodos,
    variables: {},
    authMode: 'AWS_IAM'
  });
  console.log(listTodo)
}

error response
{"data":{"listTodos":null},"errors":[{"path":["listTodos"],"data":null,"errorType":"Unauthorized","errorInfo":null,"locations":[{"line":2,"column":3,"sourceName":null}],"message":"Not Authorized to access listTodos on type ModelTodoConnection"}]}

I checked the resolver named 'Query.listTodos.auth.1.req.vtl'.
Why this resolver is allowed only unauthorized user? What if I want to show the data to everyone?
'Query.listTodos.auth.1.req.vtl
## [Start] Authorization Steps. **
$util.qr($ctx.stash.put("hasAuth", true))
#set( $isAuthorized = false )
#set( $primaryFieldMap = {} )
#if( $util.authType() == "IAM Authorization" )
  #if( !$isAuthorized )
    #if( $ctx.identity.userArn == $ctx.stash.unauthRole )
      #set( $isAuthorized = true )
    #end
  #end
#end
#if( $util.authType() == "User Pool Authorization" )

#end
#if( !$isAuthorized && $util.isNull($ctx.stash.authFilter) )
$util.unauthorized()
#end
$util.toJson({"version":"2018-05-29","payload":{}})
## [End] Authorization Steps. **

Now, I'm thinking of replacing to the resolver like allowing authRole can access to the data.
    #if( $ctx.identity.userArn == $ctx.stash.unauthRole ||  $ctx.identity.userArn == $ctx.stash.authRole)

Expected behavior
Authenticated user can access all data.
Reproduction steps
N/A
GraphQL schema(s)

type Todo @model
  @auth(rules: [{ allow: public, operations: [read], provider: iam }]){
  id: ID!
  name: String!
  description: String
}

Log output

{"data":{"listTodos":null},"errors":[{"path":["listTodos"],"data":null,"errorType":"Unauthorized","errorInfo":null,"locations":[{"line":2,"column":3,"sourceName":null}],"message":"Not Authorized to access listTodos on type ModelTodoConnection"}]}

Additional information
No response

Hey @sasssssssa :wave: thanks for raising this! Can you confirm whether your auth resource allows unauthenticated logins? This is required to be used with public IAM rules in GraphQL
Allow unauthenticated logins? (Provides scoped down permissions that you can control via AWS IAM) Yes

This can be changed with amplify update auth > Walkthrough all the auth configurations

Hi, @josefaidt. Thank you  for your response
I had changed it before raise issue. But, I enabled unauthenticated logins does not solve this problem
$ amplify update auth
Please note that certain attributes may not be overwritten if you choose to use defaults settings.

You have configured resources that might depend on this Cognito resource.  Updating this Cognito resource could have unintended side effects.

...
 Allow unauthenticated logins? (Provides scoped down permissions that you can
 control via AWS IAM) Yes

I am not sure if you are having this issue locally when you mock, I certainly do. I have exactly the same issue, the issue doesn't happen when I deploy it to staging. This makes developing REALLY tricky because with every change I want to test, i actually need to push to my staging.
For reference, this used to work on v 1.
I'm surprised more people are not complaining about it.

Hey @sasssssssa :wave: apologies for the delay here! Are you still experiencing this issue? From the provided schema, frontend code example, and VTL template this appears to be set up correctly. I have a few follow-up questions:

do you experience this issue when mocking?
might be a silly question, but did you run amplify push after setting unauthenticated logins?

And to clarify, the unauth role will be used for public IAM auth, where the authRole is used to private IAM auth (accessible by any logged-in user)

Hi @sasssssssa, I have reproduced this issue, and will mark this as a bug. Thank you for filing.

Hi @sasssssssa, it turns out I was also a bit confused based on the existing documentation, and after confirming with the team, it looks like this is working as intended today. We are working on an update to the docs to clarify the issue a bit further, and hopefully make it easier to get this right the first time around. As suggested, adding the private iam auth rule should allow you to do what you're trying to do here. Please reach out if you have any more questions.


Use float accumulation in ChainerX float16 Dot

Improvement of #6227. Use single precision arithmetic in half precision Dot of the native backend. This PR may improve accuracy and speed. Note that some workspace memory is used.

Jenkins, test this please

This PR is OK as is, but similar fix is needed for other accumulative reductions, like Sum.

#6249

Jenkins CI test (for commit ea3950dc174258effa19106cefbbdfed5aaa74f2, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

LGTM


How to use RateLimiter to call api?

The example does not fit well with the actual API calling. In the scenario where API limits 5 calls per second but itself responds back in 3-4 seconds the example code just performs one call per second since its waiting for previous call to finish. How can I remedy it.
Example code
`
        //Create Time constraint: max five times by second
        var timeconstraint = TimeLimiter.GetFromMaxCountByInterval(5, TimeSpan.FromSeconds(1));
        //Use it
        for (int i = 0; i < 1000; i++)
        {
            await timeconstraint.Perform(ConsoleIt);
        }

    private async Task ConsoleIt()
    {
        Console.WriteLine(string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", DateTime.Now));
        await Task.Delay(3000); //simulate api call made and waiting for response.
    }`

You do not need to wait for the call completion:
for (int i = 0; i < 1000; i++)
        {
            await timeconstraint.Perform(ConsoleIt);
        }

 private void ConsoleIt()
    {
        Console.WriteLine(string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", DateTime.Now));
        Thread.Sleep(3000); //simulate api call made and waiting for response.
    }`

That does not seem to solve the problem. If you happen to execute this code, the system only makes a single call and waits until that finishes and starts next call.
`
public async Task Start()
{
        //Create Time constraint: max five times by second
        var timeconstraint = TimeLimiter.GetFromMaxCountByInterval(5, TimeSpan.FromSeconds(1));
        //Use it
        for (int i = 0; i < 1000; i++)
        {
            await timeconstraint.Perform(ConsoleIt);
        }

        return true;
    }
    private Task ConsoleIt()
    {
        Console.WriteLine(string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", DateTime.Now));
        Thread.Sleep(3000); //simulate api call made and waiting for response.
        Console.WriteLine("Finished");
        return Task.FromResult(0);

    }

`

Note that in my example, I was using a signature with a void return and not a Task, this is key here not to wait to the completion of the task.
So:
for (int i = 0; i < 1000; i++)
        {
            await timeconstraint.Perform(ConsoleIt);
        }

 private void ConsoleIt()
    {
        Task.Run(() => {
         Console.WriteLine(string.Format("{0:MM/dd/yyy HH:mm:ss.fff}", DateTime.Now));
        Thread.Sleep(3000); //simulate api call made and waiting for response.
      I didn't notice, that solved the issue.
Thanks!


Update CircleHash to newer version

Description

Update to newer version of CircleHash64 which is faster and 100% backward compatible.
Update README to add section "OMT uses CircleHash64 with Deferred+Segmented BLAKE3 Digests"

Show comparison of CircleHash64 vs SipHash, and BLAKE3 vs SHA3-256 to help explain our algorithm choices

Closes #243

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

Codecov Report

Merging #244 (658d7f1) into main (0836f0e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #244   +/-   ##
=======================================
  Coverage   68.93%   68.93%
=======================================
  Files          14       14
  Lines        7245     7245
=======================================
  Hits         4994     4994
  Misses       1619     1619
  Partials      632      632

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 0836f0e...658d7f1. Read the comment docs.

In case we do not already have some, maybe it would be great to have some regression tests here in atree that assert expected hash output for some values

@turbolent That's a great idea!  I'm going to include that before merging this PR.

I opened PR https://github.com/onflow/atree/pull/247 to add regression/compatibility test. It's a subset of tests copied from circlehash.

@fxamacker Please feel free to merge, I also approved #247


Add validHandler support

The jQuery validate plugin has an invalidHandler init function which gets triggered if something is invalid.  However it does not have anything for validHandler where you you want trigger something immediately if validation succeeds (i.e like hide something).
There is a suggested code change here to resolve this issue:
http://forum.jquery.com/topic/suggestion-for-validate-plugin
The issue is also discussed here:
http://stackoverflow.com/questions/11334365/jquery-event-when-validation-errors-corrected

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually.
To the reporter (or anyone else interested in this issue): If you're affected by the same issue, consider opening a new issue, with a testpage that shows the issue. Even better, try to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!

you can implement similar thins like this:
var validator = $("#signin_form").validate({
        rules: {
            Phone: {
                required: true,
                phone: true
            },
            VerifyCode: {
                required: true,
                verifyCode: true
            }
        },
        messages: {},
        success: function (label, element) {
            if (validator.numberOfInvalids() == 0) {
                console.log(true);
            }
        }
    })


Need a loading state in button

Whenever user taps on a button there are usually 2 usecases

navigate screen
call api => usually followed by navigate screen or any other action

If its a button with api call, it feels like a lag between pressing button and action on response. to solve that we need a loading state which will tell user the action is in loading state. Right now to do this I have created a custom widget which takes inputs and based on that shows loading if the button is in loading state.
Here is an example of Loading Button
LoadingButtonExample: https://studio.ensembleui.com/app/SwwVfRhzrvsumCbDi1rE/screen/9t2oDC0WNaYC9pI98zM0
LoadingButton (Widget): https://studio.ensembleui.com/app/SwwVfRhzrvsumCbDi1rE/widget/KhTDq4Rn1aCWFCGPCS4r
This is already super complex and still unable to meet all the use cases i.e I have right now 3 versions of loading buttons to support my use cases. In this example first click on continue, it will show you some users, now click on add button 1 by 1, it will act weird.
It should be as simple as this
Button:
  label: Continue
  loadingIndicator:
     Progress:
        #any configuration for Progress widget
  loading: ${getPeople.isLoading} #whether to display or not, could be bound to anything

minimizing the scope of this ticket to loading property only

currently only requested feature is loading, loadingIndicator is not required right now
to make it consistent with ensemble-react as it has loading property
will create a separate ticket for loadingIndicator when needed

pls change

loading to isLoading to be consistent with the APIs.
loadingIndicator to loadingWidget

from https://github.com/EnsembleUI/ensemble/issues/1584


Update Containerd in CI matrix to latest 1.6

Follow up from https://github.com/kubernetes-sigs/cri-tools/pull/1146#issuecomment-1533490120
Should we just use 1.6 to use latest of 1.6 for tests? I don't have context here and wonder what is the reasoning behind 1.6.2. Does CI test with oldest or newest?
cc @mikebrow

1.6.x being an LTS service release with sufficient extra CRI functionality backported/cherry picked as we go along,
we should be testing with a matrix of 1.6, 1.7.x and main
Of course every PR is tested against a version of critest but we may fall behind in specifying updated versions of cri-tools

the only exception to
version: [main, v1.6.x, v1.7.x]
would be when there is an issue cri-tools or containerd being on the wrong with a CRI api version or other needed change in kubelet vendor which happens sometimes..

https://github.com/containerd/containerd/pull/8474 moving containerd main up to latest cri-tools

Something similar to this: https://containerd.io/releases/#kubernetes-support


add c3i rm command to make pipeline cleanup faster

cc @jjhelmus @nehaljwani

any chance this could take a glob?  Then I could do c3i rm "jjh*"?

That requires introspection of what exists on the server.  It's probably possible.
fly -t 35 ps
name                 paused  public
c3i_docker           no      no
navigator            no      yes
test-rdonnelly       no      yes
mac_test             no      yes
nwani                no      yes
kale-one-off         no      yes
nwani_win            no      yes
nwani_linux-32       no      yes
conda-feedstock      no      yes
nwani_osx            no      yes
postgresql           no      yes
postgresql_win       no      yes
nwani_2              no      yes
nwani_linux-ppc64le  no      yes
nwani_linux-64       no      yes
rdonnelly-cb         no      yes
np113_mklfft_linux   no      yes
rdonnelly            no      yes
tbb                  no      yes
numpy-win-test       no      yes
tag_test             no      no
jjh_tornado          no      yes
jjh_scipy            no      yes
jjh_curl             no      yes
jjh_unixodbc         no      yes
jjh_curl_ppc         no      yes
jjh_unixodbc_ppc     no      yes
jjh_boto3            no      yes

A glob could then be added to loop over matching names

Interesting.  Not sure if this needs to be in c3i or if a bash script which calls fly would be sufficient.  Either way not a high priority.

Probably better in c3i, since all the connection details are already handled there.  I'll look into it.


Loading indicator on DataTable2

Is it possible to show a loading indicator on a simple DataTable2 while the data is being fetched from an API?

You can use FutureBuilder or other state managment of chose and display placeholder with loading indicator. Here's one example: https://github.com/maxim-saplin/flutter_web_spa_sample/blob/f590d39105fd6ec017509c8058379ddb5f0838f8/lib/ui/common/paginated_table.dart#L236


syscall/js: Add Truthy() and Falsy() to Value methods

What version of Go are you using (go version)?
go version go1.11 darwin/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
js/wasm

JS has the concept of "truthy" and "falsy".  It'd be nice if these were part of syscall/js, either as part and parcel of Value.Bool(), or failing that something along the lines of
func (o Value) Falsy() bool {
	return !o.Truthy()
}

func (o Value) Truthy() bool {
	switch o.Type() {
	case TypeUndefined, TypeNull:
		return false
	case TypeBoolean:
		return o.Bool()
	case TypeNumber:
		if math.IsNaN(o.Float()) {
			return false
		}
		return o.Float() != 0
	case TypeString:
		return o.String() != ""
	case TypeSymbol, TypeObject, TypeFunction:
		return true
	}
	return true
}

/cc @neelance

I'm not yet sure if it would be good to include it in syscall/js. For which APIs would you need the concept of "truthy"? Could you provide examples please?

I've been updating my Vue.js wrapper to use your wasm-sync-callbacks tree.  I was trying to replicate an example from the Vue Guide (here, the bit that starts with "This will render the same result. We can also bind to a computed property that returns an object.")  The JS in question is
function () {
    return {
      active: this.isActive && !this.error,
      'text-danger': this.error && this.error.type === 'fatal'
    }
}

So for this.isActive and this.error I wanted "truthy", for !this.error I wanted "falsy".  I implemented that part of that example like this:
return hvue.Map2Obj(hvue.M{
	"active": hvue.Truthy(data3.Get("isActive")) &&
		hvue.Falsy(data3.Get("error")),
	"text-danger": hvue.Truthy(data3.Get("error")) &&
		data3.Get("error").Get("type").String() == "fatal",
})

where hvue.Map2Obj(hvue.M{...}) is similar to how GopherJS automagically transforms a GopherJS js.M{} into a JS object, and hvue.Truthy() and Falsy() are similar to the example code I posted at the top of this issue, except obviously not methods on js.Value.  (See here.)
One could certainly argue that the absence of such a vague concept as "truthiness" in Go is (one of the reasons) why we use Go and not JavaScript, and I could certainly understand that, and agree that in most cases you shouldn't do it.  But pragmatically I think there are clear use-cases for it.
So to sum up, when transliterating JavaScript to Go, since JavaScript uses truthiness a lot, I think it'd be handy and pragmatic for JS-transliterated-to-Go to be able to do the same, "out of the box".
I could see that you might not want Value.Truthy()/Falsy() in syscall/js (although obviously I think having them as methods on Value would be the most useful).  There are other utility-functions that might also be handy, that shouldn't be in syscall/js.  So perhaps a syscall/js/jsutil or top-level jsutil package would be appropriate?  We discussed this a bit in the Gophers #webassembly channel (starting here), and one library with some nice utilities was pointed out: https://github.com/dennwc/dom/tree/master/js (permalink).

I'm not yet sure if it would be good to include it in syscall/js

I'd tend to agree; the implementation of "truthy" or "falsey" feels like something that should be left to the JavaScript VM; we would be reimplementing that logic which feels wrong.

we would be reimplementing that logic

Not necessarily.  It could be
// Global JavaScript function
function isTruthy(o) {
  if (o) { return true } else { return false }
  // or even: return !!o
}

func (o Value) Truthy() bool {
   return Global().Call("isTruthy", o).Bool()
}

That said, the concept of "truthy", while admittedly a bit general, is actually pretty well-defined: "All values are truthy unless they are defined as falsy (i.e., except for false, 0, "", null, undefined, and NaN)".  (In fact in my initial implementation of Truthy() & Falsy() I had Falsy() checking for false/0/etc, and Truthy was !Falsy, but then I inverted them.)  My point being, I suspect that a pure-Go version would be faster and just as accurate as trampolining to JavaScript.

I suspect that a pure-Go version would be faster and just as accurate as trampolining to JavaScript.

It might be useful to have some hard numbers here. It seems like a lot of work is being done to speed up these types of calls.

It might be useful to have some hard numbers here

Happy to give it a shot, if @neelance (et al) think this is a reasonable feature in the first place.  If they don't want to do it, it doesn't matter how fast it is.  :)

If the JS-inclined people generally agree this is a good idea, I don't object to adding one method. Two seems overkill, though. (e.g. we have utf8.ValidString but we don't also have utf8.InvalidString for the opposite)

I am quite sure that the pure-Go version will be faster.
In JS, using truthiness is common, but I think this is mostly because it has the simplest syntax. Not using truthiness in JS just looks ugly quite often.
I've seen truthiness hiding bugs. Having a strong expectation about a type of a value is usually safer. However, there are use cases with legacy code that need truthiness.
I don't object to adding just Truthy either. I just hope it will get used sparingly.

@theclapp Mind creating a CL? :)

@neelance Will do.  It may be a few days.  This'll be my first Go code contribution, so there's that first-timer learning curve to climb.


Modify: Quick Start Guide

The QSG is modified with the new approach eliminating the need for Tomcat.
Doc: 1

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Add tech preview annotation to manifests

Add tech preview annotation to manifests, after this PR https://github.com/openshift/cluster-version-operator/pull/694/files#diff-7a023c513e7d3dd1938909a860915f4541530097d5d25a4d743f3eabaad6fc95R227is merged, CVO will be responsible for creating manifests on tech preview clusters.

@JoelSpeed yes, I will do it in a separate PR, after CVO PR merges

/retest

/lgtm

/approve

/lgtm

/retest

Seems like you're missing an annotation on at least one manifest, based on this run:
$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/openshift_cluster-capi-operator/20/pull-ci-openshift-cluster-capi-operator-main-e2e-aws-capi-techpreview/1467934131437441024/artifacts/e2e-aws-capi-techpreview/gather-extra/artifacts/pods/openshift-cluster-version_cluster-version-operator-b797587c5-7wcwb_cluster-version-operator.log | grep -o 'error running apply.*' | sort | uniq
error running apply for role "openshift-cluster-api/capg-leader-election-role" (187 of 823): namespaces "openshift-cluster-api" not found
error running apply for serviceaccount "openshift-cluster-api/capz-manager" (177 of 823): namespaces "openshift-cluster-api" not found

Or maybe you need to keep the namespace regardless of tech-preview-ness to support those resources for some non-tech-preview component?

cc @jiajliu

@wking I fixed all annotations, thanks. I think namespace should not be present in non-techpreview clusters, this might bring some confusion for users.

/lgtm

/hold
techpreview e2e is failing, I will post a fix in another PR

/unhold
/retest

/hold

/unhold

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest


Add missing space

Due to missing space in appdir-lin.sh, it was not running appstreamcli.

Thanks!


option to use Email alias on new receiver

Does the option with FW means we need to keep paying license for the former employee?
Can we add an email alias for the new target recipient?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9e2bdb60-b559-ddf3-0eec-be4943fc94fd
Version Independent ID: 5b176c0f-6c35-a187-2ccb-53a23e154978
Content: Step 3 - Forward a former employee's email to another employee or convert to a shared mailbox - Microsoft 365 admin
Content Source: microsoft-365/admin/add-users/remove-former-employee-step-3.md
Service: o365-administration
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@TiloGit Thank you for your feedback.
You don't need to pay for the license as the mailbox would already be converted to a shared mailbox before you set up email forwarding (if you are following the article). You can also add it is an alias to the target recipient, however not when the account is active as a user or a shared mailbox. The email address or alias needs to be unique.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @TiloGit Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Fix ItemsRepeater problems

What does the pull request do?
Fix the problems with updating ItemsControl described in #2804. A couple of facepalms here:

ItemsSourceView was always constructing a new List even if the source was already an IList
Measure and Arrange were swapped in ItemsRepeater

This seems to be what was causing a previous problem which was hacked around in f09683c. Removed that hack

Also updated the control catalog with an "Add Item" button to test adding items.
Fixed issues
Fixes #2804

This fixes all of my issues. Thanks @grokys :)