Support for css

Closes #16

@kdy1 Are you working on this? I am helping out with https://github.com/connorskees/grass which is roughly the same speed as libsass (going to be deprecated I heard) and 2x faster than the defacto dart-sass without speed in mind, currently the project only aim to pass as much tests as possible. I wonder if we could use it here or are you planning on writing one?
It passes 3375 of 5093 tests as of 2020-08-07. CC @connorskees

@pickfire I didn't started seriously. Although I will determine after looking it's code, I think we can use it.

I'm excited to see this is being discussed! grass integration with swc was actually part of my end-term goals related to evangelizing grass. I would love to see a Webpack written purely in Rust, and Sass support is certainly a big step towards that. Anything that can further the integration between grass and swc will receive complete, in-tree support.
With regard to #16, it is already planned that grass will do automatic minification (in Sass this is referred to as compressed output). In addition, it is my hope that grass will be able to provide an API similar to that of postcss, which will easily enable autoprefixing and cssnext-like functionality.
libsass as well as node-sass and sassc are being officially deprecated (see libsass/3123, node-sass/2952, and sassc/273). What this means for grass, I think, is that we will be essentially on the same footing as libsass when it comes to being a "blessed" implementation. grass has very recently landed an MVP implementation of the module system, and so it is already well ahead of libsass in that regard.
There are a number of known, outstanding issues, but in practice it appears they do not come up very often. grass is currently able to compile a number of Sass libraries including Bootstrap 4, bulma-scss, and materialize. Having said that, I want to be clear that grass is still several months out from being what I would consider production ready. There is currently no support for the indented syntax or @forward, and limited support for @media, @at-root, and min(...)/max(...). There has also not been done any fuzzing for longer than an hour.
Please feel free to ping me for anything related to grass integration with swc or just Sass in general!

@connorskees Great to hear that! I will use it.
Although I'm not sure how should I integrate css loader with swc_bundler, I think it will be way easier with grass.

Currently we have two interfaces, I personally think it is not that good. CC @connorskees
pub fn from_path(p: &str, options: &Options) -> Result<String>
pub fn from_string(p: String, options: &Options) -> Result<String>

But I think this is better.
pub fn compile<R: io::Read, W: io::Write>(src: R, dst: W, options: &Options) -> Result<()>

@kdy1 What do you think would be better and easier to interface with swc?

@pickfire Does it compile scss to css?
String seems acceptable to me.

@pickfire Does it compile scss to css?

Yes, the output is css. That is basically what the crate is doing, I don't see it being useful to compile sass to sass. Haha

String seems acceptable to me.

Acceptable and even used by dart-sass. But not very flexible and performant, requires additional allocation for full String unlike write which can write partially to file directly wrapped in BufWriter. serde_json also provides these and I find it helpful.

@pickfire In fact grass did originally have an API similar to the one you describe. It was necessary to move away from this however in order to support the post-processing done by Sass. Specifically, we must check if the entire output is ascii in order to emit @charset "UTF-8" (or a UTF-8 BOM in compressed mode) at the start of the string. Both libsass and dart-sass write first to an internal buffer for this reason.
Profiling has shown that this has very little impact on the actual performance, presumably because it is a one time cost compared to selector extension or style parsing which are performed hundreds to thousands of times for libraries like Bootstrap. I think the API you have described may be a form of premature optimization.

@kdy1 So you are planning to write your own css parser instead of using something like cssparser from servo?

@kdy1 So you are planning to write your own css parser instead of using something like cssparser from servo?

I'm planning to write a new one. CSS does not have tricky syntax, so it will not be hard

@connorskees @pickfire
Now I have plenty of rest time, and I'm going to implement css parser and post processors.
But I noticed that css ast nodes are much more complex than I initiallly thought. So... can you point to css (or scss) ast declarations in grass? I tried looking at it but it has so many files.

@kdy1 The AST used for entire files can be found here: https://github.com/connorskees/grass/blob/master/src/parse/mod.rs#L45
You can find the AST nodes for at-rules in this directory, https://github.com/connorskees/grass/tree/master/src/atrule
If it is helpful at all, the AST we use for style values is here https://github.com/connorskees/grass/blob/master/src/value/mod.rs#L29, but it should differ greatly from that of regular CSS.
I am hoping to, in the near future, expand the ASTs we use for parsing (e.g. add an @if node to the Stmt struct).

@connorskees Thanks! It will be great help.

@kdy1 Note that the one @connorskees wrote is for css output for sass parsing and a lot is still not according to the spec.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Closing in favor of #2074


#14 [2pt] Reservations Form Page

-Add page to add Reservation

Form with fields:

username is AUTOFILLED
User can select from the Dropdown menu that lists all packages available
User can select the package type from the drop down menu (platinum, Gold, Silver)
To reserve a package, the user has to select a date and city.

Form for removing a reservation.

This issue was handled using this PR URL

This issue is handled through this PR URL


RN 0.56.0 Production build crash

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.5
CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Memory: 6.11 GB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.11.3 - /usr/local/bin/node
Yarn: 1.5.1 - /usr/local/bin/yarn
npm: 5.6.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
Android SDK:
Build Tools: 23.0.1, 23.0.2, 23.0.3, 24.0.2, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 27.0.1
API Levels: 23, 24, 25, 26
IDEs:
Android Studio: 2.2 AI-145.3537739
Xcode: 9.4/9F1027a - /usr/bin/xcodebuild
npmPackages:
react: 16.4.1 => 16.4.1
react-native: 0.56.0 => 0.56.0
Description
I have upgraded to RN 0.56.0 successfully. My app builds and runs in my development environment but it crashes in my production environment. Below is my stack trace. It seems to be an issue with the react package (com.facebook.react) but I am unsure how to troubleshoot this and haven't seen this issue asked before.
2018-07-20 16:45:47.219 [error][tid:com.facebook.react.JavaScript] undefined is not an object (evaluating 'Sn')
2018-07-20 16:45:47.221 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: undefined is not an object (evaluating 'Sn')
2018-07-20 09:45:47.232 ServiceNative[92286:609162] *** Terminating app due to uncaught exception 'RCTFatalException: Unhandled JS Exception: undefined is not an object (evaluating 'Sn')', reason: 'Unhandled JS Exception: undefined is not an object (evaluating 'Sn'), stack:
extractEvents@112:27183
extractEvents@112:23682
handleTopLevel@112:27390
<unknown>@112:28875
perform@113:3484
K@112:6111
_receiveRootNodeIDEvent@112:28846
receiveEvent@112:28958
value@18:2853
<unknown>@18:280
value@18:2304
callFunctionReturnFlushedQueue@18:252
'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010af6334b __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x0000000109e7121e objc_exception_throw + 48
	2   ServiceNative                       0x00000001081c69c5 RCTFormatError + 0
	3   ServiceNative                       0x00000001081c34a0 -[RCTExceptionsManager reportFatalException:stack:exceptionId:] + 507
	4   CoreFoundation                      0x000000010aeea05c __invoking___ + 140
	5   CoreFoundation                      0x000000010aee9ee1 -[NSInvocation invoke] + 289
	6   CoreFoundation                      0x000000010af01ed6 -[NSInvocation invokeWithTarget:] + 54
	7   ServiceNative                       0x00000001081da229 -[RCTModuleMethod invokeWithBridge:module:arguments:] + 602
	8   ServiceNative                       0x0000000108220b22 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 266
	9   ServiceNative                       0x000000010822089c ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 78
	10  libdispatch.dylib                   0x000000010eaff980 _dispatch_call_block_and_release + 12
	11  libdispatch.dylib                   0x000000010eb290cd _dispatch_client_callout + 8
	12  libdispatch.dylib                   0x000000010eb06e6b _dispatch_queue_serial_drain + 236
	13  libdispatch.dylib                   0x000000010eb07b9f _dispatch_queue_invoke + 1073
	14  libdispatch.dylib                   0x000000010eb0807f _dispatch_queue_override_invoke + 683
	15  libdispatch.dylib                   0x000000010eb0a3b7 _dispatch_root_queue_drain + 720
	16  libdispatch.dylib                   0x000000010eb0a08b _dispatch_worker_thread3 + 123
	17  libsystem_pthread.dylib             0x000000010eedd169 _pthread_wqthread + 1387
	18  libsystem_pthread.dylib             0x000000010eedcbe9 start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Reproducible Demo
Run on simulator/device pointing to your production environment.

@react-native-bot  I ran react native info and updated the Environment Section.

possible duplicate of #19827

This was issue with react-native-code-push. I needed a new codepush version for production. You can see my issue posted here: https://github.com/Microsoft/react-native-code-push/issues/1359


[utils] implement a item-pointer iterator template for many iterators

Many Iterators have the same pattern in our code: they have ++, deference, equal operators, IsDone method and hold a pointer to the an object. This PR extracts the common pattern into a template class ItemPtrIterator and use it as a base class for those similar Iterator classes.

Well, I moved mItem to the base class. However, it seems difficult to use only one template parameter and define it in the derived class because of the incomplete type issue. As pointed in this thread:

I also found a thread using traits workaround for similar case. However I think it doesn't fit our case since we don't use template derived class (the iterators). We need different derived class so they have their own Advance method.
Thoughts? @abtink

Well, I moved mItem to the base class. However, it seems difficult to use only one template parameter and define it in the derived class because of the incomplete type issue. As pointed in this thread:

I also found a thread using traits workaround for similar case. However I think it doesn't fit our case since we don't use template derived class (the iterators). We need different derived class so they have their own Advance method.
Thoughts? @abtink

@Irving-cl thanks for looking into this. Yes it makes sense to need a complete type.
So let's have two template parameters and pass ItemType as template augment (thinking more about this, I feel it may even be better and the intention more clear with passing as template param).

@Irving-cl thanks for looking into this. Yes it makes sense to need a complete type.
So let's have two template parameters and pass ItemType as template augment (thinking more about this, I feel it may even be better and the intention more clear with passing as template param).


Initial Setup / Account Information Dialogue Missing

Hello, and a big thank you for reviving this plugin.
I just recently updated from the old version, and am in the process of resetting up my projects.
Howevor the new plugin (latest release, and latest Streamdeck software) does not allow me to input any information other than the "Title" field. Below that is blank in the software, and I am unable to link my account, enter the API key, etc.
Thanks for your help and work on this.

@V3XED Are you able to attach a screenshot showing the Stream Deck software version and the plugin version so I can confirm I'm running the same version?

@brentonrace requested information attached. Thank you!

