"ValueError: The layer sequential has never been called and thus has no defined output." when the model's been build and called

I am currently using tensorflow 2.17 with keras 3.4.1 under Ubuntu 24.04 LTS. I have also reproduced the issue with tf-nightly 2.18.0.dev20240731 (keras nightly 3.4.1.dev2024073103).
I encountered the issue when i downloaded a model I have ran on a cluster under tf 2.17/keras 3.4.1. I then tried to obtain some saliency maps on my computer after re-building the model without redifining all its layers from scratch.
See the following google drive for a reprex with the code, model and a data sample: https://drive.google.com/drive/folders/15J_ghWXWbs8EmSVXedH6sJRvJcPUSTIW?usp=sharing
But it raises the following traceback:
`ValueError                                Traceback (most recent call last)
Cell In[1], line 45
     42         class_activation_map = tf.expand_dims(class_activation_map, axis=-1)
     43     return class_activation_map
---> 45 layer_cam_test = layer_cam(img = test_sample, model=model, label_index = 0)

Cell In[1], line 24, in layer_cam(img, label_index, model)
     22 print(layer_names)
     23 for layer_name in layer_names[-1:]:
---> 24     grad_model = tf.keras.models.Model([model.inputs], [model.get_layer(layer_name).output, model.output]) #bug's here
     25     with tf.GradientTape() as tape:
     26         tape.watch(img)

File ~/miniconda3/envs/envtfnightly/lib/python3.11/site-packages/keras/src/ops/operation.py:266, in Operation.output(self)
    256 @property
    257 def output(self):
    258     """Retrieves the output tensor(s) of a layer.
    259
    260     Only returns the tensor(s) corresponding to the *first time*
   (...)
    264         Output tensor or list of output tensors.
    265     """
--> 266     return self._get_node_attribute_at_index(0, "output_tensors", "output")

File ~/miniconda3/envs/envtfnightly/lib/python3.11/site-packages/keras/src/ops/operation.py:285, in Operation._get_node_attribute_at_index(self, node_index, attr, attr_name)
    269 """Private utility to retrieves an attribute (e.g. inputs) from a node.
    270
    271 This is used to implement the properties:
   (...)
    282     The operation's attribute `attr` at the node of index `node_index`.
    283 """
    284 if not self._inbound_nodes:
--> 285     raise ValueError(
    286         f"The layer {self.name} has never been called "
    287         f"and thus has no defined {attr_name}."
    288     )
    289 if not len(self._inbound_nodes) > node_index:
    290     raise ValueError(
    291         f"Asked to get {attr_name} at node "
    292         f"{node_index}, but the operation has only "
    293         f"{len(self._inbound_nodes)} inbound nodes."
    294     )

ValueError: The layer sequential has never been called and thus has no defined output.
Click to add a cell.`

There is two workarounds where the value error is not raised:
1°) When using grad_model = keras.models.Model(
[model.inputs],
[model.get_layer(last_conv_layer_name).output,
model.get_layer(Name_of_last_deep_layer).output]) but it results in none gradients in the rest of my code
2°) When redifining completely the model from scratch and loading only the weights, i.e., when using:
model = tf.keras.models.Sequential([
    tf.keras.Input(shape=(27, 75, 93, 81, 1)),  # time_steps, depth, height, width, channels
    tf.keras.layers.TimeDistributed(tf.keras.layers.Conv3D(6, kernel_size=7, activation='relu', kernel_initializer='he_normal')),
    tf.keras.layers.TimeDistributed(tf.keras.layers.MaxPooling3D(pool_size=(2, 2, 2))),
    tf.keras.layers.TimeDistributed(tf.keras.layers.BatchNormalization()),

    tf.keras.layers.TimeDistributed(tf.keras.layers.Conv3D(32, kernel_size=3, activation='relu', kernel_initializer='he_normal')),
    tf.keras.layers.TimeDistributed(tf.keras.layers.MaxPooling3D(pool_size=(2, 2, 2))),
    tf.keras.layers.TimeDistributed(tf.keras.layers.BatchNormalization()),

    tf.keras.layers.TimeDistributed(tf.keras.layers.Conv3D(128, kernel_size=2, activation='relu', kernel_initializer='he_normal')),
    tf.keras.layers.TimeDistributed(tf.keras.layers.MaxPooling3D(pool_size=(2, 2, 2))),
    tf.keras.layers.TimeDistributed(tf.keras.layers.BatchNormalization()),
    tf.keras.layers.TimeDistributed(tf.keras.layers.Conv3D(256, kernel_size=2, activation='relu', kernel_initializer='he_normal')),

    tf.keras.layers.TimeDistributed(tf.keras.layers.Flatten()),
    tf.keras.layers.TimeDistributed(tf.keras.layers.BatchNormalization()),

    tf.keras.layers.Conv1D(256, kernel_size=5, activation='relu', kernel_initializer='he_normal'),
    tf.keras.layers.MaxPooling1D(pool_size=2),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.Conv1D(512, kernel_size=3, activation='relu', kernel_initializer='he_normal'),
    tf.keras.layers.MaxPooling1D(pool_size=2),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.Conv1D(1024, kernel_size=2, activation='relu', kernel_initializer='he_normal'),
    tf.keras.layers.BatchNormalization(),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(2, activation='softmax')])

model.load_weights(...) -> this one doesn't raises any error
Thanks a lot!

Hi @Senantq, could you try calling model directly via model(...) rather than model.call? Additionally I see that model.build was called without an input shape.
Could you also supply the original source code of the model rather than just the .keras file?

Hi @nkovela1 and thank you for your help.
I have updated the reprex, added the model code into it, and made it a bit more explicit. Do not hesitate to ask if anything's still lacking.
Have a nice day,

@Senantq
Isn't this the same issue as fixed here?
https://github.com/keras-team/keras/issues/20155#issue-2482970454
You may try using keras-nightly

Trying with:
model = keras.Sequential([
    keras.Input(shape=(None, None, 3)),
    keras.layers.Conv2D(filters=32, kernel_size=3),
])
model_2 = tf.keras.models.Model([model.inputs], [model.output]) # <--change

errors in a similar way.
output is an output tensor, not a layer. My interpretation is that this is the wrong property to use.
One can use outputs which returns a KerasTensor with a history (layer information.)
Specifically model.outputs[-1] or the get layer equivalent.
There is an example here in the docs as well.

This one works in both though?
model = keras.Sequential([ Input(shape=(4, 4, 3)), Flatten(), Dense(units=5)])
model(keras.Input((4, 4, 3)))
# model.summary()
print(model.output)
model_2 = keras.Model([model.inputs], [model.output])

Does seem to me either a bug, or docs need an update.

One needs to call the model with a Symbolic Tensor or an Input layer (which kind of defeats the purpose of Input in the first place?)

If you call it with a standard list/tensor etc it will not change anything.

Maybe changing the source so that the call is automatic if Input is present would be an option.

Here is a comment suggesting something similar.

Hi @Senantq,
Are you still able to reproduce this issue ?


Introduce month / multiple week widget style next to agenda list

Just like for example the calendar apps Etar or Business Calendar have a very nice monthly / multi-week view, it would be cool to have a widget for that. Business Calendar does it like that:

Events are directly visible, clicking on a day opens the calendar app on that day, clicking the header opens the calendar app for that month. It’s resizable and then shows more or less weeks according to height, usually one week per row of icons.

This is actually another widget with its own set of settings.
Both widgets may reuse a lot of common code, but they a mostly configured differently.
Anybody wants such new widget and wants to invest his/her time developing it?


Add electron packager support

Added a screenshot for the project
Added support for creating Electron builds to distribute your JSRL project
Updated README notes

I don't know if you want something like this in the base repo @slashman ? Maybe it stay as a pull request available to whoever might want to use it with the JSRL?

This is definitively something I'd want to have in. I have to check back and see why we didn't merge it.

thanks. The only thing "missing" (IMHO) is the ability to hot-reload an Electron window running your project. I can look into that if you think that would be a key missing link here..

won't delete this, but closing in favor of https://github.com/slashman/jsrl/pull/3


Dynamically refresh configuration secrets in the garden namespace

Today, the gardenlet does read secrets for default domains, internal domain, alerting, etc. only once during start-up, and then never again.
This forces administrators to manually restart the gardenlet in all seed clusters in case he/she changes such a secret.
Although this scenario happens very rarely, we should enable the gardenlet to dynamically refresh the secrets such that a restart is not required.

/touch
We are considering moving these secrets into a separate namespace to prevent allowing the gardenlet accessing the garden namespace entirely as it also might contain other sensitive credentials that it might not even need to do it's work (e.g., other kubeconfigs of shooted seeds, etc.), see also #1723

/touch
We are considering moving these secrets into a separate namespace to prevent allowing the gardenlet accessing the garden namespace entirely as it also might contain other sensitive credentials that it might not even need to do it's work (e.g., other kubeconfigs of shooted seeds, etc.), see also #1723

Hmm, why should we move those secrets out of the garden namespace?

as it also might contain other sensitive credentials that it might not even need to do it's work (e.g., other kubeconfigs of shooted seeds, etc.)

Isn't this exactly what the SeedAuthorizer (#1723) should check and prevent?

Hmm, why should we move those secrets out of the garden namespace?

as it also might contain other sensitive credentials that it might not even need to do it's work (e.g., other kubeconfigs of shooted seeds, etc.)

Isn't this exactly what the SeedAuthorizer (#1723) should check and prevent?

@timebertt That's only about mutating operations, but you cannot put read operations under lock. The goal is to prevent that an attacker can reach from one seed to other seeds or shared information resp. that shared information exists in the first place. If all gardenlets can read the garden namespace in the garden cluster, that would violate the goal above.

@timebertt That's only about mutating operations, but you cannot put read operations under lock. The goal is to prevent that an attacker can reach from one seed to other seeds or shared information resp. that shared information exists in the first place. If all gardenlets can read the garden namespace in the garden cluster, that would violate the goal above.

Hmm, the NodeAuthorizer also seems to authorize read operations, see here and here.

Hmm, the NodeAuthorizer also seems to authorize read operations, see here and here.

