[WIP] don't interpret effects returned from fork

Q
A

Fixed Issues?
https://github.com/redux-saga/redux-saga/issues/1130

Patch: Bug Fix?
bug fix

Major: Breaking Change?
yes

Minor: New Feature?

Tests Added + Pass?
yes

Any Dependency Changes?

PR to start discussion with code examples.
straightforward way to prevent effect from execution. ¯_(ツ)_/¯

Thanks for starting a discussion around this but the solution itself seems to be hacky (brute forcing the expected result) in its current state.
The whole problem lies in how createTaskIterator wraps the forked simple functions (not generators). If we try to comment out this part of the (refactored) code - https://github.com/redux-saga/redux-saga/blob/7895e4be95e414cf814068c9a2c490370dd07eb2/packages/core/src/internal/proc.js#L124-L135 we'll get 3 failing tests:

saga fork/join handling : functions
middleware's custom emitter
saga detached forks failures

By replacing the quoted code with this:
return makeIterator(() => ({ done: true, value: result }))

the only still failing test is the first mentioned one.
Tracing it to its roots we can find those commits:

test itself
tested implementation

The question is what is supposed to be a "simple effect" here? What actual use cases are covered by this behaviour of forked function returning an interpretable effect?

seems that the case when fork could return any kind of effect that we can interpret - including promise and iterator,
https://github.com/redux-saga/redux-saga/blob/433c333053ba5b1a3187406b09078e9e4ee99e73/packages/core/src/internal/proc.js#L334-L336
at least such a test for promise was added here https://github.com/redux-saga/redux-saga/commit/3c93f01b0ea1a866e01ca3e06fde15722fa3df7c#diff-aef8708b040ddfd27e50ad40d8b3e146R473

seems that the intention was to cover a case when fork returns any kind of effect that we can interpret, especially a promise and an iterator.

Yeah, I suppose the promises are the most useful use case. Dropping support for this feature would force this:
const fn = () => delayP(200).then(() => 'foo')
// ...
const task = yield fork(fn)
// ...
const result = yield join(task)

to be refactored to
const _fn = () => delayP(200).then(() => 'foo')
function* fn() { return yield call(_fn) }

// ...
const task = yield fork(fn)
// ...
const result = yield join(task)

Seems like the current behaviour for promises (and maybe iterators, although questionable they both probably should be handled the same way because they are in other parts of the code) is useful.
No other effect should be "flattened" like this, because it is not flattened in other scenarios:

when using generator syntax and returning an effect descriptor
when using a call effect on a function returning an effect descriptor

If we agree on that behaviour the mentioned part of the code could be rewritten like this:
 let shouldResolve = is.promise(result) || is.iterator(result)

 const next = (value = result) => {
   if (shouldResolve) {
     shouldResolve = false
     return { done: false, value: result }
   } else {
     return { done: true, value }
   }
 }

 return makeIterator(next)

Would u like to rebase this, implement my proposal & check if this is covered nicely by tests?

@Andarist sure thing

LGTM, except the order of value and done as @Andarist says:

also probably better to reorder value and done, value should comes first, because its the order used by v8

I think we can add some warning if users are trying to return effects in forked functions like yield io.fork(() => io.select()). But it is of low priority though.


"Create account" button changes color if disabled or enabled.

If input values didn't pass the validation in the sign up modal, the "Create account" button will remain light blue by default. If validation passed successfully, button will become nice blue color

Commented the block of code out that displays "Forgot your password?" again


Javascript Code Example mistake

In the Javascript Code example the following line:
context.bindings.myQueueItem = input.body;
should be replaced with:
 context.bindings.outputMessage = input.body;
as the binding name in the function.json for the RabbitMQ output is 'outputMessage' and not 'myQueueItem'.
Probably copied from the previous Trigger example.
kind regards,
Djim

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

ID: 24b47bb8-9546-0675-cdcb-249b1c7f3d51
Version Independent ID: b922a64f-591e-01ed-988f-f1e6a34d9415
Content: RabbitMQ output bindings for Azure Functions
Content Source: articles/azure-functions/functions-bindings-rabbitmq-output.md
Service: azure-functions
GitHub Login: @cachai2
Microsoft Alias: cachai

@djimmo Thanks for catching that! We have worked up a PR to address this, which once merged should reflect in a couple of hours.


feat(Generator): Add supported dialects to Generator class

Adds a static variable to the Generator class that provides an array of the supported dialects.
Closes https://github.com/cerner/cucumber-forge-report-generator/issues/56

Approved on #58


HttpServerResponse status should not contain invalid characters e.g.: \r\n

see https://github.com/vert-x3/vertx-web/issues/181

See related issue.


Swift 2.0 support

Please add swift 2 support, possibly in a separate branch.

Just add a gettext function that returns a non-nil string and then switch all your referances from textview.text? to textview.gettext()

+1 on @thediary request :). Are you planning to add Swift 2 support?

I've updated the project for Swift 2.0. I've submitted a pull request but there hasn't been much activity by @FahimF for a little while so not sure whether it will be accepted anytime soon / if at all.
You can get it from my fork here though: https://github.com/meismyles/FloatLabelFields.

Sorry about the disappearance :) The project has been updated for Swift 2.2 and a separate branch created for Swift 3.


T30: 5.15 Work in progress

TODO fix flexray driver compile
Todo test if thermal trottle works better in this version of kernel

We close this T30 has been more updated for 6.1.26 and where flexray seems to be working if we use the older asix driver. still 6.1.26 is consider a work in progress


Fix compatibility for latest itrex version

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Scons paralell execution messes the build

The sconstruct file changes directory to wrapper and runs cargo there. When the chdir is executed the previously ran command (emar) cannot find its files. This needs to be fixed somehow.
ETA: 1h

Fixed when removing the wrapper


Fix cross-reference in porting guide

@dalg24 Thanks for submitting your change, however are you using HIP texture reference APIs. In HIP we no longer need and additional argument while using texture reference as being used @
https://github.com/ROCm-Developer-Tools/HIP/blob/master/tests/src/texture/hipTextureRef2D.cpp#L17

@dalg24 I submitted #1265 , which overwrites your change.

@dalg24 Thanks for submitting your change, however are you using HIP texture reference APIs ?

No I am not.
Thanks for updating the doc.


gh-dash: 4.8.0 -> 4.8.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/dlvhdr/gh-dash/releases.
meta.description for gh-dash is: Github Cli extension to display a dashboard with pull requests and issues
meta.homepage for gh-dash is: https://github.com/dlvhdr/gh-dash
meta.changelog for gh-dash is: https://github.com/dlvhdr/gh-dash/releases/tag/v4.8.1
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.8.1 with grep in /nix/store/q789xxk5scqs20cnfvim5il1n9ag3mn2-gh-dash-4.8.1
found 4.8.1 in filename of file in /nix/store/q789xxk5scqs20cnfvim5il1n9ag3mn2-gh-dash-4.8.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

gh-dash

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/q789xxk5scqs20cnfvim5il1n9ag3mn2-gh-dash-4.8.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The nixpkgs-update cache is only trusted for this store-path realization.)
For the cached download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gh-dash https://github.com/r-ryantm/nixpkgs/archive/ad8fd7ea806643d5bd0072150f226e4541d53138.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ad8fd7ea806643d5bd0072150f226e4541d53138#gh-dash

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q789xxk5scqs20cnfvim5il1n9ag3mn2-gh-dash-4.8.1
ls -la /nix/store/q789xxk5scqs20cnfvim5il1n9ag3mn2-gh-dash-4.8.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

gh-dash

Maintainer pings
cc @amesgen for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


Updated permissions

I found it to be a ton of work to update the permissions script to work with Raft. Much easier to port the permissions stuff to the raft example.


docs: add image builder envrionment variable warning

Issue #, if available:
ref: #52
Description of changes:
Documentation on environment variable differences in CAPMOX and Proxmox Image Builder VE.
Testing performed:
None at all.

e2e unnecessary for docs PRs


Not receiving error callback if underlying SSH connection disconnected

I am finding that callbacks are not being invoked when the underlying SSH connection has been disconnected - and in these cases the Promise never completes and hangs.
Specific example, making call to SftpClient.delete(path) - it calls the underlying ssh2-streams unlink call as (line 256):
    sftp.unlink(path, (err) => {
               if (err) {
                   reject(err);
                   return false;
               }
               resolve();
           });

Now if the call fails because of a response from the server like "file not found" then the callback is called from unlink and reject is called properly.
However, if you configure the OpenSSH server to timeout for inactivity and break before issuing the sftp.unlink call, then the underlying SSH connection is terminated by the server before we call unlink.  When we call sftp.unlink, when attempting to write the SFTP command to the SSH channel an EPIPE error is generated.  This is NOT passed back to the callback above by ssh2-streams module.    Instead we can catch it using .on("error") and rejecting, but there is not code to handle this case in the ssh2-sftp-client library.
As an aside in this case there is an .on("error") listener that is called -- it is the one that was set in SftpClient.connect line 317, but that is out of scope and calls the wrong reject :)
The result of this is that if you call SftpClient.delete (& other commands link rename, etc.) and the error is because the SSH connection is dead, then the call hangs because you never get a reject or resolve because ssh2-sftp-client library never gets a callback.
I have worked around this by adding an .on("error") for unlink to catch the EPIPE message and reject -- but this seems like an issue that would impact most of the other methods in this library.
What am I missing? :)

+1, I have experienced similar behavior.


will environment variables in .env appear in containers?

File: compose/env-file.md, CC @londoncalling
It is unclear (not explicit) whether environment variables defined in a .env file is also visible from inside the containers created from docker-compose up for instance.

@FredrikWendt

I believe that environment variables defined in the .env file are not automatically visible inside containers

but rather you need to set container applicable environment variables explicitly as indicated Passing environment variables through to containers

@shin- @dnephin @nathanleclaire Can one of you all verify that this is true ^^ , then I'll update the file Fredrik references (Declare default environment variables in file) to be a little more clear.

That's correct. We have this disambiguation page: https://docs.docker.com/compose/environment-variables/


Monitor connection to Border Router (CON-1415)