@V3XED Thanks, I've just upgraded to 6.8.0 and initially it was not happy but seems to have come good after restarting the Stream Deck service. Have you tried a computer restart?
If that doesn't work, are you able to check the logs under C:\Users[your user account]\AppData\Roaming\Elgato\StreamDeck\logs and see if that contains any errors that might shed some light on what is happening?

@brentonrace, I can confirm that restarting the machine and services does not have an effect.
Is it possible that the install of the plugin is partially failing to copy files? I am installing without administrative privileges.
Logs are not particularly illuminating, at least not anything I am seeing:
2024-11-19T13:01:42.391Z                     StreamDeck                    inf ESDCustomPluginClient::onRuntimeStateChanged(): Plugin 'one.blueshift.streamdeck.toggl' runtime starting 2024-11-19T13:01:42.391Z                     StreamDeck                    inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl' processes event queue [Starting] 2024-11-19T13:01:42.391Z                     StreamDeck                    inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl': STOPPED -> LAUNCHING 2024-11-19T13:01:42.391Z                     StreamDeck                    inf ESDCustomPluginClient::enterLaunching():        Starting 'one.blueshift.streamdeck.toggl'

@V3XED It looks like the custom fields in the property inspector are hidden by default and only made visible when the plugin has been able to make a websocket connection to the streamdeck. It appears something is not working in that initial connection.
Do you have any other log entries after what you included above? After enterLaunching I see:
inf ESDCustomPluginClient::onRuntimeStateChanged(): Plugin 'one.blueshift.streamdeck.toggl' runtime started
inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl' processes event queue [Launched]
inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl': LAUNCHING -> CONNECTING
ESDCustomPluginCommunication::onMessageReceived(): Plugin C7C17FE23B37CF0D2A8DB9C9B08851B9 is now connected
inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl' processes event queue [Connected]
inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl': CONNECTING -> CONNECTED
inf ESDCustomPlugin::onSessionConnected():          Plugin 'one.blueshift.streamdeck.toggl' connected

Then when I click on one of the buttons in the Stream Deck app to edit settings I see:
ESDCustomPluginCommunication::onMessageReceived(): PI 2BBE99FD5027842C9A390C726EC0B471 is now connected

If you can check that, hopefully we can narrow down where it's failing to connect.

Hello @brentonrace, I have done a few things since we last chatted.
#01 - Installed this on another machine where I have admin privilege's (but on the same network) and it worked as expected. No issues.
#02 - Re-checked the logs per your last post. I don't see any more log data relevant to TOGGL after the snippet I posted above. The "Starting 'one.blueshift.streadeck.toggl'" message is the last one posted before it moves on to handling other plugins. The sequence for Toggl ends. Even after pressing a key on the streamdeck (which just shows a yellow triangle and exclamation point when launching)
Re-sharing that chunk below from todays log.
2024-12-03T10:40:05.272Z                     StreamDeck                    inf ESDCustomPluginClient::onRuntimeStateChanged(): Plugin 'one.blueshift.streamdeck.toggl' runtime starting
2024-12-03T10:40:05.272Z                     StreamDeck                    inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl' processes event queue [Starting]
2024-12-03T10:40:05.272Z                     StreamDeck                    inf ESDCustomPluginClient::_process():              Plugin 'one.blueshift.streamdeck.toggl': STOPPED -> LAUNCHING
2024-12-03T10:40:05.272Z                     StreamDeck                    inf ESDCustomPluginClient::enterLaunching():        Starting 'one.blueshift.streamdeck.toggl'

@V3XED Hmm okay, those logs all look normal from what I can see. The only thing that isn't there is the log entry that should occur when you open the property inspector for a button in the Stream Deck app. That's what should trigger the properties to load which you are not seeing. When you click on one of the toggl buttons in the Stream Deck app, do you see a message in logs like ESDCustomPluginCommunication::onMessageReceived(): PI 2BBE99FD5027842C9A390C726EC0B471 is now connected ?