I just noted it down because we discussed it, but we will have to revisit this anyways when we get to #1723. Actually, then name SeedAuthorizer suggests that it only handles "seed-related" resources, but these general secrets are "global" configuration. Anyways, just notes so that we don't forget it, the details need to be clarified as part of #1723.

I just noted it down because we discussed it, but we will have to revisit this anyways when we get to #1723. Actually, then name SeedAuthorizer suggests that it only handles "seed-related" resources, but these general secrets are "global" configuration. Anyways, just notes so that we don't forget it, the details need to be clarified as part of #1723.

@timebertt https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/

Admission controllers limit requests to create, delete, modify or connect to (proxy). They do not support read requests.

Hmm, the NodeAuthorizer also seems to authorize read operations, see here and here.
But that's a special hack in Kubernetes that is in from the early days.

Don't get me wrong, if there is a means to limit read requests to only resources a seed/gardenlet has a need-to-know and nothing else, great. Can this be done/how?

@timebertt https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/

Admission controllers limit requests to create, delete, modify or connect to (proxy). They do not support read requests.

Hmm, the NodeAuthorizer also seems to authorize read operations, see here and here.
But that's a special hack in Kubernetes that is in from the early days.

Don't get me wrong, if there is a means to limit read requests to only resources a seed/gardenlet has a need-to-know and nothing else, great. Can this be done/how?

@timebertt https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/

Admission controllers limit requests to create, delete, modify or connect to (proxy). They do not support read requests.

Ok, I see the title of #1723 is confusing. We don't need a new admission plugin, but rather a new authorizer.
Admission is too late in the request chain and such decisions have to be done in the Authorization layer.

if there is a means to limit read requests to only resources a seed/gardenlet has a need-to-know and nothing else, great. Can this be done/how?

I've done some quick scan through the API server code.
The extended API server (g-api) delegates Authorization decisions to the kube-apiserver by default.
So this should be possible by adding a autorization webhook to the garden cluster: https://kubernetes.io/docs/reference/access-authn-authz/webhook/
Another way might be a bit hacky but still possible to add a new in-tree authorization plugin when constructing g-api's authorization config here: https://github.com/gardener/gardener/blob/fe441a3dac2c5acd68224d5d95f9c0eab541d4ee/cmd/gardener-apiserver/app/gardener_apiserver.go#L316
TL;DR: it should be possible and we should rather restrict access to the resources mentioned in this issue via the SeedAuthorizer and not move secrets into other namespaces or similar...

@timebertt https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/

Admission controllers limit requests to create, delete, modify or connect to (proxy). They do not support read requests.

Ok, I see the title of #1723 is confusing. We don't need a new admission plugin, but rather a new authorizer.
Admission is too late in the request chain and such decisions have to be done in the Authorization layer.

if there is a means to limit read requests to only resources a seed/gardenlet has a need-to-know and nothing else, great. Can this be done/how?

I've done some quick scan through the API server code.
The extended API server (g-api) delegates Authorization decisions to the kube-apiserver by default.
So this should be possible by adding a autorization webhook to the garden cluster: https://kubernetes.io/docs/reference/access-authn-authz/webhook/
Another way might be a bit hacky but still possible to add a new in-tree authorization plugin when constructing g-api's authorization config here: https://github.com/gardener/gardener/blob/fe441a3dac2c5acd68224d5d95f9c0eab541d4ee/cmd/gardener-apiserver/app/gardener_apiserver.go#L316
TL;DR: it should be possible and we should rather restrict access to the resources mentioned in this issue via the SeedAuthorizer and not move secrets into other namespaces or similar...

@timebertt, great, thank you!

@timebertt, great, thank you!

After gaining more insights with @rfranzke, we're now confident that we indeed need to copy the secrets into a dedicated namespace as a list/watch operation for secrets cannot be restricted or checked by a custom authorization plugin.
We decided to have a controller for the Gardener Controller manager that watches Seed objects.
Responsibilities:

create a namespace in the Garden cluster seed-<seed-name> with ownerReference to seed object
copy secrets from ReadGardenSecrets e.g., internal domain, default domain, altering secrets from the garden namespace to the seed's namespace

A controller in the Gardenlet will watch Secrets in the seed's namespace and update an internal map of these secrets that are used by further Gardenlet controllers.
/assign


Schema Reflection API

Are you planning on adding support for the Experimental Reflect Schema APIs?

Normally I don't stay completely on top of the experimental APIs but if you want to take a stab at adding it before I get to it by all means give it a go.


use azurecore and azureresource as typings

We were going cross extension boundaries to make these imports work in the extension codes and that's just not a good way to design this and when these extensions do move to another repo everything will break.

Coverage increased (+0.002%) to 40.187% when pulling 609bc383ae93b2db218575907142863959f2a582 on amir/azureCoreTyping into ca2b893c2c9abcf1febcf1378271862ea769a38a on main.


Bad SQL generated

I'm using this own function
def create_unique_activity(key, trackable, owner, recipient=nil, parameters={})
    PublicActivity::Activity.find_or_create_by(
      key: key,
      trackable: trackable,
      owner: owner,
      recipient: recipient,
      parameters: parameters
    )
end

And that function makes this SQL
SELECT  "activities".*
FROM "activities"
WHERE "activities"."key" = "trackable.key"
    AND "activities"."trackable_type" = 'trackable'
    AND "activities"."trackable_id" = 1
    AND "activities"."owner_type" = 'User'
    AND "activities"."owner_id" = 1
    AND "activities"."recipient_type" = 'recipient'
    AND "activities"."recipient_id" = 1
    AND (1=0)  # <------------------------------------ HERE
LIMIT 1

Does anyone know, why adds AND (1=0) to SQL?

I found the reason. Just instead of passing {} to parameters, I have to pass him nil. Like this:
def create_unique_activity(key, trackable, owner, recipient=nil, parameters=nil) # <---- here
    PublicActivity::Activity.find_or_create_by(
      key: key,
      trackable: trackable,
      owner: owner,
      recipient: recipient,
      parameters: parameters
    )
end

Glad you solved it, closing :)


Fixes for Netlify deployment

Changes the build command for the static storybook.
This allows build and deploy for the storybook demo on netlify. See preview here: https://js-fix-static-build--ap-web-components.netlify.app/
Flags

Haven't really tested the deployed storybook website thoroughly

So this will build in GitHub Actions, then deploy to Netlify?

So this will build in GitHub Actions, then deploy to Netlify?

No this is pure netlify like we have for other projects. We can remove GitHub actions if we want.


Failure to create writeTxn within a bloc event handler

Steps to Reproduce
Please describe exactly how to reproduce the problem you are running into.
I am trying to create a write transaction within an event handler for a bloc and it fails immediately without giving an error. It fails in the saveAll method provided below. The call only fails within the bloc's event handler. I can call it directly in a test setUp function and it works.
Code sample
Here is the bloc. It fails when calling the saveAll method.
TransactionBloc(this._transactionRepository, this._categoryRepository, this._apiService)
      : super(const TransactionState()) {
    on<TransactionEventFetch>(_onFetch);
    on<TransactionEventLoad>(_onLoad);
    on<TransactionEventEdit>(_onEdit);
  }

  Future<void> _onFetch(TransactionEventFetch event, Emitter<TransactionState> emit) async {
    final result = await _apiService.fetchPage(
      startDate: event.filters.startDate,
      endDate: event.filters.endDate,
    );

    await _transactionRepository.saveAll(result);
    ...
}

Here is the code for the saveAll method:
Future<List<Transaction>> saveAll(List<Transaction> transactions) async {
    return await _db.writeTxn(() async {
      final txns = transactions.map((e) => e.copyWith()).toList();
      try {
        await _db.transactions.putAll(txns);
      } catch (e) {
        _logger.e(e);
        rethrow;
      }
      return txns;
    });
}

I stepped through in the debugger to find that it fails at line 72 of native/txn.dart where it returns completer.future.
Future<void> wait() {
    final completer = Completer<void>();
    _completers.add(completer);
    return completer.future;
}

The Transaction class that is being saved.
@CopyWith(constructor: 'copy')
@Collection(inheritance: false, ignore: {"props"})
class Transaction with EquatableMixin {
  Id? dbId;
  @Index(unique: true, replace: true)
  String? id;
  @Index(name: 'date')
  late DateTime date;
  @Index(name: 'name', caseSensitive: false)
  late String name;
  final _categoryLink = IsarLink<FinancialCategory>();
  final _originalCategoryLink = IsarLink<FinancialCategory>();
  late String dbAmount;
  late String cursor;

  Transaction();

  Transaction.create({
    required this.id,
    required this.date,
    required this.name,
    required Decimal amount,
    required this.cursor,
  }) : dbAmount = amount.toString();

  Transaction.copy(
      {this.dbId, this.id, required this.date, required this.name, required this.dbAmount, required this.cursor});

  @Index(type: IndexType.value, caseSensitive: false)
  List<String> get nameWords => Isar.splitWords(name);

  @Index(type: IndexType.value, caseSensitive: false)
  List<String> get categoryWords => Isar.splitWords(_categoryLink.value?.name ?? '');

  @ignore
  FinancialCategory? get category => _categoryLink.value;
  set category(FinancialCategory? c) => _categoryLink.value = c;
  Future<void> saveCategory() async => _categoryLink.save();

  @ignore
  FinancialCategory? get originalCategory => _originalCategoryLink.value;
  set originalCategory(FinancialCategory? c) => _originalCategoryLink.value = c;
  Future<void> saveOriginalCategory() async => _originalCategoryLink.save();

  @override
  List<Object?> get props => [id];
}

Details

Platform: Chrome (web) on MacOS 12.6,  Apple M1 Pro
Flutter version: 3.3.0
Isar version: 3.0.2

[x] I searched for similar issues already
[x] I filled the details section with the exact device model and version
[x] I am able to provide a reproducible example

What is the error message?

There is no error message or exception. The writeTxn method just returns and none of the code within is ever executed. Even the _onFetch() method exits after the call to saveAll() with none of the code below it being executed.
Additionally, I tried just creating a trivial write transaction that just returns a future with an empty string in the _onFetch() method and it failed the same way.

I'm not able to reproduce your problem unfortunately. Without more information or an error it is difficult for me to help.

