Run HTML to Markdown conversion

https://github.com/semanticClimate/city-climate-plans-notebook

@Mahvish will run the HTML zo Markdown Python script - once she has joined the semanticClimate GitHub organisation. The repository with the script is linked above and the script can be found in the python directory. I will pass along instructions for use from  Simon Bowie.

Quote from Simon Bowie:
I wrote a relatively basic Python script (https://github.com/SimonXIX/quarto_semanticclimate/blob/main/python/quarto_markdown.py) which takes HTML as input, processes the HTML, converts it to Markdown, and then processes the Markdown before outputting to a .qmd file.
The HTML generated from the IPCC report was fairly messy so various bits of processing were required on the HTML to convert the styles in the header to HTML styles that the Markdown converter could understand. The processing on the Markdown is to tidy it up and make the converted text look better in Markdown format.

The input I used was https://github.com/petermr/semanticClimate/blob/main/ipcc/ar6/syr/lr/html/fulltext/groups_groups.html and the output can be seen through Quarto rendering at https://simonxix.github.io/quarto_semanticclimate/groups_groups.html
End quote

Hi @06maHi do you want to have a go at running the Python script Simon Bowie has added here, you can fork this repo if you like. Please feel free to ask any questions or reach out for help if you need it. You dont need to run Quarto as well - but you can if you like - info here https://nfdi4culture.github.io/FSCI-Class-Publishing-from-Collections/#_5_0

hello @mrchristian I have installed markdownify package to convert html into markdown. Let me know if this is the correct one. Also I will need some help using it.

The first step would just be to see if script runs in a fork of your own.
To run the HTML to Markdown you only need to run the script in the directory /python - you dont need to run Quarto - although you can if you like
the requirements need installing - https://github.com/semanticClimate/city-climate-plans-notebook/blob/main/python/requirements.txt
script - https://github.com/semanticClimate/city-climate-plans-notebook/tree/main/python

I think in script we'd have to change local paths, also check if HTML from PMR gets copies across first.
https://github.com/semanticClimate/city-climate-plans-notebook/blob/0f03a1171e0805ad915aa446a40835aaa2f5a3eb/python/quarto_markdown.py#L7

A few questions: Did you edit the local paths to get the script to work? Are you running it on a Clone or Fork repository? If your up for it I would suggest trying to install the Quarto framework - instructions are in the README.md https://github.com/semanticClimate/city-climate-plans-notebook/blob/main/README.md and you can read more here about install and use https://nfdi4culture.github.io/FSCI-Class-Publishing-from-Collections/

Yaa I have edited the local path and also used fork repo. I will go for quarto installation once I am back to work.


Modification stack to nodes

Fixes: https://github.com/godotengine/godot-proposals/issues/4863
Work in progress.
Using https://github.com/fire/godot-skeleton-modifier as the test project.

[x] Change to set pose.
[x] Use radians internally and degrees in the editor
[ ] QA all the modifications by restoring the demo.
[ ] Add a quality of life bindings of the bone suggestions.

List of issue possible closed by completing this implementation (SkeletonModificationStack issues related to 4.0):

#41322
#54234
#54891
#59554
#60180
#61259
#62003
#62876
#63694
#65167
#65265
#67669
#69752

CC @TwistedTwigleg

@lyuma is working on the pr, so the current code isn't accurate. The proposal is still broadly accurate.

I don’t have the time to review the PR, but I agree with the general change (not that my agreement is needed - it’s all Godot code now 🙂 ). Moving it to nodes is MUCH closer to my original GSoC proposal and based on the work I did for my IK plugin for Godot 3.0, it is much more stable and easier to maintain as well. It should also make the workflow less confusing and reduce the number of clicks to get something working on screen.
Now just need to make those Bone3D nodes and have the modification nodes use the Bone3D nodes to fully fit the original proposal 😉
In all seriousness though - I think the general change is good. It make the modification stack completely unnecessary and I think that is where a lot of the pain came from. It also will untie it from the Skeleton3D node code, which will make it standalone.
Huge thanks to everyone who has continued to work on the IK stuff! I haven’t had any time and energy at all to work on much in spare time as of late and so I’m glad and thankful that others have continued to work on it and improve it.

The git branches for this work is at https://github.com/lyuma/godot/tree/modification-stack-to-nodes-wip-full and https://github.com/lyuma/godot/tree/modification-stack-to-nodes-wip

@TwistedTwigleg I've updated this PR with a mostly feature-complete PR. This is now a two-commit PR. The reason is I don't know how to preserve the rename metadata if I make it all in one commit since so much code was rewritten, so it makes review easier to do it this way.
I haven't tested anything at all. There is likely a lot that could have broken, but the existing implementation already has many features broken during alpha.
As a future PR, there are still some methods that I would like to clean up in BoneAttachment3D related to update order and the pose_updated notification. I also find the external_skeleton feature to be confusing.
Regarding what is in this update... I added documentation for all the new and renamed methods/members.
@TokageItLab I addressed the biggest feedback items.
I removed the following functions:

    void clear_bones_local_pose_override();
    Transform3D get_bone_local_pose_override(int p_bone) const;
    void set_bone_local_pose_override(int p_bone, const Transform3D &p_pose, real_t p_amount, bool p_persistent = false);

    void update_bone_rest_forward_vector(int p_bone, bool p_force_update = false);
    void update_bone_rest_forward_axis(int p_bone, bool p_force_update = false);
    Vector3 get_bone_axis_forward_vector(int p_bone);
    int get_bone_axis_forward_enum(int p_bone);

    Basis global_pose_z_forward_to_bone_forward(int p_bone_idx, Basis p_basis);

    // Modifications
#ifndef _3D_DISABLED
    Ref<SkeletonModificationStack3D> get_modification_stack();
    void set_modification_stack(Ref<SkeletonModificationStack3D> p_stack);
    void execute_modifications(real_t p_delta, int p_execution_mode);
#endif // _3D_DISABLED

get_bone_rest_forward_vector and global_pose_z_forward_to_bone_forward were migrated to SkeletonModification3D as helper functions.
I have made all calculations strictly based on get_bone_pose and set_bone_pose. Modification nodes do not depend on skeleton update or dirty and ignore global pose override.
I have removed bone_property_suffixes and used a const_cast to permit calling into GDScript from _validate_property. I would rather _validate_property be exposed the same way as get_property_list and others, but this should be good enough for now.

I have decided to mark this as draft so that we can focus on other more pressing priorities for 4.0 beta, and fix some of the design issues with this that came up during testing.
For now, I will submit a new PR that marks all of the existing SkeletonModification resources and SkeletonModificationStack as Deprecated (planned to move to modification nodes) and unexposes some skeleton APIs only being used by the modifications such as "global_pose_z_forward_to_bone_forward" so it will be easier to remove

We're also marking SkeletonIK to Deprecated too?

please add this issue too https://github.com/godotengine/godot/issues/54891

I guess this will close #65265 unless it's an inspector-specific bug.

I guess this will close #65265 unless it's an inspector-specific bug.

I have repurposed this PR into #71137 and removed SkeletonModificationStack3D, so we will not port to nodes in time for 4.0.
2D modification stack works and will not be removed for now.
3D modification stack will hopefully return in a future 4.x in a different form. Stay tuned.


Fix for PHP 5.4 in ExportDocument

Sadly we have a client with old PHP Version 5.4. While fixing issues related to this, I also fixed this issue within the DHL-SDK. This just mitigates the PHP error "Cannot create references to elements of a temporary array expression".

That looks good! I will merge it!
This was the only occurence with this in the SDK? If there are more it would be super awesome if you also add them as well =)
Please tell if there are more, then I can merge it

No it was the only one :) :1st_place_medal:


Github link fixes

Closes #1435
Closes #1433

LGTM, here is a test deployment https://doc-bottom-link.firebaseapp.com


Issue Management Board Nominations

This board will be responsible for managing the different issues related to the project.  This means ensuring that bug-fix and feature requests have the necessary information required to be completed.
If you are interested in becoming a member of  the board please leave a comment on why you would like to be involved.   The deadline for all nominations will be 11/30/2019.
The board will have a few basic rules to start

One Episerver employee must be a member of the board
Maximum of 5 members to start
Board members will self govern on all matters related to the board
Episerver reserves the right to veto any decision that negatively affects Episerver

I am interested in being a issue management board member, I have been an episerver dev for a while now across the full product suite working on multiple sites.

I am interested in being an issue management board member.  I am currently serving as the product manager for my company's B2B Epi accelerator. I work with our internal steering committee to determine the overall roadmap, working with our developers to identify and resolve bugs. I research and review the market and our own internal projects to determine the best designs for requested features to support our clients' needs.
Serving on this board will help me get familiar with Foundation and identify how my company can best use the product. In turn, I can provide insight from my company's experiences to help the board address challenges the Foundation team faces going forward.  Thank you.

Sign me up if there's room

