Stuck on simp_le:1213: Generating new account key

Hello,
I created my containers with the right env variables:
-e VIRTUAL_HOST="xxx.yyy.org"
-e LETSENCRYPT_HOST="xxx.yyy.org"
-e<EMAIL_ADDRESS>\
I created nginx, nginx-gen, and nginx-letsencrypt as explained in the readme
but after starting letsencrypt docker i see in the logs that it is stuck at the generating new account key
2017/10/17 17:13:21 Generated '/app/letsencrypt_service_data' from 5 containers
2017/10/17 17:13:21 Running '/app/update_certs'
2017/10/17 17:13:21 Watching docker events
Reloading nginx docker-gen (using separate container nginx-gen)...
Reloading nginx (using separate container nginx)...
Creating/renewal xxx.yyyy.org certificates... (xxx.yyy.org)
2017/10/17 17:13:22 Contents of /app/letsencrypt_service_data did not change. Skipping notification '/app/update_certs'
2017-10-17 17:13:22,511:INFO:simp_le:1213: Generating new account key
And it does not even start the process for other containers. I see that this code is in the simp_le library at check_or_generate_account_key but no exception is thrown and just nothing happen
Any idea what might be causing the issue?

I guess it is due to the fact that i lost my account key. Not sure as there is no error but i will check back in 3 months :)


Include 2016a data

Hi there!
2016a was released on 2016-01-26. https://www.iana.org/time-zones
This gem should be updated to include it, right?
Cheers - Victor

The Time Zone database release was only announced 17 hours ago (on 2016-01-28).
There will be a new version of the tzinfo-data gem for every release of the Time Zone database.
New versions of the old tzinfo 0.3 branch will be released occasionally if there are significant data changes. However, I'm planning to drop support for 0.3 once there are no longer any supported Ruby on Rails releases that rely on it (i.e. once support for Rails 3.2 is withdrawn).


Added Wireframes

Wireframe documentation for several user stories.

Good catch @RigatoniRex ! In my head, I'm not sure username makes sense if we can guid by email. We won't really need the username post login or do much with it. I'd vote the second of the two options, but I'm totally open if we think there's value for the username too.

Good catch @RigatoniRex ! In my head, I'm not sure username makes sense if we can guid by email. We won't really need the username post login or do much with it. I'd vote the second of the two options, but I'm totally open if we think there's value for the username too.

Sounds good! I'll update the ER. We need to make sure we aren't using username anywhere else too.


Add resource methods to codegen

Fixes #283

For this to be useful, Resource decoder issue needs to be solved

closed in favor of https://github.com/VirtusLab/besom/pull/320


EIP1283 - Net gas metering

What is wrong?
ttps://eips.ethereum.org/EIPS/eip-1087
https://eips.ethereum.org/EIPS/eip-1283 is coming in Constantinople
How can it be fixed
Implement the changes to how SSTORE costs are computed.

There are now two incompatible proposals (the latter a counter-proposal by Parity Tech due to their implementation specifics):

EIP-1087: Net gas metering for SSTORE operations
EIP-1283: Net gas metering for SSTORE without dirty maps

A copy-paste from gitter/ethereum/AllCoreDevs:

@veox
(...)
EIP-1087 introduces a map (of bools) for marking "dirty" storage, but doesn't make comparisons to the original values until the post-processing step. Post-processing can be delayed until a transaction's execution is complete, so that the refund logic can be applied outside the EVM.
EIP-1283 needs a "cache" (a map, most likely - of uint256s) of original storage values, so that it can determine gas_used when doing a write (20000 or 5000). This cache must now necessarily reside within the EVM. In other words:
EIP-1283 introduces a map (of uint256s) for "original" value look-ups.
(The above might not make sense depending on how your favourite implementation delineates "inside the EVM". Or maybe I'm battling a chimera here, to understand the trade-offs. Sorry if noise.)

To which the author of EIP-1283 responds:

@sorpaas
Not quite the case, actually. EIP-1283's "map" is needed to be kept for every client right now -- all clients already have this information because they need to handle it in case a transaction reverts. Just like a storage slot's current value and new value, most clients won't need any new extra structs to fetch that info.
The issue with EIP-1087 is that the "dirty map" concept is in conflict with one of the optimization we do after EIP-658, so for parity-ethereum, we can't have that without getting an extra struct.
So you may say:

EIP-1087 needs a map (of uint256s) for "original" value look-ups, and introduces a map (of bools) for marking "dirty" storage.
EIP-1283 needs a map (of uint256s) for "original" value look-ups.

The first is needed any way by other operations as well.

A few questions, somewhat abstract:

Which of the two (if either) would more closely describe the situation in py-evm?
Would implementing either require pushing the "cache for original values of storage items" deeper? Or is that already available at the point where gas-use metering is done?

Looking at our JournalDB class, I believe 1283 is going to be easiest to implement.  We'll have to figure out how to expose the original/current values to the SSTORE opcode but that shouldn't be too difficult.

@veox just in case you read these in your email, I update my response with explicit answers to your questions.

@Bhargavasomu Same as https://github.com/ethereum/py-evm/issues/1346#issuecomment-426666823 probably best to stick to "Good First Issue" tagged issues until you have a better understanding of the codebase.

This is done in #1410, isn't it?

@5chdn correct. That said, we aren't passing all state tests yet (https://github.com/ethereum/py-evm/pull/1181) which means there's a high chance that our constantinople implementations (all of them) may still have bugs.
That said, Trinity is still in alpha and isn't a reliable client to sync the mainnet yet so nobody should be surprised to hit serious bugs :sweat_smile:

Confirmed finished in #1579


First Outlook add-in not work correctly

I have a problem with a tutorial on creating add-ins for Outlook. I went through all the steps one by one, but when I launch the add-in, I only see a panel with the greeting message, and nothing else. It just displays the "loading" message, and nothing more. I created the add-in using Yeoman.
When attempting to create the add-in through Visual Studio, I couldn't run it. I received the message: "An error occurred while attempting to connect to the server: The autodiscover service couldn't be located."

Hi @pawelfranasisk,
Sorry to hear you're encountering these issues. What platform are you on (Windows, Mac, or Web)?
Let me tag @samantharamon and @exextoc to help follow up.

I'm on Windows and Web. I've already dealt with this issue. In the project, it was sufficient to enable two-factor authentication, which unfortunately was not mentioned anywhere in the instructions on the Microsoft website or elsewhere. The issue can be considered closed.


initial signed commit of code changes to add ResultInterface::getNumRows

And also to the various DBMS-specific Result classes. Added unit tests/system/Database/Live/GetNumRowsTest.php for this newly added method. Added an entry in the user docs for getNumRows method.
Description
Per Lonnie Ezell's message in #109, I have attempted my first CodeIgniter fork/branch/pull request here. It adds a getNumRows method to the ResultInterface and the various DBMS classes that extend it. This pull request supercedes a previous messy one (for which I apologize).
Checklist:

[X] Securely signed commits
[X] Component(s) with PHPdocs
[X] Unit testing, with >80% coverage
[X] User guide updated
[X] Conforms to style guide

Once again, I've made some mistakes. Closing this request, too. Will run phpstan and see if i get better results.

Once again, I've made some mistakes. Closing this request, too. Will run phpstan and see if i get better results.

@sneakyimp You didn't make any mistakes. This PR is betteer than previous one.
You just have to fix MockResult.

@sneakyimp You didn't make any mistakes. This PR is betteer than previous one.
You just have to fix MockResult.

@kenjis it's failing all the tests. I want it to be clean. I also left out the user documentation change. I've got one more I think will do it. Will submit momentarily.

@kenjis it's failing all the tests. I want it to be clean. I also left out the user documentation change. I've got one more I think will do it. Will submit momentarily.

@sneakyimp See https://github.com/codeigniter4/CodeIgniter4/pull/4047#issuecomment-753237388

@sneakyimp See https://github.com/codeigniter4/CodeIgniter4/pull/4047#issuecomment-753237388

@sneakyimp See #4047 (comment)

I have addressed that and have submitted a new PR (see #4049 ). Rector doesn't like it (the SQLite3 implementation does not support the function and just throws an exception) but I think it's worth a look.

@sneakyimp See #4047 (comment)

I have addressed that and have submitted a new PR (see #4049 ). Rector doesn't like it (the SQLite3 implementation does not support the function and just throws an exception) but I think it's worth a look.


Selectors as variables are not converted.

If you run the codemod, you will notice that any selector that's stored in a variable does not get converted. We should consider adding support for this.

Hmmm, looking at this in more detail, I believe the case that isn't supported is when selectors are properties of an object:
assert.ok(find(foos.bar).length, 'Bar is present');

I think I may have jumped the gun here. Adding tests for these cases seem to pass. I'm open a PR anyway for the added test cases.

Added #26 just to ensure this is covered in tests.

just merged #26. can we close this issue?


Add reported peak device memory to benchmark summary

Only IREE supports reporting CPU memory statistics, so baseline CPU comparisons will be added after we add support for measuring it indirectly via /proc/<pid>/status. The Baseline Peak Device Memory (MB) column will be populated by the numbers TensorFlow and PyTorch report once the various issues affecting GPU support are resolved [https://github.com/nod-ai/SHARK/issues/1197, https://github.com/openxla/iree/issues/12456].
Preview of the change for CPU:

Related to https://github.com/openxla/iree/issues/12449.

This is awesome. BTW we just enabled attention_slicing as an option for transformers/unet . So if we want we can have a model or two where we optimize for memory rather than performance (so it works on lower end GPUs etc)


Fix default cached account for SharedTokenCacheCredential

Resolves https://github.com/Azure/azure-sdk-for-java/issues/5901

Approved by ADP🚢


Subscription auto closed

Subscription  auto closed after around 30 seconds without manually closing.
I received all event before around 30 seconds perfectly but after that time subscription closed automatically.
it's go the same for stream too.
Please help me.I am struggling for along time.
I try this on both versions  ^1.0.0-dev.8 and 0.3.3
I don't want to close my subscription until I  manually close it by calling supabase.removeSubscription(mySubscription);
here is code example
import 'package:flutter/material.dart';
import 'package:supabase_flutter/supabase_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  String superbaseUrl = "url";
  String anonKey =  "anon key";
  await Supabase.initialize(anonKey: anonKey, url: superbaseUrl);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Test Supabase',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const Test(),
    );
  }
}

class Test extends StatefulWidget {
  const Test({super.key});

  @override
  State<Test> createState() => _TestState();
}

class _TestState extends State<Test> {
  final client = Supabase.instance.client;
  late final RealtimeSubscription subscription;

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback(
      (_) {
        subscription = client.from("message").on(
          SupabaseEventTypes.all,
          (payload) {
            log("payload $payload");
          },
        ).subscribe(
          (event, {errorMsg}) {
            log("event $event");
          },
        );
      },
    );
  }

  @override
  void dispose() {
    client.removeSubscription(subscription);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return const Scaffold();
  }
}