I found the problem. It works when I remove Isar.splitWords(), which I see in the docs is not supported yet on web.


[zlib, protobuf, grpc, x86-windows, x64-windows] build failure

Host Environment

OS: [Windows 10]
Compiler: Microsoft Visual Studio Community 2019 Version 16.6.5

To Reproduce
.\vcpkg install protobuf
.\vcpkg install protobuf:x64-windows
.\vcpkg install zlib
.\vcpkg install zlib:x64-windows
.\vcpkg install grpc:x64-windows
Failure logs
PS C:\work\git\vcpkg> .\vcpkg install grpc:x64-windows
Computing installation plan...
The following packages will be built and installed:
    grpc[core]:x64-windows
  * protobuf[core]:x64-windows
  * zlib[core]:x64-windows
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Starting package 1/3: protobuf:x64-windows
Building package protobuf[core]:x64-windows...
Could not locate cached archive: C:\Users\MClausohm\AppData\Local\vcpkg\archives\9c\9c03b185b77097f7e2b44d2bca09b1ad4dd3f606.zip
-- Using cached C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Cleaning sources at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Applying patch fix-uwp.patch
-- Applying patch fix-android-log.patch
-- Applying patch fix-static-build.patch
-- Using source at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/tools/protobuf/protoc.exe
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/share/protobuf/copyright
-- Fixing pkgconfig
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: C:/work/git/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: C:/work/git/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      C:\work\git\vcpkg\buildtrees\protobuf\msys-pacman-x64-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:127 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
  ports/protobuf/portfile.cmake:136 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Error: Building package protobuf:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: protobuf:x64-windows
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.
PS C:\work\git\vcpkg>

PS C:\work\git\vcpkg> .\vcpkg install zlib
Computing installation plan...
The following packages will be built and installed:
    zlib[core]:x86-windows
Detecting compiler hash for triplet x86-windows...
Starting package 1/1: zlib:x86-windows
Building package zlib[core]:x86-windows...
Could not locate cached archive: C:\Users\MClausohm\AppData\Local\vcpkg\archives\c0\c085bc12d7dd227b473a38900e002f22808006cf.zip
-- Using cached C:/work/git/vcpkg/downloads/zlib1211.tar.gz
-- Cleaning sources at C:/work/git/vcpkg/buildtrees/zlib/src/1.2.11-deec42f53b.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/work/git/vcpkg/downloads/zlib1211.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at C:/work/git/vcpkg/buildtrees/zlib/src/1.2.11-deec42f53b.clean
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Fixing pkgconfig
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: C:/work/git/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: C:/work/git/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      C:\work\git\vcpkg\buildtrees\zlib\msys-pacman-x86-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:127 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
  ports/zlib/portfile.cmake:46 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Error: Building package zlib:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: zlib:x86-windows
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.
PS C:\work\git\vcpkg>

Additional context
in ubuntu install working.

Can you update vcpkg and try again?
Thanks.

after update, no success
PS C:\work\git\vcpkg> git pull
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 6 (delta 2), reused 2 (delta 2), pack-reused 4
Unpacking objects: 100% (6/6), 1.36 KiB | 51.00 KiB/s, done.
From https://github.com/microsoft/vcpkg
   25412e1f4..0babd2ff2  master     -> origin/master
Updating 25412e1f4..0babd2ff2
Fast-forward
 ports/neargye-semver/CONTROL        |  4 ++++
 ports/neargye-semver/portfile.cmake | 13 +++++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 ports/neargye-semver/CONTROL
 create mode 100644 ports/neargye-semver/portfile.cmake
PS C:\work\git\vcpkg> ./bootstrap-vcpkg.bat

Building vcpkg.exe ...

  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  pch.cpp
  archives.cpp
  checks.cpp
  chrono.cpp
  cofffilereader.cpp
  downloads.cpp
  enums.cpp
  files.cpp
  hash.cpp
  json.cpp
  machinetype.cpp
  parse.cpp
  strings.cpp
  stringview.cpp
  system.cpp
  system.print.cpp
  system.process.cpp
  unicode.cpp
  binarycaching.cpp
  binaryparagraph.cpp
  build.cpp
  buildenvironment.cpp
  cmakevars.cpp
  commands.autocomplete.cpp
  commands.buildexternal.cpp
  commands.cache.cpp
  commands.ci.cpp
  commands.ciclean.cpp
  commands.contact.cpp
  commands.cpp
  commands.create.cpp
  commands.dependinfo.cpp
  commands.edit.cpp
  commands.env.cpp
  commands.exportifw.cpp
  commands.format-manifest.cpp
  commands.integrate.cpp
  commands.list.cpp
  commands.owns.cpp
  commands.porthistory.cpp
  commands.portsdiff.cpp
  commands.search.cpp
  commands.setinstalled.cpp
  commands.upgrade.cpp
  commands.version.cpp
  commands.xvsinstances.cpp
  dependencies.cpp
  export.cpp
  export.chocolatey.cpp
  export.prefab.cpp
  globalstate.cpp
  help.cpp
  input.cpp
  install.cpp
  platform-expression.cpp
  metrics.cpp
  packagespec.cpp
  paragraphparseresult.cpp
  paragraphs.cpp
  portfileprovider.cpp
  postbuildlint.buildtype.cpp
  postbuildlint.cpp
  remove.cpp
  sourceparagraph.cpp
  statusparagraph.cpp
  statusparagraphs.cpp
  tools.cpp
  triplet.cpp
  update.cpp
  userconfig.cpp
  vcpkgcmdarguments.cpp
  vcpkglib.cpp
  vcpkgpaths.cpp
  versiont.cpp
  visualstudio.cpp
  vcpkglib.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkglib.lib
  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  vcpkg.cpp
  Code wird generiert.
  Previous IPDB not found, fall back to full compilation.
  All 19105 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Codegenerierung ist abgeschlossen.
  vcpkg.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkg.exe
  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  vcpkgmetricsuploader.cpp
  Code wird generiert.
  Previous IPDB not found, fall back to full compilation.
  All 8999 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Codegenerierung ist abgeschlossen.
  vcpkgmetricsuploader.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkgmetricsuploader.exe

Building vcpkg.exe... done.

Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md
PS C:\work\git\vcpkg> .\vcpkg install grpc:x64-windows
Computing installation plan...
The following packages will be built and installed:
    grpc[core]:x64-windows
  * protobuf[core]:x64-windows
  * zlib[core]:x64-windows
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Starting package 1/3: protobuf:x64-windows
Building package protobuf[core]:x64-windows...
Could not locate cached archive: C:\Users\MClausohm\AppData\Local\vcpkg\archives\9c\9c03b185b77097f7e2b44d2bca09b1ad4dd3f606.zip
-- Using cached C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Cleaning sources at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Applying patch fix-uwp.patch
-- Applying patch fix-android-log.patch
-- Applying patch fix-static-build.patch
-- Using source at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/tools/protobuf/protoc.exe
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/share/protobuf/copyright
-- Fixing pkgconfig
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: C:/work/git/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: C:/work/git/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      C:\work\git\vcpkg\buildtrees\protobuf\msys-pacman-x64-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:153 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
  ports/protobuf/portfile.cmake:136 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Error: Building package protobuf:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: protobuf:x64-windows
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.
PS C:\work\git\vcpkg> .\vcpkg update
Using local portfile versions. To update the local portfiles, use `git pull`.
No packages need updating.
PS C:\work\git\vcpkg>

after update, no success
PS C:\work\git\vcpkg> git pull
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 6 (delta 2), reused 2 (delta 2), pack-reused 4
Unpacking objects: 100% (6/6), 1.36 KiB | 51.00 KiB/s, done.
From https://github.com/microsoft/vcpkg
   25412e1f4..0babd2ff2  master     -> origin/master
Updating 25412e1f4..0babd2ff2
Fast-forward
 ports/neargye-semver/CONTROL        |  4 ++++
 ports/neargye-semver/portfile.cmake | 13 +++++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 ports/neargye-semver/CONTROL
 create mode 100644 ports/neargye-semver/portfile.cmake
PS C:\work\git\vcpkg> ./bootstrap-vcpkg.bat

Building vcpkg.exe ...

  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  pch.cpp
  archives.cpp
  checks.cpp
  chrono.cpp
  cofffilereader.cpp
  downloads.cpp
  enums.cpp
  files.cpp
  hash.cpp
  json.cpp
  machinetype.cpp
  parse.cpp
  strings.cpp
  stringview.cpp
  system.cpp
  system.print.cpp
  system.process.cpp
  unicode.cpp
  binarycaching.cpp
  binaryparagraph.cpp
  build.cpp
  buildenvironment.cpp
  cmakevars.cpp
  commands.autocomplete.cpp
  commands.buildexternal.cpp
  commands.cache.cpp
  commands.ci.cpp
  commands.ciclean.cpp
  commands.contact.cpp
  commands.cpp
  commands.create.cpp
  commands.dependinfo.cpp
  commands.edit.cpp
  commands.env.cpp
  commands.exportifw.cpp
  commands.format-manifest.cpp
  commands.integrate.cpp
  commands.list.cpp
  commands.owns.cpp
  commands.porthistory.cpp
  commands.portsdiff.cpp
  commands.search.cpp
  commands.setinstalled.cpp
  commands.upgrade.cpp
  commands.version.cpp
  commands.xvsinstances.cpp
  dependencies.cpp
  export.cpp
  export.chocolatey.cpp
  export.prefab.cpp
  globalstate.cpp
  help.cpp
  input.cpp
  install.cpp
  platform-expression.cpp
  metrics.cpp
  packagespec.cpp
  paragraphparseresult.cpp
  paragraphs.cpp
  portfileprovider.cpp
  postbuildlint.buildtype.cpp
  postbuildlint.cpp
  remove.cpp
  sourceparagraph.cpp
  statusparagraph.cpp
  statusparagraphs.cpp
  tools.cpp
  triplet.cpp
  update.cpp
  userconfig.cpp
  vcpkgcmdarguments.cpp
  vcpkglib.cpp
  vcpkgpaths.cpp
  versiont.cpp
  visualstudio.cpp
  vcpkglib.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkglib.lib
  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  vcpkg.cpp
  Code wird generiert.
  Previous IPDB not found, fall back to full compilation.
  All 19105 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Codegenerierung ist abgeschlossen.
  vcpkg.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkg.exe
  Using triplet "x86-windows" from "C:\work\git\vcpkg\installed\x86-windows\"
  vcpkgmetricsuploader.cpp
  Code wird generiert.
  Previous IPDB not found, fall back to full compilation.
  All 8999 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  Codegenerierung ist abgeschlossen.
  vcpkgmetricsuploader.vcxproj -> C:\work\git\vcpkg\toolsrc\msbuild.x86.release\vcpkgmetricsuploader.exe