+1 here

Please send me your preferred contact email information so we can move this offline.
mark.hall @ episerver


Submit and Reset button positioning

It would also be nice to have the submit and reset next to each other rather than one below the other.

thoughts @codebeaker ? I dunno

@sitapriyamoorthi can you tell me a little bit more about what issue you're encountering? Like what problem would it solve for you to have them next to each other?

So submit and reset being one below the other felt a bit iffy.
Its positioning lends itself to a user very easily hitting reset instead of submit. Which could be annoying. Especisally because they are navigating two columns to upload their data


feat(CDNRoutes): add serverSubsAsset()

Please describe the changes this PR makes and why it should be merged:
If applicable, please reference Discord API Docs PRs or commits that influenced this PR:

discord/discord-api-docs#5856

Hey there, please see my comment & amendments on the PR on the Discord API docs, this endpoint is actually generic for store page assets. This endpoint has been repurposed for various features over time but it's more accurate to label it as such.


Use telegraf as machine connectivity solution

The repository https://github.com/influxdata/telegraf provides a solution to connect many protocols. It should be tried out if IF could use this to connect machines with opc/ua, MQTT and s7

So does this mean telegraf is a better solution than the currently used https://plc4x.apache.org, or is it just a reminder to check telegraf at all ?

Have taken a look into telegraf now. Written completely in go. Project started in 2015. Has very extensive library of adapters to anything which can deliver real time data. Seems to be bound to the influxdb. Is influxdb opensource or proprietary ? @wagmarcel do you know this project ?

@wagmarcel is influxdb an alternative to what we are using ?

Seems to be bound to the influxdb.

It actually isn't. It's from the same company but can be used independently. It can take data from any source (e.g. OPCUA server) and publish to any sink (Kafka broker)
Marcel can give further details, but we have used it internally to consume OPC-UA messages and sink those to influxdb, QuestDB, Kafka and MQTT.

I have now worked me through the code. @sysarcher is right its not bound to influxdb.

@wagmarcel is influxdb an alternative to what we are using ?

You mean as replacement for Cassandra/Kairosdb? Maybe. Try to scale it on Kubernetes, show me its high availability and then let's talk further.(Last time I looked at it it was pretty strong for single node deployment with docker compose but not so much for distributed setups)
Telegraph itself makes a lot of sense. but it must be integrated with the current pipeline. Nice that it can connect with Kafka directly or MQTT, but it must fit into the security architecture. So most likely it fits as replacement of data-services.

I think telegraf can be a good possibility to not implement our own gateways which means more work and more code to support. And it is a good way to support more outgoing protocols, databases, message brokers, etc. per configuration. You can use internal plugins over golang or external plugins over any program language.


Remove old stats format from frontend

We currently support stats reports in two formats, this PR would remove the old format and only support new format.

Codecov Report

Merging #2036 (9bec735) into master (7ebda6c) will decrease coverage by 54.25%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #2036       +/-   ##
=============================================
- Coverage     69.42%   15.16%   -54.26%
+ Complexity     9484     2290     -7194
=============================================
  Files           716      716
  Lines         54713    54702       -11
  Branches       6784     6781        -3
=============================================
- Hits          37982     8294    -29688
- Misses        14621    45927    +31306
+ Partials       2110      481     -1629

Impacted Files
Coverage Δ

...src/main/java/com/github/ambry/rest/RestUtils.java
0.00% <ø> (-92.53%)
:arrow_down:

...m/github/ambry/frontend/GetStatsReportHandler.java
0.00% <0.00%> (-86.21%)
:arrow_down:

.../src/main/java/com/github/ambry/router/Router.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/com/github/ambry/store/Message.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/named/PutResult.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaMode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaName.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/rest/RestMethod.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/KMSConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/SSLConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 546 more

Continue to review full report at Codecov.

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


Crashing with JsonRpcInternalError since version 2024.0.0

Here is the gist: https://gist.github.com/lukaspiatkowski/e0b87b33fb5d089166095fb24ed2b1ba
In the gist you can first see a working log of version 2023.6.0, then broken versions of 2024.0.1, 2024.0.0 and 2024.1.10451008.
My VSCode about:
Version: 1.86.2
Commit: 903b1e9d8990623e3d7da1df3d33db3e42d80eda
Date: 2024-02-13T19:42:12.210Z (1 wk ago)
Electron: 27.2.3
ElectronBuildId: 26908389
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 23.0.0

The error from gist (just to highlight it here and assist searching for it for others):
2024-02-24 06:57:44.211 [info] Server: Start requested.
2024-02-24 06:57:47.226 [info] Unable to deserialize message
Traceback (most recent call last):
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/pygls/protocol/json_rpc.py", line 330, in _deserialize_message
    return self._converter.structure(data, request_type)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/converters.py", line 332, in structure
    return self._structure_func.dispatch(cl)(obj, cl)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/dispatch.py", line 112, in _dispatch
    res = self._function_dispatch.dispatch(typ)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/dispatch.py", line 62, in dispatch
    return handler(typ)
           ^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/lsprotocol/_hooks.py", line 1233, in _with_custom_structure
    return cattrs.gen.make_dict_structure_fn(cls, converter, **attributes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/gen/__init__.py", line 355, in make_dict_structure_fn
    ian = a.alias
          ^^^^^^^
AttributeError: 'Attribute' object has no attribute 'alias'

Error receiving data
Traceback (most recent call last):
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/pygls/protocol/json_rpc.py", line 330, in _deserialize_message
    return self._converter.structure(data, request_type)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/converters.py", line 332, in structure
    return self._structure_func.dispatch(cl)(obj, cl)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/dispatch.py", line 112, in _dispatch
    res = self._function_dispatch.dispatch(typ)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/dispatch.py", line 62, in dispatch
    return handler(typ)
           ^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/lsprotocol/_hooks.py", line 1233, in _with_custom_structure
    return cattrs.gen.make_dict_structure_fn(cls, converter, **attributes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/cattrs/gen/__init__.py", line 355, in make_dict_structure_fn
    ian = a.alias
          ^^^^^^^
AttributeError: 'Attribute' object has no attribute 'alias'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/pygls/protocol/json_rpc.py", line 443, in data_received
    self._data_received(data)
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/pygls/protocol/json_rpc.py", line 475, in _data_received
    json.loads(
  File "/Users/lukas/.pyenv/versions/3.11.5/lib/python3.11/json/__init__.py", line 359, in loads
    return cls(**kw).decode(s)
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.pyenv/versions/3.11.5/lib/python3.11/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.pyenv/versions/3.11.5/lib/python3.11/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/pygls/protocol/json_rpc.py", line 348, in _deserialize_message
    raise JsonRpcInternalError() from exc
pygls.exceptions.JsonRpcInternalError: Internal Error

@lukaspiatkowski Can you share your settings and also run python -m pip list on your environment? It looks like you might have an older version of attrs in your environment. This error can occur if you have attrs version 22.1.0 or older in your environment.

Indeed our project currently uses attrs in version 21.4.0, but that error looks like the bundled code responsible for RPC calls is failing. Is that expected that it uses project's libraries? As you see that is error prone. Here is our .vscode/setting for the folder where black fails:
{
  "python.defaultInterpreterPath": ".money-srv-venv/bin/python",
  "python.formatting.provider": "none", // We configure this in [python] section
  "python.envFile": "${workspaceFolder}/.vscode/env", // This is needed for pytest to work properly through VSCode
  "python.testing.pytestArgs": ["-s", "--disable-warnings", "-vvv"],
  "python.testing.unittestEnabled": false,
  "python.testing.pytestEnabled": true,
  "python.linting.enabled": true,
  // money-srv is big and increasing this will make startup slower, but any
  // other operation is much smoother. In case you experience any performance
  // issues with this setting, please let us know at #vscode-users
  "python.analysis.userFileIndexingLimit": 8000,
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll": "explicit",
      "source.organizeImports": "explicit"
    }
  },
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[yaml]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "black-formatter.interpreter": ["../.root-venv/bin/python"],
  "black-formatter.importStrategy": "fromEnvironment",
  "mypy.targets": [],
  "mypy.runUsingActiveInterpreter": true,
  "cSpell.words": ["psycopg", "sqlalchemy", "tcid", "wavelib"],
  "search.exclude": {
    "**/.*-venv": true,
    "**/__pycache__": true,
    "**/.mypy_cache": true,
    "**/venv": true,
    "**/alembic_data/versions/*.py": true
  }
}

That error comes from cattrs which is trying to read alias field of Attribute. The Attribute class comes from attrs and it was introduced in the version greater than 22.1.0.
When you use fromEnvironment it will use everything from user's environment. For you case, you want black from your environment, but server should continue to use bundled. For that I recommend doing it like this:
  "black-formatter.interpreter": ["../.root-venv/bin/python"],
  "black-formatter.path": ["${interpreter}", "-m", "black"]
  "black-formatter.importStrategy": "useBundled",

you can also try below. This one expects that the virtual env was created using venv. For this to work the path in sysconfig.get_path("scripts") should be correctly set.
  "black-formatter.interpreter": ["../.root-venv/bin/python"],
  "black-formatter.path": ["black"]
  "black-formatter.importStrategy": "useBundled",

@karthiknadig I've added the suggested
  "black-formatter.interpreter": ["../.root-venv/bin/python"],
  "black-formatter.path": ["${interpreter}", "-m", "black"],
  "black-formatter.importStrategy": "useBundled",

restarted the server and I got the same error: https://gist.github.com/lukaspiatkowski/81bc696c901128dd59a4e6abdb68f7ef
I've unintentionally mislead you - we have a multiroot workspace and only one of them uses attrs == 21.4.0, the one that I was testing, and whom settings I have shared, uses version 23.1.0. Also if you look at the stack traces they all point to .vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs, so it seems that even with importStrategy: fromEnvironment it still uses the bundled code to start the server (which makes sense, not all projects have to have libraries required to run an LSP server, right?). The content of the bundled/libs for me is this:
$> ls /Users/lukas/.vscode/extensions/ms-python.black-formatter-2024.1.10451008/bundled/libs/
_black_version.py                 cattrs                            lsprotocol-2023.0.1.dist-info     pygls
attr                              cattrs-23.2.3.dist-info           mypy_extensions-1.0.0.dist-info   pygls-1.3.0.dist-info
attrs                             click                             mypy_extensions.py                tomli
attrs-23.2.0.dist-info            click-8.1.7.dist-info             packaging                         tomli-2.0.1.dist-info
black                             colorama                          packaging-23.2.dist-info          typing_extensions-4.9.0.dist-info
black-24.2.0.dist-info            colorama-0.4.6.dist-info          pathspec                          typing_extensions.py
blackd                            exceptiongroup                    pathspec-0.12.1.dist-info
blib2to3                          exceptiongroup-1.2.0.dist-info    platformdirs
cattr                             lsprotocol                        platformdirs-4.2.0.dist-info

Can you share the full logs? The initial part of the logs should contain details on what is being passed to the server and I would like to see that.
The stack points to carttrs in the bundled because there is no catters in your environment so it is falling back to it. The problem is that old version of attrs is getting loaded and it does not have the alias field attrs.

so it seems that even with importStrategy: fromEnvironment it it still uses the bundled code to start the server

fromEnvironment means everything gets used from the environment, if the environment does not have the package then it will be picked up from bundled. You environment does not have cattrs so it is getting picked up from bundled.

Those are the full logs, I believe the code crashes before printing the useful things.
Nevermind though, I've managed to fix my problem. The settings you have suggested had to be added to another .vscode/settings file that I have in my multiroot environment (maybe it mattered, because it was usually that one that was loaded first? I don't really understand how your LSP server runs in a multiroot environment, does it span a completely separate instance for each root or is it only one server trying to use different black versions per root?). And after all this I just ended up upgrading attrs in the venv that also contained black and it seems to have fixed the problem.