@brentonrace, after waking up the device, and mashing the keys a bit. See below.  No change to the issue though, it persists. ```
2024-12-03T14:54:41.917Z   StreamDeck   MainWindow::event():                            Wake up keypad(s).
2024-12-03T14:54:43.318Z   StreamDeck   ESDCustomPluginCommunication::onMessageReceived(): PI 3BB74BE1A9DE06596455BC48AE6F2338 is now connected
2024-12-03T14:54:44.733Z   StreamDeck   ESDCustomPluginCommunication::onMessageReceived(): PI 154102FA8D19CED9409489FA9E0E7FDC is now connected
2024-12-03T14:54:44.853Z   StreamDeck   ESDCustomPluginCommunication::onMessageReceived(): PI 6A0E89226A9760126D82ED0B754CFA74 is now connected
2024-12-03T14:54:46.024Z   StreamDeck   ESDCustomPluginCommunication::onMessageReceived(): PI BA6BB6E54B9995C0708A126F2831C9F2 is now connected

@V3XED Hmm, interesting. That all looks normal, so I'll have to dig into where it might be failing after the initial connection. Hopefully will come back to you soon.

Resolved via a clean install of the StreamDeck software. All working as expected now!
Sorry to have taken you on a wild goose chase. I would have tried this sooner If I had admin privilege's for the machine.

@V3XED No worries, glad to hear you've sorted it out.


OrderByJoin for BelongsTo relationships breaks in laravel 5.5

https://github.com/fico7489/laravel-eloquent-join/pull/104
This PR changed how the correct method call is determined by checking if the method name is_callable() or not.  However, in our testing with a BelongsTo relationship in Laravel 5.5 is_callable() is returning true no matter what method name you pass and so picks the wrong method to call resulting in an error.
We have rolled back to 4.1.1 in the meantime where the old version check logic is in place.

I encountered same problem with Eloquent 5.7.17 when updated my fork


Do we need babysitter?

From @TamalSaha on March 7, 2017 13:37
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/stateful-apps.md#managing-lifecycle-of-members
The second mechanism is having each "member" use the state of the cluster and transform that into cluster configuration or decisions about membership. This is currently implemented using a side car container that watches the master (via DNS today, although in the future this may be to endpoints directly) to receive an ordered history of events, and then applying those safely to the configuration. Note that for this to be safe, the history received must be strongly consistent (must be the same order of events from all observers) and the config change must be bounded (an old config version may not be allowed to exist forever). For now, this is known as a 'babysitter' (working name) and is intended to help identify abstractions that can be provided by the StatefulSet controller in the future.
Copied from original issue: k8sdb/elasticsearch#11

This issue was moved to kubedb/project#75


Fix the split learning example

Update the split learning example code to accommodate changes from Plato
Description

With the new updates in the Plato codes, the original implementation of split learning is no longer working, so this PR just updates the example code to fix that.
The following files are modified:
split_learning_algorithm.py: update such that the model weights that are not trained by clients will not be affected by the updates from clients. Also update the two training methods for clients to make use of the GPU device if exists. Lastly, store the data used to extract features to ensure that the order of input training data for clients is the same as the order of gradients received from the server
split_learning_server.py: some clean-ups to avoid duplicate codes.
split_learning_client.py: some refactoring to accommodate new changes from Plato
split_learning_trainer.py: update logging codes and remove the use of the sampler to ensure that the order of the gradients to be sent to the clients is the same as the order of the features received from the clients
split_learning_MNIST_lenet5.yml: lower the learning rate as it seems that the model weights on the clients tend to become NaN during the training. I'm not sure whether this is due to the current implementation or if it is a problem that is expected for split learning. Since for split learning, when the server is calculating the gradients for the clients, they are calculated based on the assumption that the part of the model that is on the client is not changing. But when clients are backpropagating with these gradients, the model weights are changing, and after the first few batches of gradients, the gradients from the server might be leading the model weights on the client to the wrong direction, preventing the model from converging.
How has this been tested?

Run python examples/split_learning/split_learning.py -c examples/split_learning/split_learning_MNIST_lenet5.yml without errors
Types of changes

[x] Bug fix (non-breaking change which fixes an issue) Fixes #
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Hi @baochunli ,
I've taken another look into the split learning config files, and it seems like the splitNN is more likely to work well in the scenario where each client only trains on a small number of data. When the training set size on the client is small, the client and the server will communicate more frequently, making the training of splitNN more similar to the training of a local model without cut layers.
Additionally, I think this discovery is also in alignment with what is demonstrated in the original paper. Although the author does not mention about the data size on each client, he/she only conducted the experiment in the scenario of a large number of clients (i.e. 100 and 500 clients). Even though it is not explicitly mentioned, I think the data is distributed in an IID manner (since it is probably the most common way to partition the data among clients), which will make the number of data on each client to be small.
I ran the split learning with 500 clients and 100 data example on each for 200 rounds, and below is the change of accuracy:

The model was able to reach an accuracy of around 93% at the end. Below is the config yaml file used to run the test:
clients:
    # Type
    type: split_learning

    # The total number of clients
    total_clients: 500

    # The number of clients selected in each round
    per_round: 1

    # Should the clients compute test accuracy locally?
    do_test: false

server:
    type: split_learning

    address: <IP_ADDRESS>
    port: 8000

data:
    # The training and testing dataset
    datasource: MNIST

    # Number of samples in each partition
    partition_size: 100

    # Fixed random seed
    random_seed: 1

    # IID, biased, or sharded?
    sampler: iid

trainer:
    # The type of the trainer
    type: split_learning

    # The maximum number of training rounds
    rounds: 200

    # The maximum number of clients running concurrently
    max_concurrency: 3

    # The target accuracy
    target_accuracy: 0.95

    # The machine learning model
    model_name: lenet5

    # Number of epoches for local training in each communication round
    epochs: 1
    batch_size: 32
    optimizer: SGD

algorithm:
    # Aggregation algorithm
    type: split_learning

    # Split learning flag
    split_learning: true

parameters:
    model:
        num_classes: 10
        cut_layer: relu4

    optimizer:
        lr: 0.01
        momentum: 0.9
        weight_decay: 0.0

results: round, accuracy

Hope this helps.
Thanks,

Hi @baochunli ,
I've taken another look into the split learning config files, and it seems like the splitNN is more likely to work well in the scenario where each client only trains on a small number of data. When the training set size on the client is small, the client and the server will communicate more frequently, making the training of splitNN more similar to the training of a local model without cut layers.
Additionally, I think this discovery is also in alignment with what is demonstrated in the original paper. Although the author does not mention about the data size on each client, he/she only conducted the experiment in the scenario of a large number of clients (i.e. 100 and 500 clients). Even though it is not explicitly mentioned, I think the data is distributed in an IID manner (since it is probably the most common way to partition the data among clients), which will make the number of data on each client to be small.
I ran the split learning with 500 clients and 100 data example on each for 200 rounds, and below is the change of accuracy:
The model was able to reach an accuracy of around 93% at the end. Below is the config yaml file used to run the test:
clients:
    # Type
    type: split_learning

    # The total number of clients
    total_clients: 500

    # The number of clients selected in each round
    per_round: 1

    # Should the clients compute test accuracy locally?
    do_test: false

server:
    type: split_learning

    address: <IP_ADDRESS>
    port: 8000

data:
    # The training and testing dataset
    datasource: MNIST

    # Number of samples in each partition
    partition_size: 100

    # Fixed random seed
    random_seed: 1

    # IID, biased, or sharded?
    sampler: iid

trainer:
    # The type of the trainer
    type: split_learning

    # The maximum number of training rounds
    rounds: 200

    # The maximum number of clients running concurrently
    max_concurrency: 3

    # The target accuracy
    target_accuracy: 0.95

    # The machine learning model
    model_name: lenet5

    # Number of epoches for local training in each communication round
    epochs: 1
    batch_size: 32
    optimizer: SGD

algorithm:
    # Aggregation algorithm
    type: split_learning

    # Split learning flag
    split_learning: true

parameters:
    model:
        num_classes: 10
        cut_layer: relu4

    optimizer:
        lr: 0.01
        momentum: 0.9
        weight_decay: 0.0

results: round, accuracy

Hope this helps.
Thanks,

Sorry for the late response; I finally got a bit of time to get back to this PR. What you said is very insightful indeed. The code works with the latest version of Plato, but it hasn't been adapted to the Plato's new client and server public API (see documentation for details). We are refactoring the code to make it compatible, and to change several places where the quality of the codebase is not good.

I see; that sounds great. Thanks for the reply!


Differences in weight data structures for the Sequential and functional API?

I just had an interesting situation where I built the same network architecture using the Sequential and the functional api, however if I train the one and transfer the weights to the other like so:
model2.set_weight(model1.get_weight())
and I don't get the same outputs.
I used the following code to construct the models:
Using Sequential
model1 = Sequential()
model1.add(GRU(15, activation="relu", input_shape=(1052,12), return_sequences=True))
model1.add(Dense(1))
Using the functional API
inlayer= Input(shape=(1052,12))
hidden= GRU(15, activation="relu", return_sequences=True)(inlayer)
outlayer = Dense(1)(hidden)
model2 = Model(inputs=inlayer, outputs=outlayer)
It is easy to get around this by sticking to the functional API, but why would this situation occur, and is it as intended?

Have you compiled your model after setting the weights?
This works for me.
import numpy as np

from keras import Sequential, Input, Model
from keras.layers import GRU, Dense

model1 = Sequential()
model1.add(GRU(15, activation="relu", input_shape=(1052, 12), return_sequences=True))
model1.add(Dense(1))
model1.compile('sgd', 'mse')
model1.fit(np.random.normal(size=[40, 1052, 12]), np.random.normal(size=[40, 1052, 1]), batch_size=10, epochs=1, verbose=0)

dummy = np.random.normal(size=[10, 1052, 12])
model1_pred = model1.predict_on_batch(dummy)

inlayer = Input(shape=(1052, 12))
hidden = GRU(15, activation="relu", return_sequences=True)(inlayer)
outlayer = Dense(1)(hidden)
model2 = Model(inputs=inlayer, outputs=outlayer)
model2.set_weights(model1.get_weights())
model2.compile('sgd', 'mse')
model2_pred = model2.predict_on_batch(dummy)

np.testing.assert_allclose(model1_pred, model2_pred)


Setting the browser zoom higher than 100% can cause large gaps in the order book

Setting the browser zoom higher than 100% (try 140%) can cause large gaps in the order book.
For example on the LINK/ETH pair the top of the order book can show up to several pages of blank space.
I'm not exactly sure what causes it but it will usually happen within a couple of minutes.
What I did:

Go to the Link/ETH pair.
Change my browser zoom setting from 100% to 140%.
Scroll up and down the order book.
Change to a different trading pair then come back to Link/ETH.
Scroll to the top of the order book.

You should see it start populating blank space like shown in the attached picture.
Edit: Using the Brave browser.

Hope that helps!
0x38aC7EA6d2EDFf2d78E5af31B4caF27592b4e094

@timet7 Could you point out where blank space is in the screenshot?

The whole screenshot shows blank space. When scrolling up or down the order book you'll see it gradually fill with space like shown in the screenshot which lacks any orders. Sorry, it's a bit difficult to explain.
It's really only noticeable at high zoom settings in the browser and doesn't appear when using the default 100% setting.

The orderbook is scrollable, you happened to scroll it to display placeholder '-'s.

The orderbook is scrollable, you happened to scroll it to display placeholder '-'s.

Alright, that makes sense. I just thought at larger zoom settings it seemed kind of excessive. Sorry to waste your time.
The exchange is fantastic and IMO a real game changer in the DEX space. So keep doing what you're doing!


Add higher quality Discord badge and add a link to the license badge.

Describe in detail the problem you had and how this PR fixes it
The discord badge wasn't at a high enough quality. This changes it to a version by Shields. I've also linked our MIT license.
Is there an open issue you can link to?
#27
#360

Would this be better @nhooyr ?
https://owo.whats-th.is/mbjPztv.png

Why don't we just keep the style?

I much prefer the one @grant found :)


Head content is being displayed

Excel To HTML using codebeautify.org

Budget Day Package at Ile Aux Cerfs

While you are on holidays in Mauritius, a gem that awaits you is the Ile aux Cerfs islet. If you are on the lookout for the perfect balance between relaxation, fun and water activities, you should definitely go for the Budget Day Package at Ile Aux Cerfs. The package includes a thrilling speed boat ride to the pristine Grand River South East waterfall and a lip-smacking BBQ lunch. You have the option to do water activities or just relax and swim in the azure lagoon.
Your trip starts with a warm welcome by the enthusiastic and informative guide at Trou D’eau Douce (Parking-Four a Chaux). From there, you will experience a 15 minute ride at thrilling speed by boat, while being transferred to the gorgeous Ile aux Cerfs Island. Feast your eyes on the vivid turquoise colour of the lagoon, lush green casuarina and mangrove trees, not to mention the splendid and unique seashore with white soft sand.
 Since this package is flexible depending on the wishes of the clients, you can either start with the water activities or with a trip to the Grand River South East waterfall located on the main land of Mauritius by speedboat. When you will be heading to the spellbinding waterfall you can cherish the pristine beauty of the surroundings, the lush greenery, and even encounter some monkeys near the waterfall.
Now if you opt for water activities, you will enjoy the activities at one go in the vicinity of Ile aux Cerfs. You have the choice of doing one or all three activities from a panoply: parasailing, banana ride, tube ride, undersea walk. Those who do not feel like engaging in the water activities and swim in the lagoon or relax on the island.
Regarding lunch, you will be heading to Ilot Mangenie-which is just next to Ile aux Cerfs- for a scrumptious BBQ, including drinks, and sometimes accompanied by a fun live entertainment!!

not in scope for this lib to parse whole HTML pages.


error: bundling failed

Hi,
I'm trying to use latest version of plugin (2.5.0) in react native project (babel-core 6.26.3) but I do get this error
error: bundling failed: TypeError: Cannot read property 'indexOf' of undefined
    at /xxx/node_modules/babel-plugin-import-graphql/build/index.js:46:22

here's my .babelrc
{
  "plugins": ["import-graphql"],
  "presets": ["react-native", "react-native-stage-0/decorator-support", "flow"]
}

Any ideas?

@ovaris v2.5.1 was just published and should fix your issue! :)

@detrohutt THX that was fast! I'm seeing now this, after upgrading:
ror: bundling failed: TypeError: Cannot read property 'options' of undefined
    at Plugin.manipulateOptions (xxx/node_modules/babel-plugin-import-graphql/build/index.js:49:32)

Alright. That should have fixed it, but I've got one more trick up my sleeve. Give me a few more minutes and I'll get another patch out.

Give v2.5.2 a shot lol.

Sleeve worked! Big thanks. Now only thing left to figure out is to how to get rid of Flow error:
Cannot resolve module ./foo.graphql

Aw, sorry, but I'm not going to be any help there. Never touched flow before. It may be something similar to the fix for a similar error in TypeScript that I shared here. :man_shrugging:

Actually it looks like there are several ways to fix this for flow outlined here :D

I'm going to close this issue. If you can't get the flow error fixed, you can open another issue for that and I'll try to find some time to see if there's something I can do on my end in the package code to fix that problem.

Thx for support, Flow error was easy to fix, .flowconfig:
module.name_mapper='.*\(.graphql\)' -> 'empty/object'

Glad you got it working! Just let me know if you run into any more problems. And thanks for your patience while I got this issue taken care of.


Contracts: transaction icon

Need to discuss what icon to display for contract transactions. Now BEAM icon is displayed. Since there might be any arbitrary number of assets involved or even "technical transactions" like contract registration which requires only fee I suggest to display special "CONTRACT" icon in all the cases.

will be done here https://github.com/BeamMW/beam-ui/issues/450


Post v1.5.2 update AWSAccelerator-Pipeline fails with 1 validation error detected: Value at 'variables' failed to satisfy constraint: Member must have length greater than or equal to 1

Describe the bug
This morning I updated our test LZA deployments to v1.5.2 as detailed in https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/update-the-solution.html
Post stack update, AWSAccelerator-Pipeline completed without issue. However, upon subsequent test run of the pipeline, I encountered the following error:

Examination of the pipeline shows that there is an empty Variables stage. This appears to be a V2 feature.

Furthermore, examination of the template indicates that it may not have been updated from the v1.5.1 release.

Unclear if this is a contributing factor to this issue.
To Reproduce
Update to v1.5.2 using the current template from https://s3.amazonaws.com/solutions-reference/landing-zone-accelerator-on-aws/latest/AWSAccelerator-InstallerStack.template
Attempt to Release Change on the AWSAccelerator-Pipeline.
Expected behavior
.
Please complete the following information about the solution:

[ ] Version: v1.5.2
[ ] Region: [us-east-1, us-gov-west-1]
[ ] Was the solution modified from the version published on this repository? No
[ ] Were there any errors in the CloudWatch Logs? No notable errors identified thus far

Screenshots
If applicable, add screenshots to help explain your problem (please DO NOT include sensitive information).
Additional context
Add any other context about the problem here.

Confirmed that the installer stack version in SSM is still 1.5.1:

@rgd11 It appears that v1.5.2 may not have been fully released.

Would greatly appreciate recommended next steps to recover this deployment to a functional state.

Can you please confirm installer stack ACCELERATOR_REPOSITORY_BRANCH_NAME parameter value, if the value is release/v1.5.2, you will need to release the AWSAccelerator-Installer pipeline. Kindly make sure InstallerStack version SSM parameter value is 1.5.2 before releasing installer pipeline.

Can you please confirm installer stack ACCELERATOR_REPOSITORY_BRANCH_NAME parameter value, if the value is release/v1.5.2, you will need to release the AWSAccelerator-Installer pipeline. Kindly make sure InstallerStack version SSM parameter value is 1.5.2 before releasing installer pipeline.

Yes, release/v1.5.2 was used, even when the template incorrectly identified 1.5.1 as detailed above.

Am manually releasing the installer pipeline now and will report results when complete.


No ESLint Configuration Found

Issue Type
Question
Issue Description
May I know how to set the path of .eslintrc like linter-eslint package? Because I need to lint javascript in html & php files, and I did install the eslint-plugin-html in linter-eslint-node directory and added eslint-plugin-html to .eslintrc in that directory too. However, the linter says no eslint configuration found. Besides, linter-eslint package is just work fine with that.
Linter Eslint Node: ![image](https://user-images.githubusercontent.com/68846168/164946944-752c4614-acb0-411e-aa00-62a3231c516a.png)

Thanks for reporting this. We removed the Lint HTML files setting because all it did was add a scope to the List of scopes to run ESLint on list above, so I felt it was redundant. But I didn't do extensive testing to make sure this still worked.
Luckily, I just attempted an experiment, and it does work. Here's what I did:

Created an empty project, installed eslint and eslint-plugin-html into the project's node_modules folder
Created an .eslintrc at the root of the project and included "plugins": ["html"]
Created index.html and index.php and gave them identical contents; both had a script block with a linting error
Neither one did any linting until I added the correct scope — text.html.basic or text.html.php — to linter-eslint-node's package settings under List of scopes to run ESLint on
Once I added those scopes, everything worked

I can think of three things that might be happening for you:

You didn't add text.html.basic or text.html.php as described above. (The settings instruct you to add source.js.embedded.html, but that will only work when the cursor is inside that scope when you save or invoke the Lint command, and that's likely not what you want. I will change those instructions.)
Your .eslintrc exists in a directory above your project root. This is unlikely, but it is another difference between this package and linter-eslint: starting from the file that you're linting, both packages traverse upwards and use the first .eslintrc they find, but linter-eslint-node will only go as far as the project root, whereas linter-eslint will keep going to the root of the volume if need be. One way to test this would be to lint a JavaScript file in your project; if it gets linted, then linter-eslint-node can find your .eslintrc.
Just to be clear, eslint-plugin-html needs to be installed either locally (in your project) or globally, not “in linter-eslint-node directory” as you state, but I think this was just an ambiguous phrasing.

If you try all this and still can't get it working, please run the Linter Eslint Node: Debug command and paste the output, and also include the contents of your .eslintrc.

Sorry, I didn't read closely enough. You say that it gives you a “No ESLint configuration found” error message, so it's most likely item 2 in my list. I'm guessing that you'd get that error in all cases, not just for HTML files.

Yes, installing eslint-plugin-html and adding .eslintrc in project root actually it's just work fine. But to be more convenient to lint projects, I'm here to request to add .eslintrc path configuration like linter-eslint package so that we don't need to setup eslint everytime. And it's just my request also as my suggestion, not forcing you guys to add it because I understand you guys have your own opinion on it too. That's all from me.

Ah, I see. I'll keep this open as a feature request; if other people ask for it, we can see about adding it back in. Thanks!


Add DataBase (MongodB)

Setup & Configure MongodB , to use as a database. Seed raw data for testing.

Task Accomplished Successfully, Hence closing this issue.


Enabling SpatialOS toolbar on Mac

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.

Description
This enables the SpatialOS toolbar on Mac.
Release note
still need to do that
Tests
tested it manually on my Mac machine
Documentation
none needed for now
Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.

Nit: there's a place in setup.sh where single [] brackets are used. I guess the intention is to have double brackets everywhere?

chatted offline with josh:

will create a new file where the fields are gonna live to make everything a bit cleaner
as Alex also mentioned: having it in the settings is probably the nicest solution. Will add that to the PR (and if it's quick, will add it to the UI as well ;) )

another thing that I just realized: you can't build linux workers using Mac on Unreal. Will therefore look into removing the Deploy button if you are on macOS, as you can only use this Mac as a dev environment for local iterations.


Plugin not loaded at startup with error message

Sometimes the plugin is not loaded at the startup of loupedeck live s, the loupedeck software then produces an error message, see screenshot.

If I can do anything to help solve this issue, I am glad to help.
Thank you for the plugin!

Oh sorry, did not see this one before now. 😔 But thanks for reporting.
This is interesting. It's hard to tell what it can be. Could you provide some more information about your setup.
Is it Windows 10 or 11. What version of the Louepdeck software are you using etc.

Sorry for the late reply.
Since updating to latest version of Loupedeck Configuration, this error message doesn't show up anymore. So I think you can close the issue. If it reappers I will create a new issue with more details about my system, etc.


Enable jsonapi also for Vivaldi

Summary
gopass jsonapi configure allows to easily configure your browsers to support gopass with the gopassbridge plugin. But the browser Vivaldi (based on chromium) is missing.
Expected behavior
Be able to select vivaldi when executing the configure step/tutorial.
Environment

Not really relevant, but for completeness

OS: Ubuntu 16.04
OS version: Linux 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
gopass Version: 1.8.5-git+HEAD
Installation method: go get -u github.com/gopasspw/gopass

Additional context
Maybe provide a workaround for the meantime.
e.g. Is it save to just copy the config of chromium to vivaldi?

The temporary workaround is of course to copy
$HOME/.config/chromium/NativeMessagingHosts/com.justwatch.gopass.json
to
$HOME/.config/vivaldi/NativeMessagingHosts/com.justwatch.gopass.json

This has been closed via #1133


CASMINST-3490: Added tarball expansion estimate and standardized path…

Summary and Scope
CASMINST-3490:

Added tarball expansion estimate
standardized path to store typescripts
Corrected problem in bootstrap_livecd_remote_iso where the directory containing the typescript was obscured by mounting the PITDATA device on top of it.

Issues and Related PRs
Testing
Tested on:
Test description:
Risks and Mitigations
Pull Request Checklist

/backport release/1.2 main


[feature] Allow download of specific ISOs

I think, it makes the job for newbies easier, when we implement the function to recompile Etcher with a download link, so the distributions can create installers who create a live device based on one single app.

This is a feature we've already got planned for Etcher V2 :-)
Closing this as a duplicate of #762

@lurch This https://github.com/resin-io/etcher/issues/762 is closed, how to work on it?
Can you reopen it? Thanks

Easiest option will be to just wait for Etcher V2, as this is something we won't be adding to Etcher V1.
Or you could create your own fork...

I am waiting for V2. The question is, why this is closed? I mean, where does it get tracked?

In our internal (private) Etcher V2 design documents...

Ah i see.


[Bug] Update grafana-operator/deploy/operator.yaml to use correct Image

Describe the bug
In the file grafana-operator/deploy/operator.yaml is the image: quay.io/integreatly/grafana-operator:v4.0.0 referenced.
This should be https://quay.io/grafana-operator/grafana-operator:v4.0.1 , since this is the newest one.

closed through #589


Updated PR Template

Pull Request (PR) description
Updated the PR template to correct specifics to module.
This Pull Request (PR) fixes the following issues
None.
Task list

[ ] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #178 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #178   +/-   ##
==================================
  Coverage   90%    90%
==================================
  Files        7      7
  Lines      715    715
==================================
  Hits       648    648
  Misses      67     67


yolov4 detector

temporarily commented these packages in BUILD, need more fix:
"//modules/perception/camera/lib/feature_extractor/tfe:external_feature_extractor",
"//modules/perception/camera/lib/feature_extractor/tfe:project_feature",
"//modules/perception/camera/lib/feature_extractor/tfe:tracking_feat_extractor",
@Capri2014 Please check, thank you!

@Dontmovedad copyright 2020


Dark Mode for the website

Is your feature request related to a problem? Please describe.
My feature request is to enable dark mode.
Describe the solution you'd like
Using js to enable dark mode.

Please assign me
(team femmetech)

This will be continued with the new UI


Remove incorrect note about ARM deployment model

Remove incorrect note about ARM deployment model

Hi @sivaedupuganti, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (sivae). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@sivaedupuganti : Thanks for your contribution to the Azure documentation! The author, @telmosampaio, has been notified to review your proposed change.

#sign-off

@telmosampaio - Please resolve the merge conflict so we can merge this. Thanks!

#hold-off

Change not required anymore. Fixed in https://github.com/Azure/azure-content/commit/c71479994868ab4198a775d1309f9c0c4b4b9048#diff-f5bfdb566646340a9573bde7d2b43d0e


⚠ Thumbnails API Endpoint has degraded performance

In 9d57aef, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 4474 ms

Resolved: Thumbnails API Endpoint performance has improved in 27c2e79 after 26 minutes.


Cannot perform runtime binding on a null reference (783fb1a6)

This issue was submitted by the add-in's exception handler.

Exception:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference
   at CallSite.Target(Closure , CallSite , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid1[T0](CallSite site, T0 arg0)
   at XLToolbox.WorkbookStorage.Store.get_StoreSheet() in XLToolbox\WorkbookStorage\Store.cs:line 135
   at XLToolbox.WorkbookStorage.Store.ReadFromWorksheet() in XLToolbox\WorkbookStorage\Store.cs:line 417
   at XLToolbox.WorkbookStorage.Store.set_Workbook(Workbook value) in XLToolbox\WorkbookStorage\Store.cs:line 59
   at XLToolbox.WorkbookStorage.Store..ctor(Workbook workbook) in XLToolbox\WorkbookStorage\Store.cs:line 201
   at XLToolbox.Export.Models.Preset.FromLastUsed(Workbook workbookContext) in XLToolbox\Export\Models\Preset.cs:line 54
   at XLToolbox.Export.QuickExporter.ExportSelection() in XLToolbox\Export\QuickExporter.cs:line 42
   at XLToolbox.Dispatcher.Execute(Command cmd) in XLToolbox\Dispatcher.cs:line 63

Message: Cannot perform runtime binding on a null reference
Environment

Parameter
Value

Version
7.1.2

OS
Microsoft Windows NT 6.1.7601 Service Pack 1, 64-bit

Excel
2010 SP2 (14.0.7172), 32-bit

CLR
4.0.30319.34209, 32-bit

VSTO runtime
10.0.40305

ClickOnce
False

Bovender
<IP_ADDRESS>

FreeImage
3.16.0

Fixed in 7.1.3; version 7.1.4 should be released soon.


It seems the mean teacher does not contribute to the loss.

The teacher model ema_model is updated every step, but it is never use for forward prop. Thus, I am not sure if mean teacher does anything.

The ema_model only used in valuation and test step. Actually, I think it does not work to improve the model's efficiency. @jonkoi

I see. Thanks for clearing this up for me. Closing this issue.


The Great Yakshave (+static reflection)

This PR fixes...many things, with the goal of having an initial implementation of static reflection.
new things:

comptime indexing: foo.[comptime_expr] will access the field that comptime_expr resolves to (an index, or a string)
comptime-dependent lambdas: fn[comptime foo]() { ... } will capture the value of foo as a constant, and depend on it
static reflection: reflect T will resolve to an object tree (described in the prelude for now) describing the type T
specialised generics are now compiled separately, into a separate TU. this actually makes incremental compilation much faster as a million files are no longer recompiled on change (only one is).
reference-type locals: let there = &be.references - you can now stop copying things, plus lifetimes!
stores_arguments() annotation: tell the compiler about the behaviour of external functions
return types are now mandatory on all functions, except the ones that can be locally (and independently) resolved.

README changes TODO.

Hello!
One or more of the commit messages in this PR do not match the Jakt code submission policy, please check the lint_commits CI job for more details on which commits were flagged and why.
Please do not close this PR and open another, instead modify your commit message(s) with git commit --amend and force push those changes to update this PR.

Andreas and I have looked through it. Let's land and improve as we go.


[5.5] Add clear method to collection

Add clear method to \Illuminate\Support\Collection

Why not just make a new collection?

You could, this method is just a way to do it fluently

Why not return new self([]) instead of modifing the existing collection?

Think I'll hold off on this.


[Bug] Reset destroys app instance

🐛 Describe the bug
When you use the reset method, the app instance is destroyed. It should be automatically reinitialized within the method, so that you can just keep using the app.
Not really a bug in the true sense, as it's not unexpected behavior.

PR opened (#319)

Closing this as the PR is merged.
thanks for opening the issue.


How to enable pruning

I would like to enable pruning

-prune=
Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >550 = automatically prune block files to stay under the specified target size in MiB)


report all status over mqtt

over mqtt, we need to report:

both chamber temps
fan pwms
fan rpms
motor status
heater status
time left on drying run
target temp
uptime
version

we're reporting everything we measure. as we measure more, we'll add them.


AsyncRequestHandler hides the Handle method

The AsyncRequestHandler class hides the Handle method, requiring tests to explicitly type the tested handler as IRequestHandler.
Consider following code:
public class MyRequest : IRequest {
}

public class MyHandler: AsyncRequestHandler<MyRequest> {
  protected override Task Handle(MyRequest request, CancellationToken cancellationToken) {
    // Do some work
  }
}

To test the code, one would expect following:
[Fact]
public async Task MyTest {
  var handler = new MyHandler();
  await handler.Handle(new MyRequest(), default);
  // Verify results
}

This results in compilation error CS0122: 'MyHandler.Handle(MyRequest, CancellationToken)' is inaccessible due to its protection level'
The workaround is to explicitly type the handler, making the code unnecessary bloated, especially with longer request and handler class names:
[Fact]
public async Task MyTest {
  IRequestHandler<MyRequest> handler = new MyHandler();
  await handler.Handle(new MyRequest(), default);
  // Verify results
}

I probably should just remove those helper classes, they seem to confuse more than anything.
I only test handlers through the mediator, which is why I never hit this.

@jbogard as they don't seem to add any other functionality by default, I would also think that removing them might be a good idea. I also stumbled across this, and find it confusing as well. Because from my understanding the separation of the handler should make it so that it is easily possible to unit test the handler without the mediator.
But I could see that maybe some folks are used to this and won't be happy. Probably it would be a good thing to mark them as deprecated for some time, before ruling them out eventually.

Hey Jimmy,
The new requirement to have protected override handler stops me from being able to Unit Test the handler.
I found a way around it by adding a public handle() method that calls Protected handler.
Is there a cleaner way to deal with it? 😅

The AsyncRequestHandler is a helper class that simply hides returning the Unit.Value as the TResponse.  You can simply use the interfaces for your handlers IRequestHandler<TRequest, TResponse>

Hello!
For me personally, the confusing thing about this is not the AsyncRequestHandler, it abstracts away the Unit.Value, which is a good thing imho, as for me the Unit.Value is the actual problem. I can understand, that it was most likely added to simplify things, but if you have never worked with MediatR before, you will find this thing very confusing.
Why is it named Unit.Value? Especially if it hasn't any value? Wouldn't NoValuebe a better name? Also I would not removeAsyncRequestHandler. Adding a return Unit.Value` to each command doesn't provide any business value, it is an necessary implementation detail, that should be hidden way.
From my point of view there would be two good ways to go forward:

Keep AsyncRequestHandler and make the Handle public, to make the unit testing easier without the workaround of setting the variable type to IRequestHandler<MyRequest>. @jbogard Do you have any problems with the execution time of your unit tests? We did a quick test setup on our side and saw the setup alone took about 160ms, which is too slow in our opinion (our "limit" is 100ms, which we try do achieve when it is possible)
Another way I could see, would be using Default interface methods. Then the AsyncRequestHandler could be deprecated and the abstraction of it could be moved into the interface. I guess this would avoid any confusion between the interface and the abstract class.

What are your thoughts?

Why is it named Unit.Value? Especially if it hasn't any value?

I don't remember to be honest. The Rx one is called "Unit.Default", which is equally weird to me. There's been discussions of adding a unit type to C# but it hasn't gone anywhere. But it's the value of the Unit type, that's as good as I could make it.
Why would test setup be any different? Are you calling Handle in your test setup? I don't know about timings, I don't unit test handlers, it's always an integration test. This is a decent example of what my handler tests look like:
https://github.com/jbogard/ContosoUniversityDotNetCore-Pages/blob/master/ContosoUniversity.IntegrationTests/Pages/Courses/EditTests.cs
What would the default interface look like? I've never used them before so I'm not quite sure I follow what you're suggesting here.