Building vcpkg.exe... done.

Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md
PS C:\work\git\vcpkg> .\vcpkg install grpc:x64-windows
Computing installation plan...
The following packages will be built and installed:
    grpc[core]:x64-windows
  * protobuf[core]:x64-windows
  * zlib[core]:x64-windows
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Starting package 1/3: protobuf:x64-windows
Building package protobuf[core]:x64-windows...
Could not locate cached archive: C:\Users\MClausohm\AppData\Local\vcpkg\archives\9c\9c03b185b77097f7e2b44d2bca09b1ad4dd3f606.zip
-- Using cached C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Cleaning sources at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/work/git/vcpkg/downloads/protocolbuffers-protobuf-31ebe2ac71400344a5db91ffc13c4ddfb7589f92.tar.gz
-- Applying patch fix-uwp.patch
-- Applying patch fix-android-log.patch
-- Applying patch fix-static-build.patch
-- Using source at C:/work/git/vcpkg/buildtrees/protobuf/src/dfb7589f92-61fbc4fa5f.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/tools/protobuf/protoc.exe
-- Installing: C:/work/git/vcpkg/packages/protobuf_x64-windows/share/protobuf/copyright
-- Fixing pkgconfig
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: C:/work/git/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: C:/work/git/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      C:\work\git\vcpkg\buildtrees\protobuf\msys-pacman-x64-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:153 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_fixup_pkgconfig.cmake:281 (vcpkg_acquire_msys)
  ports/protobuf/portfile.cmake:136 (vcpkg_fixup_pkgconfig)
  scripts/ports.cmake:79 (include)

Error: Building package protobuf:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: protobuf:x64-windows
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.
PS C:\work\git\vcpkg> .\vcpkg update
Using local portfile versions. To update the local portfiles, use `git pull`.
No packages need updating.
PS C:\work\git\vcpkg>

@MCl57 could you post the log of C:\work\git\vcpkg\buildtrees\protobuf\msys-pacman-x64-windows-err.log

Please remove VCPKG_PATH/downloads/tools/msys2 and try again.

@strega-nil here requested file:
msys-pacman-x64-windows-err.log

@MCl57 #12467 fixed this issue, but you need to remove the old msys2 manually.
@strega-nil Since msys2 officially did not consider the compatibility of the old version when fixing its bugs, I think we should unzip it in the downloads/tools/msys2/${DATE_TAG} folder.

@JackBoosY yeah that seems reasonable. I wish that we didn't have to deal with this :'(

Thanks for your advice.
I started over, deleted all non-git folders and generated everything. this time without problems. I'm happy now.
Thank you.


Zoom

Pull Request Test Coverage Report for Build 863736509

63 of 80 (78.75%)  changed or added relevant lines in 8 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+2.2%) to 67.5%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ear-app/src/app/service/transcription.service.ts
0
5
0.0%

ear-app/src/app/upload/upload.component.ts
25
37
67.57%

Files with Coverage Reduction
New Missed Lines
%

ear-app/src/app/upload/upload.component.ts
1
66.47%

Totals

Change from base Build 711797601:
2.2%

Covered Lines:
425

Relevant Lines:
645

💛  - Coveralls


FormBuilderImagePicker preview and camera callback