Thanks @asxoxdev for opening this issue. It seems like there are some other folks experiencing the same issue as well.
https://github.com/supabase/supabase/discussions/9146#discussioncomment-3740189
We are looking into this and will post an update if we make any progress.


Customizable user options for configuration route

This issue shall be used to collect and discuss customizable user options for the configuration route. These are open for implementation. For starters, see this first list:

Toggle hover effect for landscape and application
Toggle unhighlight behavior on selection, if entity is already highlighted
Toggle hierarchircal / flat landscape visualization (closed / always open entities)
Toggle transparency effect on selection for application visualization
Customize transparency effect's intensity
Communication arrow size

Toggleable options should use the ember-toggle-addon. We already use this addon in the discovery-detail-tables, e.g., monitoring-information.hbs.

We could save these options as key-value list inside the authentication service's DB, i.e., as property of a user.

@lotzk: For testing; implement a Java class UserSettings that holds a key value list with one element "app-viz-class-color": "0xFF0000" and is referenced by the admin user.

A suggestion for an additional configurable feature:

toggle threePerformance windows

This is now supported by the backend. You can add arbitrary settings (as strings) to a user, for example:
{
	"data": {
		"type": "user",
		"attributes": {
			"username": "name",
			"password": "pw",
			"settings": {
                 		"app-viz-class-color": "0xFF0000",
				"toogle-threePerformance-windows": "true"
      			}
		}
	}
}

The admin user now contains an attribute for the frontend fps counter. This is also handled by the frontend, therefore no fps counter, yay.
@lotzk @dan0x09 I rethought the settings. Unfortunately, I now reckonthat we have to provide a JSON:API-based settings object, since we need to obtain all possible settings on user creation and possibly change a setting for a to-be-created user. Again, data exchange between frontend and backend must be based on JSON:API.
We should provide a JSON:API endpoint for a setting resource. This resource contains all possible settings (Strings, booleans and numerical values). I will probably start with this tomorrow.

Can be closed after usersettings branch in backend was merged and frontend uses the new description objects?

Implemented, therefore closing this issue. Settings for visualization stuff can be further implemented in the next release or during the rendering refactoring (planned for october - april)


What counts as a "hit"?

Apologies if this is documented somewhere, but I can't seem to find it: what exactly counts as a hit?  Is it a single request?
E.g. if I see a line indicating 1 visitor, 10 hits, is that potentially 1 page with 10 requests made?  Or 10 separate pages requested?

Good question. A hit is a request (line in your log), i.e., 10 requests = 10 hits. An HTTP request with the same IP, date, and the same user agent are considered a unique visit.
For instance, one user can request 100 files = 100 hits, but only 1 visitor (as long as the 100 requests have the same IP, date, and user agent).

Thanks.  Is there a way to filter hits, e.g. "only requests for *.html" or "only requests for *.jpg"?

You could pre-filter the data (e.g., grep, awk, etc ) and then pipe it to goaccess, e.g.,
grep -i '*.html' /var/log/apache2/access.log | goaccess

BTW, I updated the man page (web/term) with this question. Thanks for pointing that out.
Closing this. Feel free to reopen the issue if needed.

Of course.  Thank you.


Add parameter to skip existing file for batch conversion

Once a duplicate file is hit, it throws a python exception instead of handling it gracefully. There should be an option to skip duplicate results added.
Muxing: this may take awhile...(741.28 fps, avg 706.33 fps, ETA 00h00m00s)

Encoding successfully done!

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\User\AppData\Roaming\Python\Python311\Scripts\havc.exe\__main__.py", line 7, in <module>
  File "C:\Users\User\AppData\Roaming\Python\Python311\site-packages\havc\app.py", line 36, in main
    videos.search()
  File "C:\Users\User\AppData\Roaming\Python\Python311\site-packages\havc\search.py", line 48, in search
    current_video_file.copy_to(sub_delete_folder)
  File "C:\Users\User\AppData\Roaming\Python\Python311\site-packages\havc\entities\video_file.py", line 51, in copy_to
    shutil.copyfile(original, target)
  File "C:\Program Files\Python311\Lib\shutil.py", line 236, in copyfile
    raise SameFileError("{!r} and {!r} are the same file".format(src, dst))
shutil.SameFileError: 'D:\\Comedy\\Andrew Santino - Cheeseburger (2023)\\Andrew Santino - Cheeseburger (2023).mkv' and 'D:\\\\Comedy\\Andrew Santino - Cheeseburger (2023)\\Andrew Santino - Cheeseburger (2023).mkv' are the same file

Hello, please update your version to the new one: 1.2.0
This should now be fixed, hopefully. Please let me know if it did. Thanks!

This has skipped at least one thing so far, I assume it to be working now! Thank you!


vscode freezes when building from source in ubuntu 17.10 VM since upgrade to electron 2.0.x

VSCode Version:code-oss-dev 1.25.0 (Commit unknown, Date unknown)
OS Version:Linux x64 4.13.0-45-generic

Since the upgrade to electron 2.0.x every time I build and launch vscode in my ubuntu 17.10 or 18.04 VM it freezes after a few seconds. It doesn't freeze if I launch it using the --disable-gpu flag but that wasn't needed before.
Also the insiders build works fine without the --disable-gpu flag but when I run code-insiders --status I got this error, don't know if this is a separate issue.
ubuntu@ubuntu:~$ code-insiders -v
1.25.0-insider
c5c7d43b65bcbbb3851fbd972fad077631c707e3
x64
ubuntu@ubuntu:~/Desktop/vscode$ code-insiders --status
[main 10:33:12 PM] Error: Command failed: /usr/share/code-insiders/resources/app/out/vs/base/node/cpuUsage.sh<PHONE_NUMBER>49<PHONE_NUMBER>47<PHONE_NUMBER>13 108933
/bin/sh: 1: /usr/share/code-insiders/resources/app/out/vs/base/node/cpuUsage.sh: not found

    at ChildProcess.exithandler (child_process.js:287:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.stream.socket.on (internal/child_process.js:346:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)

Output of --status without --disable-gpu flag
ubuntu@ubuntu:~/Desktop/vscode$ ./scripts/code.sh --status
[22:22:25] Syncronizing built-in extensions...
[22:22:25] You can manage built-in extensions with the --builtin flag
[22:22:25] [marketplace]<EMAIL_ADDRESS>✔
[22:22:25] [marketplace]<EMAIL_ADDRESS>✔

Version:          code-oss-dev 1.25.0 (Commit unknown, Date unknown)
OS Version:       Linux x64 4.13.0-45-generic
CPUs:             Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 x 3801)
Memory (System):  5.31GB (0.11GB free)
Load (avg):       2, 1, 1
VM:               33%
Screen Reader:    no
Process Argv:     /home/ubuntu/Desktop/vscode/.build/electron/code-oss . -n
GPU Status:       2d_canvas:                    enabled
                  checker_imaging:              disabled_off
                  flash_3d:                     enabled
                  flash_stage3d:                enabled
                  flash_stage3d_baseline:       enabled
                  gpu_compositing:              enabled
                  multiple_raster_threads:      enabled_on
                  native_gpu_memory_buffers:    disabled_software
                  rasterization:                disabled_software
                  video_decode:                 unavailable_software
                  video_encode:                 unavailable_software
                  webgl:                        enabled
                  webgl2:                       enabled

CPU %	Mem MB	   PID	Process
    0	   125	 96230	code-oss main
    0	    43	 96263	   zygote
    0	   201	 96479	     window (Welcome - Code - OSS Dev)
    0	    92	 96708	       extensionHost
    0	    92	 96492	     shared-process
    0	    92	 96428	   gpu-process

Output of --status with --disable-gpu flag
ubuntu@ubuntu:~/Desktop/vscode$ ./scripts/code.sh --status
[22:24:32] Syncronizing built-in extensions...
[22:24:32] You can manage built-in extensions with the --builtin flag
[22:24:32] [marketplace]<EMAIL_ADDRESS>✔
[22:24:32] [marketplace]<EMAIL_ADDRESS>✔

Version:          code-oss-dev 1.25.0 (Commit unknown, Date unknown)
OS Version:       Linux x64 4.13.0-45-generic
CPUs:             Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 x 3801)
Memory (System):  5.31GB (0.11GB free)
Load (avg):       1, 1, 1
VM:               33%
Screen Reader:    no
Process Argv:     /home/ubuntu/Desktop/vscode/.build/electron/code-oss . -n --disable-gpu
GPU Status:       2d_canvas:                    enabled
                  checker_imaging:              disabled_off
                  flash_3d:                     enabled
                  flash_stage3d:                enabled
                  flash_stage3d_baseline:       enabled
                  gpu_compositing:              enabled
                  multiple_raster_threads:      enabled_on
                  native_gpu_memory_buffers:    disabled_software
                  rasterization:                disabled_software
                  video_decode:                 unavailable_software
                  video_encode:                 unavailable_software
                  webgl:                        enabled
                  webgl2:                       enabled

CPU %	Mem MB	   PID	Process
    0	   136	 98717	code-oss main
    0	    43	 98742	   zygote
    0	   196	 98780	     window (Welcome - Code - OSS Dev)
    0	    92	 98805	       extensionHost
    0	   103	 98816	     shared-process

Does this issue occur when all extensions are disabled?: Yes

@jeanp413 do you still get the issue with code-insiders --status failing? That sounds like an issue that could be unrelated to the electron update.
As for the freeze:
Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

@bpasero sorry for the late reply