We start a separate instance for each root, in the multi-root workspace case. But, there is a single orchestrator that communicates with VS Code. VS Code starts the orchestrator, and then there are subprocess that are spawned for each root. This is to handle scenarios where people can have different python/environments for each of the roots in the multi-root workspace.

It seems then that this orchestrator could always use the bundled attrs to avoid this problem that I've encountered.

We are working on changing this already, so that it does not run into these issues.


Add "rb_define_class_under"(C-API) specs for errors

Merged, thanks that's some good finding!

Thanks to merge!


chore: change yap version for support include tempalte

https://github.com/goplus/yap/pull/49 no merge, so use: replace github.com/goplus/yap v0.7.2 => github.com/LiusCraft/yap v0.8.2

@Kasey0727 Please review :)

@IRONICBo @Kasey0727 TBR


[WIP] Suggestions for and discussion of analysis module

This is a running list of suggestions for the analysis module, to facilitate discussion.
Feel free to merge or cherry-pick useful commits. I will rebase on the latest HEAD of the branch at intervals.

I've reordered the commits, so if you fetch my repo, you can simply git merge 93c16bd into your branch to grab all but the optional block name bit. (My thought for fixes like these is to just have one PR, rather than spreading over a bunch, which will keep the conversation contained. It means manually merging and cherry-picking, so if that's too much of a pain, I can just keep opening new PRs.)
As to the name bit, this is mostly just to get things working with my model, which doesn't have block-level names (and which aren't in the spec yet). I'm okay with keeping it as a hack that never gets merged until a better solution is found.

I think you're probably right that name should be optional; it probably won't be an issue in 95% of analysis specifications. But I think we should definitely change the accessors. My main concern is that there not be any ambiguity, which means (1) preventing name-based access entirely, (2) introducing separate unambiguous accessors, or (3) raising an exception if more than one Block matches the passed string. The approach that makes the most sense to me is to keep the existing getattr implementation, but not assign level to name. We can add a .get_blocks_for_level() method (maybe with a simpler name) that returns a list of all blocks that match the level--that way there's no ambiguity.

Actually, maybe it can be get_blocks(index=None,  level=None, name=None). No ambiguity that way because passing a string without a keyword will cause failure, and any other request should be well-formed.

@tyarkoni Whatever API for calling individual blocks you like is fine. I'm pretty sure I'll only ever care about index and level, so name doesn't matter to me. I set it to just be optional, defaulting to None.
As far as transformations go, is there anything I can do to help move that forward?

Also, to get back to our earlier discussion of design matrices, it would be good to be able to easily access the sparse representations of variables (particularly HRF variables). The current proposal, as I recall, is to always provide a dense design matrix with one row per TR (so sampling frequency = 1/TR for a constant TR design), but we can't reliably convolve such columns, because the modeled event onsets may not align with the TR.
The API I have in mind goes as follows:
from bids.analysis import base as ba
from nistats import design_matrix as dm

bids_dir = '/data/bids/ds000114'
preproc_dir = '/data/out/ds000114/derivatives/fmriprep'
model_fname = '/data/bids/ds000114/model.json'

analysis = ba.Analysis([bids_dir, preproc_dir], model_fname)
analysis.setup()

hrf_vars = analysis.blocks[0].HRF_variables  # Or however you'd get these

mat = analysis.blocks[0].design_matrix
hrf_paradigm = analysis.blocks[0].get_sparse(hrf_vars)
mat[hrf_vars] = dm.make_design_matrix(hrf_paradigm)  # Plus whatever's needed to make the shape work

So the default would still be to get back a boxcar function, but easy access to the sparse representation will let you do convolution at a finer grain. Does that seem reasonable?

Good point re: the HRF onsets. I think probably the best way to handle this is to have an argument in get_design_matrix that specifies what the user wants to get back. We can add a variety of options, including sparse and dense formats (with arbitrary sampling rate for dense).


Investigate preview strategy Proposal and automation

Implement Preview VS stable proposal
Investigate automation of SDK generation and corresponding branching on Downstream SDK repos.
Investigate drop locations for generated bits and naming conventions for the drops.
Talk to @johanste and Derek from Mayuri team about auto generation of CLI container
Figure out config file story for Preview VS stable code generation

@salameer - can we close this?

Yuuuup

To add context, this is being as an internal item at the moment. @weshaggard  is driving a number of conversations with folks on it


Add outer window scroll option

Add an option that allows the browser window scrolls by mousewheel event when the terminal window is scrolled to the end of top or bottom

+1
Has conflicts.


Allow a caller to provide pre-calculated base attribution to XRAI.

If a client has pre-calculated IG attribution, the client should be able to pass it to XRAI without XRAI calculating the attribution the second time. This change allows the caller to pass pre-calculated attribution to XRAI.

@dsmilkov, @nsthorat , @tolga-b, please review. Thank you!


Support for PHP 8 (/Laravel 9)

Describe the feature you would like to see
Currently when running "composer require laravel-notification-channels/fcm", it errors with "- kreait/firebase-php[4.30.0, ..., 4.x-dev] require php ^7.0 -> your php version (8.0.28) does not satisfy that requirement"... Is it missing support for php 8?

I don't maintain laravel-notification-channels/fcm, I think you should raise the issue there: https://github.com/laravel-notification-channels/fcm
Since the output you referenced mentions version 4.x of the SDK: yes, that version only supports PHP 7, but the current version of the SDK is 7.x, so 4.x is very outdated.
Make sure to require the latest versions of the notification channel package, you can check with composer outdated which dependencies are upgradable.


Uploading Image from Photo Gallery

There is a problem while uploading Image from Gallery.
let URL = NSBundle.mainBundle().pathForResource("TestUplaod", ofType: "png", inDirectory: "\(getImagePath)")

Always returning nil
I saved an image in Directory "getImagePath"
I tried to give direct path of image but error still exists..
also tried "URLForResource" but no use.
Kindlly resolve my issue please.
P.S i am trying on Simulator