The event callback in esp_matter::start provides useful information, such as whether the WiFi station has connected or disconnected. I'd like to achieve the same for Thread, with the goal to detect when the Border Router is unavailable or got disconnected. Typically, if there’s no OTBR, the device changes its role. Unfortunately, this is not every time the case. Sometimes, I can also monitor network and address changes. Currently, I use the kThreadStateChange event to monitor changes:
    case chip::DeviceLayer::DeviceEventType::kThreadStateChange:
    {
        if (event->ThreadStateChange.RoleChanged) {
            ESP_LOGW(TAG, "Thread role changed");
        }
        else if (event->ThreadStateChange.AddressChanged) {
            ESP_LOGW(TAG, "Thread address changed");
        }
        else if (event->ThreadStateChange.NetDataChanged) {
            ESP_LOGW(TAG, "Thread network data changed");
        }
        else if (event->ThreadStateChange.ChildNodesChanged) {
            ESP_LOGW(TAG, "Thread child nodes changed");
        }
        break;
    }

However, it sometimes takes over a minute before any events are triggered! Additionally, the events themselves are not very helpful. I would need to investigate specific APIs in OpenThread or Connectedhomeip. Is there a straightforward solution to this issue?

These events are posted to Matter context at the state change callback of OpenThread. And there should not be a long delay for it (one minute is too long for event post). Could you check whether the post is successful at the state change callback?
Note that the role change will not happen immediately after you shutdown the Thread Border Router, it will take some time for the thread end-device to know that its parent router disappears and select a new router or become a router/leader as it needs to detect whether there are other routers it can attached.
If you want to know more information of the Thread state change. You can also try our OPENTHREAD_EVENT in ESP-IDF.

Thank you, @wqx6, for the quick response and helpful hints! The ESP OpenThread events are indeed useful. However, some of them are already propagated by the esp-matter and connectedhomeip event loops. I did some further testing, and here are my findings so far:

Roles are not reliable indicators of connection status in my case:
If the TBR is not present, my device is promoted to a Router/Leader role. I prefer not to disable router functionality, as my device is always powered (24/7) and has no power constraints.  Otherwise, I could just rely on the child role.

Behavior when disconnecting the Apple HomePod:
After unplugging the HomePod, the only log entries I see are shown below. The first OpenThread event occurs after 200 seconds and is OPENTHREAD_EVENT_LOST_IP6. I could probably actively ping the TBR after such UDP messages to know if it is still reachable. However, there are no ESP OpenThread events for this.
W(188816) OPENTHREAD:[W] Mle-----------: Failed to process UDP: Duplicated
W(188816) OPENTHREAD:[W] Mle-----------: Failed to process UDP: Duplicated

Monitoring the connection to a TBR:
I wrote a simple monitor function to check whether my device is connected to a TBR. Even with this polling mechanism, I only receive the disconnected event after ~200 seconds. Interestingly, when I plug the HomePod back in, it takes only ~20 seconds for the OPENTHREAD_EVENT_GOT_IP6 event to fire, and my monitoring function also starts returning true.

bool is_tbr_connected(otInstance *instance)
{
    otExternalRouteConfig route_config;
    otNetworkDataIterator iterator = OT_NETWORK_DATA_ITERATOR_INIT;

    // Iterate over all external routes
    while (otNetDataGetNextRoute(instance, &iterator, &route_config) == OT_ERROR_NONE)
    {
        if (route_config.mRloc16 != 0) {
            // Found a valid external route
            ESP_LOGI(TAG, "TBR detected: RLOC16 = 0x%04x, Prefix Length = %d", route_config.mRloc16, route_config.mPrefix.mLength);
            return true;
        }
    }
    return false;
}

My primary goal is to indicate whether my device has a connection to a TBR or not. I understand that Thread is a robust protocol, and the network organizes itself. If a TBR gets disconnected, another one might be promoted, and this process takes time. Currently, the OPENTHREAD_EVENT_LOST_IP6 and OPENTHREAD_EVENT_GOT_IP6 events provide the information I need, but the delay is too long for my requirements.
Any advice or suggestions on how to efficiently monitor the connection to a TBR would be greatly appreciated!

Hi, the Thread End Device cannot immediately detect if the Thread Border Router (BR) gets disconnected, as the BR cannot notify other devices before disconnecting. The leader synchronizes with each router every 90 seconds and updates the router information in the network data. Therefore, if the Border Router disconnects, it may take up to 90 seconds for the leader to recognize the disconnection. (If the Border Router is the leader, additional time is required for another node to become the leader.) Once the leader detects the disconnection, it will update the OMR prefix in the network data.
But you can get a callback when the network data is changed:
static void network_data_change_callback(otChangedFlags changed_flags, void* ctx)
{
    if (changed_flags & OT_CHANGED_THREAD_NETDATA) {
        otBorderRouterConfig br_config;
        otNetworkDataIterator iterator = OT_NETWORK_DATA_ITERATOR_INIT;
        if (OT_ERROR_NOT_FOUND == otNetDataGetNextOnMeshPrefix(esp_openthread_get_instance(), &iterator, &br_config)) {
            printf("No Thread BR\n");
        }
    }
}
...
otSetStateChangedCallback(esp_openthread_get_instance(), network_data_change_callback, NULL);

Thank you @wqx6, I used your code
static void matter_api_tbr_check_connection()
{
    static uint8_t connected = -1;
    otBorderRouterConfig br_config;
    otNetworkDataIterator iterator = OT_NETWORK_DATA_ITERATOR_INIT;
    otError error = otNetDataGetNextOnMeshPrefix(esp_openthread_get_instance(), &iterator, &br_config);
    if (error == OT_ERROR_NOT_FOUND && connected != 0)
    {
        connected = 0;
        ESP_LOGW(TAG, "Thread Border Router is disconnected");
    }
    else if (error == OT_ERROR_NONE && connected != 1)
    {
        connected = 1;
        ESP_LOGW(TAG, "Thread Border Router is connected");
    }
}

and integrated it into the event callback in esp_matter::start as follows:
static void matter_api_event_cb(const ChipDeviceEvent *event, intptr_t arg)
{
     switch (event->Type)
     {
          case chip::DeviceLayer::DeviceEventType::kThreadConnectivityChange:
          {
              ESP_LOGI(TAG, "Thread connectivity changed");
              matter_api_tbr_check_connection();
              break;
          }
          case chip::DeviceLayer::DeviceEventType::kThreadStateChange:
          {
              if (event->ThreadStateChange.NetDataChanged)
              {
                  ESP_LOGD(TAG, "Thread network data changed");
                  matter_api_tbr_check_connection();
              }
              break;
          }
     }
}

Do you know if the OPENTHREAD_EVENT_LOST_IP6 and OPENTHREAD_EVENT_GOT_IP6 are always fired after the TBR is disconnected or connected? Or is it safer to use the netData change event?
Also, I found a similar question here. As initially suggested, it seems the best option might be to get the IP address of the TBR and ping it periodically. Do you have any suggestions on how to implement this?

It is enough to check whether thread is a TBR in the Thread network with otNetDataGetNextOnMeshPrefix(). What Jonathan said is to check whether the connection between the Thread End device and an external IP endpoint(a device behind the backbone netif of the TBR) is available.
The OPENTHREAD_EVENT_LOST_IP6/OPENTHREAD_EVENT_GOT_IP6 will be fired when the IP address of the Thread network interface is changed. It could be fired because of various reasons, not only the detaching/attaching of TBR.
Note that the matter_api_event_cb() in your codes is in the Matter context, so you must lock Thread stack before calling the Thread APIs.


freeze_graph.py of tensorflow1.5 without "--restore_op_name" function

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):win10
TensorFlow installed from (source or binary):binary
TensorFlow version (use command below):
Python version: 3.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:8.0/7.1
GPU model and memory:navidia GTX 1080Ti
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
I use freeze_graph.py of tensorflow1.5 to convert model,but i want to use "--restore_op_name".
Is there this function for this version or any other method recommended?
Thanks!
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
My convert command as following:
python freeze_graph.py
--input_graph=D:\mywork\Re3\demo\simple_as_binary.pb --input_binary=True --input_checkpoint=D:\mywork\Re3\demo\simple.ckpt.data-00000-of-00001 --output_node_names=re3/fc_output/add,re3/lstm1/rnn/while/Exit_3,re3/lstm1/rnn/while/Exit_4,re3/lstm2/rnn/while/Exit_3,re3/lstm2/rnn/while/Exit_4 --restore_op_name=re3/conv1/W_conv,re3/conv1/b_conv,re3/conv1_skip/W_conv,re3/conv1_skip/b_conv,re3/conv1_skip/prelu,re3/conv2/W_conv,re3/conv2/b_conv,re3/conv2_skip/W_conv,re3/conv2_skip/b_conv,re3/conv2_skip/prelu,re3/conv3/W_conv,re3/conv3/b_conv,re3/conv4/W_conv,re3/conv4/b_conv,re3/conv5/W_conv,re3/conv5/b_conv,re3/conv5_skip/W_conv,re3/conv5_skip/b_conv,re3/conv5_skip/prelu,re3/fc6/W_fc,re3/fc6/b_fc,re3/fc_output/W_fc,re3/fc_output/b_fc,re3/lstm1/rnn/LSTM/block_input/biases,re3/lstm1/rnn/LSTM/block_input/weights,re3/lstm1/rnn/LSTM/forget_gate/biases,re3/lstm1/rnn/LSTM/forget_gate/weights,re3/lstm1/rnn/LSTM/input_gate/biases,re3/lstm1/rnn/LSTM/input_gate/weights,re3/lstm1/rnn/LSTM/output_gate/biases,re3/lstm1/rnn/LSTM/output_gate/weights,      re3/lstm2/rnn/LSTM/block_input/biases,re3/lstm2/rnn/LSTM/block_input/weights,re3/lstm2/rnn/LSTM/forget_gate/biases,re3/lstm2/rnn/LSTM/forget_gate/weights,re3/lstm2/rnn/LSTM/input_gate/biases,re3/lstm2/rnn/LSTM/input_gate/weights,re3/lstm2/rnn/LSTM/output_gate/biases,re3/lstm2/rnn/LSTM/output_gate/weights
--output_graph=frozen_model.pb

I have resolved it.use the latest version.it just select nodes which is needed.


fix error file name 'tauri.conf.js' to 'tauri.conf.json'

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[x] It's submitted to the dev branch and not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Hey! Thanks for catching this!  I am not sure why the tests are failing will dig in in the AM.

THANKYOU
:heart:


Auto generate a key in v-for if one is not specified