Ah I remember why they can't be public. The overload only differs in the return type.
The way to "fix" this would be to make the method public and rename the protected method to "HandleCore" or similar. They can't have the same name.

Hey @jbogard !
Thanks for the explanation with the Unit, I was simply not aware of this whole "concept" of a single non binary value (and that it even exists in other languages) that has no value at all.
Regarding the described the solutions, I just gave both variants a quick tests (only executed all the unit tests), and both worked for me.

Ah I remember why they can't be public. The overload only differs in the return type.

I cannot confirm that, it seems to work just fine (as the implemented Handle in AsyncRequestHandler is defined as IRequestHandler<TRequest, Unit>.Handle).
I changed the access modifier from protected to public and had to adapt the two unit test implementations:

Then I was able to call the Handle method directly

Regarding the approach with the default interface methods, it should look something like this:
public interface IRequestHandler<in TRequest> : IRequestHandler<TRequest, Unit>
    where TRequest : IRequest<Unit>
{
    async Task<Unit> IRequestHandler<TRequest, Unit>.Handle(TRequest request, CancellationToken cancellationToken)
    {
        await Handle(request, cancellationToken).ConfigureAwait(false);
        return Unit.Value;
    }

    public new Task Handle(TRequest request, CancellationToken cancellationToken);
}

In this case, I also had to adapt the RequestHandler and some unit tests again.
You can check the full code here: https://github.com/cheesi/MediatR (there are two branches, with one (new) commit each)
Regarding unit testing.
Yeah we currently directly tested our handlers. Looks something like this:
var _handler = new OurQueryHandler(mock1, mock2);
_handler.Handle(request, cancellationToken);
// etc.

We also tried a similar approach as seen in your link:
//Arrange
var services = new ServiceCollection();
services.AddTransient((_) => mock1);
services.AddTransient((_) => mock2);
services.AddMediatR(typeof(OurCommand));
var provider = services.BuildServiceProvider();
var mediator = provider.GetRequiredService<IMediator>();

var command = new OurCommand();

//Act
var result = await mediator.Send(command);

//Assert
result.Should().Be(Unit.Value);
// etc.

The problem with this is, that the setup (IaC container) alone already takes about 160ms. The full unit test then even more.

I cannot confirm that, it seems to work just fine