With the latest insiders build Version:          Code - Insiders 1.25.0-insider (499122702e462b458117122a6885e6aeb3cec0a4, 2018-06-29T05:19:31.733Z)  I no longer get an error with code-insiders --status.
I tried following the steps in the link provided but the file called core never gets generated.

Notice that after a few seconds the animations of the activity bar and the cursor blinking stop working, that's when the whole vscode app freezes but as I said this doesn't happen with the --disable-gpu flag

@jeanp413 that above video is running out of "master" or another branch? Because on master we have yet returned to Electron 1.7.x.

@bpasero yes in the video its running on the electron-2.0.x branch with electron 2.0.3 just to show the issue as was reported originally when that branch was merged into master.

@bpasero but why? There aren't any visible issues on the Windows platform with Electron 2.x, and are you aware that 1.7.12 has a major security vulnerability that you guys still haven't updated VS Code to be protected against?

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

Sorry I've been really busy at work. I followed the steps in the wiki page but the core file never gets generated. Is there another way to get more info about the freezing?

@jeanp413 that is weird, I fear that makes it hard to understand what is going on. The normal build never shows this behaviour or does it?

No, it doesn't. It works just fine


Move branch_to_release to Org secret

https://github.com/konveyor/bz-github-action/issues/2

Closing PR.  Repo no longer in Konveyor org.


BUG custom history in BrowserRouter

Version
4.0.0
Test Case
https://codepen.io/anon/pen/qjoYdK
Steps to reproduce
Create a custom history from history/createBrowserHistory and pass it to the BrowserRouter
Expected Behavior
According to the docs, the BrowserRouter should use this history and not creating a new one.
Actual Behavior
The BrowserRouter merges its props from the <BrowserRouter basename... forceRefresh...> into a new history.
So if I want to attach a location listener I have to:
<BrowserRouter listen={(location, action) => console.log('location', location)}>
Fix
Either update the docs to explain that we should not create a custom history but pass the "history" props to the Router, or fix the Router class so it fully uses the

If you need to use your own history object (which should only be the case when you need to use it outside of your components), then you have to use the <Router> component. <BrowserRouter> always creates its own history object.

According to the docs, the BrowserRouter should use this history and not creating a new one.

Can you please link the documentation that states this? None of them should, so if one does it needs to be updated.

Alright, I should have seen a previous version of the docs.
What I want to do is tracking the routes in Google Analytics by listening the  history, and the <BrowserRouter> doesn't accept a listen={(location,action) => console.log(location)} property to feed the history.
A workaround is to wrap the  with withRouter and attach the history.listenin the wrapper.... but it's not convenient...

You can use the <OnUpdate> component from rrc (or write your own, its really just adding a listener on mount and calling a function on update).

Thank you @pshrmn, didn't know about your plugin, but I think this feature should be first-class citizen in the v4 as it used to be in previous versions. The "web analytics tracking" use-case is mandatory for people doing serious apps.


Add MLMD components to Network Policy

Description

Adding MLMD components to the DSPA Network Policy, and provide ODH dashboard access to the metadata envoy service. Closes https://github.com/opendatahub-io/data-science-pipelines-operator/issues/160
How Has This Been Tested?

Deployed a DSPO and DSPA instance with these updates
Deployed an ODH dashboard instance by applying the ODH core kfdef in the same namespace where DSPO was deployed.
Ensured that the MLMD components were up, metadata envoy service was running.
curled to the envoy service from the dashboard pod.
$ curl ds-pipeline-metadata-envoy-sample.test-dspa-3.svc.cluster.local:9090 upstream connect error or disconnect/reset before headers. reset reason: remote reset
Dashboard was able to reach the envoy service.

Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

/lgtm
/approve


A Requester may set more than one bit in the table to indicate each supported format.

A Requester may set more than one bit in the table to indicate each supported format.

Refer to the paragraph 310 In DSP0274_1.3.0.pdf.

but in the received NEGOTIATE_ALGORITHMS request message, if spdm_request->other_params_support = SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0 | SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_1, then the libspdm(spdm_responder_lib) will generate_error_response.
https://github.com/DMTF/libspdm/blob/eded450e4f2e569aecb41b378572bd7ce8b25549/library/spdm_responder_lib/libspdm_rsp_algorithms.c#L400-L412

Note that while libspdm allows SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0, SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_1 is required for key exchange.


Create a readme file

As you can see readme file is missing in this repo.
Add a README.md which show what it does, how to install locally and mention the reference.
you can create readme  https://readme.so/ from here
take reference of readme file from here https://github.com/Chit-Chat-Org/Chit-Chat

Sure, i would like to add a descriptive README.md file to this. Please assign this to me

Since the issue hasn't been yet been solved
I am Working on this Issue! Please assign me this to me


[Satellite] Support streaming base load balancer

The streaming base load balancer should be considered to specific proto, such as ALS, because it only carries the metadata(identify) in the first element of the streaming.

We may consider optimizing service name and instance name in https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/Tracing.proto#L36 service. Only the first segment carries this.

In this case, we have to package the whole streaming as a list, into the event, then #7247 to make sure every batch would be delivered into a specific backend.


Don't "require" debugger support for debugger opts

DUK_USE_DEBUGGER_THROW_NOTIFY default is "true".  If the option "requires" DUK_USE_DEBUGGER_SUPPORT (which defaults to "false") the option configuraiton would be inconsistent and rejected by default.
Remove the "required" metadata for debugger options: the options don't really require debugger support.  Instead, if debugger support is disabled, the debugger config options are just ignored without causing a build error.

I'm getting throw notifys again, so looks like this fixes the issue.


How to get  compare_at_price

Hii,
Variants how to get  compare_at_price?
Let me know

Hi, @dineshmaths1.
Please, check the Product Variant page of our StorefrontAPI Documentation.
Cheers!

@jmignac That link does not go to the StorefrontAPI documentation, that is the admin API documentation. I'm running into the same issue, where when trying to pull compare_at_price from the storefront api, it's returning this as an error:
"Field 'compare_at_price' doesn't exist on type 'ProductVariant'"
Please advise on how to get access to that on the front end through the storefront api, not the admin api

You can find the Storefront API documentation here: https://shopify.dev/docs/storefront-api/reference/products/productvariant?api[version]=2020-10
There's a compareAtPriceV2 field.


Fixed leftover selected quote on note navigation

Describe what your pull request addresses

[ ]

Test Instructions

[ ] Open https://deploy-preview-183--gateway-edit.netlify.app/
[ ] Click the TN card right-hand chevron until it loops back to the first record.
[ ] Note that the highlighting from the last record should not remain in the scripture card.

This change is

LGTM


NotificationCenter fade out

mechanism to fade out the notificationcenter if the mouse leaves the area

This function is implemented in version 2.0.6


New app(.json)

I notice you create a new guid for each app - the AppId .. makes sense ;-).
when creating a new app: do you manually have to create an app.json, or is there some kind of shortcut?
and if manual: how do you create a new guid from within vscode?  Do you use the "guid" extension?  or is there something in the al-extension that we can use for that?

Ctrl+Shift+B will generate a default app.json if it's missing. You just need to make sure the extension is actived by creating and opening an .al file in the folder.

  Pressed that many times to load the resources/symbols :-).
thanks!


Update lrstanley/girc dep

I am seeing some strange connection issues to IRC channels bridged by Matterbridge since updating from 1.24 to 1.25.
It seems like the nicks Matterbridge now creates with RELAYMSG are somehow malformed, causing modern IRC clients to have connection issues or crashing when trying to connect.
Any idea what might be the cause? I am pretty sure it is related to this PR as previously it worked without problems.

Open an issue with debug logs also try to run with 1.24 to see that it actually doesn't happen there.
It would be strange because that code isn't touched.


Adds a RPI Pico Example: Azure_IoT_Hub_RPI_Pico

Based upon the ESP8266 example.
Only requires a few lines of code changes from that.
Note: Main branch readme for this project has code changes at bottom.
Yes ; needs to go from wiFi #define in .ino.

Resubmitting


YAML PR triggers

Is this feature scheduled to be available in Azure Pipelines?

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

ID: f5673ec1-c7d1-e0ac-043a-8fc3d5b226a9
Version Independent ID: b4872831-51c0-6cf8-1c56-de20beb38a80
Content: Build pipeline triggers - Azure Pipelines
Content Source: docs/pipelines/build/triggers.md
Product: devops
GitHub Login: @steved0x
Microsoft Alias: sdanie

We have the same question regarding Azure Devops Server: Will this be available for repos hosted on Azure instead of GitHub?

@amirschw @Starkie I apologize for the delay in replying. In Azure Repos Git, the PR trigger functionality is implemented using branch policies, as described here. When configuring a build validation using this branch policy, you select a Pipeline, but only the build portion of that pipeline is used, and if the selected pipeline has any other triggers specified (CI or scheduled, or even PR) they won't be used in the scope of the build validation branch policy. In the case of branch policy build validation, the branch policy controls the trigger, and the pipeline controls the build.
There is an existing feature request to move the PR trigger functionality into YAML on Developer Communities that you can vote for, and add comments to provide more details.
https://developercommunity.visualstudio.com/idea/385329/pr-triggers-in-yaml-should-be-supported-on-azure-d.html


[FLINK-7337] [table] Refactor internal handling of time indicator attributes and efficiency

What is the purpose of the change
This PR is an improvement of @fhueske's PR #4488. For an description see #4488. This PR improves the efficiency by not creating objects for every timestamps but Long values and serializing them using the LongSerializer. It also contains code clean-up changes.

@wuchong @fhueske I hope I addressed all code related issues. Is it ok to merge this for now? I will create a follow up issue for the Table to DataStream/TableSink conversion case.

whether we should change the rowtime type when it is an existing field
I think this is a very special case. But it is just a nice addition to make the user's life easier. We could also remove the replacing feature as a whole to avoid confusion due to the data type conversion. In general, we should get rid of TIMESTAMP and work on longs as much as possible. In the near future, we might also extend the API to use Java 8 java.time. equivalents.

I'm +1 to merge this.
I have create two followup issue, we can move the discussion under the JIRA:
(1) FLINK-7446
Support to define an existing field as the rowtime field for TableSource
(2) FLINK-7448
Keep the data type unchanged when register an existing field as rowtime