What problem does this feature solve?
If a key is not supplied in v-for, there will be a warning linking to the docs (which is helpful). However if Vue really just needs a unique ID so it can keep track of the elements, and the developer doesn't need a key, then Vue should just create it's own key to use rather than warning the developer.
Often items I have in a v-for don't really have any unique identifiers that would be good to use for a key, so I'm left with doing janky things to create a unique key, which seems brittle since unique identifier generation is a non-trivial problem. Someone proposed using something like https://github.com/ericelliott/cuid to do it, but I though, why not just have Vue do it for me under the hood?
What does the proposed API look like?
Current API:

Current API which results in a warning:

Proposed API which will not result in a warning:

I am not familiar with the Vue source, but it appears this would be implemented somewhere here: https://github.com/vuejs/vue/blob/dev/src/compiler/codegen/index.js#L199
Instead of the warning, it would just need to generate a key and use it.

Duplicate of #6235


Tampers structurizr.com website sourcing from gists by mistake

structurizr.com is a web-based diagram tool that allow to source diagram from gists. For example:
https://structurizr.com/express?src=https://gist.githubusercontent.com/simonbrowndotje/ee1c266dfd123a4d5660a8aa19da9e61/raw/21bed60ca5551f22f273aee10efedb1c57c7dd71/gistfile1.txt
GitHub Dark Script tampers structurizr.com diagram in this case, which is a bug.

Hi @DKroot!
Thanks for reporting this issue. I'll have it fixed shortly.


Extensibility of security definitions?

I'm dealing with cases where there are a lot of extended or custom authentication systems around. Various Active Directory scenarios are the most egregious example.
In looking how to represent this in our swagger docs, the security scheme object seems pretty hard-wired to basic, api key, and oauth 2. Is there an intended way to add new authentication types to the document, even if the downstream consumers won't understand it directly? Or should I put:
    "type": "basic",
   "x-but-actually-it-is": "someCustomAuth"

or something along those lines? Is there a recommendation or pattern I can follow here?

For now, yes, you can use the vendor extensions to further extend the definitions. We realize it may not be optimal, but that's really one of the reasons we added them.
If you have suggestions as to how to make the security definitions more... flexible in the future, feel free to provide the feedback. Thanks.

My concern is that you can extend the existing definitions, but you can't create new ones. For example, if I have "type": "basic", naive clients will try to use basic authentication instead of the actual custom scheme.
Would adding 'custom' to the allowed values for the 'type' property work? That way we could mark something as 'custom', use extensions to supply whatever actual information is needed, and naive clients wouldn't try to use 'basic' or 'oauth2' or whatever?
Either that, or make the type property an open set that could be anything - so I could put for example "azure-active-directory" or something like that in the type property? If it's basic, apikey, or oauth2 then the rest of the spec applies as usual, but the other options are available. Kind of like the format property on primitive data types.

Right now it's not possible, and I don't know if it would make sense to allow it in the future. There are several feature requests regarding security definitions and we'll have to look into everything. The challenge with this regard is the tooling support. If we allow non-predefined schemes, it would be extremely difficult to support. On the other hand, it's obvious that we are unable to cover any definition possible out there. It's a matter of where we want to take the spec (just like any other feature request).
Regarding your comparison with the format field, I see a huge difference here as the type offers the basic constraints even if the format is unknown. Having any value for the security type offers no constraint if the type is unknown. Yes, we can offer extensibility with the tools, but that's easier said and done.

I was coming here to request support for Client JWT Bearer Assertions. A custom type could allow the same parameter definitions as any other request--after all, security credentials are just a predefined set of standard request parameters (query, body, headers).

Parent issue: #585

We have the same issue. Among several other auth schemes, our API supports JWT and we currently have no way to declare that. We also support Basic Auth and so are reluctant to advertise JWT as Basic also.

The original goal of the security definitions was to declare a fixed set of authorization types, so that any client consuming the spec can connect to it.  Thus making a custom auth scheme wouldn't make sense, because no client would be able to authenticate against it without the matching custom logic.
That goal may be worth revisiting but it needs to be very deliberate.  If a client can describe some custom auth scheme, there would be no way to connect to it in a general sense.
JWT makes sense as a standard, but there are many others as well, too many to implement all of.
Should that original design goal go away?

I have a similar issue. Our API utilizes the HTTP Signatures spec for authorization and I don't see a clean way to specify that as option.
https://www.ietf.org/archive/id/draft-cavage-http-signatures-05.txt
I would suggest (a) continue expanding the fixed set to include internet standard protocols and (b) making a flexible scheme to support anything outside of that. The goal of a fixed set really will help move things forward, but if the fixed set doesn't include commonly used techniques (like JWT or HTTP signatures) it discourages those standard implementations.

Any news on it? Latest comment 5 may in this issue, still waiting support for JWT

+1

The security in the spec has been reworked to allow for such flexibility. Check it out!

@webron would you mind linking to the update on this?

Take a look at https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#securitySchemeObject.
It supports extensions in general. Also, basic has been changed to http and the scheme was added. If you end up using bearer, for example, you can use that to describe JWT tokens.

what about swagger 2.0 definitions? No way to follow same approach OpenAPI uses ?

Landed on this wondering how todescribe Hawk and other custom security definitions which don't fit the currently approved list of schemas and types in OAS3.


device_type: add dimmable_light

thank you for your contribution again! 👍
i included the implementation and unit tests in the commit when adding the tests for the pergola data.
hence, closing this one.


Pug (ex Jade) HTML template engine plugin

As we're moving to WebPack and this code would be deleted in the next week, I'm not going to let that PR in. Could you link to an issue discussing the need for Jade? Thanks!

https://github.com/angular/angular-cli/issues/968 https://github.com/angular/angular-cli/issues/996

Okay. Webpack has nice plugins for that functionalities so it will be easier to handle this.


Asset 599: bad answer ID for MPO, duplicate?

Asset 599 currently uses CHEMBL.TARGET:CHEMBL2439 as the expected answer ID for MPO. However, CHEMBL.TARGET:CHEMBL2439 is likely something no ARA/KP recognizes. NodeNorm doesn't resolve this ID..
Instead, I wonder about using the conflated MPO (gene)/myeloperoxidase (protein) NCBIGene:4353.
But if we changed to that ID, this would be a duplicate of Asset 597. Similar to https://github.com/NCATSTranslator/Tests/issues/87
Should this test be removed as a duplicate?

Noted as a test all tools fail in https://github.com/NCATSTranslator/Tests/issues/69

I agree that this should probably be removed as bad/duplicate.


Plugin should only reformat Python files

Currently, the extension is only activated when a Python file is opened (which is fine) but once it is activated (and "reformat on save" is enabled) it will try and reformat every file that is saved (regardless of the file content).
This is okay-ish for most files because Black won't know what to do with it, but for (some?) JSON files Black will reformat the content on save, which is unexpected (I wasn't aware Black was able to reformat JSON files, that's probably a side-effect of JSON and Python dict sharing a similar syntax).
I think the extension should check the current buffer syntax (Python vs something else) before reformatting on save.

Yup, you’re right. I removed that extra syntax check right before version 1.0.0, thinking it was redundant because the extension configuration explicitly has the activation event. My bad, I’ll fix it ASAP.

The isort extension also had this issue. Both extensions got an update (version 1.0.1) and are fixed by now. Thanks for the report.


Error in building

C:\Users\1\Desktop\nfcgate-2\app\src\main\java\de\tu_darmstadt\seemoo\nfcgate\util\NfcComm.java:6: error: package de.tu_darmstadt.seemoo.nfcgate.network.c2c.C2C does not exist
import de.tu_darmstadt.seemoo.nfcgate.network.c2c.C2C.NFCData;
                                                     ^
C:\Users\1\Desktop\nfcgate-2\app\src\main\java\de\tu_darmstadt\seemoo\nfcgate\util\NfcComm.java:13: error: cannot find symbol
    private NFCData mData;
            ^
  symbol:   class NFCData
  location: class NfcComm

Did you initialize the protocol submodule (e.g. git submodule update --init)?

Did you initialize the protocol submodule (e.g. git submodule update --init)?

I simple download project

Then try initializing the submodules and compile again - it won't work without the submodules in place.

Clarified instructions in 5a24b4ab49eeb01e8ae39d49e44e52ceddc800c3.


Console logging every second?

I'm not sure why, but FlipClock seems to be logging the timestamp every second to the console.
Can this be disabled?