Hello!, i found this solution
http://stackoverflow.com/questions/34335867/upload-file-to-ftp-server-with-swift
use this code to solve your problem
`let file = "myFile.txt"
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
//path will be stored here
let sPath = dir.stringByAppendingPathComponent(file);
print(sPath) //  printing the file path
let url: NSURL = NSURL(string: sPath)!

let destinationFile = "myFile.txt"
FTPSession.upload(url, path: destinationFile) { // <-- Dies here
    (result, error) -> Void in
    print("- Result:\n\(result), error: \(error)\n\n")
}

}`
All credits to O-mkar

I will close the issue since it's old and seems to be resolved.


Verify integrity of downloaded amplify-cli binaries

Is this feature request related to a new or existing Amplify category?
No
Is this related to another service?
No
Describe the feature you'd like to request
Hey,
My name is Maciej Mensfeld and I do supply chain security research at WhiteSource.
I've noticed, that this library downloads external binaries and uses them. While it's a totally common pattern, what is lacking here is integrity verification.
This is described as CWE-494.
You could verify the integrity of the downloaded file before using it by comparing the file hash to a hardcoded, expected file hash.
This is essentially what package managers do to verify the integrity of downloaded packages.
Doing this would prevent attack scenarios in which the binaries downloaded here are manipulated.
If the verification happens elsewhere sorry in advance and I would love it if you could point me to the location, so I can tune up my scanning engine.
Have a great day :)
Describe the solution you'd like
I would like to see, that the downloaded binaries are checksummed and that their integrity is verified.
Describe alternatives you've considered
The only alternative I know of, is not doing anything but that poses a security risk.
Additional context
N/A
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request

Would this feature include a breaking change?

[ ] ⚠ This feature might incur a breaking change

+1
Thanks, @mensfeld, for pointing this out!


bump version to 0.5.8

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


[Spike] Investigate replacing raw SQL with SQLAlchemy