Merging...


Return nested object with Enhancements Python script using alert_text_kw

Hi all,
I'm currently using ElastAlert Enhancements (Python script) to make an extended customized alert rule which is not supported by native ElastAlert rule options. I would like to create a nested object in mentioned script and somehow return and use it within alert rule YAML file using alert_text_kw attribute..
Unfortunately, I didn't find any related example or documentation how can I perform it if it is possible. Could you help me with some code snippet or explanation?
Thanks in advance.

Yelp/elastalert is no longer maintained. Please use jertel/elastalert2.
https://github.com/jertel/elastalert2


ACE for enterprise secured API, without sharing auth permissions

Sample Description (what should it do)
ACE that integrates with LOB app (example: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient-enterpriseapi) but without sharing authentication permissions with other SPFx components in page context.
By default, the requested API permission is granted to "SharePoint Online Client Extensibility Web Application Principal" AAD App therefore all SPFx solutions have access to it. I have tried with isDomainIsolated property but it leads to card displaying technical issue and I noticed in DOM that it's not rendered in an iframe.
It is unclear to me if there's a technical way to achieve this goal, could you help?
Are you Willing to Help?
Yes.

@maps05 Thanks for posting. It looks like this is more of a question on development. As such can you please post it in SPDev-Docs? https://github.com/SharePoint/sp-dev-docs/issues. There you will be exposed to a larger audience of folks that can potentially help. Issues and questions here are specifically related to the samples in the repo.

@dcashpeterson my thought behind the request was that this would be a nice sample to have as well, with focus on security rather than visual and behavior aspects. I'll address this topic is other repository as suggested. Thanks.

@maps05 Sorry, I misunderstood what you were asking for. If you are making a sample request or would like to submit a sample using this model you are welcome to post that here or just build it and submit a PR. If you need help with SPFx then Dev Docs is the right place.


Added web3 blob store, packaging and example

LGTM, but a quick ask if you don't mind running clippy on your branch and making sure this isn't adding any extra clippy warnings it would be a help

I can't push without a positive review:


Add .js extensions to the import specifiers

Closes #1087, #1102 (perhaps also #1103?)
Added .js extensions to the import specifiers, which have been to done via ts-add-js-extension.
(Reminder: A valid ES module requires the file extension in the import specifier.)
This makes build/jsx.js a valid ES module file, as it now imports ./h.js instead of ./h.

Has the user import instructions  changed?

I believe no.
Assuming that users are importing the library with 'snabbdom' or 'snabbdom/build/foo.js', there should be no breaking changes.
This PR only affects the internal module resolution.

I am still against adding .js extensions to .ts files. There is no need to go that route. This is a small bug in ts-add-js-extension that can easily worked around: https://github.com/snabbdom/snabbdom/pull/1105

I am still against adding .js extensions to .ts files. There is no need to go that route. This is a small bug in ts-add-js-extension that can easily worked around: https://github.com/snabbdom/snabbdom/pull/1105

Explicit [would have been] better than implicit...

Not if the explicit reference is to a file that does not exist.

I've published 3.6.1 now please have a look if the problem persists

Not if the explicit reference is to a file that does not exist.