This was a quickie use for me, so I just commented out the two "console.log()" calls...thats stops the yapping.   (Ideally, defaults off, with an option to enable....but doesn't look like this has had any activity in the last year...)

This was an issue with the old version. The console.log was compiled in there. It has been removed in the new version.


make fastlane dir compliant

see https://gitlab.com/snippets/1895688

to use it in fdroid build process this need a new tag avter mergeing
PS: if you do semantic versioning the F-Droid Bot likely is picking it up and autoupdate it ...


docs: Conform documentation to the user documentation styling guidelines.

Automated message from Dropbox CLA bot
@synicalsyntax, it looks like you've already signed the Dropbox CLA. Thanks!

@synicalsyntax, looks great. Few comments added.

Merged, thanks @synicalsyntax!!


What parameters is really trained during P-tuning v2?

Hello!
Thanks a lot for a such well-written article! It's so impressive improvement of P-tuning.
Could you please clarify what parameters are really tuned during p-tuning?  Is it MLP producing input embeddings for a large model? Or maybe it's copy of some layers e.g. key-value projection for tuned prefix tokens?

Yes, your understanding is correct.

Thank you! That helped a lot.


fix(Textarea): fix broken ctrl-z on firefox

In TextArea ctrl-z is currently broken on firefox if autoHeight is enabled.
I feel like it might be a firefox bug but this workaround will make it work.

The issue is really strange 🤔
@ericls thanks for the fix!

Released in<EMAIL_ADDRESS>


PDF: Add new vertical layout

In continue of https://github.com/metanorma/mn-native-pdf/issues/713.
As titled, based on the new JIS layout JIS_Template_traditional_blue_v2_traditional.pdf.
To do (draft list):

[x] ~add new parameters :presentation-metadata-color-cover-page-background-1:, :presentation-metadata-color-cover-page-background-2: for vertical stripes (with opacity) on the cover page~ no need, it's part of user-provided cover page
[x] ~add new parameters :presentation-metadata-color-cover-page-background-opacity-1:, :presentation-metadata-color-cover-page-background-opacity-2: vertical stripes opacities~ no need, it's part of user-provided cover page
[x] ~integrate two new logos JIS and JSA into SVG.~ no need, it's part of user-provided cover page
[x] add new parameter :presentation-metadata-color-header-footer-background: (blue bar in the reference PDF)
[ ] use font Noto Sans JP Thin, Noto Serif JP ExtraLight and ~Source Sans~ Noto Serif JP Medium in the XSLT, and add into processor.rb metanorma-jis (https://github.com/metanorma/metanorma-jis/pull/230)
[ ] use Japanese numerals in

[ ] page numbers (header/footer)
[x] clause numbers (https://github.com/metanorma/metanorma-jis/issues/228)
[x] ordered list items (https://github.com/metanorma/metanorma-jis/issues/228)
[x] dates (https://github.com/metanorma/metanorma-jis/issues/228)

[x] add parameter :coverpage-image: (see https://www.metanorma.org/author/bsi/ref/document-attributes/) - image location, for image to be included on the PDF cover page. Image location is relative to the source document.

[x] into XSLT
[x] into metanorma-jis (https://github.com/metanorma/metanorma-jis/issues/227)

[x] add parameter :backpage-image: - same, for image to be included on the PDF back page. (https://github.com/metanorma/metanorma-jis/issues/227)

[x] into XSLT
[x] into metanorma-jis (https://github.com/metanorma/metanorma-jis/issues/227)

[x] put cover page image into the back cover page, if back cover page doesn't set
[ ] add last section (see page 4 in the reference PDF)
[x] don't rotate letters in web links (http;// https:// www.), no need special actions, the English text doesn't rotate by default
[ ] some English text should not be rotated, markup with something like this span:dontrotate[text]

Known issues:

these element didn't rotate in the vertical layout (currently I don't know how to fix it and how long it will take):

[ ] page numbers in ToC (https://github.com/metanorma/xmlgraphics-fop/issues/10)
[ ] page numbers in the footer (left side) (https://github.com/metanorma/xmlgraphics-fop/issues/10)
[ ] table (https://github.com/metanorma/xmlgraphics-fop/issues/8)
[ ] block-container (https://github.com/metanorma/xmlgraphics-fop/issues/8)

Here's an updated file for reference:

JIS_Template_traditional_blue_v2_traditional.pdf

use font NotoSansJP-Thin, NotoSerifJP-ExtraLight and Source Sans in the XSLT

I've used "Noto Serif JP" "Medium" to replace the Italic text, so we don't need Source Sans.

put cover page image into the back cover page

It's a mirrored front-back image of the front cover page. If possible allow using a separate front/back cover page.
Thanks!

add new parameters :presentation-metadata-color-cover-page-background-1:, :presentation-metadata-color-cover-page-background-2: for vertical stripes (with opacity) on the cover page

The parameter :presentation-metadata-color-cover-page-background-1: for

The parameter :presentation-metadata-color-cover-page-background-2: for

Also we need two parameters for opacities:

:presentation-metadata-color-cover-page-background-opacity-1: 0.58
:presentation-metadata-color-cover-page-background-opacity-2: 0.75

The footer contains the last on page clause title. Up to depth 3:

@ronaldtse there are question about numbers in header/footer:

the number in header means :edition:?
the number in footer means the page number? Just mistakenly all page number are 2?
both numbers in header/footer ToC page should be in parenthesis?

Examples:

ToC page

header - number 1 in parenthesis

footer  - number 2 in parenthesis

first document page

header - number 1

footer - number 2

last document page - same

@ronaldtse could you check the fonts which are used on the cover page in the source Adobe Illustrator file.
Adobe Acrobat shows Noto Serif Extra Light for all texts:

but the rendered fonts looks so:

I've tried to use Noto Serif JP Medium, but it looks different than in the source PDF(generated from AI):

Also, Adobe Acrobat in the document properties shows 7 fonts Noto Serif Extra Light:

Thanks.

@Intelligent2013 I think this is because I’m using Noto Sans JP “Variable” that can realize all weights. It’s not Extra Light.

Actually the fonts Noto Serif JP Medium, Noto Serif JP Bold and Noto Serif Black are using on the cover page text.

Bad things found. Update in https://github.com/chunlinyao/fop has very limited vertical layout support! It doesn't support glyph rotation in the blocks inside fo:block-container and fo:table.
From right to left: block, block-container, table.

The glyphs didn't rotated in 2 and 3 blue boxes.
XSL-FO:
<fo:block border="1pt solid blue" language="JA">
                「天の人を生ずるは億兆皆同一轍にて、之に附与するに動かす可からざるの通義を以てす。即ち其通義とは人の自から生命を保し自由を求め幸福を祈るの類にて、他より之を如何ともす可らざるものなり。」
                ――『アメリカ独立宣言』
            </fo:block>
<fo:block-container>
	<fo:block border="1pt solid blue" language="JA">
                「天の人を生ずるは億兆皆同一轍にて、之に附与するに動かす可からざるの通義を以てす。即ち其通義とは人の自から生命を保し自由を求め幸福を祈るの類にて、他より之を如何ともす可らざるものなり。」
                ――『アメリカ独立宣言』
            </fo:block>
</fo:block-container>
<fo:table width="100%" table-layout="fixed">
	<fo:table-body>
		<fo:table-row>
			<fo:table-cell>
				<fo:block border="1pt solid blue" language="JA">
												「天の人を生ずるは億兆皆同一轍にて、之に附与するに動かす可からざるの通義を以てす。即ち其通義とは人の自から生命を保し自由を求め幸福を祈るの類にて、他より之を如何ともす可らざるものなり。」
												――『アメリカ独立宣言』
										</fo:block>
			</fo:table-cell>
		</fo:table-row>
	</fo:table-body>
</fo:table>

Another issue in the vertical layout - the glyphs don't rotate in ToC (XSL-FO element fo:page-number-citation):

and in the footer (XSL-FO element fo:page-number):

@ronaldtse question about last page (not back page).
Is this a fixed text or it should be read from XML? It's user defined section or hard-coded boilerplate in metanorma gem?

The error occurs on the full document:
Rendered page #1.
Rendered page #2.
Index: 2, Size: 2
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.apache.fop.render.intermediate.IFStructureTreeBuilder.replayEventsForPageSequence(IFStructureTreeBuilder.java:192)
        at org.apache.fop.render.intermediate.IFSerializer.startPageSequence(IFSerializer.java:278)
        at org.apache.fop.render.intermediate.IFRenderer.startPageSequence(IFRenderer.java:526)
        at org.apache.fop.area.RenderPagesModel.checkPreparedPages(RenderPagesModel.java:172)
        at org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:146)
        at org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:316)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:243)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:147)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.DelegatingFOEventHandler.endPageSequence(DelegatingFOEventHandler.java:114)
        at org.apache.fop.accessibility.fo.FO2StructureTreeConverter.endPageSequence(FO2StructureTreeConverter.java:184)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:140)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:390)
        at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:207)
        at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:204)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:203)
        at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1149)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2969)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:113)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:507)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:867)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:796)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:142)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:519)
        at org.metanorma.fop.PDFGenerator.generateFOPIntermediateFormat(PDFGenerator.java:860)
        at org.metanorma.fop.PDFGenerator.runFOP(PDFGenerator.java:564)
        at org.metanorma.fop.PDFGenerator.convertmn2pdf(PDFGenerator.java:512)
        at org.metanorma.fop.PDFGenerator.process(PDFGenerator.java:326)
        at org.metanorma.fop.mn2pdf.main(mn2pdf.java:350)

The error occurs due the block with mathml:
<UnitsML xmlns="https://schema.unitsml.org/unitsml/1.0">
			<UnitSet>
...
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mi mathvariant="normal">µF</mi>
</math>

mn2pdf can't process it, because the element math isn't in the text. I'll omit it in the preprocess phase.

No, without Unitsml there is the error...

The issue in fop-core\src\main\java\org\apache\fop\render\intermediate\IFStructureTreeBuilder.java
    public void replayEventsForPageSequence(ContentHandler handler,
            int pageSequenceIndex) throws SAXException {
            pageSequenceEventRecorders.get(pageSequenceIndex).replay(handler);
    }

The value pageSequenceIndex is great than pageSequenceEventRecorders size.

I've applied very rough workaround solution:
        try {
            pageSequenceEventRecorders.get(pageSequenceIndex).replay(handler);
        } catch (IndexOutOfBoundsException ex) {
            System.out.println("Error on pageSequenceIndex=" + pageSequenceIndex);
            pageSequenceEventRecorders.get(pageSequenceEventRecorders.size() - 1).replay(handler);
        }

and PDF generated.
@ronaldtse here is first PDF for JIZ Z 8301: document_vertical.presentation.zip
The PDF doesn't contain the clause numbers in Japanese, because still I'm not able to generate XML on my machine.
Known issues:

these element didn't rotate in the vertical layout (currently I don't know how to fix it and how long it will take):

page numbers in ToC
page numbers in the footer (left side)
table
block-container

wrong parenthesis rotation around English text
wrong footer for annexes
issue java.lang.IndexOutOfBoundsException: Index: 2, Size: 2

Vertical layout introduced in https://github.com/chunlinyao/fop is non-production feature, and time consuming to finding workaround solution.

Removing support for Noto Fonts in JIS until Fontist is made to support them: https://github.com/fontist/fontist/issues/386

Issue java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 occurs due the attribute role="artifact" in
<fo:static-content flow-name="left-region" role="artifact">
...
<fo:retrieve-marker retrieve-class-name="section_title"

fo:retrieve-marker and role="artifact" in one element occurs this error. Looks like it's a bug in Apache FOP. I'll add the ticket on Apache tracker.

Current remaining issues using released gems:

clause numbers rotation
punctuation rotation (see docs/110)
japanese numbering of autonumbering items
distinction encoding syntax for horizontal vs horizontal in vertical

Metanorma issues:

clause numbers in Japanese

@opoudjis does the current version of metanorma-jis support the clause numbers in Japanese?

Yes, with  :presentation-metadata-autonumbering-style: japanese
https://github.com/metanorma/metanorma.org/pull/832/commits/b905b8722205b74d5335444806dcd06e6ce1152d

@opoudjis thanks!

This is the latest PDF with clause numbers in Japanese:  20241110.vertical.jis.example.pdf

rotation of text in examples
vertical line overflow for English

Fixed.

image/figure rotation

I've added the rotation for the image, but now the image breaks the page:

I'll try to find the workaround solution.
The latest PDF:  20241111.vertical.jis.example.pdf