Changing the access modifier to public does not work. Nor does removing the explicit interface implementation:
public abstract class AsyncRequestHandler<TRequest> : IRequestHandler<TRequest>
    where TRequest : IRequest
{
    // These two overloads only differ in return types so this can't be public/protected/private
    public async Task<Unit> Handle(TRequest request, CancellationToken cancellationToken)
    {
        await Handle(request, cancellationToken).ConfigureAwait(false);
        return Unit.Value;
    }

    protected abstract Task Handle(TRequest request, CancellationToken cancellationToken);

Regarding the approach with the default interface methods, it should look something like this:

That example uses shadowing, I'm really not a fan of that. You'll get different behaviors depending on the variable's type.

The problem with this is, that the setup (IaC container) alone already takes about 160ms.

Don't use a container then. Just instantiate your handler directly, passing in whatever mocks/fakes you need. Containers are meant to be used in integration tests.

Changing the access modifier to public does not work. Nor does removing the explicit interface implementation:

I changed the protected (the second) Handle to public, not the first one. This works because of the explicit interface implementation. Add a public to the first Handle doesn't work.

That example uses shadowing, I'm really not a fan of that

Isn't that exactly what the current implementation with the explicit interface definition is doing? If you have the type IRequestHandler, you can call the Handle, and if the type is AsyncRequestHandler, you can't.

Don't use a container then. Just instantiate your handler directly, passing in whatever mocks/fakes you need.

That's exactly what we are doing, and why it would be good, if the Handle of AsyncRequestHandler would be public, so we can call it without the explicit cast to IRequestHandler (e. g. the workaround of @OldrichDlouhy)

Honestly, I'd rather just remove these classes than anything else. I don't use them anyway and they just seem to cause more problems than solve.

@jbogard Regardless of your decision, I'm a big fan of being able to unit test with a minimalistic code approach. Requiring a mediator instance to unit test external code seems to be backasswards to me. I should be able to new up a handler instance, passing in mock dependencies and invoke the Handle() method to execute my unit tests. Nice. Clean. Simple. If it makes sense to have a mediator to perform internal unit tests, fine. I'd really like for external unit tests to not be forced to do so. $0.02.

You're not forced to use a mediator instance, that's not what this issue is. The issue is that you have to cast to get the explicitly implemented interface handler.


Sporadic issue with encoder

Loading an image file and then attempting to save it sometimes fails, depending on the picture. It makes no different whether manipulation is performed. First attached picture works. Second fails.
I have added a tempStream to illustrate the problem. Certain pictures cause the following error: 	ImageProcessorCore.ImageFormatException: Missing SOS marker.
at ImageProcessorCore.Formats.JpegDecoderCore.Decode[T,TP](Image`2 image, Stream stream, Boolean configOnly)
Attempting to save the tempStream to a file results in an invalid jpeg, so I think the error is in the encoding not decoding.
Running ASP.NET core RTM
"ImageProcessorCore": "1.0.0-alpha-1009"
Code:
  public abcde SaveUpload(IFormFile formFile)
       {
        try
        {

            string filePath = "insert name and path.jpeg";

            using (MemoryStream stream = new MemoryStream())
            using (MemoryStream tempStream = new MemoryStream())
            using (FileStream output = File.OpenWrite(filePath))
            {

                ImageProcessorCore.Image image = new ImageProcessorCore.Image(formFile.OpenReadStream());

                image.SaveAsJpeg(tempStream, 75);

                ImageProcessorCore.Image testImage = new ImageProcessorCore.Image(tempStream); //throws error for certain images

                tempStream.WriteTo(output);

            }

  catch {...}
  }

Jpeg is hard :cry:
Thanks for raising this. I'll see what I can do.

@JimBobSquarePants How do we know which version of the code was used for 1.0.0-alpha-1009?

@dlemstra It's the latest build.
https://ci.appveyor.com/project/JamesSouth/imageprocessor/history

Okay thanks was wondering if this was due to my EXIF changes. Can you reproduce the issue with v<IP_ADDRESS>6 @dwdickens ?

Problem disappears with v<IP_ADDRESS>6.
While the error is being thrown by the decoder, I think the problem lies with the encoder. When I had the encoder writing straight to a filestream, it was creating a .jpeg that couldn't be opened by any image viewer. I interpolated the tempStream as a means to identify when the problem was occurring.

Interesting thanks!
I'm actually testing it against the latest source right now and I cannot get it to encode. Could you please do me a favour and give the very latest download on Myget a try?

I just tried it using "1.0.0-alpha-1011", and it's back to throwing an error. BTW, the beach picture I attach above does not work, and the city picture works. The beach picture appears to have exif, and the city picture doesn't. Given the comments above and the recent changes, maybe that's the issue?

@dwdickens Thanks. You've just confirmed my findings. I just disabled EXIF and it worked.
@dlemstra It looks like EXIF is breaking the image encoding. It could be something to do with my Rational type but I'm not sure, could you have a look when you can please.

JPEGsnoop output off image.
The failing one doesn't seem to get past the APP1 marker, Rational seems ok.
JPEGsnoop 1.7.3 by Calvin Hass
  http://www.impulseadventure.com/photo/
  -------------------------------------

  Filename: [C:\development\github\ImageProcessor\tests\ImageProcessorCore.Tests\TestOutput\Encode\error.jpg]
  Filesize: [2066987] Bytes

Start Offset: 0x00000000
*** Marker: SOI (xFFD8) ***
  OFFSET: 0x00000000

*** Marker: APP0 (xFFE0) ***
  OFFSET: 0x00000002
  Length     = 16
  Identifier = [JFIF]
  version    = [1.1]
  density    = 0 x 96 DPI (dots per inch)
  thumbnail  = 0 x 96

*** Marker: APP1 (xFFE1) ***
  OFFSET: 0x00000014
  Length          = 49510
  Identifier      = [Exif]
  Identifier TIFF = 0x[49492A00 08000000]
  Endian          = Intel (little)
  TAG Mark x002A  = 0x002A

  EXIF IFD0 @ Absolute 0x00000026
    Dir Length = 0x000C
    [ImageDescription                    ] = "                               "
    [Make                                ] = "SONY"
    [Model                               ] = "DSC-WX80"
    [Orientation                         ] = 1 = Row 0: top, Col 0: left
    [XResolution                         ] = 350/1
    [YResolution                         ] = 350/1
    [ResolutionUnit                      ] = Inch
    [Software                            ] = "DSC-WX80 v1.00"
    [DateTime                            ] = "2013:08:05 15:47:31"
    [YCbCrPositioning                    ] = Co-sited
    [ExifOffset                          ] = @ 0x011E
    Offset to Next IFD = 0x00009742

  EXIF IFD1 @ Absolute 0x00009760
    Dir Length = 0x000D
    [Compression                         ] = JPEG
    [XResolution                         ] = 72/1
    [YResolution                         ] = 72/1
    [ResolutionUnit                      ] = Inch
    [JpegIFOffset                        ] = @ +0x9848 = @ 0x9866
    [JpegIFByteCount                     ] = 0x[00002918] / 10520
    [YCbCrPositioning                    ] = Co-sited
    Offset to Next IFD = 0x00000000

  EXIF SubIFD @ Absolute 0x0000013C
    Dir Length = 0x0024
    [ExposureTime                        ] = 1/1600 s
    [FNumber                             ] = F3.3
    [ExposureProgram                     ] = Landscape mode
    [ISOSpeedRatings                     ] = 100
    [ExifVersion                         ] = 02.30
    [DateTimeOriginal                    ] = "2013:08:05 15:47:31"
    [DateTimeDigitized                   ] = "2013:08:05 15:47:31"
    [ComponentsConfiguration             ] = [Y Cb Cr .]
    [CompressedBitsPerPixel              ] = 3/1
    [BrightnessValue                     ] = 25954/2560
    [ExposureBiasValue                   ] = 0.00 eV
    [MaxApertureValue                    ] = 882/256
    [MeteringMode                        ] = Pattern
    [LightSource                         ] = unknown
    [Flash                               ] = Flash did not fire
    [FocalLength                         ] = 5 mm
    [MakerNote                           ] = @ 0x0334
    [UserComment                         ] = ""
    [FlashPixVersion                     ] = 01.00
    [ColorSpace                          ] = sRGB
    [ExifImageWidth                      ] = 0x[00001200] / 4608
    [ExifImageHeight                     ] = 0x[00000D80] / 3456
    [ExifInteroperabilityOffset          ] = @ 0x9724
    [FileSource                          ] = DSC
    [SceneType                           ] = A directly photographed image
    [CustomRendered                      ] = Normal process
    [ExposureMode                        ] = Auto exposure
    [WhiteBalance                        ] = Auto white balance
    [DigitalZoomRatio                    ] = 16/16
    [SceneCaptureType                    ] = Landscape
    [Contrast                            ] = 0
    [Saturation                          ] = 0
    [Sharpness                           ] = 0

  EXIF MakerIFD @ Absolute 0x00000352
    Makernote decode option not enabled.

  EXIF InteropIFD @ Absolute 0x00009742
    Dir Length = 0x0002
    [InteroperabilityIndex               ] = "R98"
    [InteroperabilityVersion             ] = 01.00

*** Marker: EOI (End of Image) (xFFD9) ***
  OFFSET: 0x0000C17C

Snoop of input image

JPEGsnoop 1.7.3 by Calvin Hass
  http://www.impulseadventure.com/photo/
  -------------------------------------

  Filename: [C:\development\github\ImageProcessor\tests\ImageProcessorCore.Tests\TestImages\Formats\Jpg\error.jpg]
  Filesize: [6051468] Bytes

Start Offset: 0x00000000
*** Marker: SOI (xFFD8) ***
  OFFSET: 0x00000000

*** Marker: APP1 (xFFE1) ***
  OFFSET: 0x00000002
  Length          = 49512
  Identifier      = [Exif]
  Identifier TIFF = 0x[49492A00 08000000]
  Endian          = Intel (little)
  TAG Mark x002A  = 0x002A

  EXIF IFD0 @ Absolute 0x00000014
    Dir Length = 0x000C
    [ImageDescription                    ] = "                               "
    [Make                                ] = "SONY"
    [Model                               ] = "DSC-WX80"
    [Orientation                         ] = 1 = Row 0: top, Col 0: left
    [XResolution                         ] = 350/1
    [YResolution                         ] = 350/1
    [ResolutionUnit                      ] = Inch
    [Software                            ] = "DSC-WX80 v1.00"
    [DateTime                            ] = "2013:08:05 15:47:31"
    [YCbCrPositioning                    ] = Co-sited
    [ExifOffset                          ] = @ 0x011E
    Offset to Next IFD = 0x00009742

  EXIF IFD1 @ Absolute 0x0000974E
    Dir Length = 0x000D
    [Compression                         ] = JPEG
    [XResolution                         ] = 72/1
    [YResolution                         ] = 72/1
    [ResolutionUnit                      ] = Inch
    [JpegIFOffset                        ] = @ +0x9848 = @ 0x9854
    [JpegIFByteCount                     ] = 0x[00002918] / 10520
    [YCbCrPositioning                    ] = Co-sited
    Offset to Next IFD = 0x00000000

  EXIF SubIFD @ Absolute 0x0000012A
    Dir Length = 0x0024
    [ExposureTime                        ] = 1/1600 s
    [FNumber                             ] = F3.3
    [ExposureProgram                     ] = Landscape mode
    [ISOSpeedRatings                     ] = 100
    [ExifVersion                         ] = 02.30
    [DateTimeOriginal                    ] = "2013:08:05 15:47:31"
    [DateTimeDigitized                   ] = "2013:08:05 15:47:31"
    [ComponentsConfiguration             ] = [Y Cb Cr .]
    [CompressedBitsPerPixel              ] = 3/1
    [BrightnessValue                     ] = 25954/2560
    [ExposureBiasValue                   ] = 0.00 eV
    [MaxApertureValue                    ] = 882/256
    [MeteringMode                        ] = Pattern
    [LightSource                         ] = unknown
    [Flash                               ] = Flash did not fire
    [FocalLength                         ] = 5 mm
    [MakerNote                           ] = @ 0x0334
    [UserComment                         ] = ""
    [FlashPixVersion                     ] = 01.00
    [ColorSpace                          ] = sRGB
    [ExifImageWidth                      ] = 0x[00001200] / 4608
    [ExifImageHeight                     ] = 0x[00000D80] / 3456
    [ExifInteroperabilityOffset          ] = @ 0x9724
    [FileSource                          ] = DSC
    [SceneType                           ] = A directly photographed image
    [CustomRendered                      ] = Normal process
    [ExposureMode                        ] = Auto exposure
    [WhiteBalance                        ] = Auto white balance
    [DigitalZoomRatio                    ] = 16/16
    [SceneCaptureType                    ] = Landscape
    [Contrast                            ] = 0
    [Saturation                          ] = 0
    [Sharpness                           ] = 0

  EXIF MakerIFD @ Absolute 0x00000340
    Makernote decode option not enabled.

  EXIF InteropIFD @ Absolute 0x00009730
    Dir Length = 0x0002
    [InteroperabilityIndex               ] = "R98"
    [InteroperabilityVersion             ] = 01.00

*** Marker: APP2 (xFFE2) ***
  OFFSET: 0x0000C16C
  Length          = 146
  Identifier      = [MPF]
    Not supported. Skipping remainder.

APP1 marker on encoded image is two bytes shorter than original

I probably forgot to add two bytes to the length. Will have a look when I get home.

Can you test with 1012 @dwdickens? The patch that I just pushed should resolve the issue.

great works @dlemstra, its working now with 1012. Thanks a million!

You can email me for my bank account number to transfer that million :smiling_imp: .

cheque's in the mail I swear

Okay I'll quit my job then and close this issue.


'optic lobe tangential neuron' is not classified as an 'interneuron'

optic lobe tangential neuron (FBbt:00007579) is textually defined as an “interneuron that is oriented perpendicular to the columns of adult optic lobe neuropils and has a major projection along the plane of a layer of optic lobe neuropil”, but is not classified as an interneuron (FBbt:00005125), either directly or indirectly.
Any reason why it should not be classified as interneuron? Or is it a mere oversight?

Yeah, should be 'interneuron' - I think there are a lot of cases like this where classification that needs to be asserted manually is missing, one reason that logical definitions are a good idea. I don't think thre is a good way to logically define 'interneuron', as it needs to exclude sensory neurons that are part of the CNS.

OK, I’ll fix that one and check if there are similar instances of unclassified interneurons.


[write-fonts] Improve packing diagnostics & logging

This is mostly just a cleanup of various log statements, and a general attempt to rationalize our logging: choosing higher levels for less frequent, more important messages, and ensuring that logging provides overall good visibility into packing behaviour.
This patch includes a few other related tweaks to panic messages and other debug printing code.

I'm going to kill this, it's out of date and not that important in any case.


Fixed "Update"

Fixed the syntax errors and added a few lines of code that lets it actually update the programs. I also made the text look a little nicer.

Looks good! Merging now.


chore(curriculum): add pokemon search lab

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Converting the existing pokemon search app to lab.

Blocking this while we figure out if we want to use the same or new challenge ID's

@Sembauke, I have improved the readability of the instructions as suggested. However, I am getting linting/ indentation errors.
Can you take a look?

I tried to run pnpm run format to see if it would fix the files but it seems you need to do it manually. Run pnpm run lint to see the errors locally

I kept playing with it locally, and fixed the lint issues, but I don't think it's good, the numbered list restart:

I managed to fix the thing and I added a commit to the PR with properly formatted page:
to nest lists the bullet point of a nested list needs to be in column with the first character of the parent list item
1. Hey
   - Here the dask is under the H

Thank you @ilenia-magoni for sorting these linting errors 👍


Guard Villager error launch Minecraft

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'guardvillagers'!
at
Happens on my Mac machine (Zulu java 17)
log.txt

I have the exact same prohblem when i try to start my server.
I added the latest log here:
https://drive.google.com/file/d/19L2BaqlmeW2i5fz3L1vdhkvg0FEJ5JQL/view?usp=sharing
The problem begins at line 111

Still don't know, I guess maybe the java environment? I am using Java 17

It seems need specific version of Architectury mod for my instance to launch successfully.
Architectury 6.4.62
ClothConfig 8.2.88
Faric API 0.72.0
GuardVillager 1.0.16
Appeals to work fine.

I have the same problem, any solution for this? I tried with version 1.19.4 Fabric

It seems need specific version of Architectury mod for my instance to launch successfully. Architectury 6.4.62 ClothConfig 8.2.88 Faric API 0.72.0 GuardVillager 1.0.16 Appeals to work fine, apparently 1.19.3 don't work.

no WAY the architectury thing worked

fixed in 1.0.19


feat(filters): added filters

PR summary
added filters
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

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


Fix almost all clippy warnings in completion module

There are some left that I'm not ready to do now:
warning: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
   --> completion/src/lib.rs:208:12
    |
208 |     found: Option<Option<Match<'a>>>,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: #[warn(option_option)] on by default
    = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/v0.0.184/index.html#option_option

warning: this `match` has identical arm bodies
   --> completion/src/lib.rs:735:19
    |
735 |             }) => id.name.clone(),
    |                   ^^^^^^^^^^^^^^^
    |
    = note: #[warn(match_same_arms)] on by default
note: same as this
   --> completion/src/lib.rs:730:19
    |
730 |             }) => id.name.clone(),
    |                   ^^^^^^^^^^^^^^^
note: consider refactoring into `Match::Expr(&Spanned {
                value: Expr::Ident(ref id),
                ..
            }) | Match::Pattern(&Spanned {
                value: Pattern::Ident(ref id),
                ..
            })`
   --> completion/src/lib.rs:730:19
    |
730 |             }) => id.name.clone(),
    |                   ^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/v0.0.184/index.html#match_same_arms

warning: this argument is passed by value, but not consumed in the function body
  --> completion/tests/suggest.rs:30:25
   |
30 | fn suggest_query(query: SuggestionQuery, s: &str, pos: BytePos) -> Result<Vec<Suggestion>, ()> {
   |                         ^^^^^^^^^^^^^^^ help: consider taking a reference instead: `&SuggestionQuery`
   |
   = note: #[warn(needless_pass_by_value)] on by default
   = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/v0.0.184/index.html#needless_pass_by_value

Part of #405

warning: consider using `Option<T>` instead of `Option<Option<T>>` or a custom enum if you need to distinguish all 3 cases
   --> completion/src/lib.rs:208:12
    |
208 |     found: Option<Option<Match<'a>>>,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: #[warn(option_option)] on by default
    = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/v0.0.184/index.html#option_option

For this, None represents that the location has not been found yet and Some(None) represents that the location has been found, but there was nothing there. I'd probably just mark that as allow since a custom enum does not really make sense either :/.
The other seems pretty straightforward though but I assume you are finished with this for now? (given There are some left that I'm not ready to do now:)

Now as you explained it I'm thinking that we can move this knowledge into the code. NotFound, Empty, Found(Match) variants should mirror this. Though, I didn't look at a scope of changes.
Yes, other is easy. I will try to comeback to this PR during the week if I have time.

Big fan of moving more domain knowledge into the code. Would greatly help future readers!

It's ready for a final review. I'm not happy with the naming of the Location and its variants and open to suggestions.


Update Add-PnPPage.md

Suggested different description.
Removed duplicate parameter
Type

[x] Text Fix

Related Issues?
None
What is in this Pull Request ?

Thanks @PowershellScripts


[mysql] The calculated chunk size is wrong when approximate row count is bigger than chunk size

The calculated chunk size is wrong when approximate row count is bigger than chunk size

Fixed in #1193


Hguerrer fix 16 dynamic plugin

Description
Add changes to implement dynamic plugin for RH Developer Hub
Related issue(s)
#16

I think that the dist-dynamic/ folder should not be stored in Git and excluded. Maybe consider changing the .gitignore as well?

Hey @hguerrero, there are 2 things to fix before merging:

Remove dist-dynamic/ folder from the PR and add it into the .gitignore of the repo as these are build output files
Sign the commit to pass the DCO check (this is a pre-requisites for all CNCF projects).

I have an additional question: how do you release it? Should the dynamic stuff be included in regular build pushed on NPMJS.com or do we have to provide an alternative distribution?

As agreed, we close this one waiting for a clean new one.


Mono not accepting ECC SSL certs automatically

The problem is with "webrequest.Enqueue" itself.  When you call a domain with a ECC cert it returns code 0 with this error
Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
I am not the most advanced in stuff like this or anything like that, but from what i gather adding this before... maybe after i couldn't test it myself
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
Should pass the check now i know plugins can't access System.net thats why i was thinking maybe adding a bool to webrequest.Enqueue where it forces the ssl cert to be approved.
On a side note of what i i was using as a work aroaund because webrequest wouldn't work with my site because of the certificates i am not sure if this gives any usefulness at all.
WWWForm PostData = new WWWForm();
WWW www = new WWW(URL, PostData, headers =new Dictionary<string, string>);

See https://github.com/OxideMod/Oxide/issues/947#issuecomment-265286995.

Damn... i feel like quiet a bit of people use ECC certs too... though like the bottom of my post thats my work around for web requests :P


help regarding acme:erroor 403

acme: Error 403 - urn:acme:error:unauthorized - Account creation on ACMEv1 is disabled. Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555.

i have same problem..


blobstore: add support for openstack swift backend

Blobstore support for openstack swift

This is awesome! Is there any lightweight installation that could be run in a container? We'd like to have integration tests for the backend as well: https://github.com/flynn/flynn/blob/master/test/test_blobstore.go

I don't think there is a simple way to run openstack (and swift service in particular) in a container.
I think the simplest way is to have an account on a openstack provider and running test with it.
How are you handling tests with s3, gcs and azure now?

Okay, if you write an integration test, we can hook it up to a hosted provider in CI after this gets merged.

I've already written tests by looking at other backends implementations.
https://github.com/fab120/flynn/blob/eb34dc4e6afdd5c5057731221bb708e2889c4b1c/blobstore/blobstore_test.go#L145-L162
https://github.com/fab120/flynn/blob/eb34dc4e6afdd5c5057731221bb708e2889c4b1c/test/test_blobstore.go#L78-L88
Do you think this pr needs more test coverage?

Perfect, for some reason GitHub was hiding the diff I was looking for. Will follow up after testing and review.


Chloropleth in R

#4
Feature implementation

@spentelow If you also want to work on this let me know. I think I can get it up and running pretty quickly, though. I've got an old project that creates a Canadian province map with leaflet.

@spentelow If you also want to work on this let me know. I think I can get it up and running pretty quickly, though. I've got an old project that creates a Canadian province map with leaflet.

Choropleth running through plot_ly

Choropleth running through plot_ly


"Config" overrides symbol of same name in class "BaseSettings"

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
 pydantic version: 1.9.1
            pydantic compiled: True
                 install path: /Users/adithepsrinarula/repo/prometheus-hoarding/dist/export/python/virtualenv/3.10.5/lib/python3.10/site-packages/pydantic
               python version: 3.10.5 (main, Jul  4 2022, 16:56:19) [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)]
                     platform: macOS-12.4-arm64-arm-64bit
     optional deps. installed: ['dotenv', 'typing-extensions']

import pydantic

class Settings(pydantic.BaseSettings):

    class Config:
        env_file = ".env"
        env_file_encoding = "utf-8"

I get error:

@adithep Pylance is correct here. You have to explicitly subclass the Config, e.g.
import pydantic

class Settings(pydantic.BaseSettings):
    class Config(pydantic.BaseSettings.Config):
        env_file = '.env'
        env_file_encoding = 'utf-8'

Should this maybe be changed in the docs as well? The example given here still causes an error in type checkers.

Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
pydantic version: 1.9.2
            pydantic compiled: True
                 install path: /Users/dev.dabke/Documents/repo/ninja/nibbler/.venv/lib/python3.10/site-packages/pydantic
               python version: 3.10.4 (main, Jul 18 2022, 16:17:04) [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)]
                     platform: macOS-12.5.1-arm64-arm-64bit
     optional deps. installed: ['devtools', 'dotenv', 'typing-extensions']

For what it's worth, running

import pydantic

class Settings(pydantic.BaseSettings):
    class Config(pydantic.BaseSettings.Config):
        env_file = '.env'
        env_file_encoding = 'utf-8'

causes mypy to report:
Incompatible types in assignment (expression has type "str", base class "Config" defined the type as "None")

for the assignment env_file = '.env' and env_file_encoding = 'utf-8'.
I am running mypy version: mypy 0.971 (compiled: yes) and my pyproject.toml has this:
[tool.mypy]
plugins = [
    "pydantic.mypy"
]

Granted, the docs say that this plugin only works with mypy version 0.910, 0.920, 0.921 and 0.930, so maybe that is the issue?
CC: @RobertCraigie

pydantic should be compatible with all recent versions of mypy. This error is due to missing typing information on pydantic.BaseSettings.Config. Probably too late to fix this in V1.10, but we'll fix it in V2.

Ignore the above, @DbCrWk I've fixed your issue in #4450

Ignore the above, @DbCrWk I've fixed your issue in #4450

Wow, thanks for fixing this so quickly!

Thank you! This is great.
I am still seeing class Config: instead of class Config(BaseSettings.Config): in the documentation: https://docs.pydantic.dev/usage/settings/


Incompatible with tokio v1.40.0.

the package `quickjs_runtime` depends on `tokio`, with features: `num_cpus` but `tokio` does not have these features.

Version:
tokio = "^1.40"
quickjs_runtime = "~0.13.4"

Silmilar to #75 , but needs to be fixed.
To my knowledge, only these features in docs of tokio are public.

Hi @xuxiaocheng0201 ,
please see if 0.1.40 fixes you issue.
I simplified the tokio deps in quickjs_runtime and in utils.

Thank you very much. It works.


AMBARI-25992: logsearch-portal cannot startup due to spring-boot-autoconfigure upgrade

What changes were proposed in this pull request?
ambari-logsearch-portal server cannot startup.
After spring-boot upgrade from 2.0.6.RELEASE to 2.1.5.RELEASE, due to the change of class LdapAutoConfiguration, spring need the LdapTemplate bean during startup.
The full error log please see issue AMBARI-25992.
How was this patch tested?
local install and test this fix in local cluster.

(Please explain how this patch was tested. Ex: unit tests, manual tests)
(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
Please review Ambari Contributing Guide before opening a pull request.

Thanks for you working


Additional docs for RETURNING SQL syntax

There's no explanation here https://www.cockroachlabs.com/docs/insert.html for how to get the value from INSERT ... RETURNING when using a SQL driver such as Go's. Is it possible?

The Go driver (like most drivers) has two methods, Query() for statements that return results, and Exec() for ones that don't. Normally you use Query() for SELECT and Exec() for INSERT, but an INSERT with RETURNING works more like a SELECT, so you'd run it with Query().

@bdarnell, @spencerkimball, should we add driver-specific examples to some of the SQL statement pages? Currently, they're all pure SQL examples...

Thanks @bdarnell
@jseldess yes an example demonstrating @bdarnell's answer would be very helpful.


zephyr: some logging related updates

INPLACE_PROCESS -> IMMEDIATE change following upstream refactor
Establish log level for MCUBOOT specifically
Settings to ensure other subsys don't log and cause bloat

Adding @lemrey and @utzig due to their familiarity with the last set of Logging changes.
Also, I have 1 more change coming which will save about 3K flash but requires a Zephyr-side PR to be merged first.  The net of that will be that the ROM size for Zephyr-based MCUBOOT builds should almost be the same as we were prior to Logger migration.

@nvlsianpu 133b002749d88814d5f510907e56eca9a3e3a516 is missing your sob.

^^fixed

@nvlsianpu Thank you for updating this!  Work got very busy and since 1.3 was tagged, this fell down in priority.

@nordic-krch revisit


[azb spark cluster create --id my_cluster --no-wait] unexpected behavior

When i install the package and run: "azb spark cluster create --id cluster --no-wait", it will wait anyway. My guess is because i didn't specify a username, and so it uses the default username in the config. However, having a username means that --wait needs to be true.
How should we handle this.

The intended behavior if a username is specified and wait is set to false is to throw an error to let the user know that this configuration won't have the expected outcome.
I'll look into this to see why "--no-wait" isn't overwriting.


Add more tests, attempt to fix coverage color

💪

A new inspection was created.

The inspection completed: 2 new issues, 19 updated code elements


chore: Bump deps

Codecov Report

Merging #382 (57bbb7d) into main (7216b34) will decrease coverage by 14.67%.
The diff coverage is 8.82%.

@@             Coverage Diff             @@
##             main     #382       +/-   ##
===========================================
- Coverage   52.25%   37.57%   -14.68%
===========================================
  Files         131      135        +4
  Lines        1441     1453       +12
  Branches      253      239       -14
===========================================
- Hits          753      546      -207
- Misses        676      897      +221
+ Partials       12       10        -2

Impacted Files
Coverage Δ

src/components/app/Alert/index.tsx
0.00% <0.00%> (ø)

src/components/app/Banner/Banner.tsx
0.00% <ø> (ø)

src/components/app/Clock/Clock.tsx
100.00% <ø> (ø)

src/components/app/Crown/Crown.tsx
0.00% <ø> (ø)

src/components/app/EventMarker/EventMarker.tsx
89.18% <ø> (ø)

src/components/app/Imprint/Imprint.tsx
83.33% <ø> (ø)

src/components/app/Navigation/Item.tsx
100.00% <ø> (ø)

src/components/app/Navigation/Navigation.tsx
100.00% <ø> (ø)

src/components/app/Search/Search.tsx
51.66% <ø> (+26.66%)
:arrow_up:

src/components/app/SearchButton/SearchButton.tsx
74.07% <ø> (ø)

... and 89 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 7216b34...57bbb7d. Read the comment docs.


About: add thirdparty license info

Old screenshot

We don't use SDL :)
On Wed, Jul 5, 2017 at 12:14 PM, Poommetee Ketson<EMAIL_ADDRESS>wrote:

[image: screenshot from 2017-07-05 22-07-23]
https://user-images.githubusercontent.com/26753932/27871241-42b02bc2-61cf-11e7-81ff-240f8416309a.png
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/9514
Commit Summary

About: add thirdparty license info

File Changes

M editor/SCsub
https://github.com/godotengine/godot/pull/9514/files#diff-0 (149)
M editor/editor_node.cpp
https://github.com/godotengine/godot/pull/9514/files#diff-1 (92)
M editor/editor_node.h
https://github.com/godotengine/godot/pull/9514/files#diff-2 (5)

Patch Links:

https://github.com/godotengine/godot/pull/9514.patch
https://github.com/godotengine/godot/pull/9514.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/9514, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z20f3-JI9uey8L12neNBC3vuyXy4Qks5sK6hggaJpZM4OOetN
.

It's in COPYRIGHT.txt.
cc: @akien-mga

We don't use SDL :)

We adapted code from SDL for the PowerState API.


Wrong dimension (width and height) while Fullscreen then Rotate to Landscape in Postoll VMAP

Hello friends,
I got something interesting when playing VMAP (preroll+midroll+postroll). Only in postroll, if we click Fullscreen then device rotated in a landscape orientation, Ad will be displayed in wrong dimension and truncated just like displaying in a portrait orientation. I knew that it happened because of Fluid style in VideoJS and only on some VMAP cases.
are there any chance how to avoid these wrong dimension of Postroll VMAP?
Thanks a lot.
Best Regards.
NB: I'm using VideoJS v7.1.0 + VideoJS-HLSjs-Plugin + VideoJS-IMA v1.5.2 + VideoJS-Contrib-Ads v6.6.1. Sorry i can't make reproduce of URL because my experimental server is behind a VPN of my company. Playing VMAP from Android device, Opera Android browser latest edition.

Hi,
I’m closing this issue because it has been inactive for a few months.
Please reopen if you still encounter this issue with the latest stable version
Thank you!


LLVMBindings.lean & llvm.cpp updates for Linkage

Peeled from https://github.com/leanprover/lean4/pull/2340.
This splits the easy to review review LLVMBindings.lean from the second patch that edits the CI, build system, and EmitLLVM.

We shouldn't need the stage 0 update here, should we? There is no semantic change.

So we only ever want the update-stage0 in the PR that introduces the other LLVM changes then I guess?

Only where in fact necessary, yes :)