Is your feature request related to a problem? Please describe.
I would like to improve how the CLI makes use of persistence; currently using raw SQL for queries and tables is becoming difficult to manage. SQLAlchemy would be the ideal alternative as it can handle table creation, modification, and help simplify queries.
Describe the solution you'd like
I would like to replace the `data source module with SQLAlchemy:
Additional context
An example application using SQLAlchemy within a CLI: https://github.com/Lok3rs/Todo-CLI
Some additional thought will need to be made regarding how upgrades/downgrades will be applied and handled within the application. This may be as simple as resetting the database on every upgrade.

closing out this ticket; it may be revisited in the future if there is any demand for it


SettingsSlider supports generic Number states

Allows to use e.g. Int state inside of SettingsSlider.

Thanks


GZip fix breaks binary compatibility

The fix introduced by #202 and #204 changes the return type of IonSystem.iterate(Reader ionText), which breaks binary compatibility. Customers expect non-major semvers to be drop-in binary compatible, and this change violates that expectation. It should only be released as part of a major-version bump (ie, ion-java 2.0)
A thorough exposition of what Java compatibility entails is at http://wiki.eclipse.org/Evolving_Java-based_APIs_2#Achieving_API_Binary_Compatibility

I couldn't find anything on the link regarding narrowing the return type of a public method.
Created a small test to investigate if this change would break binary compatibility or not. It's a simple junit test that uses one of the altered methods, I'm swapping the ion-java jar manually through gradle, see build.gralde
I'm not 100% sure if the methodology for testing the binary compatibility is sufficient. If it is I can add all changed methods and if it's not I'd love a suggestion on how we should test this.
FYI We won't be including this change in any release until we can figure this out. If necessary we can revert it to unblock  release.

The relevant statements are under Evolving API interfaces - API methods which says

Change result type (including void) | - | Breaks compatibility

It's also discussed in the Java Language Specification at https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html

9.4. Abstract Method Declarations
Every method declaration in the body of an interface is implicitly abstract, so its body is always represented by a semicolon, not a block.

13.5. Evolution of Interfaces
This section describes the impact of changes to the declaration of an interface and its members on pre-existing binaries.

13.5.6. abstract Methods
The considerations for changing abstract method declarations in interfaces are the same as those for abstract methods in classes, as described in §13.4.14, §13.4.15, §13.4.21, and §13.4.23.

13.4.15. Method Result Type
Changing the result type of a method, or replacing a result type with void, or replacing void with a result type, has the combined effect of deleting the old method and adding a new method with the new result type or newly void result (see §13.4.12).

13.4.12. Method and Constructor Declarations
Deleting a method or constructor from a class may break compatibility with any pre-existing binary that referenced this method or constructor; a NoSuchMethodError may be thrown when such a reference from a pre-existing binary is linked. Such an error will occur only if no method with a matching signature and return type is declared in a superclass.

I'm having a hard time seeing exactly how you tested, so I wrote a tiny example that does the same kind of interface change, and fails in the way described by the JLS:
[java-bincompat]$ ls
Implementation.java  Main.java
Interface.java       SubIterator.java

[java-bincompat]$ cat Interface.java
import java.util.Iterator;

public interface Interface
{
    public Iterator iterate();
}

[java-bincompat]$ cat Implementation.java
import java.util.Iterator;

public class Implementation
    implements Interface
{
    public Iterator iterate() { return null; }
}

[java-bincompat]$ cat Main.java
import java.util.Iterator;

public class Main
{
    public static void main(String[] args)
    {
        Interface ifc = new Implementation();
        Iterator iter = ifc.iterate();
        System.out.println("success");
    }
}

[java-bincompat]$ javac Main.java

[java-bincompat]$ java Main
success

At this point I edited the Interface and Implementation to return a trivial subclass of Iterator.
[java-bincompat]$ cat Interface.java
import java.util.Iterator;

public interface Interface
{
    public SubIterator iterate();
}

[java-bincompat]$ cat Implementation.java
import java.util.Iterator;

public class Implementation
    implements Interface
{
    public SubIterator iterate() { return null; }
}

[java-bincompat]$ cat SubIterator.java
import java.util.Iterator;

public interface SubIterator
    extends Iterator
{
}

Now I recompile the implementation, which will also compile the other classes it uses, which does not include Main.
[java-bincompat]$ javac Implementation.java

[java-bincompat]$ java Main
Exception in thread "main" java.lang.NoSuchMethodError: Interface.iterate()Ljava/util/Iterator;
	at Main.main(Main.java:8)

The non-recompiled Main class cannot link to the modified Interface, which doesn't have a method with the return type that was expected at the time Main was compiled.

To avoid a major version bump, the team discussed taking the following steps:

Maintain binary compatibility by leaving the iterate method signatures the same (e.g. public Iterator<IonValue> iterate(byte[] ionData)), but actually returning a CloseableIterator<IonValue>.

Add documentation to the affected methods warning users about the memory leak and stating that it can be avoided by casting the resulting Iterator<IonValue> to CloseableIterator<IonValue> and calling close().

Add new versions of the iterate methods that do not perform GZIP autodetection. Point users to IonStreamUtils.unGzip, which performs GZIP detection and returns an InputStream appropriate for both GZIP and uncompressed data.

Deprecate the old auto-detecting methods and point users to the new alternatives.

@toddjonker do you have any concerns with this approach?

Correct me if I'm wrong, but I think there's only four APIs at play, all in IonSystem:

iterate(Reader ionText)
iterate(String ionText)

These variants are not subject to compression and can be ignored. It's not clear that there's any value even in returning a CloseableIterator.

iterate(byte[] ionData)

This variant could have the leak plugged by decompressing the data before iterating it. The main cost is the memory consumption during the iteration. That could be a bad situation for large documents, especially since an unwary application can easily retain the compressed copy of the document for longer than it should.

iterate(InputStream ionData)

This variant is only one that can't be fixed in situ without changing the contract.
Here's an alternate proposal:

Add IonSystem.iterate(IonReader). This doesn't need to return CloseableIterator because the caller already has to close the IonReader.
Leave all four extant iterate methods with their current signature and behavior, but
Deprecate the latter two unsafe variants, directing users to migrate to the new one.

This maintains binary compatibility, avoids bespoke and awkward Iterator extensions, doesn't complicate API names, and ends up with a safe triple of methods.
Current code that look like:
Iterator<IonValue> i = ionSystem.iterate(source);
while (i.hasNext()) {
  // ...
}

...turns into...
try (IonReader r = ionSystem.newReader(source)) {
  Iterator<IonValue> i = ionSystem.iterate(r);
  while (i.hasNext()) {
    // ...
  }
}

I find that to be straightforward and unobjectionable; it's easier and more natural than it would be using CloseableIterater.  Importantly, it retains both auto-decompression and memory-safety.

@toddjonker After discussing with the team we decided to go with your suggestion. Here is a summary of the changes:

IonSystem#singleValye(byte[]). Fix memleak
IonSystem#iterate(IonReader). New method
IonSystem#iterate(InputStream). Mark as deprecated, no code change
IonSystem#iterate(byte[]). Mark as deprecated, no code change
IonSystem#systemIterate(IonReader). New method
IonSystem#systemIterate(InputStream). Mark as deprecated, no code change
IonSystem#systemIterate(byte[]). Mark as deprecated, no code change
IonLoader#load(byte[]). Fix memleak
IonLoader#load(IonReader). New method
IonLoader#load(InputStream). Mark as deprecated, no code change

All deprecated methods will have the IonReader alternative as the recommended method to use.

Actually I will remove the methods from PrivateIonSystem that I was going to mark as deprecated. They are part of a Private class and couldn't find customers using it.


KODIVideoChecker Fix

1. Tell us something about your changes.
Es sollten jetzt alle zustände (Video, Audio, Picture, Pause, Menu, Screensaver) von Kodi erfasst werden. Auch wenn sich Kodi im Anmeldemodus befindet (Passwort). Der Pause zustand wird nun auch richtig erkannt, nach dem der screensaver aktiviert oder daktiviert wird.
Feedback ist erwünscht.
2. If this changes affect the .conf file. Please provide the changed section
no
3. Reference a issue (optional)
Note: For further discussions use our forum: forum.hyperion-project.org

Sounds nice! Thank you. Will test and report immediately

It is so amazing, works like a charm.
Even with "stacked" conditions like
grabPause : false
gabScreensaver : true
If you start a movie, click on stop and wait until screensaver starts AND than you stop the screensaver again it switches back to Pause mode as it should!
Also the Method not found is now regarded as Menu. "Method not found" will be always thrown if Kodi is not yet ready to answer or if you use the kodi login screen. So this results in faster overall switching to menu mode after startup for readytouse distributions.
thank you geat work!
Kodichecker is fully working now as it should and grabScreensaver works  like it should (As it never works as it should - at least not 2016)


doctest-in-workspace flag is no longer required

when running the following command-
cargo llvm-cov --doctests

i see this warning-
flag `-Z doctest-in-workspace` has been stabilized in the 1.72 release, and is no longer necessary
  The doctest-in-workspace feature is now always enabled.

if i take that at face value, does that mean the flag can be removed?
is the 'doctests' making use of any other unstable features or can that now be stabilised too?

This new release 0.5.21 is not working with stable rust anymore.
$ cargo llvm-cov --all --all-features --lcov --output-path lcov.info
error: the `-Z` flag is only accepted on the nightly channel of Cargo, but this is the `stable` channel
See https://doc.rust-lang.org/book/appendix-07-nightly-rust.html for more information about Rust release channels.
error: process didn't exit successfully: `/home/pksunkara/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo test -Z doctest-in-workspace --tests --manifest-path /home/pksunkara/Coding/project/Cargo.toml --target-dir /home/pksunkara/Coding/project/target/llvm-cov-target --all --all-features` (exit status: 101)

0.5.20 works though.

Oh, sorry for the breakage! Fixed in 0.5.22 and yanked 0.5.21.


README JSON reference improvement

Modify example/reference files for the assessment JSON and included information on README.md.
🗣 Description

Change field_dictionary.txt into markdown tables within the README.md
Moved the sample_assessment.json from src/tools to src/assessment as the builder.py creates the JSON.
Removed field_dictionary.txt as the information was placed directly in README.md

💭 Motivation and Context

Improves the usability of field dictionary as the new format is easier to follow. Additionally, the changes make it easier to find the sample assessment JSON from the README.
🧪 Testing

Ensured all new links on the README.md functioned as expected.
📷 Screenshots (if appropriate)
🚥 Types of Changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (causes existing functionality to change)

✅ Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

The backticks are unnecessary here and in a couple of other places below where you put strings in the backticks. If the input is a string, quotes are sufficient (even for URLs). In this case (list of strings), it's fine to simply write: ["target1.tld", "target2.tld"]

Do you have a preferred way to prevent links from being clicked? I have found a few ways to do it but want to make sure it fits.

http://domain.tld/camp/1  <-- This leaves the parentheses blank but appears to input a link to the current github page.
http://domain.tld/camp/1 <-- Use  following http.
http[:]//domain.tld/camp/1 <-- Simple square brackets.

The backticks are unnecessary here and in a couple of other places below where you put strings in the backticks. If the input is a string, quotes are sufficient (even for URLs). In this case (list of strings), it's fine to simply write: ["target1.tld", "target2.tld"]

Do you have a preferred way to prevent links from being clicked? I have found a few ways to do it but want to make sure it fits.

http://domain.tld/camp/1  <-- This leaves the parentheses blank but appears to input a link to the current github page.
http://domain.tld/camp/1 <-- Use  following http.
http[:]//domain.tld/camp/1 <-- Simple square brackets.

Ah, I had forgotten about the clickable links.  We don't have any standard for that- whatever is simplest.  If that means backticks, I am suddenly completely on board with them. 😄

Changes have been made to place all strings in quotes.  For URLs and email addresses that became clickable, I placed a single  tag within as this created the cleanest appearance in my opinion.
All changes were made in commit d1cd1d6.

Awesome- this is looking great now, thanks for all of your work here! 🎸 ⭐

Ack- I spoke too soon.  I just noticed that the  tags that you put in go against our Markdown linter rules (see failed lint step here):
README.md:82:53 MD033/no-inline-html Inline HTML [Element: span]
README.md:101:62 MD033/no-inline-html Inline HTML [Element: span]
README.md:124:141 MD033/no-inline-html Inline HTML [Element: span]

@bjb28 - Can you please change that back to either backticks or simply a quoted string (the fake hyperlinks don't really bother me that much).

Awesome- this is looking great now, thanks for all of your work here! 🎸 ⭐

Ack- I spoke too soon. I just noticed that the  tags that you put in go against our Markdown linter rules (see failed lint step here):
README.md:82:53 MD033/no-inline-html Inline HTML [Element: span]
README.md:101:62 MD033/no-inline-html Inline HTML [Element: span]
README.md:124:141 MD033/no-inline-html Inline HTML [Element: span]

@bjb28 - Can you please change that back to either backticks or simply a quoted string (the fake hyperlinks don't really bother me that much).

Removed  in commit 0689bda.


Dotted email addresses

Hello,
Is it possible to implement “dots don’t matter” feature in power-mailinabox?
I mean like it works in gmail: https://support.google.com/mail/answer/7436150?hl=en
Too bad MiaB does not support this: https://discourse.mailinabox.email/t/dotted-email-address/9279
Thank you!
Best regards,
Endre

You can just create a dotted alias that sends to the non-dotted alias.

As it looks out, the standard says that dots do matter. Google even admits that on Google Workspace (aka work or school Google accounts<EMAIL_ADDRESS>and<EMAIL_ADDRESS>are two different inboxes and could very well be two different people.
For that reason, I cannot implement such a feature. In fact, it would be a bit awkward if we had someone activate such a feature while having two accounts, johndoe and john.doe - we could end up in a inconsistent internal state and that would be a giant mess to handle.


Generating new pipeline with batched input

Hello!
I'm trying to generate a custom .fpl pipeline for a .onnx model I've trained. I've based my pipeline on the "NucleiSegmentation" pipeline from FastPathology's pre-loaded pipelines.
The thing is: My model expects a (8,3,256,256) tensor as its input, but the PatchGenerator process object produces (I'm assuming) a (1,3,256,256) shaped output.
I confirmed this when trying to run the pipeline on a test WSI. The output from FastPathology was

Standard (std) exception caught: Got invalid dimensions for input: input.1 for the following indices
index: 0 Got: 1 Expected: 8
Please fix either the inputs or the model.

Looking into the FAST documentation (python tutorial), I found the Batch data object, that enables one to batch several inputs. Now my problem is that I have no clue on how to state this object on the .fpl pipeline, since the inputs to this object are variables and it does not seem to follow the same API as the ProcessObjects did.
Is it possible to achieve what I'm looking for with a .fpl  pipeline? Or do I have to move away from FastPathology and implement the pipeline  in Python/C++ using FAST?
Thanks in advance!
PD: This is my custom pipeline
PipelineName "Glandulas segmentation"
PipelineDescription "Segmentacion de glandulas con U-Net de QuickAnnotator"
PipelineInputData WSI "Whole-slide image"
PipelineOutputData Segmentation stitcher 0
Attribute classes "Background;Cell nuclei"

### Processing chain

ProcessObject tissueSeg TissueSegmentation
Input 0 WSI

ProcessObject patch PatchGenerator
Attribute patch-size 256 256
Attribute patch-magnification 20
Attribute patch-overlap 0.1
Input 0 WSI
Input 1 tissueSeg 0

ProcessObject network SegmentationNetwork
Attribute scale-factor 0.003921568627451
Attribute model "$CURRENT_PATH$/../models/glandulas.onnx"
Input 0 patch 0

ProcessObject stitcher PatchStitcher
Input 0 network 0

### Renderers
Renderer imgRenderer ImagePyramidRenderer
Input 0 WSI

Renderer segRenderer SegmentationRenderer
Attribute border-opacity 0.5
Input 0 stitcher 0

I assume the model has been trained in QuickAnnotator which uses PyTorch as its backend.
The shape you have (8,3,256,256) means that you have channel first 3 before the image shape 256 x 256. By default, FAST expects channel last. However, it is possible to set change this by setting the dimension-order attribute of the NeuralNetwork PO.
Regarding the 8, I would think that corresponds to your batch size, which in this case is hardcoded (not optimal!). Unless you are doing something awfully fancy, the network should support any batch size. In PyTorch, it is possible to define the input shape of the network as -1. In that case, the network can take any batch size.
If you are converting the model to ONNX yourself, it should be possible to set the input shape of the network after conversion, which I would set to (-1,256,256,3).
However, if you just wish to see if the model is working, you could try running this FPL instead:
PipelineName "Glandulas segmentation"
PipelineDescription "Segmentacion de glandulas con U-Net de QuickAnnotator"
PipelineInputData WSI "Whole-slide image"
PipelineOutputData Segmentation stitcher 0
Attribute classes "Background;Cell nuclei"

### Processing chain

ProcessObject tissueSeg TissueSegmentation
Input 0 WSI

ProcessObject patch PatchGenerator
Attribute patch-size 256 256
Attribute patch-magnification 20
Attribute patch-overlap 0.1
Input 0 WSI
Input 1 tissueSeg 0

ProcessObject batch ImageToBatchGenerator
Attribute max-batch-size 8
Input 0 patch 0

ProcessObject network NeuralNetwork
Attribute scale-factor 0.003921568627451
Attribute model "$CURRENT_PATH$/../models/glandulas.onnx"
Attribute dimension-ordering "channel-first"
Input 0 batch 0

ProcessObject converter TensorToSegmentation
Input 0 network 0

ProcessObject stitcher PatchStitcher
Input 0 converter 0

### Renderers
Renderer imgRenderer ImagePyramidRenderer
Input 0 WSI

Renderer segRenderer SegmentationRenderer
Attribute border-opacity 0.5
Input 0 stitcher 0

Note that I have introduced a batch generator, which is stacking up 8 patches at a time before they are fed to the NeuralNetwork PO. Note that I had to change PO, as the SegmentationNetwork did not support the dimension-ordering attribute. For the NeuralNetwork PO, you also need to convert the output tensor to a segmentation, which the SegmentationNetwork does by default.
However, note that this might crash at the last patches, as it might fail to build up a batch of 8 patches, which your network does not support.
All this can be resolved by properly setting the input size during model conversion to ONNX. Give this a go first, and if you are interested, I could assist you in the model conversion to get the appropriate model input shape.

@andreped and I just managed to convert a PyTorch model to ONNX and deploy it in FastPathology.
However, the dimension-ordering attribute was not available in FastPathology v1.0.0. After upgrading FP to the latest artifact (see here), it worked as expected. Might be that the latest release v1.1.0 also works.
Regarding the batch size, this was handled by setting the dynamic_axis during conversion. As you are using QuickAnnotator, this might be tricky to change for you, but I'm sharing an example on how to do it below:
import torch
from models import SomeModel

dummy_input = torch.randn(1, 3, 299, 299, device="cuda")
model = SomeModel()
model.load_from_checkpoint("/path/to/pretrained/model.ckpt")

model.to_onnx("model_lightning_export.onnx", dummy_input, export_params=True,
    input_names=['input'], output_names=['output'],
    dynamic_axes={'input': {0: 'batch_size'}, 'output': {0: 'batch_size'}})

By default, FAST expects channel last. However, it is possible to change this by setting the dimension-order attribute of the NeuralNetwork PO.

This is not entirely true. FAST uses channel last, but it can handle networks which are trained with channel first. FAST will try to detect this automatically, and then convert the input and output tensors accordingly. If it fails to detect it you can override it with the dimension-order attribute.
I would also encourage you to change the batch dimension to 1 or even better: -1.
If you really want to do batch processing you can do that by using the ImageToBatchGenerator

Thank you all for your responses!
I changed the batch size of the .onnx model to 1 and used the pipeline above by @andreped, changing the max-batch-size parameter to 1, and the model is now segmenting my WSI!
With respect to this line

model.to_onnx("model_lightning_export.onnx", dummy_input, export_params=True,
input_names=['input'], output_names=['output'],
dynamic_axes={'input': {0: 'batch_size'}, 'output': {0: 'batch_size'}})

I did not understand if the dynamic_axes argument was supposed to solve the variable-size batch problem. Nevertheless, I used it to get a new .onnx model. When changing back max-batch-size to 8, and processing the image with this new .onnx model, FastPathology crashes, and closes without error.

If you were able to set the batch size to 1, then you can remove the ImageToBatchGenerator PO, and then just connect the output of the PatchGenerator to the NeuralNetwork like you did before.
As @smistad mentioned, might be that your original FPL file works fine now, if you use the updated model.


Fix: Fixed issue where column view jumps from left to right

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #11977

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[x] Did you implement any design changes to an existing feature?

[x] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Open a folder using columns layout
Navigate using arrow keys

Do the right and left arrow keys still scroll?

Do the right and left arrow keys still scroll?

Horizontally yes


Card styles and "Get in touch" page

Description

Card styles
Added the new card component to the home page, replacing the promos.
Get in touch page
Added a "Get in touch" page, with a link to the page added to the footer.
Related issue

Previous user research findings:

Checklist

[x] Tested against the NHS.UK frontend testing policy (Resolution, Browser & Accessibility)
[x] Code follows the NHS.UK frontend coding standards
[x] Version number has been increased in package.json (using SEMVER)
[x] CHANGELOG entry
[x] Whats new page entry
[x] Page updated date

@sarawilcox to review.

What needs to change:

[ ] the page updated dates on the Get in touch page and the production and prototyping pages - should be August 2020
[ ] on the Get in touch page, can you add a comma after the word "suggestion" and before "get in touch"
[ ] on the production and prototyping pages, the Need help? section should read: If you’ve got a question about the NHS digital service manual or want to feedback, get in touch. [making "get in touch" the link]


alignment for OCI Landing Zones

Updated MD files for aligning OCI Landing Zones requirements

rebase CONTRIBUTING.md with OGHO


🐛 @biomejs/js-api not compatible with @biomejs/wasm-nodejs 1.9.0

Environment information
CLI:
  Version:                      1.9.0
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v21.7.3"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "pnpm/9.7.0"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              true
  Organize imports disabled:    true
  VCS disabled:                 true

Workspace:
  Open Documents:               0

What happened?
The latest versions of biomejs/js-api (0.6.2) and @biomejs/wasm-nodejs (1.9.0) appear to be incompatible.
When trying an example similar to that in the README
import { Biome, Distribution } from "@biomejs/js-api";

Biome.create({
	distribution: Distribution.NODE,
}).then(biome => {
    const formatted = biome.formatContent("function f   (a, b) { return a == b; }", {
        filePath: "example.js",
    });
})

it crashes with an error of the form: Error: missing field kind. This does not happen with @biomejs/wasm-nodejs 1.8.3. and appears to be a compatibility issue.
I see that biomejs/js-api "is currently in alpha" and perhaps it's expected for it to not be compatible with the latest releases of @biomejs/wasm-nodejs / @biomejs/biome?
Expected result
It should not throw an error
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

though biomejs/js-api currently in alpha, it worked pretty well last couple months.
sadly broken with 1.9.0 release

Running into this issue as well.
Can it be improved by having a CI release the biomejs/js-api package when other pkg are released?

I think the main problem is that we don't have any integration tests for it. PRs welcome.

Is there any temporary solution for this before a new version is released with a fix?

Sorry, I don't think so. You are welcome to help improve the situation though.

@ematipico thanks for fix.
but still getting same error
@ericrafalovsky did you test with latest release 1.9.3?
WasmError
    at Function.fromError (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/wasm.ts:75:10)
    at wrapError (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/wasm.ts:85:19)
    at Biome.tryCatchWrapper (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:149:19)
    at Biome.withFile (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:158:15)
    at Biome.formatContent (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:195:15)
    at formatSourceCode (packages/dev-utils/src/format.ts:16:13)
    at renderWithFormat (packages/dev-utils/src/render.ts:23:10)
    at worker (packages/dev-utils/src/file-generator.ts:48:21)
    at generateFile (packages/dev-utils/src/file-generator.ts:73:13)
    at typesGenerator (packages/pgxt-cli/src/plugins/types/index.ts:30:15) {
  stackTrace: Error: Error: missing field `kind`
      at module.exports.__wbg_new_796382978dfd4fb0 (node_modules/.pnpm/@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/wasm-nodejs/biome_wasm.js:907:17)
      at wasm://wasm/035fb09e:wasm-function[12718]:0xb0dabf
      at wasm://wasm/035fb09e:wasm-function[7538]:0x9f2591
      at wasm://wasm/035fb09e:wasm-function[3113]:0x76da64
      at Workspace.openFile (node_modules/.pnpm/@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/wasm-nodejs/biome_wasm.js:382:18)
      at <anonymous> (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:163:19)
      at Biome.tryCatchWrapper (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:147:11)
      at Biome.withFile (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:158:15)
      at Biome.formatContent (node_modules/.pnpm/@biomejs+js-api@0.6.2_@biomejs+wasm-nodejs@1.9.3/node_modules/@biomejs/js-api/src/index.ts:195:15)
      at formatSourceCode (packages/dev-utils/src/format.ts:16:13)

This hasn't bee released yet

this is fixed now,
thanks


Middleware move permanently fix

Suggested fix for issue #808  where middleware redirect status not saving which leads to 307 redirect.
fixes #808

Unfortunatelly the original fix was too greedy which cause the issues with rewrites.

I see, I'd love to see those rewrites since the ones we have in our e2es were not failing, so it'd be good to have more coverage there
The updated version looks even better thanks 😄👍

Thanks a lot for quick turnaround!

thank you for the awesome contribution! it's really appreciated! 🫶

@strofimo could you run npm run prettier:fix to get the code formatted? 🙂 🙏

@strofimo could you run npm run prettier:fix to get the code formatted? 🙂 🙏

Ah sorry, missed it. Done!

Unfortunatelly the original fix was too greedy which cause the issues with rewrites.

I see, I'd love to see those rewrites since the ones we have in our e2es were not failing, so it'd be good to have more coverage there
The updated version looks even better thanks 😄👍

Yeah we found it when tested the fix on our codebase. I will try to come up with simple test case if its possible.


Round theme breaking Theme Manager

Installing the round theme breaks the theme store so many elements do not appear:

Can reproduce on both Beta and Stable.

Problem was that:
.gamepaddialog_GamepadDialogContent_3joNk {
  border-radius: 20px;
}

Was modifying the mod page, as the mod uses the dialog content to create the window which the themes are displayed in.
Fix:
.gamepaddialog_GamepadDialogContent_3joNk:not(.gamepadpagedsettings_PagedSettingsDialog_PageContent_wIOLO) {
  border-radius: 20px;
}

Closed by #12


Fix matching a Mapping with host_redirect a Host

Description
While preparing the upgrade from 1.x to 2.x, we noticed that any Mapping with host_redirect set would lead to a 404, which is the issue described #3709. It turns out that the issue lies in the matches_httpgroup function of irhost.py.
I'd first like to get some feedback before I proceed with adding a regression test or do anything else with this PR.
Related Issues

#3709

Testing
Manual testing (image rebuild + running the example) proved that this patch works.
Checklist

[ ] I made sure to update CHANGELOG.md.
Remember, the CHANGELOG needs to mention:

Any new features
Any changes to our included version of Envoy
Any non-backward-compatible changes
Any deprecations

[x] This is unlikely to impact how Ambassador performs at scale.
Remember, things that might have an impact at scale include:

Any significant changes in memory use that might require adjusting the memory limits
Any significant changes in CPU use that might require adjusting the CPU limits
Anything that might change how many replicas users should use
Changes that impact data-plane latency/scalability

[ ] My change is adequately tested.
Remember when considering testing:

Your change needs to be specifically covered by tests.

Tests need to cover all the states where your change is relevant: for example, if you add a behavior that can be enabled or disabled, you'll need tests that cover the enabled case and tests that cover the disabled case. It's not sufficient just to test with the behavior enabled.

You also need to make sure that the entire area being changed has adequate test coverage.

If existing tests don't actually cover the entire area being changed, add tests.
This applies even for aspects of the area that you're not changing – check the test coverage, and improve it if needed!

We should lean on the bulk of code being covered by unit tests, but...
... an end-to-end test should cover the integration points

Resolves #3709 and #4005

Hi there @gferon , thank you for your contribution  :rocket: . We are taking a look at this and will get back to you shortly if we have any questions or comments for you :slightly_smiling_face:

Hi @gferon, I just wanted to let you know that I'm closing this PR since your fix was cherry-picked and merged as part of  4034 so we could get this fix into the next release ASAP seeing as it is a regression.
We actually had a test for this behavior but it was unfortunately disabled. If you'd like to submit future contributions to Emissary-ingress, here is a little info on how some of the tests work:
python/tests/kat: These tests work by applying some config to a cluster and then running checks such as queries, etc.
python/tests/gold: These tests ensure that the Envoy config built by Emissary matches the Envoy config in the gold test folders. If you make changes that would modify the Envoy config then you will need to update these files to account for the new bits in the Envoy config.
python/tests/unit: These tests generate an Envoy config from Emissary's CRDs and then check the resulting Envoy config for specific expected values and values expected to be omitted.
Normally we would provide feedback to your original PR if the urgency of getting the fix into the next release was lower. Thanks so much for bringing this issue to our attention and providing the fix for it. We really appreciate your contribution!


Plan improvements to Storage concepts

This is a Feature Request
What would you like to be added?
This issue is done when we have a set of issues opened that describe a series of approachable issues that each propose a useful improvement to storage concepts.
Aim to plan out the set of issues so that they are mostly settled before opening the first of those approachable, single-improvement-at-a-time issues.
Why is this needed
The existing storage pages are not easy to understand, and the issues we have open are not very approachable.
We might:

migrate some content to a tutorial page
combine pages
decide that we need to make a new task page
define some reference pages, and open an issue for each reference page that needs adding
add text into https://kubernetes.io/docs/concepts/storage/ (it is purely autogenerated at the time of writing)

:information_source: try not to directly work on PRs for this issue; instead, start on making a complete set of storage-related issues, close this one off because it is done, and then work on each issue on turn.
It is OK to make an umbrella issue to act as a successor for this issue.
Selected existing pages

Volumes
Persistent Volumes
Dynamic Volume Provisioning
Storage Classes

and associated tasks (in case we want to link to them):

Limit Storage Consumption
Configure a Pod to Use a PersistentVolume for Storage
Configure a Pod to Use a Volume for Storage
Change the Access Mode of a PersistentVolume to ReadWriteOncePod
Configure a Pod to Use a Projected Volume for Storage

/triage accepted
/lifecycle frozen
/priority important-longterm

Also see:

https://github.com/kubernetes/website/issues/31159
https://github.com/kubernetes/website/issues/43293

I'm glad you brought this issue up, @sftim. I struggled through the docs while learning about storage concepts.
For example, while attempting to provision a static local persistent volume, hence binding my persistent volume claim to my persistent volume, the docs only mentioned using a selector for binding, but they didn't explicitly specify that a volumeName could also be used. Plus, no proper example exists. It will be nice to add one to the new task page. You could assign it to me if you think these few suggestions make sense.
Summary

Add an example on the new task page titled "Configure a Pod to Use a Static Local Persistent Volume"
Add a subsection under "PersistentVolumeClaims" titled volumeName since it exists on the reference page.

@network-charles would you like to open some issues that partially help with this issue? Scroll up to see how you can help.

Yes

I suggest that, eventually, we add text into https://kubernetes.io/docs/concepts/storage/

Do you mean to add short definitions under each storage concept?
For example:
Volume
A way to attach storage to a pod.

Persistent Volume
A storage object that is provisioned into a cluster.
It provides storage that exceeds the lifecycle of a pod.

I don't have a strong opinion about what we add to  https://kubernetes.io/docs/concepts/storage/

Ok, I suggest we add short definitions under each storage concept (e.g. Volumes, Persistent Volumes, etc.) since we are migrating some content to a tutorial and task page. However, I noticed that in the deployed documentation, each storage concept is transcluded into the index file. This means the raw index file doesn’t display their content directly. I don’t know how to locate and edit these sections if I want to add definitions under them. Do you know how?


Improving other

Branch to test for public_benefits only - I think other incomes and jobs will be broken.
Also, I reorganized the code so it looks more like what you started with, and I've been ignoring up to now - I put all the public benefits stuff together, in the order it will be used mostly.  I also moved the revisit and table up (also, I changed table from public_benefits.table to public_benefits_table, so it can be called before public_benefits has been gathered._
If that looks good, I can use that same order for all the lists.

Yes, and I think moving the table closer to the question makes it easier to make the table look how you want.


Nonscattered optional arraychecker is checking the wrong files

This bug lead to the discovery of the issue arraychecker had with exit when it couldn't find a truth file to match a test file. Only the scattered arraychecker was erroring out. The nonscattered one did not error, but seemed to be checking the wrong files as it ends up with a blank report.txt and stdout indicates it checked always's foo three times.
touch "report.txt"
for j in /bark-bark/checker/e57ddf43-87f8-4623-8cca-bd11c276a968/call-nonscatteredChecker/inputs/2112235028/foo.txt /bark-bark/checker/e57ddf43-87f8-4623-8cca-bd11c276a968/call-nonscatteredChecker/inputs/79264622/dummy_file.txt /bark-bark/checker/e57ddf43-87f8-4623-8cca-bd11c276a968/call-nonscatteredChecker/inputs/30201223/bar.txt
do
	md5sum ${j} > sum.txt
	test_basename="$(basename -- ${j})"

	for i in /bark-bark/checker/e57ddf43-87f8-4623-8cca-bd11c276a968/call-nonscatteredChecker/inputs/1723308675/foo.txt /bark-bark/checker/e57ddf43-87f8-4623-8cca-bd11c276a968/call-nonscatteredChecker/inputs/1723308676/foo.txt
	do
		truth_basename="$(basename -- ${i})"
		if [ "${test_basename}" == "${truth_basename}" ]; then
			actual_truth="$i"
			break
		fi
	done

	if ! echo "$(cut -f1 -d' ' sum.txt)" $actual_truth | md5sum --check
	then
		if true
		then
			exit 1
		fi
	fi
done

...because I forgot to rest actual_truth every iteration. 🤦


Investigate performance hit for exporting dataplane staus

As discussed in https://github.com/Kong/kong-plugin-prometheus/pull/98#discussion_r638160962,
querying db on each scrape may have negative performance hit for Control Plane.
Investigate the impact and decide if we need to add cache to it.

Dear contributor,
We're closing this issue as there hasn't been any update to it for a long time. If the issue is still relevant in the latest version, please feel free to reopen it. We're more than happy to revisit it again.
Please have a look at our pledge to the community for more information.
Sincerely,
Kong Gateway Team


Kill dead watch_socket.js and gogo-shell code

Dead as of: https://github.com/liferay/liferay-js-themes-toolkit/pull/190

Changed the target branch to "8.x" and I'm going to rebase this against it.


Humanlog colors not configurable, and assume dark background

The default colors don't work for me:

Due to the way that the underlying rgbterm works, I can't just send a quick \033[40m to set the background color to dark; it only works for the first colored block printed, and then a SGR reset kills that.
It's possible to set the default background color, but it's very terminal dependent, and so my wrapper function for Scanner is getting really ugly:
func ScannerDarkly(src io.Reader, dst io.Writer, opts *humanlog.HandlerOptions) {
    var setBgColorCode string
    if strings.Contains(os.Getenv("TERM_PROGRAM"), "iTerm") {
        // iTerm...
        setBgColorCode = "\033]Ph%.2x%.2x%.2x\033\\"
    } else if strings.Contains(os.Getenv("TERM"), "256") || strings.Contains(os.Getenv("TERM"), "xterm") {
        setBgColorCode = "\033]6;rgb:%.2x/%.2x/%.2x\a"
    }
    if setBgColorCode != "" {
        dst.Write([]byte(fmt.Sprintf(setBgColorCode, bgColor[0], bgColor[1], bgColor[2])))
    }
    humanlog.Scanner(src, dst, opts)
}

I'm not cleaning up the color change, either, so when my program quits it leaves the background dark.  Do you think it would be possible to make the code accept some kind of color palette configuration or something (perhaps with regular ANSI code fallbacks), instead of all of the hardcoded color codes?

 If you have an idea of an implementation that would address this, I'll be happy to check it!

Looks bad on my dark background:

What do you think about using the 16-color palette instead of RGB? Terminal themes usually coordinate the colors to look good on the background, RGB just skips the theme.

@myfreeweb sounds like a good idea, i'd merge such a PR :)


Unable to display image defined in markdown within preview

It is not possible for me to display linked images correctly in Markdown. These are mainly images that are stored on the same level as the index.md file. On the published page itself is everything fine. I already tried to set media_folder and public_folder for this collection to "".
Some text .... ![Description](imagename.png) More Text...

Result:

HTML:

  This is followed by hour-by-hour information on when the renewal exam will be available and a list of available learning paths and modules that can still be taken during the preparation time. Due to technological development, some modules are updated or new modules are added, so it is worth taking a look regularly.

The preview has been fixed, but Sveltia CMS actually doesn’t have a Markdown editor yet. I’ll finish the work by the end of the month.


add num steps for each prompt

I was thinking it would be useful to allow for some prompts to run longer than others. so changing num_steps from an int to a list of ints.
essentially changing
for prompt, seed in zip(prompts, seeds):

to
for prompt, seed, num_step in zip(prompts, seeds, num_steps):

What do you think?
potentially expand this to all parameters by using parameter dict for each prompt.

Interesting idea here. Will look into this!

I can make a pull request.

That would be great, @danielpatrickhug ! Do you mind waiting until we sort out #35 ? Otherwise I worry there will be a bit of a mess with conflicts.
We'll want to make sure this feature saves these differing seeds to prompt config, and supports resuming.

of course! no rush.

one idea that could be cool would be to pass in a list of Scene objects
to represent the dag walk and interpolate between the scene objects.
scene = Scene(prompt:str, seed:int, num_steps:int, height:int,
                    width:int,
                    guidance_scale:float,
                    eta:float,
                    num_inference_steps:int,...)

potentially pass in a scene_type too,  like txt2img, img2img

Interesting idea here...could potentially be nice to store things in a more structured object like this and create dags that could then be edited/resumed down the line.
I would lean against implementing something like that for now (probably next month or so), as it may lead to unnecessary complexity while we iterate on other ideas - but lets not throw that thought away. Might be more applicable down the line as more work shapes up here. If you want to discuss more, feel free to open separate issue for that so we keep issues focused on one topic at a time 😄 .

sure, thinking, for #35 we can save the individual prompt configs as records in prompt_config.json, moving it under the first for loop saving at each outer iteration. a reset could look at the number of frames and map the index to the json record that it ended at and then restarts from there i.e modify the outer iteration index to start from where it ended.

So the continuing stuff has been merged. Could add "num_steps as list" feature now. If its an int, I suppose you could turn it to a list like num_steps = [num_steps] * (len(prompts) - 1), or otherwise use it as expected. Would need to check the length is as expected as well.
This info should be saved in prompt config so it can be loaded back when resume=True.

sure. we can add a check in that case that an int is passed in. so that it doesn't break existing code.
if isinstance(num_steps, int):
    num_steps = [num_steps] * (len(prompts) - 1)

I don't think we have to make any changes to the prompt_config, it should save and load the list like prompts and seeds.
So then it is just a matter of updating the outer iteration to zip through the num steps list and update the inner iteration to use the new num_steps vars.

I added typing too, if you dont want that or want to seperate that change into a different pull request lmk I'll make the change.


JSON.stringify of map ref reveals cyclic structures

<MapView    ref={r=>this.map=r}    ... />
When attempting to log this.map, the app crashes. When attempting to log JSON.stringify(this.map) the error JSON.stringify cannot serialize cyclic structures

Same problem with angular.equals(map, map). openlayer's map seems to have a circular references inside.

I'm not sure what you mean. Are you using openlayers as your tile source in MapView.UrlTile, and that the openlayers service is causing circular references within the react-native-maps code? I'm using google as my tile service.

I mean that:  i think, the maps objects (openlayers, google, etc) are a cyclic structures and cannot be stringified.

I don't think that's the case. The circular structure comes from the actual structure of the react elements themselves. Through painful trial and error, I have found that the _hostParent, _owner, and _renderedChildren all have circular references (which makes sense). I'm just confused now why it causes the app to crash when trying to assign this to the context (ie. onMapReady={ref=>this.**map**=ref} ).
It must be causing some sort of memory leak. The app appears to "freeze" momentarily before crashing. I guess cyclical dependencies have not been a problem in the browser for some time - is it not the same with mobile apps?

Old issue. Closing.

How to handle this issue, I am still getting the same error. It is possible to remove the click from the map because I am getting this issue on the click of the map.
Thanks,


Improvement: Schema Refresh

I would love to hit CMD+R to refresh the schema because right now if the data changes in the background the labels don't.
Having the application inserting a new row does update the entry in Core-Data-Editor if you click on the Model/Table but the little label indicating the row count never gets updated!
Anyway really well and useful application! Keep it up.

1

@gerardp Working on it. :)

1

+1

@codepushr @gerardp @fonkadelic @mnort9 I have finally implemented it... Sorry that it took so long.
https://github.com/ChristianKienle/Core-Data-Editor/pull/40
I have resumed the development of Core Data Editor (starting a few weeks ago already). You should find the feature in develop and then in master shortly.


Documentation section about OpenAI models

I need documentation for the following two issues:

#396
#394

Both of them warrant a new section in the docs that specifically talks about OpenAI models.

https://llm.datasette.io/en/latest/openai-models.html