For the image rotation need:

add reference-orientation="90" for the block-container
add attributes width/height in mm for the block-container

Note: fox:transform="rotate(90)" (https://xmlgraphics.apache.org/fop/2.10/extensions.html#transform) is working for fo:block-container with position="absolute" only.

image/figure rotation

the image breaks the page:

The issue with page breaks fixed, but there are two issues with:

sub-figures

big height images

I'll need to fix it.
Latest PDF: 20241113.vertical.jis.example.pdf

Image scaling issue in the vertical layout fixed.
Next issue - each reference sub-section starts in a new page:

Next issue - each reference sub-section starts in a new page:

Fixed.

Latest PDF: 20241120.vertical.jis.example.pdf
Next issues:

ordered list item label rotation (a) b) etc.)
punctuation rotation

Latest PDF with rotated text in the tables: 20241205.vertical.jis.example.pdf

hello @Intelligent2013 this layout represents a great amount of work here. thank you very much.  i have followed this work on and off, sorry i could not review everything.
i have one question, the cover is A4 portrait but the pages are A4 landscape. was there a precedent/reference to use landscape format for this layout over portrait format?
if we think about a printed and bound document (at the top of the landscape formatted pages) i think there would not be enough space to see the top row of characters with the binding.  while there is more space at the bottom of the landscape pages, the binding would never be at the bottom, as it causes too much interactive conflict for the user.
it is really fascinating to see this and to know that metanorma has this implemented functionality. i think there are specific areas in the document that could be independently modified a bit for readability. its that independent aspect that makes it very difficult to define blanket rules for some of those issues.

@ReesePlews thank you for the comments.

i have one question, the cover is A4 portrait but the pages are A4 landscape. was there a precedent/reference to use landscape format for this layout over portrait format?