Yes, you're right.
A reference to .js file in a TypeScript. The which doesn't exist. And is a TS artifact instead.
(Just image we compile TS to AnotherScript.
Interesting, another side, why TypeScript compiler doesn't handle this itself.)

Interesting, another side, why TypeScript compiler doesn't handle this itself.

There are a number of TypeScript issues related to this (https://github.com/microsoft/TypeScript/issues/42151, https://github.com/microsoft/TypeScript/issues/16577).
As far as I can see the official stance is that TypeScript will not change your code (changing the import from foo to foo.js would be changing code) and thus such a feature will not be implemented. The "official" solution is that if you want .js extensions in the output then your imports in TypeScript should have .js extensions.

Anyway, thank you for publishing the fix @jvanbruegge!
Everything is working as expected.


Regex in Members to Ignore

Would be nice to have the option to pass an Regex to select witch members to Ignore.
Today i have to set "Url"
But would like to use "Images.(.+).Url"
To ignore "Images.Images[Order:3,Size:200].Url"
Witch leads me to ignore ALL "Url", with can be misleading.

@duraes sounds good.  Please implement and I will be happy to merge in the pull request.

It has been six months.  No one wanted to implement this feature.  Closing.


Classes that could use vectorcall in tp_call

The chained, complement, and constant already support the 3.8 vectorcall tp_call, however these don't:

[x] flip (#274)
[x] packed (#278)
[ ] nth
[x] partial (#281)

For the moment it seemed like too much effort but maybe in the future.

Adressed flip in #274

packed in #278

partial addressed in #281 .

nth would require the whole argument parsing infrastructure and should be addressed in #271


Handle invalid lat/lng values in px-map and px-map-marker (fixes #54)

add canBeNum function
add latLngIsValid function
deal with invalid lat/lng values
add tests for new invalid lat/lng checks

@talimarcus Ready to merge once the changes are made. Go ahead and pull the trigger yourself when its done. Could you also add a new tag/new info to HISTORY.md and push a new patch release?


Horizontal resize screws up horizontal terminal layout

#8222

Open integrated terminal - run some scripts which uses all the horizontal space
Resize vscode window horizontaly - notice how the terminal will shrink but will never re-grow
I would expect the terminal grows horizontally as do the other terminals

Upstream issue: https://github.com/sourcelair/xterm.js/issues/103

I've consolidated all issues related to horizontally resizing the viewport under this one.

Several months later and no update? What does "upstream" mean in this context by the way?
I only add a comment because the integrated terminal feature seems to be a major factor when considering whether to go with Code or not.
Is this a problem with Windows installations only? I can use and resize an external cmd window just fine when I exec npm run build that is watching for changes for example.

Upstream means xterm.js. There is a community member who has a PR out at the moment but it needs to be reworked after some big performance related improvements. It applies to all operating systems.

OK, thanks for the update.

The resize discarding data is fixed in Insiders, the data will now reappear when resized back thanks https://github.com/sourcelair/xterm.js/pull/616 from @LucianBuzzo.
@LucianBuzzo also has a PR out that isn't merged just yet that adds support for reflowing the lines so they will get wrapped when the horizontal size is reduced! This is tracked in https://github.com/Microsoft/vscode/issues/23688


hyperlink: src dir is relative

Description
In a previous commit, f71ebde78ad13f416eb4981eb41719993107b516, I broke the tests for this repository. As the script working dir is /home/runner/work/_actions/untitaker/hyperlink/0.1.27/scripts/hyperlink-bin website/_site/ , the source directory is at the parent dir. so ../src.
Checklist

[ ] I have read the contribution guidelines
[ ] I have considered the performance impact of these changes
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

Urrg - test failed:
Error: IO error for operation on ../src: No such file or directory (os error 2)


Wallpaper folders

Could you add to the "SetBackgroundOnDesktop(desktop_number, imgPath)" that the "imgPath" could be a Folder, and it goes though the folder?

Thanks a lot!!!, I added that!, Follow again the installation if you download the last version


HLint incorrectly suggests to "use section" with unary infix operators

Given the code snippet
(⚑) :: String -> String
(⚑) s = s ++ " world"

main = putStrLn ((⚑) "hello")

HLint suggests the following:
test.hs:4:17: Suggestion: Use section
Found:
  ((⚑) "hello")
Why not:
  ("hello" ⚑)

However, GHC isn't too happy with this replacement:
test.hs:7:1: error:
    parse error (possibly incorrect indentation or mismatched brackets)

Notably, HLint has no suggestions to offer when the parentheses are removed in favor of $:
main = putStrLn $ (⚑) "hello"

Note the use of Unicode is unnecessary to trigger this bug, it also happens with:
(%%%) :: String -> String
(%%%) s = s ++ " world"

main = putStrLn ((%%%) "hello")

The problem here is that you are using an infix operator which only takes one argument, which is very uncommon. In this case you can enable GHC to work with operator sections by turning on the extension {-# LANGUAGE PostfixOperators #-}. What was the use case that caused you to look at a 1-arity operator?

Thank you for pointing me to the PostfixOperators extension!
The use case was really just to use an unicode symbol as a function name -- it's obviously not essential but makes things a bit clearer in the project I'm working on.

So it's more an accident that it comes across as an operator, and you'd probably prefer it just as a name?

Yes, this was a workaround for Haskell not allowing Unicode symbols in names.

Given you are having a workaround anyway, my temptation is to say use the language extension and that's a consequence of slightly abusing infix operators anyway.


lua example

add example for lua

Hi, @sajjad-021. Thanks for you contribution.
I think that we don't need more examples of TDLib integration with different programming languages in the main repository. They will be better handled and kept up-to-date in third-party repositories, links to which will be added to README,md.
These Lua examples are already available in two repositories listed in our README, so there is no reason to include them directly.

thanks for your response.
Since you chosen the my source for lua example,
I was think that better add it to library.
thank so much.


Query engine library for current platform could not be found.

I'm using the Nx monorepo with Prisma and when I attempt to use the PrismaClient instance I get the following error
{
  "data": {},
  "errors": [
    {
      "message": "\nInvalid `prisma.todo.findMany()` invocation in\nC:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\apps\\apollo\\src\\schema.ts:15:28\n\n  12 nullable: false,\n  13 args: {},\n  14 resolve: async (_query, _root, _args) => {\n→ 15   return prisma.todo.findMany(\nQuery engine library for current platform \"windows\" could not be found.\nYou incorrectly pinned it to windows\n\nThis probably happens, because you built Prisma Client on a different platform.\n(Prisma Client looked in \"C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo\\query_engine-windows.dll.node\")\n\nSearched Locations:\n\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\.prisma\\client\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\apps\\apollo\\prisma\n  /tmp/prisma-engines\n  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo\n\nYou already added the platforms \"windows\", \"debian-openssl-1.1.x\", \"debian-openssl-3.0.x\", \"linux-musl\", \"linux-musl-openssl-3.0.x\" to the \"generator\" block\nin the \"schema.prisma\" file as described in https://pris.ly/d/client-generator,\nbut something went wrong. That's suboptimal.\n\nPlease create an issue at https://github.com/prisma/prisma/issues/new",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "todos"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "stacktrace": [
          "Error: ",
          "Invalid `prisma.todo.findMany()` invocation in",
          "C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\apps\\apollo\\src\\schema.ts:15:28",
          "",
          "  12 nullable: false,",
          "  13 args: {},",
          "  14 resolve: async (_query, _root, _args) => {",
          "→ 15   return prisma.todo.findMany(",
          "Query engine library for current platform \"windows\" could not be found.",
          "You incorrectly pinned it to windows",
          "",
          "This probably happens, because you built Prisma Client on a different platform.",
          "(Prisma Client looked in \"C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo\\query_engine-windows.dll.node\")",
          "",
          "Searched Locations:",
          "",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\.prisma\\client",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\apps\\apollo\\prisma",
          "  /tmp/prisma-engines",
          "  C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\dist\\apps\\apollo",
          "",
          "You already added the platforms \"windows\", \"debian-openssl-1.1.x\", \"debian-openssl-3.0.x\", \"linux-musl\", \"linux-musl-openssl-3.0.x\" to the \"generator\" block",
          "in the \"schema.prisma\" file as described in https://pris.ly/d/client-generator,",
          "but something went wrong. That's suboptimal.",
          "",
          "Please create an issue at https://github.com/prisma/prisma/issues/new",
          "    at Kr.handleRequestError (C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\RequestHandler.ts:225:13)",
          "    at Kr.handleAndLogRequestError (C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\RequestHandler.ts:173:12)",
          "    at C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\getPrismaClient.ts:1135:23",
          "    at processTicksAndRejections (node:internal/process/task_queues:95:5)",
          "    at C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\getPrismaClient.ts:1142:24",
          "    at t._executeRequest (C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\getPrismaClient.ts:1061:33)",
          "    at t._request (C:\\Users\\Name\\Documents\\WebDev\\Personal\\futuristic-example\\node_modules\\@prisma\\client\\src\\runtime\\getPrismaClient.ts:1036:14)"
        ]
      }
    }
  ]
}

You can reproduce the error with the following repo https://github.com/baconcheese113/futuristic-example/tree/6eda2d1b5ed87c2032a3ce3a4a8b7e229d218b15

Install dependencies
npx nx startup apollo
Use Apollo Server to query todos

This issue helped me work around this problem by adding output to my generator
generator client {
  provider = "prisma-client-js"
  output = "../../../node_modules/.prisma/client"
}

However, this feels a bit hacky and given how many users will likely run into the problem....perhaps the error message could at least be improved?

Hey, we wanted to give you an update about this. We have around 10 issues that we have identified to be in the "engine not found" category. Looking at these, we learned that there are four main categories responsible for these errors:

Your client was generated with native (default) on one platform, but used on a different platform at runtime.
You pinned binaryTargets incorrectly, and the correct engine was therefore not included at runtime.
A bundler/framework changed the Prisma Client but did not copy the necessary engine for the runtime.
Deployment/tooling did not copy the engine correctly so the correct engine was not included at runtime.

These cases were previously not detected. On top of that, the error messages were confusing and were neither helpful for you or us. With that, it is likely that many of the cases above overlapped each other. So while we cannot fix a missing engine, we can detect how and why it happened. Thanks to that, we now display more useful errors to help you out of trouble. And in some cases, we will ask some input from you to learn more about your project so we can further improve.
If something is still off for you, feel free to create a new issue.


Segmentation fault on sol-fbp-runner

Issue Description

The tool sol-fbp-runner gets Segmentation Fault at malformed input
Steps to reproduce

Build Soletta locally from branch master with last commit hash: 774c37cd2302006b773b75a2e4c5face9dd5f506.
Config file http://pastebin.com/HDLM4jaF

Run
sol-fbp-runner input_file

The input file contains non-ASCII characters so I am attaching a hexdump of the file:
http://pastebin.com/FAAP6GfX
Board information
Same Host and Target
Parameters:
uname -m = x86_64
uname -r = 3.16.0-48-generic
uname -s = Linux
uname -v = #64~14.04.1-Ubuntu SMP Thu Aug 20 23:03:57 UTC 2015
Logs

Backtrace of the crash:
http://pastebin.com/vt8Uy2Sy
The problem arises from an illegal memory access at *ptr in file src/modules/flow/form/form.c:292

Well, the version you ran is outdated, please try it with a more recent version as your test does not crash my git-master. Also, for all kinds of crashes or invalid memory operations attach the valgrind, see https://github.com/solettaproject/soletta/wiki/How-to-report-an-issue
However, looking at the code written by @glima, it is not correctly handling the invalid formats when tags are missing. The code says "Bad format... Fallbacking to pristine", then set the tag to a newly allocated value using sol_util_replace_str_if_changed(). Here is the first problem as this memory is not released. Then the format_chunk() proceeds by using ptr and comparing it to end_ptr, but ptr is the value tag, which was allocated and thus is not in the segment between end_ptr.
The "correct path", as I understand, is to keep a reference to {title} and {value} inside the given format strings (title or format options). If the option is empty or does not contain the replacement, then it will fail.
Then I'm, re-assigning this to @glima, he wrote the code and is easier to review that.

Ouch, this version of yours is too old, @cristina-moraru! @bdilly reported some fuzzy crash on form to me a while ago and I did a commit for that that seems to have addressed the issue. We had even a new beta release after that (beta16). So please test with at least the new release, I also could not see anything crash here. @barbieri, all the new tests I put in were run with valgrind with 0 leaks or bad accesses. I also fail to see were a bad comparison is being made, since the ptrs will always point to the same allocated memory (either the one strduped or the one replaced_if_changed()).

@cristina-moraru, have you got the change to test the sol-fbp-runned updated ?

Closing, as it seems to have been resolved. Please reopen if it's not the case.

Indeed I was using an outdated tree but I updated it an run the tests again. This time no crash was found.


after truncate class command , the select from command shows the deleted records in result .

OrientDB Version, operating system, or hardware.
v2.2.5
Operating System

Windows

Expected behavior and actual behavior
expect return empty array in result but returns the deleted records in result .
Steps to reproduce the problem

create a class named by 'Invoice' and insert 5 records to it .
select from Invoice; -> returns 5 record and it's true  .
truncate  class Invoice -> must delete all of records in Invoice class now .
select from Invoice -> shows the deleted record !!! its not true .
i guess the query result has been cached so i restart my oriendb service .
run select from Invoice -> shows the empty array and its true !!!

i guess there is a bug in query caching mechanism .
Thanks
Saeed Tabrizi

Hi @saeedtabrizi
do you have the command cache enabled?
Thanks
Luigi

Hi @luigidellaquila
Yes its enabled.
Thanks
Saeed

Hi @saeedtabrizi
Thank you for confirming this, I think I know where the problem is, I'll fix it asap
Thanks
Luigi

Hi @saeedtabrizi
I just pushed a fix on both 2.2.x and develop.
Please let me know if it fixes your problem
Thanks
Luigi

Hi @luigidellaquila
I test it in 2.2.10 and works fine .
Thanks
Saeed Tabrizi


Do you need to run shfmt here?

Do you need to run shfmt here?
Originally posted by @IgorTodorovskiIBM in https://github.com/ZOSOpenTools/utils/pull/12#discussion_r890148783

We should be running shfmt on the code in various repos.
Should we:

automate this as part of PR merge?
spit out a message if a shfmt would create a diff?
other?

We could set up a Github Action like https://github.com/marketplace/actions/super-linter that checks for any linting errors on new PRs.  Super-linter appears to support shfmt

@IgorTodorovskiIBM does this one make sense for you? I'm assuming this would require 'special powers' under github?


Install on Mac (Guide readme)

Hi,
In section titled "MacOS Specific instructions"
the part that suggest to execute brew tap caskroom/versions raises an error saying :

Error : caskroom/versions was moved. Tap homebrew/cask-versions instead.

So it should be replaced with brew tap homebrew/cask-versions.
and the next line (brew cask install java8) raises the following error

Error: Cask 'java8' is unavailable: No Cask with this name exists.

So it should also be replaced with brew cask install adoptopenjdk/openjdk/adoptopenjdk8 as well.
I was going to edit Readme.md and request a post but I couldn't do that (there is no edit on the page Readme.md)
Hope that helps someone and thanks for this awesome repo.
Cheers,
Iman
TLDR:
Please edit Readme.md with these :
brew tap homebrew/cask-versions
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Thanks. Are you able to edit here and open a pull request?
https://github.com/opengisch/OSGeo4A/edit/master/README.md

Mattias,
Sorry, for some reason I completely forgot to fork and make a pull request, I am doing it now.
Thanks for the hint.


Claim date inference needs to compare earlier claims

If a bonus claim is submitted successfully but the email is subsequently resent, a new claim is raised with a new claimtime. On multi-day rallies this will cause the claim sequence to be wrong.
on 31st July 2023 submit "1 13 10001 1307" - claim time recorded as 2023-07-31T13:07
on 4th August 2023 resend email - claim time recorded as 2023-08-04T13:07
Need to compare and match earlier claims

Fixed in 1.7.3


Sonoff POWR316 does not report Energy entity - reported as "unknown"

Sonoff POWR316 Firmware: 1.0.7
HA: 2023.3.1
In the integration:

current
power
voltage
are all being reported correctly

Energy being reported as "unknown". Tried switching being "auto", "local" and "cloud" but still nothing.
I prefer "local" mode since I have many other Sonoff devices which work flawlessly.
As a workaround I implemented as you suggested an Integration Sensor in HA, which is doing the job well but doesn't feel clean.
Thanks!

@kformosa can you share the sensor energy template please ?

Some Problem.
Can you tell me the solution you are talking about?

Show device diagnostics

{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.3.6",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.10",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Rome",
"os_name": "Linux",
"os_version": "5.15.90",
"supervisor": "2023.03.3",
"host_os": "Home Assistant OS 9.5",
"docker_version": "20.10.22",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"sonoff": {
"version": "3.4.0",
"requirements": [
"pycryptodome>=3.6.6"
]
},
"hacs": {
"version": "1.31.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "sonoff",
"name": "Sonoff",
"config_flow": true,
"documentation": "https://github.com/AlexxIT/SonoffLAN",
"issue_tracker": "https://github.com/AlexxIT/SonoffLAN/issues",
"codeowners": [
"@AlexxIT"
],
"dependencies": [
"http",
"zeroconf"
],
"requirements": [
"pycryptodome>=3.6.6"
],
"version": "3.4.0",
"iot_class": "local_push",
"is_built_in": false
},
"data": {
"version": "5406fa7",
"cloud_auth": true,
"config": null,
"options": {
"mode": "auto",
"debug": false
},
"errors": [
{
"name": "custom_components.sonoff.core.ewelink.local",
"message": [
"100186d0e7 => Local4 | {'switches': [{'outlet': 0, 'switch': 'off'}]} <= {'sequence': '1680163365000', 'seq': 53, 'error': 400, 'encrypt': True}",
"100186d0e7 => Local4 | {'switches': [{'outlet': 0, 'switch': 'on'}]} <= {'sequence': '1680163366001', 'seq': 55, 'error': 400, 'encrypt': True}"
],
"level": "WARNING",
"source": [
"custom_components/sonoff/core/ewelink/local.py",
214
],
"timestamp":<PHONE_NUMBER>.8364754,
"exception": "",
"count": 2,
"first_occurred":<PHONE_NUMBER>.0239687
},
{
"name": "custom_components.sonoff.core.ewelink.cloud",
"message": [
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680158789000'}",
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680162390000'}",
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680165990000'}",
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680170370000'}",
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680174841000'}"
],
"level": "WARNING",
"source": [
"custom_components/sonoff/core/ewelink/cloud.py",
342
],
"timestamp":<PHONE_NUMBER>.0789883,
"exception": "",
"count": 19,
"first_occurred":<PHONE_NUMBER>.2313602
}
],
"devices": {
"100186d0e7": {
"uiid": 190,
"params": {
"bindInfos": "",
"version": 8,
"demNextFetchTime":<PHONE_NUMBER>000,
"ssid": "",
"bssid": "",
"fwVersion": "1.0.2",
"switches": [
{
"switch": "off",
"outlet": 0
}
],
"configure": [
{
"startup": "off",
"outlet": 0
}
],
"pulses": [
{
"pulse": "off",
"switch": "off",
"outlet": 0,
"width": 500
}
],
"rssi": -59,
"threshold": {
"actPow": {
"min": 10,
"max": 400000
},
"voltage": {
"min": 18500,
"max": 26400
},
"current": {
"min": 10,
"max": 1600
}
},
"current": 0,
"voltage": 0,
"power": 0,
"uiActive": 180,
"timeZone": 2,
"dayKwh": 0,
"monthKwh": 0
},
"model": "POWR316",
"online": true,
"localtype": "plug",
"host": null
},
"100186cf65": {
"uiid": 190,
"params": {
"bindInfos": "",
"version": 8,
"demNextFetchTime":<PHONE_NUMBER>000,
"ssid": "",
"bssid": "",
"fwVersion": "1.0.7",
"switches": [
{
"outlet": 0,
"switch": "off"
}
],
"configure": [
{
"startup": "off",
"outlet": 0
}
],
"pulses": [
{
"pulse": "off",
"switch": "off",
"outlet": 0,
"width": 500
}
],
"sledOnline": "on",
"rssi": -58,
"current": 16,
"voltage": 23825,
"power": 3181,
"timeZone": 2,
"dayKwh": 2,
"monthKwh": 2,
"uiActive": 180,
"getHoursKwh": {
"start": 0,
"end": 743
},
"threshold": {
"actPow": {
"min": 10,
"max": 400000
},
"voltage": {
"min": 18500,
"max": 26400
},
"current": {
"min": 10,
"max": 1600
}
}
},
"model": "POWR316",
"online": false,
"localtype": null,
"host": null
}
}
}
}

Looks like 'error': 504 the reason. Energy can't be loaded from cloud. I'll check it with my devices

Can you share this device to my account<EMAIL_ADDRESS>I don't like 'error': 400. Something goes wrong for LAN command

Can you share this device to my account<EMAIL_ADDRESS>I don't like 'error': 400. Something goes wrong for LAN command

Done

@HomeAssistantProTeam Thanks! One of your devices offline. Second with empty energy history.
I need some history for implementation :)

@HomeAssistantProTeam Thanks! One of your devices offline. Second with empty energy history. I need some history for implementation :)

You're right, it's a new device. I connect a running pc

What about offline device? Can you turn it on?

It is still offline for me: S1 - offline, S2 - online with empty energy history.

It is still offline for me: S1 - offline, S2 - online with empty energy history.

S2 is the only device I can keep online at the moment. S2 has been on for a few hours with a pc connected. Unfortunately I have no history to give you, they are new devices that I bought now. I will leave S2 on with pc plugged in for as long as you need

@AlexxIT I shared my POWR316 device with you. Please let me know if you need something else

How can I test it? From HACS, there is only an update to v3.5.0 and I can see that this commit is after this version has been built.
Should I wait until 3.6 or another minor release is done?

You can install it via HACS reinstall feature

You can install it via HACS reinstall feature

HI. I did the update 3.5.0 but still see unknown. What am I doing wrong?
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.3.6",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.10",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Rome",
"os_name": "Linux",
"os_version": "5.15.90",
"supervisor": "2023.03.3",
"host_os": "Home Assistant OS 9.5",
"docker_version": "20.10.22",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"sonoff": {
"version": "3.5.0",
"requirements": [
"pycryptodome>=3.6.6"
]
},
"hacs": {
"version": "1.31.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "sonoff",
"name": "Sonoff",
"config_flow": true,
"documentation": "https://github.com/AlexxIT/SonoffLAN",
"issue_tracker": "https://github.com/AlexxIT/SonoffLAN/issues",
"codeowners": [
"@AlexxIT"
],
"dependencies": [
"http",
"zeroconf"
],
"requirements": [
"pycryptodome>=3.6.6"
],
"version": "3.5.0",
"iot_class": "local_push",
"is_built_in": false
},
"data": {
"version": "6935784",
"cloud_auth": true,
"config": null,
"options": {
"mode": "auto",
"debug": false
},
"errors": [
{
"name": "custom_components.sonoff.core.ewelink.cloud",
"message": [
"Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d0e7', 'apikey': '35d06ceb-c8dc-4b5c-8ba0-47569b3dbb0b', 'sequence': '1680250756000'}"
],
"level": "WARNING",
"source": [
"custom_components/sonoff/core/ewelink/cloud.py",
342
],
"timestamp":<PHONE_NUMBER>.0800192,
"exception": "",
"count": 1,
"first_occurred":<PHONE_NUMBER>.0800192
}
],
"devices": {
"100186d0e7": {
"uiid": 190,
"params": {
"bindInfos": "",
"version": 8,
"demNextFetchTime":<PHONE_NUMBER>000,
"ssid": "",
"bssid": "",
"fwVersion": "1.0.7",
"switches": [
{
"outlet": 0,
"switch": "on"
}
],
"configure": [
{
"startup": "off",
"outlet": 0
}
],
"pulses": [
{
"pulse": "off",
"switch": "off",
"outlet": 0,
"width": 500
}
],
"rssi": -62,
"threshold": {
"actPow": {
"min": 10,
"max": 400000
},
"voltage": {
"min": 18500,
"max": 26400
},
"current": {
"min": 10,
"max": 1600
}
},
"current": 17,
"voltage": 23565,
"power": 3241,
"uiActive": 60,
"timeZone": 2,
"dayKwh": 33,
"monthKwh": 61,
"getHoursKwh": {
"start": 0,
"end": 743
},
"only_device": {
"ota": "success",
"ota_fail_reason": 0
}
},
"model": "POWR316",
"online": true,
"local": true,
"localtype": "plug",
"host": "<IP_ADDRESS>:8081"
},
"100186cf65": {
"uiid": 190,
"params": {
"bindInfos": "",
"version": 8,
"demNextFetchTime":<PHONE_NUMBER>000,
"ssid": "",
"bssid": "",
"fwVersion": "1.0.7",
"switches": [
{
"outlet": 0,
"switch": "off"
}
],
"configure": [
{
"startup": "off",
"outlet": 0
}
],
"pulses": [
{
"pulse": "off",
"switch": "off",
"outlet": 0,
"width": 500
}
],
"sledOnline": "on",
"rssi": -58,
"current": 16,
"voltage": 23825,
"power": 3181,
"timeZone": 2,
"dayKwh": 2,
"monthKwh": 2,
"uiActive": 180,
"getHoursKwh": {
"start": 0,
"end": 743
},
"threshold": {
"actPow": {
"min": 10,
"max": 400000
},
"voltage": {
"min": 18500,
"max": 26400
},
"current": {
"min": 10,
"max": 1600
}
}
},
"model": "POWR316",
"online": false,
"local": null,
"localtype": null,
"host": null
}
}
}
}

@calas80 you did not install the master version

I downloaded the SonoffLAN-master.zip file from here: https://github.com/AlexxIT/SonoffLAN.
I took all contents of \SonoffLAN-master\custom_components\sonoff folder and copied it to \config\custom_components\sonoff.
reboot.
it's correct?

It is easier to do it through HACS, but your way also works

I have installed the master version from HACS.
I rebooted
I removed the integration and downloaded the master again
restarted
but I always see unknown

https://github.com/AlexxIT/SonoffLAN/releases/tag/v3.5.1

https://github.com/AlexxIT/SonoffLAN/releases/tag/v3.5.1

I'm so sorry! I downloaded 3.5.1, rebooted and reintegrated but it's still unknown! I have the Sonoff POWR316. Am I the problem?

@calas80 you need to collect debug logs

I can confirm that on the master branch it's now working

Thanks @AlexxIT - I updated the integration and now I have Daily and Monthly Energy entities.

But adding the Energy Daily sensor to the "Energy Dashboard", I am getting "Last reset missing". It seems that you need to add this - I couldn't

Wait a little bit, i had the same and now it works

I am on my phone... So a screenshot will do.
Add this template and use that in the Energy dashboard

Seems to be working - at least added in to the Energy dashboard without warning.
The gotcha for me was the new and legacy formats for the template - wasted 1 hour figuring what was the error!
Will check in few hours to see if all is good in the Energy dashboard

@lbouriez are you sure daily sensor should be "total increasing"?

Yes @AlexxIT - it has to be "total increasing" to display the usage properly in the "Energy" dashboard.
It expects that the energy is incrementing daily - keeps track of the last energy value for the next day. Otherwise it will display 0 for the following day.
Mine was first set up as "measurement" and had this problem. Changed it to "total increasing" and issue resolved.

I thought "total increasing" means that the value will always increasing. And it doesn't drops to zero every day.

It doesn't drop to zero every day:
So if I use 2kWh every day, after 5 days, the sensor with total_increasing will have a value of 10kWh.
And that sensor in the Energy dashboard will mark usage of 2kWh per day.
Energy dashboard needs a sensor which accumulates usage and will apportion the value per day (knowing the total value from the previous day)
At least this is my understanding from trying different things.

@AlexxIT
I'm seeing WARNING logs in my HA:
2```
023-04-03 13:35:42.973 WARNING (MainThread) [custom_components.sonoff.core.ewelink.cloud] Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d41d', 'apikey': 'xxxxx', 'sequence': '1680521737000'}
2023-04-03 13:35:47.998 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.sonoff_100186d41d_energy is taking over 10 seconds
2023-04-03 13:43:48.013 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.sonoff_100186d41d_energy is taking over 10 seconds
2023-04-03 13:43:48.462 WARNING (MainThread) [custom_components.sonoff.core.ewelink.cloud] Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d41d', 'apikey': 'xxxxx', 'sequence': '1680522218000'}
2023-04-03 15:21:13.175 WARNING (MainThread) [custom_components.sonoff.core.ewelink.cloud] Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d41d', 'apikey': 'xxxxxx', 'sequence': '1680528068000'}
2023-04-03 15:26:13.182 WARNING (MainThread) [custom_components.sonoff.core.ewelink.cloud] Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d41d', 'apikey': 'xxxxxx', 'sequence': '1680528368000'}
2023-04-03 15:27:18.190 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.sonoff_100186d41d_energy is taking over 10 seconds
2023-04-03 15:27:18.471 WARNING (MainThread) [custom_components.sonoff.core.ewelink.cloud] Cloud ERROR: {'error': 504, 'reason': 'Request Timeout', 'deviceid': '100186d41d', 'apikey': 'xxxxx', 'sequence': '1680528428001'}

Can it be the integration rate limits the update to say 1 every 2 or 5 minutes?
Maybe Sonoff doesn't not accept this many requests. I don't know

I don't think it helps. Check timestamps. Energy just a heavy request for big history.

I am too experiencing my POWR316 switching OFF after approx. 1 hour. This device should always be ON since I mainly use it to log power usage. On the eWeLink App I selected Power-on state ON but it doesn't make any effect.
It used to work fine until 2 days ago - random switching OFF just happened. I also noticed that the history on the eWeLink App is all 0; i.e. it seems like not being recorded or deleted. Only have history since around 1-2 April when I think @AlexxIT pushed an update. Again, I don't know if it is related or not.
I can see a number of ERRORS in the log.
I had to remove the device from HA since I cannot afford this random switching OFF. I will test my device being connected to power but without a config on HA and see if the random switching OFF still happens or not.


tables do not appear in HTML version

@TimShawver
When I export a jupyter notebook (using nbconvert) in HTML, sometimes I have the qgrid table sometimes not. Is there any way that I could have the qgrid tables in HTML, consistently?

Please see my comment on this other related issue: https://github.com/quantopian/qgrid/issues/141#issuecomment-342878187
I'm surprised it's working at all on qgrid 1.0 with ipywidgets 7.0...as described in that comment there's an issue with nbconvert which prevents it from working.

Thanks, Tim.

On Nov 8, 2017, at 11:47 AM, Tim Shawver<EMAIL_ADDRESS>wrote:
Please see my comment on this other related issue: #141 (comment)
I'm surprised it's working at all on qgrid 1.0 with ipywidgets 7.0...as described in that comment there's an issue with nbconvert which prevents it from working.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@TimShawver
I could successfully render the table on jupyter notebook.
import pandas as pd
import qgrid

from sklearn import datasets
iris = datasets.load_iris()

df = pd.DataFrame(
    data=iris.data,
    columns=iris.feature_names
)
qgrid.show_grid(df, show_toolbar=True)

However, I couldn't get the interactive table after export to static html file. It does not work for me either nbconvert or Download as button.
jupyter notebook

HTML

Please see my comment on this other related issue: #141 (comment)
I'm surprised it's working at all on qgrid 1.0 with ipywidgets 7.0...as described in that comment there's an issue with nbconvert which prevents it from working.


What is the minimum requirement to make a block lexical-variable compatible?

My blocks are auto-generated in backend (Python web-server, also I don't use Blockly's own built-in blocks), and I pass the generated block definitions as JSON to defineBlocksWithJsonArray method in web page, so I only prefer defining blocks in JavaScript when it is the only option (like mutator blocks etc.).
Now I want to use this plugin for my event listener blocks, similar to App Inventor's events. My current goal is to include a local parameter, it doesn't need to be renamed nor edited.

However, looks like blocks with lexical variable fields must be defined from JavaScript (and it relies on other Block properties/methods, as far I see). I don't want to build a JavaScript definition for each block (because it is not-portable like JSON definitions, and requires a lot of line of code).
So I wanted to define a new extension Blockly.Extensions.register so I thought I can patch the block by pulling its statement inputs and variable inputs without needing to hard-coding the field names, it doesn't repeat the code and I can simply use it in multiple blocks.
My extension:
Blockly.Extensions.register(
    'lexical_setup',
    function() {
        var block = this;
        // I can't directly pull the class from module, so I'm getting the class from registry.
        var parameter_flydown = Blockly.registry.getClass("FIELD", "field_parameter_flydown");
        var var_names = [];
        var statement_names = [];
        // Loop through all block fields and get a list of lexical variables.
        for (const input of block.inputList) {
            for (const field of input.fieldRow) {
                if (field instanceof parameter_flydown) {
                    var_names.push(field.name);
                }
            }
            if (input.type == 3) {
                statement_names.push(input.name);
            }
        }
        block.cp_LexicalVarNames = var_names;
        block.cp_StatementNames = statement_names;
        // Patch the block to support lexical variables,
        // without defining different functions for each block.
        block.getVars = function() {
            var x = [];
            for (const v of this.cp_LexicalVarNames) {
                x.push(this.getFieldValue(v));
            }
            return x;
        }
        block.declaredNames = block.getVars;
        block.blocksInScope = function() {
            var x = [];
            for (const v of this.cp_StatementNames) {
                var z = this.getInputTargetBlock(v);
                if (z)
                    x.push(z);
            }
            return x;
        }
    }
);

And the block definition:
{
    "type": "MY_EVENT",
    "message0": "when %1 happens %2 %3",
    "args0": [
      { "type": "field_parameter_flydown", "name": "thing", "is_editable": false },
      { "type": "input_dummy" },
      { "type": "input_statement", "name": "value", "align": "RIGHT" }
   ]
    "extensions": ["lexical_setup"]
}

However, looks like my "patching the block" approach is not working because when I add a getter/setter block to workspace, I get this even if it is added under a block:

And since there is no documentation, I don't know what the minimum methods/properties required for this to work properly. I looked example blocks in source code and as far you can see above, I added blocksInScope and getVars functions, but I don't know which ones are required.
Additional information:

Blockly version: 7.20211209.1
Plugin version: v0.0.10

I'm using a skypack.dev module (and it is the latest version on skypack), because my Blockly is loaded from Unpkg, and to prevent Skypack to override my imported Blockly with its own bundled one, I downloaded the JS file and replaced the first line with: const __commonjs_module0 = Blockly;

@ysfchn You are on the right path.  The problem you are having has to do with some stuff that is currently baked into the FieldParameterFlydown.  Luckily, I have been needing to do something very similar to what you want to do and have a good idea for what needs to be done to the package to make that reasonably easy.  That will take a little time, but I also have a workaround that you can use in the meantime if you can't wait.  I need to clean it up a bit, but I should be able to post it in a day or two.

Glad to hear! I'm not currently in a hurry, so I can probably wait (and I can experiment more with Blockly in the meanwhile). But it can be helpful for me if there is a current workaround for that. 😄

Glad to hear! I'm not currently in a hurry, so I can probably wait (and I can experiment more with Blockly in the meanwhile). But it can be helpful for me if there is a current workaround for that. 😄

Good to know!

@ysfchn
Something like the following should work as a workaround.  Then you ought to be able to use field_event_parameter_flydown where you are using field_parameter_flydown above:
const makeEventParameterGetter = (paramName, opt_helpUrl) => {
  const blockType = paramName + '_event_param_get';
  Blockly.Blocks[blockType] = {
    init: function() {
      this.appendDummyInput()
          .appendField('get')
          .appendField(paramName);
      this.setOutput(true);
      this.setTooltip(`Get parameter: ${paramName}.`);
      opt_helpUrl && this.setHelpUrl(opt_helpUrl);
      this.setStyle('variable_blocks');
    },
  }
  return blockType;
}

const makeEventParameterSetter = (paramName, opt_helpUrl) => {
  const blockType = paramName + '_event_param_set';
  Blockly.Blocks[blockType] = {
    init: function() {
      this.appendValueInput('PARAM')
          .appendField('set')
          .appendField(paramName)
          .appendField('to');
      this.setNextStatement(true);
      this.setPreviousStatement(true);
      this.setTooltip(`Set param: ${paramName}`);
      opt_helpUrl && this.setHelpUrl(opt_helpUrl);
      this.setStyle('variable_blocks');
    },
  }
  return blockType;
}

class FieldEventParameterFlydown extends FieldParameterFlydown {
  constructor(paramName) {
    super(paramName, false);
    this.getterBlockName = makeEventParameterGetter(procedureName);
    this.setterBlockName = makeEventParameterSetter(procedureName);
  }

  flydownBlocksXML_() {
    return `
      <xml>
        <block type="${this.getterBlockName}" />
        <block type="${this.setterBlockName}" />
      </xml>`;
  }
}

FieldEventParameterFlydown.fromJson = function(options) {
  const name = Blockly.utils.replaceMessageReferences(options['name']);
  return new FieldEventParameterFlydown(name, options['is_editable']);
};

Blockly.fieldRegistry.register('field_event_parameter_flydown',
    FieldEventParameterFlydown);

Note that it's possible that I made some errors in modifying my workaround to fit your case, but hopefully there is enough there for you to figure out what to do.  Feel free to ask for help, though, if you need it.

@ysfchn, Note that after posting the comment above I edited it to add the following:
const FieldParameterFlydown = Blockly.registry.getClass("FIELD", "field_parameter_flydown");

Thank you so much! I edited the code a bit to support parameter switching and add an option to disable setters/getters.

And here is the current code:
const getOtherParameters = (block, fieldName) => {
    var parameter_flydown = Blockly.registry.getClass("FIELD", "field_event_parameter_flydown");
    var var_names = [[fieldName, fieldName]];
    for (const input of block.inputList) {
        for (const field of input.fieldRow) {
            if (field instanceof parameter_flydown) {
                if (fieldName != field.name)
                    var_names.push([field.name, field.name]);
            }
        }
    }
    return var_names;
}

const makeEventParameterGetter = (paramName, opt_helpUrl, sourceBlock) => {
    const blockType = paramName + '_event_param_get';
    Blockly.Blocks[blockType] = {
        init: function() {
            this.appendDummyInput()
                .appendField('get')
                .appendField(new Blockly.FieldDropdown(() => getOtherParameters(sourceBlock, paramName)), 'parameter')
            this.setOutput(true);
            this.setTooltip(`Get parameter: ${paramName}.`);
            opt_helpUrl && this.setHelpUrl(opt_helpUrl);
            this.setStyle('variable_blocks');
        }
    }
    return blockType;
}

const makeEventParameterSetter = (paramName, opt_helpUrl, sourceBlock) => {
    const blockType = paramName + '_event_param_set';
    Blockly.Blocks[blockType] = {
        init: function() {
            this.appendValueInput('value')
                .appendField('set')
                .appendField(new Blockly.FieldDropdown(() => getOtherParameters(sourceBlock, paramName)), 'parameter')
                .appendField('to');
            this.setNextStatement(true);
            this.setPreviousStatement(true);
            this.setTooltip(`Set param: ${paramName}`);
            opt_helpUrl && this.setHelpUrl(opt_helpUrl);
            this.setStyle('variable_blocks');
        }
    }
    return blockType;
}

const FieldParameterFlydown = Blockly.registry.getObject("FIELD", "field_parameter_flydown");
class FieldEventParameterFlydown extends FieldParameterFlydown {
    constructor(paramName, isEditable, disableSetter, disableGetter) {
        super(paramName, isEditable);
        this.paramName = paramName;
        this.disableGetter = !!disableGetter;
        this.disableSetter = !!disableSetter;
    }

    flydownBlocksXML_() {
        this.getterBlockName = makeEventParameterGetter(this.paramName, null, this.sourceBlock_);
        this.setterBlockName = makeEventParameterSetter(this.paramName, null, this.sourceBlock_);
        var xml = "";
        if (!this.disableGetter)
            xml += `<block type="${this.getterBlockName}" />`
        if (!this.disableSetter)
            xml += `<block type="${this.setterBlockName}" />`
        return "<xml>" + xml + "</xml>";
    }
}
FieldEventParameterFlydown.fromJson = function(options) {
    const name = Blockly.utils.replaceMessageReferences(options['name']);
    return new FieldEventParameterFlydown(
        name, options['is_editable'], options['disable_setter'], options['disable_getter']
    );
};
Blockly.fieldRegistry.register('field_event_parameter_flydown', FieldEventParameterFlydown);

@ysfchn When I woke up this morning I realized that my workaround assumed that you didn't have multiple parameters, so I'm glad that you were able to adapt it to handle that!
BTW, my code also doesn't handle adding global variables to the getter and setter dropdowns.  If you want/need that, let me know and I can probably give you the code to handle that.

My initial purpose was just adding the event parameters, but adding global variables to dropdowns would be great for later. However, I'll try to do it myself first, then get back to you if I need help. 😅 Thanks for your help again!


fix(footer): move footer outside table role

footer includes pagination which can break a11y rules and shouldn't be part of parent with role=table.
What kind of change does this PR introduce? (check one with "x")

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
footer content is part of div[role=table]
What is the new behavior?
footer is moved outside of div[role=table] to support a11y.
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

@spike-rabbit , @timowolf Please have a look at this PR.


Implement minimal requirements for riboviz Python package

Complementing #310, implement minimal requirements to allow Python components to be deployed as a riboviz Python package.
See https://packaging.python.org/tutorials/packaging-projects/

Also complements #291.

The Python Packaging User Guide is maintained by the Python Packaging Authority (PyPA) working group that maintains a core set of software projects used in Python packaging.
Their Packaging Python Projects recommends use of pyproject.toml which tells build tools (e.g. pip or build what is required to build a project. For their example, setuptools is required to build and install it.
pyproject.toml arises from PEP 517 -- A build-system independent format for source trees and PEP 518 -- Specifying Minimum Build System Requirements for Python Projects. It is designed to allow Python projects to specify their build dependencies without some of the issues in using setuptools directly, as documented in the PEPs. See also What the heck is pyproject.toml?.
Specifying pyproject.toml allows users to use either pip or build, for example.
build comments that  "As recommended in PEP 517, if no backend is specified, build will fallback to setuptools.build_meta:__legacy__." i.e. if pyproject.toml is absent then it falls back onto setup.py.
pip comments that "By default, builds will use setuptools, but if a project specifies a different build system using a pyproject.toml file, as per PEP 517, pip will use that instead." i.e. if pyproject.toml is present then that is used in preference to setup.py.
Supporting pyproject.toml and setup.cfg allows us to support current best practice for packaging.

Work to date in branch python-package-314.
I worked through Packing Python Projects and, from this, added:

pyproject.toml: a small file that describes how to build the package and the build requirements.
setup.cfg: configuration for a package named riboviz-py. This is an INI style configuration file. This is an alternative to declaring this information within a setup.py file.

setup.cfg specifies that aliases are created for all command-line tools. So, instead of running
$ python -m riboviz.tools.upgrade_config_file -h

a user can run:
$ upgrade_config_file -h

The user can do this from anywhere within their file system without worrying about setting PYTHONPATH. The Nextflow workflow, prep_riboviz.nf, has been updated to use these invocations and to no longer set PYTHONPATH.
I also added a mimimal setup.py allows us to support python setup.py install for any users that really want to use python setup.py build|install.

Three approaches to installing riboviz-py are as follows. In practice, we should recommend the use of pip install ., as this avoids our users needing to install an additional build package.

pip (recommended):

$ pip install .
$ pip list | grep riboviz
riboviz-py                    2.1

Uses pip.
Needs setup.cfg and one or other of pyproject.toml and setup.py.
pip comments that "By default, builds will use setuptools, but if a project specifies a different build system using a pyproject.toml file, as per PEP 517, pip will use that instead." i.e. if pyproject.toml is present then that is used in preference to setup.py.

$ pip install --use-feature=in-tree-build .

As above but respecting pip warning that "DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default."

build and pip:

$ pip install build
$ pip list | grep build
build                         0.6.0.post1
$ python -m build
$ pip install dist/riboviz_py-2.1-py3-none-any.whl

Uses build package, 0.6.0.post1. build is an implementation of a PEP 517 package builder.
Needs setup.cfg and one or other of pyproject.toml and setup.py.
build comments that  "As recommended in PEP 517, if no backend is specified, build will fallback to setuptools.build_meta:__legacy__." i.e. if pyproject.toml is absent then it falls back onto setup.py.

setuptools:

$ python setup.py build

Needs setup.cfg and setup.py.

$ python setup.py install

To uninstall the package:
$ pip uninstall -y riboviz_py

To run the Nextflow workflow requires the Python scripts to have been installed via pip install .. This installs a riboviz-py package, with all RiboViz's Python source code into the current Python environment.
If one is working on Python scripts invoked by the workflow it can be time-consuming to repeatedly run pip install . after updating the scripts, before rerunning Nextflow.
pip allows riboviz-py to be installed in "development mode". Rather than installing riboviz-py, a link from the Python environment is created back to where you have your Git repository. This means you can edit source files and their changes are immediately available to any code using this Python environment.
riboviz-py can be installed in "development mode" as follows:
$ pip install -e .
$ pip list | grep riboviz
riboviz-py                    2.1                 /home/ubuntu/riboviz
$ pip list | grep riboviz
riboviz-py                    2.1                 /home/ubuntu/riboviz
$ find ~/miniconda3/ -name "*riboviz*"
/home/ubuntu/miniconda3/envs/riboviz/lib/python3.7/site-packages/riboviz-py.egg-link
$ cat ~/miniconda3/envs/riboviz/lib/python3.7/site-packages/riboviz-py.egg-link
/home/ubuntu/riboviz
$ cat miniconda3/envs/riboviz/lib/python3.7/site-packages/easy-install.pth
/home/ubuntu/riboviz

If you now edit the source files, the changes will become immediately available within the Python environment. For example, after running pip install -e .:

Create riboviz/example.py with content:

value = 123

Run outwith the Git repository:

$ python -c "from riboviz import example; print(example.value)"
123

Update value in riboviz/example.py to 456.
Rerun:

$ python -c "from riboviz import example; print(example.value)"
456

If you wish to uninstall the "development mode" package in future, run:
$ pip uninstall -y riboviz_py

python-package-314 also has updates to documentation.

One issue to resolve is that setup.cfg has author and author_email fields. These are currently set  to TODO. These need to be set to a single name and single email address. Some people do put multiple names and emails into these fields but others frown upon this, recommending a single project, not personal, email address for example, as these fields are used to populate the landing page for the package if it is uploaded to PyPI e.g. see the Author entry for cutadapt.
So, short term, use @ewallace or "RiboViz project team" as author and Edward's email as author_email?

At today's developer meeting, agreed on

So, short term, use @ewallace or "RiboViz project team" as author and Edward's email as author_email

Added author and author_email field values as above.

Good subject to discuss in a collaboration meeting that covers containerisation.