So besides the problems with initial value (#607 #622)  I have also noticed than when you set the preview size the camera icon is not centered as well as the delete one. This basically causes you to have to expand your widget in order to be able to change the image and such.
Also camera callback doesn't trigger half of the time until I manually go back and select the camera again to take a second picture.
This is all in emulator though, didn't have the time to try a real device.
Lastly I was wondering if adding editing functions when selecting an image is something that might be implemented in the future.
Thanks
Edit: using the lastest package and flutter stable 1.22.5

Closed because this widget is moved to https://github.com/danvick/form_builder_image_picker


Add more handlers to the requests and improve test cases

Currently only success is assumed. Should write handlers for other status codes as well, acc to the API. Ready State can be used for generating pretty messages for the impatient.

59786be does most of this. The API apparently will return a 404 for bad usernames. Repo search is a different thing. Not really generating messages because those won't be of much help really, considering that we've covered cases of failing of either arguments.


Convert e2e tests to webdriver.io

This is a rather large PR which does several things at once:

Converts all e2e tests to webdriver.io and gets rid of Nightmare.js. The biggest problem with Nightmare is debugging async calls and it doesn't make it very easy to figure out what's wrong. With WDIO we get a built-in test runner (other nice things can be done with it in the future) but more importantly easy to read stack traces with actual line numbers when stuff failed.

WDIO also claims to be synchronous or rather everything is still async but it tries to play smart and present itself as a sync process to the user.
It is also a bit easier to select and interact with components on the page directly from node scope, instead of switching to browser scope.

Removes all backend API calls. create/delete Blueprint are replaced with UI automation. This will make it easier to enable testing for lorax-composer and not bother about unix domain sockets.

Removed test explicit scenarios which are tested elsewhere or covered by the create/delete automation. Also squashed some related assertions into 1 scenario to reduce execution time a bit.
Also for the various buttons that open pop-up dialogs I've left only 1 full test scenario and the rest just validate that the same popup can be triggered by different buttons.

Removed unnecessary bits and adjusted the container infrastructure to be able to run the new test suite.

Notes:

Appears to work fine locally and in CI (for the stand alone web mode)
Fails with Cockpit, but some cases do pass. This leads me to think this is related to timeouts or improperly waiting for things on the screen. Still debugging.

I would appreciate a quick review so we can merge by the end of the week,

@atodorov , can we enable firefox headless for the test?

To address some of the comments while still trying to figure out why stuff fails under Cockpit:

Can we enable firefox headless for the test?

Is there any difference? I will give it a try once I get everything to work reliably but IMO if there's no difference then I prefer to run in full graphical mode because it makes things easier for debugging. There's no need to reconfigure locally before debugging.

We do not need vnc and just with xvfb-run.

For some reason I was not able to export a DISPLAY for selenium server to use when running with xvfb-run hence the VNC workaround. Again if there isn't much difference between VNC and Xvfb then I'd prefer going with VNC (and graphical Firefox) because you can connect a client and observe what is happening in real time. This isn't essential to the migration though so let's think about it after this PR gets merged.

The test, test_blueprints.js - should open Edit Blueprint page when clicking Edit Blueprint button, always fail on my local env.

Any traceback ? Why does it fail?
I am experiencing some failures with Cockpit but none when running in stand alone mode.


Write a tutorial for running GetDOS in jupyter notebook at SNS analysis cluster

See https://github.com/sns-chops/multiphonon/wiki/Use-jupyter-notebook-to-run-GetDOS-calculation-at-SNS-analysis-cluster

Old tutorial. Don't need the setup anymore. Setup is now automatic.
This page explains how to set up your jupyter notebook environment at SNS. This only has to be done for once.
Connect to SNS analysis cluster using thinlinc
SNS jupyter service is now only available from inside the SNS analysis cluseter. So the first step is
to connect to SNS analysis cluster using thinlinc.

Open http://analysis.sns.gov in a browser and log in

Log in again if the screen saver was on

Set up jupyter notebook environment
All the following steps happen inside the thinlinc window of the SNS analysis cluster.

Open a browser

Browse to https://jupyter.sns.gov and log in

You are now presented the jupyter view of your home directory at analysis cluster as shown below. Click "New" and then select the "SNS jupyter environment" kernel to create a new notebook.

You are now presented with a new, empty notebook

Type in the code

import sje;
sje.setup()

to setup your jupyter notebook environment.

6. Close this notebook

7. It is done! Your SNS jupyter environment was set up. You are ready to move on to the next step. Use the jupyter notebooks for your data analysis.

Even older tutorial

This tutorial is obsolete

Connect to SNS analysis cluster using thinlinc client or browser. All the following actions happen inside the SNS analysis cluster window.

First open a browser window:

Then start a terminal and type in the following commands to start the jupyter server:

    $ /SNS/ARCS/shared/sns-chops/start-jupyter

Now a new browser tab will show up with a welcoming page

Jupyter notebook is now ready to use. You should not need to do this again unless the jupyter notebook server was killed.

Done. see wiki page


bump npm

NPM is behind...
https://www.npmjs.com/package/juice

yup, going to pull in one other thing before a release


Add styling

In this phase of the project, I have added the styling for the page

Thank you
Sent from Yahoo Mail on Android
On Sat, Mar 11, 2023 at 10:32 AM, Afani @.***> wrote:
@afanimartin approved this pull request.
Hi <STUDENT_MENTION>,
Your project is complete! There is nothing else to say other than... it's time to merge it
Congratulations! 🎉
Highlights

Changes made as requested

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding! 👏 👏 👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Find me on slack
Martin Afani
As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Remove duplicates of sample config files for the node

After merging #312, we will have sample config files (miden-node.toml and genesis.toml) stored in 2 different places (i.e., in node and in packaging directories). This is not a big deal, but I think ideally we should have a "single source of truth" for these.  Assuming we want to do this, we have the following options:

Keep the only copies in the node directory. I think we'll need to update the packaging task to work with this.
Keep the only copies in the packaging directory. We may need to update our docker build scripts for this (and maybe something else?).
Put these files into some dedicated directory (e.g., config). We'll need to update both the Debian package task and docker build script.

I'm not sure what's the best approach here is - maybe option 3?

Closed by #353.


[stable/heapster] Cannot install with rbac enabled

Is this a request for help?:
Yes
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Bug

Version of Helm and Kubernetes:
gus@gus-mm:~/Downloads$ helm version
Client: &version.Version{SemVer:"v2.7.2", GitCommit:"8478fb4fc723885b155c924d1c8c410b7a9444e6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.7.2", GitCommit:"8478fb4fc723885b155c924d1c8c410b7a9444e6", GitTreeState:"clean"}
gus@gus-mm:~/Downloads$ k version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", BuildDate:"2017-11-20T05:17:43Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
stable/heapster
What happened:
Tried to install with RBAC enabled but was unable to.
What you expected to happen:
Role/service account to be created with appropriate permission and attached to pods/deployment
How to reproduce it (as minimally and precisely as possible):
gus@gus-mm:~/Downloads$ helm install stable/heapster --name heapster --set rbac.create=true --namespace kube-system
Error: release heapster failed: roles.rbac.authorization.k8s.io "heapster-heapster-pod-nanny" is forbidden: attempt to grant extra privileges: [PolicyRule{Resources:["pods"], APIGroups:[""], Verbs:["get"]} PolicyRule{Resources:["deployments"], APIGroups:["extensions"], Verbs:["get"]} PolicyRule{Resources:["deployments"], APIGroups:["extensions"], Verbs:["update"]}] user=&{system:serviceaccount:kube-system:default 287d40d1-e542-11e7-b01e-0a4b727d0d24 [system:serviceaccounts system:serviceaccounts:kube-system system:authenticated] map[]} ownerrules=[] ruleResolutionErrors=[]

Anything else we need to know:
Pretty standard Kubernetes cluster created with kops using canal. Not much installed other then the kubernetes dashboard (with RBAC enabled) and nginx ingress controller.

Looks like your tiller doesn’t have permission to deploy heapster.
Delete your tiller deployment and run these commands below to fix that
kubectl -n kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller


filter interpretation question

Looking at https://github.com/tangrams/zinc-style/blob/gh-pages/zinc-style.yaml#L4054-L4066 : what is going on with this filter?
neighborhood-z11:
    filter:
        all:
            - name: true
            - kind: [macrohood, neighbourhood]
            - $zoom: [11]
        any:
            - source: [openstreetmap, openstreetmap.org]
            - source: [whosonfirst, whosonfirst.mapzen.com]
              all:
                - min_zoom: [11]
                - max_zoom: { min: 12 }
                - is_landuse_aoi: false

As I understand from https://mapzen.com/documentation/tangram/Filters-Overview/#lists-imply-any-mappings-imply-all : because the first "all" and "any" layers are in the form of a mapping, the filter will match if the feature matches every condition in the first "all" block AND at least one of the conditions in the first "any" block – so far, so good.
But what is that second "all" doing under the "any"? How does that indent work under the two "source" list entries? Does it count as one of the entries in the "any" list? I've tested it in Play and it seem to function as a requirement equivalent to the outer-most "all", but I'm not sure.

In a "block style" YAML sequence, e.g.
- first: 1
  second: 2
- third: 3

Each - denotes the start of a new mapping (or "object"). The YAML above is exactly equivalent to:
- { first: 1, second: 2 }
- third: 3

In the context above, the source and all entries under the any together form one mapping.

Got it, thanks! 💯


mTLS for incoming requests

As a platform user, I want to be able to send encrypted messages (as if I was interacting with a real environment), and have the messages decrypted and validated before passing them on.
Requirements

When an incoming request arrives using an encrypted TLS connection, it should be decrypted in order to allow PHP to receive the message and process it.
The response to the request from PHP should be encrypted and sent onwards to the client.
Only the /sut endpoints should be encrypted in this way
nginx should still allow unencrypted (HTTP) connections in addition to the encryped connections above
I want to be able to add a "Was encrypted?" conditions to certain test cases, so that we may have both "Encrypted" and "Uncrypted" versions of a test case (which will be selected by the user during the questionnaire). I would suggest configuring nginx to add a custom header to the incoming request to indicate whether HTTPS was used (e.g. ITP_MTLS_ENABLED=1). In future, we could hide this header from the test case page so that users don't get confused about where it came from.

Discussion
mTLS is a Network Layer protocol, so by the time the request reaches PHP (Application Layer) it's already too late. Instead, we need to decrypt with mTLS within the nginx proxy. The response from PHP will also pass through nginx and will need to be encrypted.  The basic idea (as I understand it) is:

We set up a Certificate Authority (CA) certificate and key
We create a Server certificate and key, and sign the Server certificate with the CA.
We share our CA certificate with clients (i.e. with Mojaloop hub and DFSPs) so that they know to trust our Server certificate. [1]
We configure nginx to use the Server certificate and key (ssl_certificate/ssl_certificate_key) to encrypt responses
We fetch CA certificates from our clients (i.e. Mojaloop hub and DFSPs) so that we know to trust their requests. [2]
We append all client CA certificates into one file, and configure nginx to use it to verify incoming requests (ssl_client_certificate).

This is a fairly common scenario to implement, and there are many resources explaining how to do so (see below) - often under the term "Client Certificate Verification". The nuance is in distributing certificates ([1] and [2] above).
Distribution
[1]. Our CA certificate should not change very often. We can share it manually with the Mojaloop hub (via MCM for Mowali). For DFSPs, I think it's okay simply to publish our certificate in a new page on the platform.
[2]. Mojaloop CA certificate will be again be unchanging, but we still need a system for DFSP certificates to be shared with us. I can think of three options:
~(a). DFSPs upload their certificates to Modusbox Connection Manager (MCM), and ITP fetches them automatically. This is a smooth experience for the DFSP because it mirrors the "normal" onboarding process, but it would require us to have "hub" access to the MCM api.~ (this requires too much work)
(b). DFSPs upload the certificates into the platform somewhere. This probably makes most sense at the group level.
(c). Platform admins collect the certificate from externally (E.g.  MCM) and uploades them into the platform somewhere.
Both options b and c can be combined to allow either platform admins or DFSPs to upload certificates themselves, depending on the preferred workflow for the environment.
References
I've followed a mixture of web blog posts and other resources to achieve the understanding above, and I am including the links below as much for my own understanding as anything else.

Blog Post on setting up mTLS with nginx and a Postman client
Stackoverflow answer on using multiple client CAs
Slightly more details blog post on mTLS
Modusbox Connection Manager User Guide (pdf from Mowali)
Modusbox Connection Manager API repository (in particular the swagger file describes all relevant endpoints)
Mojaloop encryption documentation

Hi Christopher, @cjol
Just one question. We don't have ability to receive HTTP and mTLS requests in one endpoint.
Is it okay if we will add /testing-mtls/*/sut for mTLS and keep /testing/*/sut for HTTP ?

Hi Christopher, @cjol
Just one question. We don't have ability to receive HTTP and mTLS requests in one endpoint.
Is it okay if we will add /testing-mtls/*/sut for mTLS and keep /testing/*/sut for HTTP ?

Yes, that's acceptable - however I would prefer these URLs:
/testing/*/sut for mTLS
/testing-insecure/*/sut for HTTP

Yes, that's acceptable - however I would prefer these URLs:
/testing/*/sut for mTLS
/testing-insecure/*/sut for HTTP


Configure Max Password Length

Is your feature request related to a problem? Please describe.
There is no way to configure max password length.
Describe the solution you'd like
Environment variable to override the ridiculous default password strength requirement.
Describe alternatives you've considered
Not using Firezone.

@smashedr What maximum length were you hoping for?

Anything reasonable! Preference would be for it to be configurable, or just the ability disable the requirement all together. If you need a number; 6 would be acceptable.

Passwords are going away in 1.0 in favor of magic link / OTP login. We strongly urge all users to connect an IdP for authentication instead.


fixed on build error xcopy on localized machines #503

echo ( f | xcopy ) will not work, can get around with putting an '*' at the end, xcopy will treat then as file. This solutions builds
fine on DE German machine.

Summary of the Pull Request

References

PR Checklist

[x] Closes #xxx
[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

So it is a fix for #507 and another version of #741. I don't know where we are now about this issue. I have a similar solution like you in my repo (https://github.com/mKay00/Terminal/commit/08e603971e999a458bfbdb339c851e42d223433c), but I deleted the echo | fpart, since it isn't needed with the asterisk. And the other files should be changed as well, if we use this solution.

well for me only src/cppwinrt.build.post.props line 29-30 and 36-37 were complaining and stoped for me building a working solution. The remaining usage of xcopy under certain cmd files in the tools directory works perfect.

I think that the other files should be changed the same way to be consistent and to prevent possible future issues.

@msft-github-bot make sure @zadjii-msft signs off on this


added code for query customers by email

Codecov Report

Merging #170 (f274110) into master (b6b50f6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #170   +/-   ##
=======================================
  Coverage   95.45%   95.45%
=======================================
  Files           8        8
  Lines         506      506
=======================================
  Hits          483      483
  Misses         23       23

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


GitHub Actions for test.js files

# This is the name of your workflow, it can be anything you want
name: Node.js CI

# This workflow gets triggered on every push to files ending with .test.js
on:
  push:
    paths:
      - '**.test.js'  # This will search for any file that ends with .test.js

jobs:
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # This is the maximum time that a workflow can run before GitHub automatically cancels it
    timeout-minutes: 720  # This was used to set to give time for the node_modules to install

    # A strategy for a matrix build job. You can define different variations of an environment to run each configuration simultaneously.
    strategy:
      matrix:
        # Here we specify which versions of Node.js we want our tests to run on.
        # You can specify as many versions as you want.
        node-version: [16.x, 20.x]  # This can change depending on your environment

    steps:
    # This step checks out a copy of your repository
    - uses: actions/checkout@v2

    # This step sets up Node.js using the version specified in the matrix above
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}

    # This step installs your dependencies using npm
    - name: Install dependencies
      run: npm install --legacy-peer-deps

    # This step runs your tests using npm
    - name: Run tests
      run: npm test

 GitHub Actions for Testing

YAML file uploaded and ready for testing.


tag_match_score for middle Europe needs improvements

Hello, I've found your library when looking for some good source to get long lang codes from the short ones (cs -> cs_CZ). I've tried tag_match_score function, but for middle Europe languages it does not work as expected. See the following table:

Languages
Expected
Outputted

cs - sk
86-95
16

cs - pl
76-85
16

sk - pl
76-85
16

cs - hr
76-85
16

Unfortunately, Unicode's language-matching function knows very little about central European languages. Here's the table (which has been restated in terms of "distance", the opposite of match score): https://www.unicode.org/cldr/charts/33/supplemental/language_matching.html
I know that Unicode's function is woefully incomplete, but it at least gives you some way to match different language codes. I just implement the function; I'm not forging ahead with my own sociolinguistic research.


Feature Request: Use the TVDb as a metadata agent

It would be nice to be able to use the "tvdb_show" and similar tags under the metadata label. I'll call out my problem below, but in general I think the option to pull metadata from that source would be a good alternative to TMDb.
Is your feature request related to a problem? Please describe.
My particular problem is that "The Bad Batch" for the Plex agent isn't working for me, but I can pull the info from TMDb. However, the info isn't has good as TVDb and since I'm pointing to TMDb it removed it from my Star Wars collection (I'll attach the terminal output).
Describe the solution you'd like
So with all the being said I'd like to change my call out under metadata from: tmdb_show: 105971   to:  tvdb_show: 385376
Additional context