Your question is hard for me to answer. The XSLT module for the PDF generating was developed based on the template JIS_Template_traditional_blue_v2_traditional.pdf provided 1.5 month (see post
https://github.com/metanorma/metanorma-jis/issues/226#issuecomment-2423695382).
I don't have the knowledge in the Japanese language at all and can't appreciate the layout ergonomic for the end-user.
I thought that the sample template was accepted by JIS...
I forward the question to @ronaldtse.

if we think about a printed and bound document (at the top of the landscape formatted pages) i think there would not be enough space to see the top row of characters with the binding. while there is more space at the bottom of the landscape pages, the binding would never be at the bottom, as it causes too much interactive conflict for the user.

Regarding printing, I agree there may be problems in the header/footer (i.e. left/right margins on landscape pages) printing due the limitation of some printers.
But what does bound document mean? And see the top row of characters with the binding. Could you clarify, please?
Your UX will be helpful.

Next tasks are:

[ ]  update https://github.com/metanorma/docs/blob/main/109.adoc (there are some discrepancies between 109.adoc, https://www.unicode.org/reports/tr50/tr50-28.html and https://github.com/metanorma/mn2pdf/issues/306)
[ ] add 180° rotation into XSLT
[ ] support mixed (horizontal) orientation (via like this span:horizontal[text], orspan:dontrotate[text]`)
[ ] support special positioning for U+301D, U+301E, U+301F, U+309B (I don't figure out how do it....)
[ ] regarding 1. Use dedicated vertical presentation forms when available, may be it would better to apply the 90° rotations, because if the user copies the text from PDF with dedicated vertical presentation (first 'left cornet bracket'):

and then paste the text into editor, the the user will see the 'left cornet bracket' as vertically oriented symbol:

instead of

Some characters from U+3001 IDEOGRAPHIC COMMA can't be rotated for correct vertical visualization, for instance U+3001 IDEOGRAPHIC COMMA looks as glyph moved from the left bottom to right top corner. Such visualization can't be performed by rotation.

Therefore, these characters need to be replaced by the vertical form (separate character).
In this case, there will be differences between the original and copy-pasted text in part of these characters.

Found 8 characters which require to use the dedicated characters:

U+3001 IDEOGRAPHIC COMMA (、) --> U+FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA (︑)
U+FE50 SMALL COMMA (﹐) to 	U+FE10 PRESENTATION FORM FOR VERTICAL COMMA (︐)`
U+FE51 SMALL IDEOGRAPHIC COMMA (﹑) to U+FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA (︑)
U+FF0C FULLWIDTH COMMA (，) to	U+FE10 PRESENTATION FORM FOR VERTICAL COMMA (︐)
U+FF1A FULLWIDTH COLON (：) to U+FE13 PRESENTATION FORM FOR VERTICAL COLON (︓)
U+FF1B FULLWIDTH SEMICOLON (；) to U+FE14 PRESENTATION FORM FOR VERTICAL SEMICOLON
U+FF01 FULLWIDTH EXCLAMATION MARK (！) to U+FE15 PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK (︕)
U+FF1F FULLWIDTH QUESTION MARK (？) to U+FE16 PRESENTATION FORM FOR VERTICAL QUESTION MARK (︖)

Latest generated PDF: 20241216.vertical.jis.example.pdf
Issues found:

[ ] wrong English letter alignment in ToC:

[ ] English letters didn't rotated in the clause title:

[ ] wrong English letter position in the Annex title:

[ ] English text overflow in the table cell (page 102)

[ ] wrong English letter position in the Annex clause title (page 155)

@Intelligent2013 some of those layout issues are vertical layout implementation issues. Can you post them separately so we can fix them in code? Thanks.


TypeError: Cannot read property 'update' of undefined

The configstore randomly throws this error.
  .../node_modules/configstore/index.js:86
    return this.all[key];
                   ^

 TypeError: Cannot read property 'update' of undefined
     at Object.Configstore.get (.../node_modules/configstore/index.js:86:17)
     at UpdateNotifier.check (.../node_modules/update-notifier/index.js:51:28)
     at module.exports (.../node_modules/update-notifier/index.js:127:17)
     at Object.<anonymous(.../node_modules/sync-files/bin/sync-files.js:121:3)
     at Module._compile (module.js:413:34)
     at Object.Module._extensions..js (module.js:422:10)
     at Module.load (module.js:357:32)
     at Function.Module._load (module.js:314:12)
     at Function.Module.runMain (module.js:447:10)
     at startup (node.js:146:18)

@naholyr
Hello, do you have any chance to look into this one?

This bug can be "disabled" by setting --no-notify-update

@AndyOGo Any luck? I've had this issue for years. Perhaps it's from a different module? 'update-notifier' perhaps? https://github.com/yeoman/update-notifier/issues
Can't seem to track it down.

@wamoyo
Yes, it's an update-notifier issue.


Should we make a vn.use_df?

Should we make a vn.use_df function that loads data into sqlite and connects to it so that you can run Vanna on dataframes that you might have brought in via CSV or some other method?

how would it work? can you write out the usage example? so it works something like this -
vn.use_df(df)
vn.ask('how many soccer players are there')```

and behind the scenes, use_df creates a new sqlite db and sets that as the dataset? would we need to name the dataset like we do for other datasets?

Actually now that I think about this, in order to fit our general pattern, this should actually be:
vn.connect_to_dataframes
so example usage would look like:
df1 = pd.read_csv('soccer_players.csv')
df2 = pd.read_csv('baseball_players.csv')

vn.set_dataset('my-sports-dataset')

vn.connect_to_dataframes(df1, df2)

vn.auto_train() # Whatever we decide to call this later.

vn.ask('how many soccer players are also baseball players?')

That way the pattern looks similar to the rest and we're just handling loading into SQLite inside connect_to_dataframes

vn.connect_to_dataframes(df1, df2)
what does this do in the background? it creates a sqlite db, puts those two dfs in there, and then connects vanna to the sqlite?

what does this do in the background? it creates a sqlite db, puts those two dfs in there, and then connects vanna to the sqlite?

That's what I'm thinking

Is this implemented yet ?


3.1 update of Safe storage of app secrets i

When CreateDefaultBuilder isn't called, add the user secrets configuration source explicitly by calling AddUserSecrets in the Startup constructor.
The constructor is:
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
where this is from:
public Startup(IWebHostEnvironment env){...}

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

ID: 9c99993c-c983-6fda-6c3a-ce4ec8c1d5db
Version Independent ID: ba688ac2-e90e-fce5-f60d-40c2553c3efd
Content: Safe storage of app secrets in development in ASP.NET Core
Content Source: aspnetcore/security/app-secrets.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: scaddie

See Access a secret where 2.1 code is used.

cc @serpent5

I don't think that's 2.1 code. The Startup class creates its own IConfiguration because the one available through DI will, by default, only include the host configuration, and not all the other providers added by CreateDefaultBuilder.
I think the sample and explanation is valid as is, even for 3.x. However, in my opinion, it would be better to add the configuration inside of Program, using ConfigureAppConfiguration. e.g.:
public static void Main()
{
    var hostBuilder = new HostBuilder()
        .ConfigureAppConfiguration((context, builder) =>
        {
            // Add other providers for JSON, etc.

            if (context.HostingEnvironment.IsDevelopment())
            {
                // builder.AddUserSecrets<Program>();
            }
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

    hostBuilder.Build().Run();
}

That's a basic Host setup, that doesn't include logging, etc, but it demonstrates the point. But, as I said, it's only my opinion that this is where it should be done. I think the existing sample code in the topic is valid.

@serpent5  great idea.

@Rick-Anderson Could you fix up the monikers in this file? I count 20. I would do it myself but I don't have a way to validate them. There's no rush, but it'd make it easier to use the snippet above for 3.x only.

@serpent5 if I don't fix it in the next 2 days, send me a reminder.


Antisense creation doesn't work for the chain if not eligable base present in other chain presented in selection

Steps to Reproduce

Go to Macro - Snake mode
Load from HELM using paste from clipboard: RNA1{R(A)P.[dR](A+C+G+U)P.R(A)P}|RNA2{R(A)P.[dR](A)P.R(A)P}|CHEM1{[4aPEGMal]}|CHEM2{[4aPEGMal]}|CHEM3{[4aPEGMal]}|CHEM4{[4aPEGMal]}|CHEM5{[4aPEGMal]}$CHEM4,CHEM3,1:R2-1:R1|CHEM3,CHEM5,1:R2-1:R1|CHEM1,CHEM3,1:R4-1:R3|CHEM1,RNA1,1:R1-9:R2|CHEM3,CHEM2,1:R4-1:R3|CHEM2,RNA2,1:R1-9:R2$$$V2.0

Select all monomers on the canvas and click Create Antisense Strand from context menu

Actual behavior
Nothing happens
Error in console:

Expected behavior
Antisense chain created

As per requirement:

1.3. If multiple chains are selected and more than one satisfies the previous requirements, the "Create Antisense Strand" option should appear, and if clicked, multiple antisense chains are created.

Versions

Ketcher Version 2.28.0-rc.1 Build at 2024-12-03; 17:04:52
Indigo Version 1.27.0-rc.1.0-g8d656a341-wasm32-wasm-clang-19.0.0
Chrome Version 131.0.6778.109 (Official Build) (64-bit)
Win10

Issue found while testing - https://github.com/epam/ketcher/issues/5678

Fixed in https://github.com/epam/ketcher/pull/6099. Backmerged in https://github.com/epam/ketcher/pull/6111. Not linked because github does not allow to link more than 10 issues to PR

Not fully fixed.
System doesn't crash but it create antisense chain for top chian but is shouldn't
Actual result:

Expected result:

As per requirement:

1.1. If there is a sugar in the backbone and it is connected to the a base via R3-R1, but the base is not a "sense base" form the table above, the "Create Antisense Strand" option should appear, but be disabled.
For example, bases with natural analogue X from the library, or ambiguous bases not in the library.


Switch node: formatting issue when >9 entries

After 9 entries in a switch node, the formatting goes wonky.
Some have missing numbers and some wrap over 2 lines no matter how wide you make the tray.
Happened prior to v0.14 as well I think.
I put a screen shot in the Google Group.

Issue #919 re width also applies here

Resolved by the commit referenced above


Custom ModelServer not support inference v2 protocol ?

/kind feature
Describe the solution you'd like
When will  custom modelServer supporte v2 protocol  ?  Thanks  .
Anything else you would like to add:

@kubbo

v2 Rest , thanks

May I ask when it can be supported ？


[MacOS] Tooltip disappears when try to hover on it

When I try to mouse over any tooltip (mainly to click on github intellisense links etc.) the tooltip disappears. Tried launching VS Code without any extentions using code --disable-extensions but no luck.
Here's a quick video of the issue:
https://user-images.githubusercontent.com/66324097/235164755-b409212a-64cd-45d4-80fe-eca8dc29e39c.mp4

VS Code Version:

Version: 1.77.3
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
Date: 2023-04-12T09:41:48.638Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.4.0
Sandboxed: No

OS Version: MacOS Ventura 13.3.1 (22E261)

Steps to Reproduce:

Mouse over any element within the code to show the tooltip
Try to mouse over the tooltip area
Tooltip disappears

I have the same problem. I thought it was associated with my extension, but apparently not.
This behavior does not happen with the GitLens extension.

Hello again! Any updates on this one?

Hi @aiday-mar ! Thanks for reply. I installed Insiders version and tooltip works there. However it's still an issue for a stable version of VSCode.

Hi thanks for your reply. The current Insiders code will be soon shipped to the stable version (by next week), and the problem should be solved at that time.


feat(dw): top consumption charts

Closes: https://issues.redhat.com/browse/RHOAIENG-2845
Description
implement top consuming distributed workload charts
left some utility type stuff in the consuming chart component, this and the inner pf chart will be moved out once we get this and other chart stuff in and are able to combine/refactor a bit.
No workloads:

No workloads consuming resources (similar message for if all or some have failed, but using <!> icon and noting that some or all have failed):

With a few consuming resources:

With many (although 0 data, just making them show manually)

With narrow screen:

How Has This Been Tested?
Ran through with various data and lack of data
Test Impact
tests for the empty state of this session are in place, not sure if we are testing charts
Request review criteria:
empty state works (no workloads, no workloads with usage), if workloads with usage exist, two donut charts should show the details of that usage.
Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[x] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

@andrewballantyne - fixed, made a typo when i refactored earlier

@gitdallas you have lint errors, please cleanup those.

/override ci/prow/images ci/prow/odh-dashboard-pr-image-mirror


Ability to not antialias GridMaterial

Pretty simple, adds ability for the GridMaterial to not be antialiased using gridMaterial.antialias = false
This playground can be used for testing: #2KKVBH#127

Note: maybe someone with better GLSL experience can figure out if it's possible to fix some of the diagnal lines:

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14212/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14212/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14212/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14212/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14212/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14212/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14212/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14212/merge#BCU1XR#0

Note: maybe someone with better GLSL experience can figure out if it's possible to fix some of the diagonal lines:

cc @sebavan who created the material.


validation: difference in GC subtyping

Looking at a Binaryen test, I discovered a difference between it and how wasm-tools validates the subtyping of a table elem. The test in question has shared in it, but this is a distraction. The difference between wasm-tools and Binaryen boils down to:
(module
  (type $funcs (array (mut (ref null func))))
  (elem (ref null any))
  (func (array.init_elem $funcs 0 (ref.null none) (i32.const 0) (i32.const 0) (i32.const 0)))
)

This fails to validate with:
invalid array.init_elem instruction: element segment 0 type mismatch: expected funcref, found anyref

What appears to be happening is that Binaryen accepts a (passive?) element segment containing any but wasm-tools does not. The reason for this is that the validator code in question, here, expects the element type to be a subtype of the array item we're about to initialize (ignore that the array is actually null in the above example). But Binaryen has some other kind of logic — which is right?

According to this at least the validation of array.init_elem requires that the element segment type is a subtype of the array element type, and anyref is not a subtype of funcref, so I think that this is a correct error.
When I roundtrip this through binaryen wasm-opt foo.wasm -o bar.wasm it replaces array.init_elem with an unreachable instruction. It looks like that's happening before the result is fully validated, meaning that this is mistakenly considered valid.
A small tweak to your test case:
(module
  (type $funcs (array (mut (ref null func))))
  (elem (ref null any))
  (func (param (ref $funcs))
        (array.init_elem $funcs 0 (local.get 0) (i32.const 0) (i32.const 0) (i32.const 0)))
)

where the array is local.get 0 instead of ref.null none which always traps, then binaryen yields:
[wasm-validator error in function 0] array.init_elem segment type must match destination type, on
(array.init_elem $funcs $0
 (local.get $0)
 (i32.const 0)
 (i32.const 0)
 (i32.const 0)
)
Fatal: error validating input

so I think that this is an issue with binaryen?

cc @tlively

Thanks for the cc. The immediate fix is in https://github.com/WebAssembly/binaryen/pull/6852, but we still have related bugs I'll take a look at.

I think this has been resolved now, so I'm going to close


Reduce memory usage regressions in commit 07ee2434bb

The modifications to the IO layer to support streaming made changes
that substantially increased memory usage. This makes the following
changes to minimize that:

No longer save the char iterator state. Saving this state required
duplication a LongBuffer and CharBuffer, which are two non-trivial
allocations/copies for every point of uncertainty. This really adds up
for some file types. Instead, never save the char iterator state. When
the bit position changes due to resetting a mark, we will just clear
the char iterator state and decode data again. This does mean some
data might be decoded twice if we backtrack, but that should be
relatively quick, and means we only take a hit when we backtrack
instead of every time there is a point of uncertainty.
The regexMatch buffers are intentionally large to match long patterns.
Unfortunately, the PState was changed so that every PState allocated
its own regex buffers, which resulted in a lot of large allocations.
Instead, modify the DataProcessor to store ThreadLocal state for the
regex buffers, and the PState access that state when necessary. So we
will no only have large regex buffers for each Thread rather than each
call to parse.
For every file parsed in the CLI performance command, we allocated a
new InputSourceDataInputStream before doing any performance testing.
So if you wanted to do a performance test of 500,000 files, we would
allocate 500,000 InputSourceDataInputStreams immediately. This class
isn't huge, but it can add up pretty quick and use a lot of memory.
Instead, just allocate the InputSourceDataInputStream right before the
call to parse so that it can be garbage collected when the parse ends.

DAFFODIL-1966

I forget the actual numbers, but it was pretty substantial, in the order of hundreds of megabytes of  allocations that are avoided.


Extended statistics

Currently, Alpha is able to log a small number of statistical values on the solving process (cf. #51, #99, #102).
To gather more data, it could be beneficial to log other values as well. Which ones should that be?
For example, clasp outputs something like the following:

Models       : 1+
Calls        : 1
Time         : 28.071s (Solving: 27.05s 1st Model: 27.04s Unsat: 0.00s)
CPU Time     : 27.191s
Choices      : 133724
Conflicts    : 103856   (Analyzed: 103856)
Restarts     : 331      (Average: 313.76 Last: 167)
Model-Level  : 26.0
Problems     : 1        (Average Length: 0.00 Splits: 0)
Lemmas       : 103856   (Deleted: 77119)

Binary     : 1655     (Ratio:   1.59%)
Ternary    : 2541     (Ratio:   2.45%)
Conflict   : 103856   (Average Length:   33.4 Ratio: 100.00%)
Loop       : 0        (Average Length:    0.0 Ratio:   0.00%)
Other      : 0        (Average Length:    0.0 Ratio:   0.00%)

Backjumps    : 103856   (Average:  1.26 Max:  48 Sum: 130701)

Executed   : 103856   (Average:  1.26 Max:  48 Sum: 130701 Ratio: 100.00%)
Bounded    : 0        (Average:  0.00 Max:   0 Sum:      0 Ratio:   0.00%)

Rules        : 105814
Atoms        : 36917
Bodies       : 67239
Equivalences : 37788    (Atom=Atom: 303 Body=Body: 1758 Other: 35727)
Tight        : Yes
Variables    : 22212    (Eliminated:    0 Frozen:    0)
Constraints  : 85168    (Binary:  77.7% Ternary:  22.2% Other:   0.1%)

Those statistics are indeed interesting. In principle, we could add all those statistics, although several of them are meaningless at the moment (e.g., Alpha currently does not delete Lemmas, we have no tight-ness analysis, and no variable elimination).

Statistics on numbers of atoms should distinguish between different types of atoms (BasicAtom, ChoiceAtom, RuleAtom, ...)

Problem in last comment is addressed by d60762172302af9baea0864590f3a801116f2829

Note: Performance statistics introduced by #137 are reset every time we enter DefaultSolver.tryAdvance(...), i.e. if we search for more than one answer set, it is reset every time an answer set is found. I think this should be changed in a future fix.

Note: Performance statistics introduced by #137 are reset every time we enter DefaultSolver.tryAdvance(...), i.e. if we search for more than one answer set, it is reset every time an answer set is found. I think this should be changed in a future fix.

Note that only the time is reset after an answer set has been found, not the number of decisions. This means that the overall number of decisions is divided by the time that has passed since the last answer set has been found, which does not make sense.
Opened new issue #166 for this.


change(blog): add missing class names to override styles

Even though these classes are not used within nextra for styling, these are still useful for users to be able to target these classes and override the styles.
cc @B2o5T

@B2o5T FYI these classes were already there before and got removed afterwards.

No worries, I totally get that. As long as there is way to style them, it's all good.


WinHandler::destroy not called as expected on macOS

haven't looked into this, but it's something we'll want to fix at some point.

I looked into this a bit today. I believe it's expected that windowShouldClose/windowWillClose will not be called when the application is quitting because of cmd+q or some explicit quit call? Although it gets called before quit, as one might expect, if the app is quitting due to the last window closing.
I spent some time hacking together something that uses applicationShouldTerminate instead, but it doesn't seem to work quite yet. It seems like a plist value needs to be set for it to actually call these functions. I quickly attempted a cargo bundle and manually editing the plist to see if I could get it to call correctly, and couldn't do it right away, so perhaps there's something else I'm missing. Can try again next time I get some free time.


Build "dotnot"

@Duffleman Could you please finish this one up or close?

Closing because @mfiedorowicz found a better/smarter third party lib

@Duffleman care to share/link? :P

https://github.com/jeremywohl/flatten


Provide (signed) release tarballs

Hi,
I'd like to package face_recognition for Debian. It would be very convenient if you could provide release tarballs.
Additionally, you might consider signing your releases. You can find more informations about it here.
Cheers,
Hugo (hle)

Thanks, that's great! I'll tag and sign the next release (which should be today).

Let me know if this works for you: https://github.com/ageitgey/face_recognition/releases


gitBranch() throws an exception when grade build started from shell on MacOS

If I try to include gitBranch() in a Paperwork config for a project, I get an error when trying to sync the Gradle file.
The message is: Error:Cause: index is out of range 0..-1 (index = 0)
Installed git version: 2.21.0
Realy dont have any idea how to fix it

Also getting this - any ideas anyone?

Also getting this - any ideas anyone?


Add a Dumper class

Add a Debug\Dumper class, coupled with its children HtmlDumper and CliDumper, that handles outputting a variable.

Started on: https://github.com/titon/framework/tree/debug-dumper/src/Titon/Debug


[test] Fix hostname printing in ipcmagic test

Hello @teojgo, Thank you for updating!

In the file hpctestlib/interactive/jupyter/ipcmagic/src/tf-hvd-sgd-ipc-tf2.py:

Line 35:36: W291 trailing whitespace

Do see the ReFrame Coding Style Guide

Codecov Report

Merging #2399 (76be303) into master (cb8018f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2399   +/-   ##
=======================================
  Coverage   85.63%   85.63%
=======================================
  Files          56       56
  Lines       10464    10464
=======================================
  Hits         8961     8961
  Misses       1503     1503

Continue to review full report at Codecov.

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


HistoricalFoo model is defined in wrong module path

Given I have a project layout like this.
+- hatthoc/
|     +- farm/
|          +- apps.py
|          +- models.py
+- manage.py

Content of hatthoc/farm/apps.py:
from django.apps import AppConfig

class FarmConfig(AppConfig):
    name = 'hatthoc.farm'

And in models.py, I have:
class ControlLevel(models.Model):
    room = OneToOneField(Room, CASCADE)
    cond_type = CharField(max_length=3, choices=ConditionType.choices)
    level = SmallIntegerField(choices=ControlLevelType.choices, default=ControlLevelType.actuator)
    history = HistoricalRecords()

The problem is that, django-simple-history creates a model HistoricalControlLevel and declares it to be located at hatthoc.farm, instead of hatthoc.farm.models.
This causes error when some tools like django-extensions do automatic import, like:
./manage.py shell_plus
Failed to import 'HistoricalActuatorSchedule' from 'hatthoc.farm' reason: Module "hatthoc.farm" does not define a "HistoricalActuatorSchedule" attribute/class
Failed to import 'HistoricalControlLevel' from 'hatthoc.farm' reason: Module "hatthoc.farm" does not define a "HistoricalControlLevel" attribute/class
from hatthoc.farm import

Note: Manual import still works
from hatthoc.farm.models import HistoricalControlLevel

And I found out the culprit is this line https://github.com/treyhunner/django-simple-history/blob/master/simple_history/models.py#L126
            else:
                models_module = app.name
            attrs['__module__'] = models_module

where app.name is hatthoc.farm as shown by the apps.py file.

This should be fixed as of version 1.9.1

I have the excact same issue on django-simple-history==2.0. Doesnt look like #324 made it in 2.0..


Removed swagger.json causes problem with SDK generator wiki

At https://github.com/samchon/nestia/wiki/SDK-Generator#swagger-documents, there's a table that displays an example Swagger page generated by Nestia. The Swagger editor page for this project dynamically loads the swagger.json file from the following URL: https://raw.githubusercontent.com/samchon/nestia-template/master/dist/swagger.json.
However, after commit 9d4bc0c907d790ff416f46853400d2e0e1cfea51, the swagger.json file was removed from the master branch, causing the Swagger editor page to fail to load it. As this is a template project, it's unclear why the file was removed. Could you please provide more information on the reason behind the removal of the swagger.json file?
Here is the broken editor:
Swagger Editor
Here is a working editor with the previous commit:
Working Swagger Editor

Revived it, thx for reporting.


groups: need ability to bulk invite users to a group

OTT

We have a thread for this:
:groups &group-action [[~zod %some-group] now %fleet (~(gas in *(set ship)) ~ [~bus ~dev ~nec]) %add ~]

where ~zod is the group host, %some-group is the group flag, ~bus, ~dev, and ~nec are the ships you want to invite.

Fixed by #1871


Fix issue preventing DynamoDB stream consumers to start from LATEST

Issue #, if available:
https://github.com/awslabs/amazon-kinesis-connector-flink/issues/9
Description of changes:
Fix issue preventing DynamoDB stream consumers to start from LATEST
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for the comments @aalexandrov. I have removed the duplicated overridden method and moved the factory instantiation to the constructor. Have left the AWSUtils::getStartingPosition in place to stop further bloating the scope of KinesisDataFetcher


Crash at HttpSM::state_request_wait_for_transform_read

In the function, it is try to get int64_t from 'data':
int64_t size = *((int64_t)data);
But TransformTerminus::handle_event callback m_tvc->m_cont (HttpSM)
with 'data == nullptr'. ATS will crash at here.
We only get size from data when the event is TRANSFORM_READ_READY, otherwise we do not.

we should always callback EVENT_ERROR or EVENT_EOS with VIO as data value. a nullptr as data is bad idea here.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/freebsd-github/1635/ for details.

Intel CC build successful! See https://ci.trafficserver.apache.org/job/icc-github/68/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/linux-github/1531/ for details.

clang-analyzer build successful! See https://ci.trafficserver.apache.org/job/clang-analyzer-github/200/ for details.

@bryancall @zwoop Could you please assign someone to review this PR ?

I wonder why we haven't seen this before.

Otherwise it looks reasonable to me.


Reorder dependencies to make updating easier.

I hope you guys don't mind I updated the order of the dependencies here to make it easier to locate/update.  No changes to versions... just reordering.

Nice :+1:


How the packer select next batch to pack

What's wrong
When the proposer wins the slot to propose, they have to choose what type of batch to submit.
Currently, we have only the Transfer type implemented. The packer checks if the transfer tx pool is empty, if not, then submit a batch.
How can it be fixed
We have 4 types of batches available to submit. Deposit, Transfer, MassMigrations, and Create2Transfer.
Deposit is the special one. Since we haven't designed a way to incentivize the proposer to pack it, we expect the honest proposer should pack the deposit as soon as possible. We can implement a strategy that whenever the proposer has a subtree in the deposit pool, they should pack it.
Transfer, MassMigrations, and Create2Transfer have fees.
profit-maximizing packing strategy
Ideally, we can implement a profit-maximizing packing strategy that has the following features:

Packer asks the pool to report an estimated profit in terms of dollars or other currency you like.
Packer waits if no pool has an estimated profit greater than a specified breakeven profit.
Packer chooses the most profitable pool and tries to pack tx to the batch. We can validate the signature before the tx enter the pool, but we can only validate state transition before the tx enters the batch.
Packer waits if the batch turns out to be less profitable than the breakeven profit. Wait for more tx from the pool or abort the batch if they have to.

constraints:

A batch can have only one batch type
A commitment can have only one token type.
A batch can have up to 32 commitment (an implicit param MAX_COMMITMENT_PER_BATCH #468)
A commitment can have up to 32 tx (MAX_TXS_PER_COMMIT)

We need to get a price feed so that we can convert the token amount to the token dollar value to determine if 3 token A is more valuable than 5 token B.
Let's say we have a big pool for batch type and inside of the big pool we have the small pools for different tokens. The token pools always report the sum of the top 32 tx fees. We pack the commitment with greedy fashion.
To give a concrete example, say we have a TransferPool that has TokenAPool (100 pending tx) and TokenBPool (50 pending tx).

TokenAPool reports top 32 tokens worth $10 and TokenBPool's worth $8. Pick 32 from A.
After that round, TokenAPool reports top 32 tokens worth $9 and TokenBPool's worth $8. Pick A still
but then the new top 32 from TokenAPool now worth $7. Pick B
etc...

The downside of the profit-maximizing packing strategy is it is complicated to implement.
Naive packing strategy

We prioritize deposit batch but round-robin the other batch types.
We specify a required fee for each token in our config
Inside each big pool, we round-robin each small pool and pick txs that pay more than the required fee.

Uniswap is a good candidate for a price feed, assuming it is available on goerli https://github.com/Uniswap/uniswap-v3-sdk


feat: WalletConnect v2 updates

Description
Dupe of https://github.com/wagmi-dev/wagmi/pull/1828
Additional Information

[x] I read the contributing docs (if this is your first contribution)

Your ENS/address: asimetriq.eth

Package Version
@wagmi/core": "^0.10.10
Current Behavior
While using WalletConnectConnector of "@wagmi/core": "^0.8.19", the below configuration was working fine with trustwallet app. The connection modal on the app was showing multichains providers. See old-version-wagmi image
this.walletConnector = new WalletConnectConnector({
      chains: [mainnet, bsc],
      options: {
        qrcode: true,
        version: '2',
        projectId: 'a325040d9331d6d603c4f7ae270fa5e5' // '7eeef33652f115b08e408e3a022a44d9
      },
    })

Unfortunately after upgradation to @wagmi/core": "^0.10.10 THe wallet connector only connecting with the first chain only (ETH) and not BSC at the same time. See new-version-wagmi image
```
this.metaWalletConnector = new WalletConnectConnector({
chains,
options: {
projectId: 'a325040d9331d6d603c4f7ae270fa5e5'
},
})

**Expected Behavior**
The latest version must show the mutichain while connecting, just like the old-version-wagmi. See old-version-wagmi image
![old-version-wagmi](https://user-images.githubusercontent.com/282325/234173661-005dc01c-5dd3-415b-b067-226de58a30af.jpg)
![new-version-wagmi](https://user-images.githubusercontent.com/282325/234173666-602a11e5-ee3d-43b0-b6f1-b96e69cb06ed.jpeg)

Not sure if this is a wagmi issue. I suspect that Trust Wallet has not implemented WalletConnect v2's optional chains API. It might be worth getting in touch with them.

Or you can downgrade to WalletConnectLegacyConnector.

Or you can downgrade to WalletConnectLegacyConnector.

That is not a solution especially when hey have updated the packages to v2.

You might have to get in touch with Trust Wallet. :)

my package version
viem: "^1.0.7",
wagmi: "^1.2.0"
I use imToken to connect my dapp
multi-chain can't work
I only get one chain
and I can't change network
but when i use imToken to connect walletConnect demo
it's work and I can change network

my package version
viem: "^1.0.7",
wagmi: "^1.2.0"
I use imToken to connect my dapp
multi-chain can't work
I only get one chain
and I can't change the network
but when I use imToken to connect walletConnect demo
it's works and I can change the network

imToken probably hasn't implemented WalletConnect v2 Optional Namespaces. You'll need to get in touch with them.

I think this is not an imToken problem
use walletConnect demo it can work
Or am I missing something here

Trust wallet is now working with multichain connection with wagmi latest version 1.2.0

this is work thanks

in my dapp more than one chain is required
can't we add more than one chain to required namespaces
not Optional Namespaces

@archieWu – The issue there is that if the Wallet doesn't support the required namespace, then the connection will be rejected. Example: If you have Polygon as a required chain, and a user tries to connect with a Wallet that doesn't support it, then the user won't be able to connect to your DApp regardless if it is the targeted chain or not.

@jxom If this happens and users cannot connect to my DApp, it should be expected behavior because my DApp requires these chains. We should guide users toward a successful connection when a connection fails.
If these required chains are placed in the optional chain even if the user successfully connects to my DApp, some unexpected things will still happen.

if the wallet does not support one of the configured chains, the user can not get the experience we want to provide.
Assuming that I have created a Dapp for exchanging assets between two chains.
Then the user's wallet can not support one of the configured chains.
This is not unexpected. If the user uses this wallet this doesn't sound very good.
I know the required and optional chain setup we have now achieves parity with WalletConnect v1
but  WalletConnect v2 can not dynamic addition of chains.
This gives users a different experience in usage.
At V1, we can add chains anytime to provide users with a good experience.
but now we can not do this. If the user connects DApp it should approve all chains.
This may not be optional, it is necessary. but at Wagmi we only can set one chain as required.
we can not set all we need as required.

Then the user's wallet can not support one of the configured chains.

The preferred error here would be to display the error after connection, instead of on connection, right? Seems like a very abrupt user experience to reject the connection if one of the chains aren’t supported. Many DEXs support 10s of chains, and if one of those chains aren’t supported in the Wallet (most wallets really), then the connection will be rejected.
Ideally, you’d want to display an error after the user has connected, but before they make the action, that the chain is not supported. ConnectKit does this quite well: https://docs.family.co/connectkit/try-it-out

WalletConnect v2 can not dynamic addition of chains.

The lack of support of Dynamic Chain Authorization by Wallets is unfortunately a drawback of WalletConnect v2. We have been working closely with them to get Wallets to support this.


Details of "createOptions": "{}"

Need to add 2 volume shares to Edge Module.
Create options need to have volumes added, but find no examples of how to do this.

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

ID: ad3731a8-f0df-f1a1-d1a1-e89a769a0908
Version Independent ID: 50a5190e-eafa-7dde-c18f-be9505b00a0a
Content: Azure IoT Edge module composition | Microsoft Docs
Content Source: articles/iot-edge/module-composition.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@GarthOlivier are you asking about what the value should be when you're creating the container, using the volumes property? Reference: https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate

#in-process

Correct that where I am looking but could not find examples to base on.
I am trying to do the following:
Automate following command
docker run -ti -v f:/:/thumbdata -v C:/:/iotdata bnsfiotreg.azurecr.io/xxxxxxxxxxxxxxxxxxxx:latest /bin/bash
This is the closest, I have to working but could not bind .... I have also tried mounts
{
"Volumes": {
"/iotdata": {} , "/thumbdata": {}
}
}
I am also trying to use create options in the set module UI.
Thanks
Garth

solved it thru a lot of trying many options.
The document linked has a lot of information but getting a solution is not easy.
Suggest samples for different problems to be listed.
answer how to share drive in docker that can be placed in create-options:
    "HostConfig": {
        "Binds": [
            "/host_mnt/f:/thumbdata",
            "/host_mnt/c:/iotdata"
                  },
    "Mounts": [
        {
            "Type": "bind",
            "Source": "/host_mnt/f",
            "Destination": "/thumbdata",
            "Mode": "",
            "RW": true,
            "Propagation": "rprivate"
        },
        {
            "Type": "bind",
            "Source": "/host_mnt/c",
            "Destination": "/iotdata",
            "Mode": "",
            "RW": true,
            "Propagation": "rprivate"
        }
    ]

Quite new to docker and IoT Edge, Im trying to share a volumen between host and container, to do so I need to create and attach a volume when I create the container. How would I set the createOptios in the deployment.template.json to acieve that? The structure of my module "section" in the file is the following:
"modules": {
"pythonmodule": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "${MODULES.pythonmodule.amd64}",
"createOptions": "{}"
}
}
}
Thank you for your help

@GarthOlivier Thanks for sharing your solutions. Got it with your example working.
This really needs better documentation.

It has been two years, and still no proper documentation on "createOptions" anywhere on the internet?  I really wish this would get more attention.

@Tam66662 Thank you for bringing this to our attention. Can you please open a new issue for this and I will link this issue with the new, and have the content team evaluate this. Thank you!

@Mike-Ubezzi-MSFT
Thanks, Mike.  I have opened a new issue: https://github.com/MicrosoftDocs/azure-docs/issues/49171


[BUG] Application does not respond on iOS when having 2 instances

Describe the bug
Hi @yoannmoinet , this is more for record since I already saw some people complaining on being stuck on iOS without any reason.
In my case I'm using Vue.js and I have 2 pages where I use a joystick (inside a web component):

the first page/component is cached (thanks to keep-alive tag)
the second one is not, so it's fully reloaded each time

When I first went to the first page, then the second one, I get indeed 2 instances of joysticks and as soon I start moving the one of the second page, any other element of my page (button, menu...) was not responding anymore.
My joysticks are in the static mode
Since caching could have been an issue (events not unsubscribed...), I tried to put 2 joysticks on the same page but I get the same issue when touching one of them.
After trying to fix that for hours, I found a workaround... I need to force unbinding the document when a joystick triggers the end event.
Like that:
        this.joystick.on('end', (event: any) => {
          if (platform === 'ios') {
            event.target.manager.unbindDocument(true);
          }
        });

That's only working by setting true to force unbinding.
https://github.com/yoannmoinet/nipplejs/blob/master/src/manager.js#L109-L118
While looking at the function, it would mean the function is not passing the condition about !Object.keys(self.ids).length... but I don't understand why. This is not iOS specific so I don't understand why this is happening.
I'm sorry not having more information about this strange behavior 😢
BTW, you did a great job 👍 that's an awesome library 👏
Smartphone (please complete the following information):

iOS 11.x

Additional context

Tried Nipple.js 0.8.0 and 0.8.2

Thank you very much for the very detailed report!
It's really helpful, I'll check it out when I have some time.
In the meantime, feel free to look it up too.

I encounter the problem in IOS, too.
The reason is Manager.prototype.unbindDocument is not passing the condition about !Object.keys(self.ids).length.
During Using joystick,

Manager.prototype.removeIdentifier Call count is Equal Manager.prototype. getIdentifier Call count
2.Manager.prototype.unbindDocument Call count is Equal Manager.prototype.bindDocument Call count
that's all right.
But when create joystick that time is before using joystick, Manager.prototype.getIdentifier has be called. So,
1.before first call Manager.prototype.bindDocument, the Object.keys(self.ids).length already has be greater than 1.
after using joystick, the Object.keys(self.ids).length will be greater than 1.
After using joystick call Manager.prototype.unbindDocument, the unbindEvt  will not call.

In my iOS device, when bind(doucment, 'move') and bind(doucment, 'end'), other control (example: button) does not respond in my application.

what's fix plan of the bug?


Edit service access control

Fixes #17
What was done?

add new allow and deny fields (for credentials) when editing or adding a new service
oceanprotocol/lib version update - https://github.com/oceanprotocol/ocean.js/pull/1855

ocean-node support was done here https://github.com/OceanProtocolEnterprise/ocean-node/pull/12 and here https://github.com/oceanprotocol/ocean-node/pull/698

@AdriGeorge its a good idea to use enums as you pointed out in your comments. But I think it is out of scope of this PR. If I start changing it, it would effect many other files.


After Homey 2.4 update philips app crashes

Hello, after the new homey update I don’t have response from the indoor hue sensors. And a lot of flows works with this sensors.😭
Is there any way to remedy that ?

Is the app really crashing or is it "just" the sensors which stop send values? If it is the latter, it is probably related to #61 which won't be fixed until Homey zigbee core update.

It’s look like the sensors which stop send values.
But if I want to reconnect the sensor It look like the app are freeze.

There is no logic in the app for the sensors, everything relies on Athom implementation. Please report to<EMAIL_ADDRESS>


Added Unite sources

Three sources were added:

rtags/references
rtags/symbol
rtags/project

Thank you for this nice functionality.