tvdb doesnt have the fields i need for this so im going to close until their api is open and has the right fields
tmdb_movie and tmdb_show were not designed to fill in metadata that should be taken care by your agent these are here so if you have a show compiled as a movie you can use tmdb_show to get the right metadata and visa versa


custom buttons and title

Hi i just want design a header/nav bar with profile image n user name and right side one button...
but i m not able align the title to left.. and i m not able to style navbar customly...

Did you see Issue 187 ?
It contains an example of how to render a custom title and if you set the styles of the main title component to something like marginLeft: 50, marginRight: 50, flex: 1, alignSelf: 'stretch', justifyContent: 'flex-start', you'll be able to align it at left


libxinerama: Build a bottle for Linuxbrew

Just an audit failure. Merging anyways.

==> Pouring libxinerama-1.1.3.x86_64_linux.bottle.tar.gz
cannot find section .interp
Error: Failure while executing: /home/bob/.linuxbrew/Cellar/patchelf/0.9/bin/patchelf --set-rpath /home/bob/.linuxbrew/lib

I stand corrected - not merging this for now. Need to find out what's causing this problem.

Blocked by https://github.com/Linuxbrew/brew/issues/4


stuff gets out of sync using Preview for Extract Variable refactoring

See the attached screen shot.

Now that #176 is fixed, extracting a variable doesn't show the popup anymore which means this issue should be gone.


Log raw IMU measurements in Bullet actuation interface

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

75 of 75 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 90.077%

Totals

Change from base Build<PHONE_NUMBER>2:
0.2%

Covered Lines:
2678

Relevant Lines:
2973

💛  - Coveralls


sorbet: Ignore Formula and Casks directories

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

These get in the way of typechecking cmd Ruby scripts in package taps, and we don't want formulae or casks to be considered for typing.

Before:
$ brew typecheck homebrew/core
/opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/z/zlib.rb:1: Zlib was previously defined as a module https://srb.help/4012
     1 |class Zlib < Formula
        ^^^^^^^^^^^^^^^^^^^^
https://github.com/sorbet/sorbet/tree/263d0ae6713962fd66db0700d6290f6e43685b45/rbi/stdlib/zlib.rbi#L74: Previous definition
    74 |module Zlib
        ^^^^^^^^^^^

After:
$ brew typecheck homebrew/core
No errors! Great job.

Good idea, thanks @issyl0!


Feature/replace moosend with send

Description / Motivation
This has been in my queue for a while, so I spent Focus Friday adding this in.  This is all documentation updates that include:

Replacing Moosend with Sitecore Send
Adding Send logo to the Product page
Updating documentation links with Send docs (including new Dev Docs)
Added New Sitecore Learning course for Send for Marketers.  Looks like there is one for developers coming soon, will update when that's available.

In a few places, I left references for Moosend because it's still good information that relates to Send.  For example, left the training content for Moosend under the Send product page, because those courses are still applicable to Send.
How Has This Been Tested?
Tested this locally
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation update (non-breaking change; modified files are limited to the /data directory or other markdown files)

Checklist:

[X] I have read the Contributing guide.
[X] My code/comments/docs fully adhere to the Code of Conduct.
[ ] My change is a code change.
[X] My change is a documentation change and there are NO other updates required.
[ ] My change has new or updated images which are stored in the /public/images folder that need to be migrated to Sitecore DAM

I've updated all comments to 'Resolved' so that the PR is no longer blocked. You should be able to merge now!


PowerRename Crashes when scrolling through list of 15,000 files

Microsoft PowerToys version
0.67.1
Installation method
Microsoft Store
Running as admin
No
Area(s) with issue?
PowerRename
Steps to reproduce

Have a list of 15,000 image files.
Try to rename them with PowerToys PowerRename.
Try to scroll through the list.
Have it crash.

PowerToysReport_2023-02-16-08-14-02.zip
✔ Expected Behavior
To be able to rename 15k files.
❌ Actual Behavior
It crashed, which makes sense considering the massive amount of files it's having to try and load.
Edit: It's also super laggy.
Other Software
Renaming is being completed on a SeaGate 2TB Backup Portable drive.

Are you still experiencing this issue? /needinfo


Error Training with Use Autotune Selected (Gui v 1.0.0-beta1)

Training fails with error when training on once class of 1000 files (bandpass 250 - 3000)
Traceback (most recent call last):
File "gui.py", line 14, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "librosa_init_.py", line 209, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "librosa\core_init_.py", line 6, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "librosa\core\audio.py", line 11, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\signal_init_.py", line 331, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\signal_peak_finding.py", line 8, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\stats_init_.py", line 485, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\stats_stats_py.py", line 46, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\stats\distributions.py", line 10, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\stats_continuous_distns.py", line 32, in
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "scipy\stats_boost_init_.py", line 13, in
ImportError: DLL load failed while importing nbinom_ufunc: The paging file is too small for this operation to complete.

We had a few dynamic resource allocation issues and some version mismatches, but this should be resolved in the 1.0.2 release. Can you please check?

Will do. This is my first time with the installer. Do I need to uninstall and reinstall or just install over top.

that worked


docs: Add troubleshooting for corrupt chain DB

[x] Add troubleshooting for corrupt DB on macOS - Kovan
[ ] Add troubleshooting for corrupt DB on macOS - Mainnet
[ ] Add troubleshooting for corrupt DB on Linux - Kovan and Mainnet
[ ] Add troubleshooting for corrupt DB on Windows - Kovan and Mainnet

Closing, this will be addressed in the Fether FAQ now https://github.com/paritytech/wiki/pull/325


git: Fix git-gui to work on Catalina

Motivation for this change
The existing post-install was not successfully patching the git-gui script,
and thus was invoking the packaged osx app which uses the system tk,
which is too old to work (and is no longer supported by Apple anyway).
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

(Testing locally now.  I'll remove this comment once i'm satisfied git-gui is working as expected)

(Testing locally now. I'll remove this comment once i'm satisfied git-gui is working as expected)

Still testing?

(Testing locally now. I'll remove this comment once i'm satisfied git-gui is working as expected)

Still testing?

Sorry, got pulled away by personal life emergency.  I'll loop back to this tonight.


Added pm.Deterministic class objects to sample state

Hi,
I tried to overload the pm.Distributions classes to add some extra functionality i.e. add some variables which can be defined for plotting or other purposes later.
For example:
class my_Normal(pm.Normal):
    def __init__(self,*args,**kwargs):
        if "foo" in kwargs:
            self.foo = kwargs.get("foo")
        super().__init__(*args,**kwargs)
#And later access it via
_, state = pm.evaluate_model(model_with_my_Normal)

#Now we can access the foo attribute via
state.distributions["model_name/my_Normal_name"].foo #This Works!

This is all nice and works but if we try to apply the same concept to the pm.Deterministic class we find that state.deterministics["model_name/my_Normal_name"] is a tensor and the object is not added to state.distributions as well. That is intended behaviour,  so I added an extra dict in the sampling state for deterministic "distributions", which allows me to do:
class my_Deterministic(pm.Deterministic):
    def __init__(self,*args,**kwargs):
        if "foo" in kwargs:
            self.foo = kwargs.get("foo")
        super().__init__(*args,**kwargs)

_, state = pm.evaluate_model(model_with_my_Deterministic)
state.deterministic_distributions["model_name/my_Deterministic_name"].foo #This works now too!

This all feels a bit hacky and I'm not too sure if this breaks anything but I found it quite useful. If you think this could be a feature feel free to merge the pull request or change anything you see fit. Otherwise just reject/close the request ;)
Best wishes and keep up the good work,
Sebastian

This looks good to me. @fonnesbeck could we go ahead and merge?

Thanks for this!


epvm.sh does not read the .env's ENERGYPLUS_INSTALL_DIR="${EXT_DIR}/EnergyPlus" correctly

After building the container when I try to set the Eplus version to 8.9.0 using the bash scripts/epvm.sh 8-9-0, I am getting the "directory not found" error. I am working in VS code that I opened from the container.

Let me know if I doing something wrong?

ya ive seen some issues with how the shell expansion works across platforms. I'm going to push a fix removing the quotation marks and not using $HOME internally, that should fix this. You'll need to then pull the changes off master and rebuild the docker image. I'll post a link here when those changes are up.

I worked with dr. Kane today and was able to figure out the error. We have a PR ready if you have not started working on this, maybe we can push those changes to the upstream repo as a PR for review as well?

great! if you can put those changes in a branch off of the current dev branch and make a PR to dev from the branch ill merge it, and then I'll merge them into master after review. 👍


Devsetup

The env.yaml section below this change indicates an external_network parameter of ext_net and the text uses the same value.  The all-in-one installation creates two networks, public and private.  It would be cleaner if the example parameter values reflected the same networks that the all-in-one demo creates.

fixed public network name, thanks


As a user, I want to view a totals report showing the vacuum’s cleaning coverage, dirt picked up, and battery usage, so I can evaluate its performance

@dipen8699 Acceptance Criteria

Acceptance Criteria:
At the end of each sweep, user is show data of:

Total dirt cleaned
Total battery usage

Of tiles Visited


CGDataProvider should not inherit from NSData

The current implementation is convoluted.

#1450 seems to have completed this already?

Yes I think so.


Cleanup on Aisle 5! Dirty Testing

What is the change?
This PR cleans up a number of tests that leave dust behind.
Why is the change being made?
I noticed some tests were a little bit dirty, so I added TemporaryDirectoryChanger where possible and manually delete files from tests that call code that "get around" the dir changer. (The code itself, in some places, has file paths that are not relative.)

Checklist

[x] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[x] The release notes (location doc/release/0.X.rst) are up-to-date with any important changes.
[x] The documentation is still up-to-date in the doc folder.
[x] If any requirements were affected, mention it in the release notes.
[x] The dependencies are still up-to-date in pyproject.toml.

@opotowsky - I don't think TestXSlibraryMerging is using the temporary directory changer since setUp is being overwritten. Could you check that for the XS library tests?

@opotowsky - I don't think TestXSlibraryMerging is using the temporary directory changer since setUp is being overwritten. Could you check that for the XS library tests?

The TempFileMixin class defines setUp and tearDown methods, so I didn't think the setUpClass methods would override those. I will look into this though.

@opotowsky - I don't think TestXSlibraryMerging is using the temporary directory changer since setUp is being overwritten. Could you check that for the XS library tests?

The TempFileMixin class defines setUp and tearDown methods, so I didn't think the setUpClass methods would override those. I will look into this though.

I think there is a overwritten setUp - https://github.com/terrapower/armi/blob/4b4c52eb36235c103f86618614ad61dcc66abeae/armi/nuclearDataIO/tests/test_xsLibraries.py#L316

@opotowsky - I don't think TestXSlibraryMerging is using the temporary directory changer since setUp is being overwritten. Could you check that for the XS library tests?

The TempFileMixin class defines setUp and tearDown methods, so I didn't think the setUpClass methods would override those. I will look into this though.

@jakehader Ah, I didn't see at first the TestXSlibraryMerging has both setUpClass and setUp. I added some supers, even though it doesn't appear needed for the tests.
I did fine the absolute file path plaguing these tests though, fix incoming!

@jakehader the inheritance was messed up AND there was an absolute file path creating the files outside of the temp dir. Both are fixed in the xs tests. Let me know if you had other concerns...I reviewed the manual file removals and don't think any are fixable without changing the code.

@john-science
This update broke CI:

It's a dependency of jupyter-contrib-nbextensions, which is a deprecated project (no release since 2022). I tested removing it in this PR to see if CI would run, and it did. Does this have any documentation building ramifications?


in src/Components/SignUp StackNavigator with only one screen. What for?

Can you please clarify the point behind this code:
const SignUpStack = StackNavigator({
  SignUp: {
    screen: props => <SignUp {...props} onSignUp={props.screenProps.onSignUp} />,
    navigationOptions: {
      title: Constants.APP_NAME,
    }
  },

If you have only one screen you can just pass the component SignUp right into the parent Navigator with the same resulting behaviour or am I missing something?

Login stack houses Login and Forgot password. You don't want your Signup screen next to forgot password.


Few Salesforce REST Operation Docs are Missing

"Description:
The following categories which are available at [1] are missing in [2];

users
search
The following categories are missing in both docs:
attachment
action

[1] https://github.com/wso2-extensions/esb-connector-salesforcerest/tree/master/docs
[2] https://ei.docs.wso2.com/en/latest/micro-integrator/references/connectors/salesforce-connectors/sf-rest-connector-config/"

Looks like we have added users and search now: https://ei.docs.wso2.com/en/latest/micro-integrator/references/connectors/salesforce-connectors/sf-rest-connector-config/
However, we are missing attachment and action operations in this and do not have source content.

The resource Action is named as "Invocable Actions" in the documentation [1].
[1] https://ei.docs.wso2.com/en/latest/micro-integrator/references/connectors/salesforce-connectors/sf-rest-connector-config/

Have we documented "attachments"?


Layout with labels problem?

Hi guys,
I have this code:
from flexx import flx

class MyLabel(flx.Label):
    CSS = f"""
        .flx-MyLabel {{
            font-family: Helvetica;
            font-size: 16px;
            font-weight: bold;
            text-align: center;
            display: table;
        }}

        .flx-MyLabel span {{
            display: table-cell;
            vertical-align: middle;
        }}
    """

    @flx.action
    def _set_text(self, text):
        self.set_html("" + text + "")

    @flx.action
    def hide(self):
        self.apply_style("visibility: hidden;")

    @flx.action
    def show(self):
        self.apply_style("visibility: visible;")

def create_label(text, additional_styling="", **kwargs):
    return MyLabel(
        html="" + text + "",
        style=additional_styling,
        **kwargs
    )

class Test(flx.Widget):

    def init(self):
        def cl(*args, **kwargs):
            label = create_label(*args, **kwargs)
            label.set_wrap(True)
            return label

        for i in range(5):
            with flx.HFix(flex=(0.0, 1.0)) as frame0:
                cl("TEST", "font-size: 16px; border: 1px solid black; max-width: 60px;", flex=0)

                with flx.HFix(flex=0) as frame1:
                    cl("TEST", "font-size: 16px; border: 1px solid black; min-width: 120px; max-width: 120px;", flex=1)
                    cl("TEST", "font-size: 16px; border: 1px solid black;", flex=1)

                with flx.HFix(flex=0) as frame2:
                    cl("TEST", "font-size: 16px; border: 1px solid black; min-width: 60px; max-width: 60px;", flex=0)
                    cl("TEST", "font-size: 16px; border: 1px solid black; min-width: 100px; max-width: 100px;", flex=0)
                    cl("TEST", "font-size: 16px; border: 1px solid black;", flex=0)

                with flx.VFix(flex=(0, 1)) as frame3:
                    for i in range(10):
                        with flx.HFix(flex=(0, 1)) as frame4:
                            cl("TEST", "font-size: 14px; border: 1px solid black; min-width: 60px; max-width: 60px;", flex=0)
                            cl("TEST", "font-size: 14px; border: 1px solid black; min-width: 100px; max-width: 100px;", flex=0)
                            cl("TEST " * 40, "font-size: 16px; border: 1px solid black;", flex=(0, 1))

app1 = flx.serve(Test)
flx.start()

This produces this on Chrome:

The label marked in red is not displayed entirely, the bottom part is cut off.
How do make the blue HFix (frame4 in the above code) always stretch vertically to show the entire contents of the red label?
Thanks

It seems that the minimum Label height is always one font height.
Is there a way to force it to be as many lines as the wrap functionality divides it to?

Also tried wrapping the red label in a VBox and VFix, but no changes.
@almarklein Any ideas?

Using VBox for frame3 won't help if frame4 is a fixed layout. With a fixed layout, JS/Flexx takes control of the layout, and thereby you lose the information about the "natural required size" of the elements within. By using HBox for frame4 as well, the browser controls the layout from frame3, down to the elements.
There's a second problem, and that is that each of the boxes in the last column are oversized, so there is simply not enough space.
As an example, I tweaked the last few lines a bit:
                with flx.VBox(flex=(0, 1)) as frame3:
                    for i in range(10):
                        with flx.HBox(flex=(0, 1)) as frame4:
                            cl("TEST", "font-size: 14px; border: 1px solid black; min-width: 60px; max-width: 60px;", flex=1)
                            cl("TEST", "font-size: 14px; border: 1px solid black; min-width: 100px; max-width: 100px;", flex=1)
                            cl("TEST " * (40 if i==0 else 2), "font-size: 16px; border: 1px solid black;", flex=1)

And I disabled the display: table because apparently together with Hbox it causes the labels to not take "their space". And then I got this:

Hey @almarklein ,
Thanks for the additional information.
But how do I make frame0 stretch vertically, so that all labels created with the cl functions will always have all of their content visible?

But how do I make frame0 stretch vertically,

Ah, you mean you create 5 frame0's, and only one is shown. This is probably because they are not in a layout (you probably want to subclass from VFix, or add a root with flx.VFix. Also, the iteration variable is i, but the same is used further down.

@almarklein
Right, good catch with the duplicaton of the i variable.
Yes, if a main with flx.VFix: is added, then five frame0 are created. But their dimensions change, some labels get "squished", with it's content cut from view. How do the layouts have to be created for that never to happen? How do I make a frame0 that never has any of it's labels (no matter how nested they are) "squished"?
Because if I add you proposed changes, this happens (The last labels in frame4 are "squished"):

Basically, you can't unless you used box layout all the way through to above frame0.
Fix layout and split layout work "top down". They take the available space and divide that space among their children. The box layout is "bottom up". They check what space each child needs, and divide the available space as good as possible. You can't have both. There's usually a point in your GUI where you go from the one approach to the other.

@almarklein
"Fix layout and split layout work "top down". They take the available space and divide that space among their children",
Would you also include the tab layout in this list?

Yes. The tab layout assigns all available space to just one of its children. It uses absolute positioning (of the child widgets), so info on "natural size" of widgets cannot bubble up.

Thanks, I now understand better some of the layout difficulties I had to find workarounds for when using the tab layout.


Operations/attester_slashing success cases issue

Solved in https://github.com/ethereum/eth2.0-specs/pull/1126 but looks like generation was done using v0.6.2, so we have exits like 6, 5, 5, 5, 5, 6, 6, 6. Waiting for regeneration.

same for sanity/blocks, attester_slashing test case

Yes, discovered these just too late for the v0.6.2 release :(
There was a fix, but it was into dev, so it didn't make the generation of test-vectors. We're porting it back. See https://github.com/ethereum/eth2.0-specs/pull/1137

Sounds good!

I believe this was fixed in v0.6.3


test: add capability to specify images / skip K8s provisioning

Add three new options to the Ginkgo CI:

-cilium.operator-image - image containing cilium-operator
-cilium.image - image containing cilium-agent
-cilium.provision-k8s - whether or not to provision K8s (true or false)

These flags are useful when running CI-only changes locally, so that developers
can quickly deploy cilium and cilium-operator without having to build it. This
also allows for tests to be ran against specific tags, e.g. v1.4.5, etc.
If either image option is not set, the scripts for running tests will build the
image which was not specified, and pull the other one. If neither are set, the
existing behavior of building both images is performed.
Signed-off by: Ian Vernon<EMAIL_ADDRESS>Fixes: #8638

This change is

test-me-please

Coverage increased (+0.01%) to 44.171% when pulling 5c978c22480dc26a22c50115ec99215ebb931daf on pr/ianvernon/new-ci-CLI-options into 8905ec5c54788c861f1a4653ccb3d7d44eed6d60 on master.

VM provisioning failure - unsure if it is related to my changes, so trying again: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/14031/

test-me-please

test-me-please

Build failure: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/14034/

test-me-please

Nice! Perhaps options are worth to be documented at https://github.com/cilium/cilium/blob/master/Documentation/contributing/contributing.rst#available-cli-options?

@brb updated Documentation!

test-me-please

test-docs-please

Build failure: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/14078/
NodePort and Kafka tests failed. These are flakes in master as well.

test-me-please


gnome: rename deprecated pkgs.gnome.gnome-backgrounds package

Rename the deprecated pkgs.gnome.gnome-backgrounds package to pkgs.gnome-backgrounds, following https://github.com/NixOS/nixpkgs/commit/6e8760f7f7121128e2037db44915a4a5450b6e67.
Cc: @knoopx

This merge broke compatibility with GNOME for Nixpkgs 24.05.
Therefore, it is necessary to set the following if using the nixosmodule:
stylix.targets.gnome.enable = false;
However, the module for Home Manager works.
The error is that in Nixpkgs 24.05, gnome-background does not exist, but the old package gnome.gnome-background does.
This could fix the problem:
(   if (lib.versionOlder (lib.versions.majorMinor lib.version) "24.11")   then gnome.gnome-background   else gnome-background )

This merge broke compatibility with GNOME for Nixpkgs 24.05. [...] The error is that in Nixpkgs 24.05, gnome-background does not exist, but the old package gnome.gnome-background does.

Forgive my inexperience regarding version compatibility, but is this only a problem when Stylix and Nixpkgs are not both following nixos-24.05 with something like:
inputs.stylix.inputs.nixpkgs.follows = "github:nixos/nixpkgs/nixos-24.05";

I assmumed the following would properly update inputs:

diff --git a/flake.lock b/flake.lock
index 25b73e76..10a0dcf0 100644
--- a/flake.lock
+++ b/flake.lock
[...]
@@ -205,11 +205,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified":<PHONE_NUMBER>,
-        "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=",
+        "lastModified":<PHONE_NUMBER>,
+        "narHash": "sha256-K/BVeDLkpswRSBh3APxc2gBNVFEMXGpnkuQz666FiTM=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d",
+        "rev": "6e8760f7f7121128e2037db44915a4a5450b6e67",
         "type": "github"
       },
       "original": {

This could fix the problem:
( if (lib.versionOlder (lib.versions.majorMinor lib.version) "24.11") then gnome.gnome-background else gnome-background )

If this is a Stylix problem, we could backport this to the https://github.com/danth/stylix/tree/release-24.05 branch.

The master branch of Stylix should be compatible with nixos-unstable / nixpkgs-unstable, and the nixos-24.05 branches should be compatible with each other. This means we can avoid using conditionals such as the suggested fix above.

Thanks, my bad


MTR: doesnt gracefully handle paths with no response

 fping_mtr.py:38
root popen fping -u -C5 -p20 -e <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> * <IP_ADDRESS> <IP_ADDRESS> __init__.py:63
root *: Name or service not known
 fping.py:68
root failed to get data could not convert string to float: Name fping.py:100

graph is rendered as empty square

root popen fping -u -C5 -p20 -e <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> * <IP_ADDRESS> __init__.py:63
root * address not found
 fping.py:68
root failed to get data need more than 1 value to unpack fping.py:100

Different failure reason, similar issue


Passcore not working with Internet Explorer in Windows 10 client computers. Shows blank screen.

PassCore Server

OS: [Windows ]
Provider: [Active Directory]
Settings file (without sensitive information):
Log file (without sensitive information):

Describe the bug
I installed passcore in a Windows 2016 server.
Our clients computers are setup with Windows 10.
Passcore works well with Google Chrome and Mozilla Firefox from the client computers.
The problem is that with Internet Explorer it shows a blank screen
Expected behavior
I expect the passcore interface to render properly in Internet Explorer
Screenshots
If applicable, add screenshots to help explain your problem.
This is how it shows in Internet Explorer

Desktop (please complete the following information):

OS: [Windows 10]
Browser [Internet Explorer]
Version [11]

We are not supporting IE.

Thanks Geovanni.
Do you mind me asking why is not supported with IE ?
Any plans to support IE in the future ?
This application is solving an important issue for us in my organization.
Thanks for your help.

Thanks Geovanni.


add build docs

copied from https://github.com/apache/incubator-pekko
in anticipation that this repo will soon head to RC

Only Pekko needs dual JDK's, currently Pekko-Http only needs JDK 8.

@mdedetrich I made the change to remove the mention of having 2 JDKs

@pjfanning So I haven't had proper time to check this, but the issue I am concerned about specifically is https://github.com/classgraph/classgraph/issues/403#issuecomment-586770739 and https://github.com/apache/incubator-pekko/pull/258/files#diff-c11a10bd9e773399e4272cd1ee5dff72545afb2f8bed23f2d1bbc49d4e1fc03fL60-L67 . JDK 9+ introduced a very subtle but possible breaking change from the JDK 8 standard library. If the problem is there, you won't hit at compile time, you hit them at runtime and only if you hit specific codepaths i.e. code that calls byteBuffer.clear() (and I briefly checked pekko-http and it does call this code).
To confirm that there isn't a problem I have to manually inspect the bytecode, just like I did here https://github.com/apache/incubator-pekko/pull/258#issuecomment-1477908162

@pjfanning Okay so I have successfully run jardiff on two versions of pekko-http, one built with JDK 8 and the other built with JDK 11 using
jardiff -g ~/github/diff-temp/ ~/github/incubator-pekko-http/http-core/target/scala-2.12/ ~/github/incubator-pekko-http-2/http-core/target/scala-2.12/

and as I suspected we have the problem I noted before

(this is with HttpHeaderParser$.class)

@pjfanning I managed to fix the issue that I described earlier that will let you produce jars correctly on JDK 11, will create the PR soon (having dinner now)

@pjfanning I have just created https://github.com/apache/incubator-pekko-http/pull/187 which allows building correct artifacts for pekko-http with JDK 11 so you can use the original documentation that you provided in this PR.
Once that PR is merged I can approve this one.


Consider switching to MathJax 3

Feature Request
MathJax 3.0.0 has been released and is much faster than 2.x.

MathJax documentation
Configuration files from v2 to v3

What would be changed?
From what I understand from the documentation:

The CDN, obviously. It's no more cloudfare, so maybe deleting mathjax info from data/assets.js and hard code it in layours/partials/site_js.html ?

      {{/* LaTeX math rendering. */}}
      {{ if or .Params.math site.Params.math }}
        <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
        <script id="MathJax-script" async<EMAIL_ADDRESS>      {{ end }}
    {{ end }}

assets/js/mathjax-config.js must be changed (thanks to MathJax converter) to:

window.MathJax = {
  tex: {
    inlineMath: [['$', '$'], ['\\(', '\\)']],
    displayMath: [['$$', '$$'], ['\\[', '\\]']],
    processEscapes: false
  }
};

With these changes, it seems to work well, but you are the final judge, @gcushen ;-) !

Yes, Mathjax v2 was pretty slow and it's great to hear that v3 is significantly faster.
So let's switch to either Mathjax v3 or Katex. There are some other threads here on Katex, but when we investigated at the time, it was missing some widely used features - perhaps it's worth reevaluating, considering the latest versions of each?

Will affect this change to existing pages or posts? Could we have both systems (old and new) and choose which one to use?

Great! Thanks for the commit @gcushen  ! For the record, I tried KaTeX, too. But I definitely prefer MathJax which is closer to LaTeX than KaTeX (equation numbering, \newcommand, ...).

@ImAlexisSaez If you did not customized your Mathjax options, then it should be totally transparent for you - except it's faster!

@ImAlexisSaez If you did not customized your Mathjax options, then it should be totally transparent for you - except it's faster!

@Bertbk you were right, not a single problem and it is really faster than before!

@Bertbk hi, I was trying to display mathjax equations with mathjax v3
$$
\begin{aligned}
{}^I_G \dot{\bar{q}} &= \frac{1}{2}{\boldsymbol \Omega}({\boldsymbol \omega}){}^I_G \bar{q}\\\\
\dot{\bf b}_g &= {\bf n}_{wg}\\\\
{}^G\dot{\bf v}_I &= {}^G{\bf a} \tag{1.7}\\\\
\dot{\bf b}_a &= {\bf n}_{wa} \\\\
{}^G\dot{\bf p}_I &= {}^G{\bf v}_I
\end{aligned}
$$

However, it could not render correctly, could you please me on this?

Hello @CharlieLeee , Could you send a picture of the "bad rendering" please ?

@CharlieLeee  You have to escape your backslash twice : so instead of 4 (\\\\) you need 6 of these guys (\\\\\\). Could you try that?

@Bertbk Thanks for the reply! Yes, I tried:
the md file:
#### IMU 运动模型

有了前置知识的铺垫之后，我们可以给出 IMU 的运动模型：

$$ \begin{align}
{}^I_G \dot{\bar{q}} &= \frac{1}{2}{\boldsymbol \Omega}({\boldsymbol \omega}){}^I_G \bar{q}\\\\\\
 \dot{\bf b}_g &= {\bf n}_{wg}\\\\\\
{}^G\dot{\bf v}_I &= {}^G{\bf a} \tag{1.7}\\\\\\
 \dot{\bf b}_a &= {\bf n}_{wa} \\\\\\
 {}^G\dot{\bf p}_I &= {}^G{\bf v}_I
 \end{align}
$$

Rendering：

Ok sounds hard, we should switch to spectrum, this is not an issue with academic... Could you launch a topic there? I'll try some stuff inbetween

@Bertbk okay, thanks!

@Bertbk spectrum link