Error 500 when trying to create account with expired session

Full traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1473, in full_dispatch_request
    rv = self.preprocess_request()
  File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1666, in preprocess_request
    rv = func()
  File "/usr/local/lib/python2.7/dist-packages/Flask_WTF-0.14.2-py2.7.egg/flask_wtf/csrf.py", line 221, in csrf_protect
    self.protect()
  File "/usr/local/lib/python2.7/dist-packages/Flask_WTF-0.14.2-py2.7.egg/flask_wtf/csrf.py", line 252, in protect
    self._error_response(e.args[0])
  File "/usr/local/lib/python2.7/dist-packages/Flask_WTF-0.14.2-py2.7.egg/flask_wtf/csrf.py", line 324, in handler
    response = current_app.make_response(view(reason))
  File "/home/ubuntu/security_monkey/security_monkey/__init__.py", line 55, in csrf_error
    return render_template('csrf_error.json', reason=reason), 400
  File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/templating.py", line 126, in render_template
    ctx.app.update_template_context(context)
  File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 716, in update_template_context
    context.update(func())
  File "/usr/local/lib/python2.7/dist-packages/Flask_Login-0.4.0-py2.7.egg/flask_login/utils.py", line 335, in _user_context_processor
    return dict(current_user=_get_user())
  File "/usr/local/lib/python2.7/dist-packages/Flask_Login-0.4.0-py2.7.egg/flask_login/utils.py", line 302, in _get_user
    current_app.login_manager._load_user()
  File "/usr/local/lib/python2.7/dist-packages/Flask_Login-0.4.0-py2.7.egg/flask_login/login_manager.py", line 313, in _load_user
    return self._load_from_request(request)
  File "/usr/local/lib/python2.7/dist-packages/Flask_Login-0.4.0-py2.7.egg/flask_login/login_manager.py", line 370, in _load_from_request
    user = self.request_callback(request)
  File "/usr/local/lib/python2.7/dist-packages/Flask_Security_Fork-1.8.2-py2.7.egg/flask_security/core.py", line 215, in _request_loader
    token = request.json.get(args_key, token)
AttributeError: 'unicode' object has no attribute 'get'

This happened because request body contain double encoded json object.

With expired session?

When session in your browser is expired.

Steps to reproduce:

Log into account
Go to settings and open "create account" page
Fill in form and delete cookies in your browser
Submit form


Facebook bridge generates mobile links (for groups)

Describe the bug
Facebook bridge generates mobile links (at least for groups), even if a regular, non-mobile link was provided.
To Reproduce
Steps to reproduce the behavior:

Add a Facebook group RSS via bridge, make sure the URL is not a mobile version (i.e. without the m. subdomain)
Click on any link in the reader3.
Notice the page opened is a mobile version with the m. subdomain

Expected behavior
The link should be to regular Facebook post if a regular Facebook group URL was provided
Desktop (please complete the following information):

OS: macOS
Browser: Safari
Version: 15.5

Would all links survive the transform from m.facebook.com => facebook.com? I'm unsure.


Small delay is creating a new account

Testing PR #1822
While testing the PR, the user was creating a new account and noticed that it derive the accounts, and this is why there's a small delay with a blank screen loading spinner. Creating the ticket for future tracking purpose
https://user-images.githubusercontent.com/38872890/155775037-c1122ff9-1c4f-4299-a8bd-2ef55bef4262.mov

Does this block merging #2172 ?

Does this block merging #2172 to dev?

I wouldnt say its a blocker ,its a minor bug .#2172 can be merged but I will need to test the onboarding homepage features on it first if possible prior to merging it to Dev.Only Kyrans refactor part has been tested on #2172.

Closing this off as its outdated


Better search_value

Thanks for preparing the whole training script and the JAX environment.
I have minor suggestion to improve the target for the value network.
When using sequential halving, the search does exploration to find the best action.
The root value is then possibly underestimated, because the average value includes the values of the explored actions.
https://github.com/kenjyoung/mctx_learning_demo/blob/e79a655632f04978715f5d525c4ff6b26882bbe9/basic_tree_search.py#L189
A better target for the value network would be the Q-value of the selected action:
search_value = policy_output.search_tree.qvalues(policy_output.action)

Hi Ivo,
Thanks for the feedback, and for releasing MCTX!
I tried your suggestion and oddly it significantly hurt performance in the specific example I tested on (plot included for reference). Note that learning does still occur with max q_value to reach a final performance of around 60 compared to 0.5 for random action selection, but it is eclipsed by using the node value. I suspect the issue is that the environment is stochastic, which I don't believe the code was really intended for, probably averaging over multiple actions is providing some heuristically useful smoothing in this case.
Perhaps I will add the option to use either as a configuration choice.

n

Thanks for the plot.
You are right that MCTS without chance nodes is not suitable for stochastic environment.
If you want to verify that the search works, you can use the same rng_key for the environment inside the search and outside the search.
Another problem can be bootstrapping from the value network, together with the large discount=1.0. For example, the output bias can then keep increasing itself to unrealistic values. An alternative would bootstrap from an older "target" network.

If you want to verify that the search works, you can use the same rng_key for the environment inside the search and outside the search.
It turns out I was doing this, somewhat unintentionally. I meant to change the environment step function to take a passed random key instead of it being part of the env state, but I neglected to remove the env_state key which overwrote it:
https://github.com/kenjyoung/mctx_learning_demo/blob/ec60f9bfff2af876b0591c225d0db86c2f5b5c70/jax_environments.py#L26-L28
If I change it to take a passed random key instead the performance is much worse:

In anycase, probably the right thing to do to make this a more useful demo is to apply it to a deterministic environment instead. Thanks again for your help.


proto upgrade failure when ran as a child process

What version?
0.39.1
Which command?
proto upgrade
What happened?
The upgrade failed:
❯ proto upgrade
Error: fs::rename

  × Failed to rename ~\.proto\bin\proto.exe to ~\.proto\tools\proto\0.39.1\proto.exe.
  ╰─▶ Access is denied. (os error 5)
  help: Does the source file exist?
❯ rm ~\.proto\tools\proto\0.39.1\proto.exe
❯ proto upgrade
Upgraded proto to v0.39.2!

I tried upgrade proto a few times before I decided to manually delete the file. I'm not sure why upgrading 0.39.1->0.39.2 would initiate a rename of proto to 0.39.1.
Trace logs?
No response
Operating system?
Windows
Architecture?
x64

Yeah this is weird, let me look into it.

Maybe the way I am upgrading my proto environment could be contributing to the issue.
What do you think would happen in the following environment:

just is provided by proto
just has a recipe that updates proto, e.g. proto-upgrade
proto is updated using just proto-upgrade

Effectively, the "process tree" probably looks something like this: proto-shim.exe->just.exe->proto.exe (that is, the proto upgrade is executing within the proto-shim hierarchy).
Here is a fake example execution trace to make the point:
❯ gcm just | select source

Source
------
C:\Users\user2\.proto\shims\just.exe

❯ proto --version
proto 0.39.1

❯ just proto-upgrade
Error: fs::rename

  × Failed to rename ~\.proto\bin\proto.exe to ~\.proto\tools\proto\0.39.1\proto.exe.
  ╰─▶ Access is denied. (os error 5)
  help: Does the source file exist?

justfile:
proto-upgrade:
  proto upgrade

.prototools::
just = "1.32.0"

@W1M0R That may be. If you're still able to produce this, can you set PROTO_LOG=trace before upgrading? I'm curious exactly where the failure is happening.

Try 0.39.3

The upgrade to 0.39.3 from 0.39.2 via just (proto-shim) succeeded without issue.
❯ just sync
proto upgrade
Upgraded proto to v0.39.3!
proto use
...

Thanks @milesj!

I'll close this for now. If it happens again, feel free to reopen.

@milesj I just encountered this issue again. I have proto 0.39.3, and I execute the proto upgrade via a just recipe. Notice the first trace message indicates proto version 0.39.1. I remember that I briefly tested the proto version pinning behaviour when it came out, pinning it to 0.39.1, but then I removed the pin from my .prototools file. Maybe proto is still acting as if I've pinned it?
❯ just _proto-init
proto --version
proto 0.39.3
[DEBUG 2024-08-01 09:29:10.684] proto  Running proto v0.39.1  bin="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.1\\proto.exe" args=["run", "just", "--", "_shell-refresh"] shim="just" shim_bin="C:\\Users\\user2\\.proto\\shims\\just.exe" pid=21476
[TRACE 09:29:10.687] starbase::app  Running startup phase
[DEBUG 09:29:10.691] proto_core::proto  Creating proto environment, detecting store  store="C:\\Users\\user2\\.proto"
[TRACE 09:29:10.692] starbase::app  Running analyze phase
[TRACE 09:29:10.693] proto_core::proto_config  Traversing upwards and loading .prototools files
[DEBUG 09:29:10.693] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\sdl\\src\\tms\\.prototools"
[TRACE 09:29:10.694] starbase_utils::fs  Reading file  file="C:\\Users\\user2\\sdl\\src\\tms\\.prototools"
[TRACE 09:29:10.694] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:10.695] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:10.695] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:10.696] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\sdl\\.prototools"
[TRACE 09:29:10.697] starbase_utils::fs  Reading file  file="C:\\Users\\user2\\sdl\\.prototools"
[TRACE 09:29:10.698] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:10.698] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:10.699] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:10.700] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:10.701] starbase_utils::fs  Opening file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:10.701] starbase_utils::fs_lock  Locking file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:10.702] starbase_utils::fs_lock  Unlocking file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:10.703] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:10.703] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:10.704] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:10.704] proto_core::proto_config  Merging loaded configs
[DEBUG 09:29:10.704] proto_core::proto_config  Merged 3 configs
[DEBUG 09:29:10.705] proto_core::proto_config  Merging loaded configs without global
[DEBUG 09:29:10.705] proto_core::proto_config  Merged 2 configs
[TRACE 09:29:10.706] starbase::app  Running execute phase
[DEBUG 09:29:10.707] proto_core::tool_loader  Finding a configured plugin  tool="just"
[DEBUG 09:29:10.707] proto_core::tool_loader  Found a plugin  file="C:\\Users\\user2\\sdl\\.prototools" plugin="https://raw.githubusercontent.com/Phault/proto-toml-plugins/main/just/plugin.toml"
[TRACE 09:29:10.708] warpgate::loader  Creating plugin loader  cache_dir="C:\\Users\\user2\\.proto\\plugins"
[TRACE 09:29:10.709] warpgate::loader  Loading plugin just  id="just"
[TRACE 09:29:10.710] starbase_utils::fs  Reading file metadata  file="C:\\Users\\user2\\.proto\\plugins\\just-ee9b492977619f0aca55e132a87c7109e66fab246308d11168d39e9b4ceefe4e.toml"
[TRACE 09:29:10.710] warpgate::loader  Plugin already downloaded and cached  id="just" path="C:\\Users\\user2\\.proto\\plugins\\just-ee9b492977619f0aca55e132a87c7109e66fab246308d11168d39e9b4ceefe4e.toml"
[DEBUG 09:29:10.710] proto_core::tool_loader  Loading TOML plugin  source="C:\\Users\\user2\\.proto\\plugins\\just-ee9b492977619f0aca55e132a87c7109e66fab246308d11168d39e9b4ceefe4e.toml"
[DEBUG 09:29:10.711] proto_core::tool_loader  Finding a configured plugin  tool="internal-schema"
[DEBUG 09:29:10.711] proto_core::tool_loader  Using a built-in plugin  plugin="https://github.com/moonrepo/tools/releases/download/schema_tool-v0.14.1/schema_tool.wasm"
[TRACE 09:29:10.712] warpgate::loader  Loading plugin internal-schema  id="internal-schema"
[TRACE 09:29:10.713] starbase_utils::fs  Reading file metadata  file="C:\\Users\\user2\\.proto\\plugins\\internal-schema-590d05f47477efb4d5062bd942036e93888e08d9fa658615d412884ed7c29162.wasm"
[TRACE 09:29:10.713] warpgate::loader  Plugin already downloaded and cached  id="internal-schema" path="C:\\Users\\user2\\.proto\\plugins\\internal-schema-590d05f47477efb4d5062bd942036e93888e08d9fa658615d412884ed7c29162.wasm"
[TRACE 09:29:10.714] starbase_utils::fs  Reading file  file="C:\\Users\\user2\\.proto\\plugins\\just-ee9b492977619f0aca55e132a87c7109e66fab246308d11168d39e9b4ceefe4e.toml"
[TRACE 09:29:10.714] starbase_utils::toml  Reading TOML file  file="C:\\Users\\user2\\.proto\\plugins\\just-ee9b492977619f0aca55e132a87c7109e66fab246308d11168d39e9b4ceefe4e.toml"
[TRACE 09:29:10.715] starbase_utils::json  Formatting JSON
[TRACE 09:29:10.715] proto_core::tool_loader  Storing schema settings  schema={"name":"just","type":"cli","resolve":{"git-url":"https://github.com/casey/just"},"platform":{"linux":{"download-file":"just-{version}-{arch}-unknown-linux-musl.tar.gz"},"macos":{"download-file":"just-{version}-{arch}-apple-darwin.tar.gz"},"windows":{"download-file":"just-{version}-{arch}-pc-windows-msvc.zip"}},"install":{"download-url":"https://github.com/casey/just/releases/download/{version}/{download_file}"}}
[TRACE 09:29:10.716] warpgate::plugin  Storing plugin identifier  id="just"
[TRACE 09:29:10.717] warpgate::plugin  Storing host environment  env={"arch":"x64","libc":"unknown","os":"windows","home_dir":{"path":"/userhome/","virtual_prefix":"/userhome","real_prefix":"C:\\Users\\user2"}}
[DEBUG 09:29:10.718] proto_core::tool  Creating tool just and instantiating plugin
[TRACE 09:29:10.744] warpgate::plugin  Created plugin container  id="just" plugin="03f9f3bf-ea1a-47ac-b27d-ee8f644b388c"
[DEBUG 09:29:10.746] proto_core::tool  Created tool just and its WASM runtime
[TRACE 09:29:10.747] warpgate::plugin  Calling plugin function register_tool  id="just" plugin="03f9f3bf-ea1a-47ac-b27d-ee8f644b388c" input={"id":"just"}
[TRACE 09:29:10.748] warpgate::plugin  Called plugin function register_tool  id="just" plugin="03f9f3bf-ea1a-47ac-b27d-ee8f644b388c" output={"inventory":{},"name":"just","plugin_version":"0.14.1","type":"CLI"}
[DEBUG 09:29:10.749] proto_core::tool_manifest  Loading manifest.json  file="C:\\Users\\user2\\.proto\\tools\\just\\manifest.json"
[TRACE 09:29:10.749] starbase_utils::fs  Opening file  file="C:\\Users\\user2\\.proto\\tools\\just\\manifest.json"
[TRACE 09:29:10.750] starbase_utils::fs_lock  Locking file  file="C:\\Users\\user2\\.proto\\tools\\just\\manifest.json"
[TRACE 09:29:10.750] starbase_utils::fs_lock  Unlocking file  file="C:\\Users\\user2\\.proto\\tools\\just\\manifest.json"
[TRACE 09:29:10.751] proto_core::version_detector  Attempting to find version from .prototools files  tool="just"
[DEBUG 09:29:10.752] proto_core::version_detector  Detected version from .prototools file  tool="just" version="1.32.0" file="C:\\Users\\user2\\sdl\\.prototools"
[DEBUG 09:29:10.752] proto_core::tool  Resolving a semantic version or alias  tool="just" initial_version="1.32.0"
[DEBUG 09:29:10.753] proto_core::tool  Resolved to 1.32.0 (without validation)  tool="just" version="1.32.0"
[DEBUG 09:29:10.754] proto_core::tool  Checking if tool is installed  tool="just" install_dir="C:\\Users\\user2\\.proto\\tools\\just\\1.32.0"
[DEBUG 09:29:10.755] proto_core::tool  Tool has already been installed, locating binaries and shims  tool="just" install_dir="C:\\Users\\user2\\.proto\\tools\\just\\1.32.0"
[DEBUG 09:29:10.755] proto_core::tool  Locating executable for tool  tool="just"
[TRACE 09:29:10.756] warpgate::plugin  Calling plugin function locate_executables  id="just" plugin="03f9f3bf-ea1a-47ac-b27d-ee8f644b388c" input={"context":{"proto_version":"0.39.1","tool_dir":{"path":"/proto/tools/just/1.32.0","virtual_prefix":"/proto","real_prefix":"C:\\Users\\user2\\.proto"},"version":"1.32.0"}}
[TRACE 09:29:10.757] warpgate::plugin  Called plugin function locate_executables  id="just" plugin="03f9f3bf-ea1a-47ac-b27d-ee8f644b388c" output={"primary":{"exe_path":"just.exe"}}
[DEBUG 09:29:10.758] proto_core::tool  Found an executable  tool="just" exe_path="C:\\Users\\user2\\.proto\\tools\\just\\1.32.0\\just.exe"
[DEBUG 09:29:10.759] proto::commands::run  Running just  bin="C:\\Users\\user2\\.proto\\tools\\just\\1.32.0\\just.exe" args=["_shell-refresh"] pid=21476
[TRACE 09:29:10.761] starbase_utils::fs  Writing file  file="C:\\Users\\user2\\.proto\\tools\\just\\1.32.0\\.last-used"
proto upgrade
[DEBUG 2024-08-01 09:29:12.027] proto  Running proto v0.39.3  bin="C:\\Users\\user2\\.proto\\bin\\proto.exe" args=["upgrade"] shim="just" shim_bin="C:\\Users\\user2\\.proto\\shims\\just.exe" pid=13008
[TRACE 09:29:12.029] starbase::app  Running startup phase
[DEBUG 09:29:12.033] proto_core::proto  Creating proto environment, detecting store  store="C:\\Users\\user2\\.proto"
[TRACE 09:29:12.034] starbase::app  Running analyze phase
[TRACE 09:29:12.035] proto_core::proto_config  Traversing upwards and loading .prototools files
[DEBUG 09:29:12.035] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\sdl\\src\\tms\\.prototools"
[TRACE 09:29:12.036] starbase_utils::fs  Reading file  file="C:\\Users\\user2\\sdl\\src\\tms\\.prototools"
[TRACE 09:29:12.036] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:12.037] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:12.039] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:12.040] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\sdl\\.prototools"
[TRACE 09:29:12.040] starbase_utils::fs  Reading file  file="C:\\Users\\user2\\sdl\\.prototools"
[TRACE 09:29:12.041] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:12.041] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:12.042] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:12.043] proto_core::proto_config  Loading .prototools  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:12.044] starbase_utils::fs  Opening file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:12.044] starbase_utils::fs_lock  Locking file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:12.045] starbase_utils::fs_lock  Unlocking file  file="C:\\Users\\user2\\.proto\\.prototools"
[TRACE 09:29:12.045] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 09:29:12.046] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 09:29:12.047] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 09:29:12.047] proto_core::proto_config  Merging loaded configs
[DEBUG 09:29:12.048] proto_core::proto_config  Merged 3 configs
[DEBUG 09:29:12.048] proto_core::proto_config  Merging loaded configs without global
[DEBUG 09:29:12.048] proto_core::proto_config  Merged 2 configs
[TRACE 09:29:12.049] starbase::app  Running execute phase
[TRACE 09:29:12.049] starbase_utils::net  Checking for an internet connection  timeout=750
[TRACE 09:29:12.050] starbase_utils::net::offline  Resolving <IP_ADDRESS>:53
[TRACE 09:29:12.053] starbase_utils::net::offline  Resolving <IP_ADDRESS>:53
[TRACE 09:29:12.054] starbase_utils::net::offline  Resolving <IP_ADDRESS>:53
[TRACE 09:29:12.055] starbase_utils::net::offline  Resolving <IP_ADDRESS>:53
[TRACE 09:29:12.829] starbase_utils::net::offline  Resolving <IP_ADDRESS>:80
[TRACE 09:29:12.880] starbase_utils::net  Online!
[DEBUG 09:29:12.915] proto::helpers  Found latest version 0.39.4
[DEBUG 09:29:12.916] proto::commands::upgrade  Comparing target version 0.39.4 to current version 0.39.3
[DEBUG 09:29:12.917] proto::commands::upgrade  Download target: x86_64-pc-windows-msvc
[TRACE 09:29:12.918] proto_installer  Downloading proto release from https://github.com/moonrepo/proto/releases/download/v0.39.4/proto_cli-x86_64-pc-windows-msvc.zip  version="0.39.4" triple="x86_64-pc-windows-msvc"
──────────────────────────────────────────────────────────────────────────────── | 0 B / 19.85 MiB | 0 B/s | eta 0s     [TRACE 09:29:14.221] proto::commands::upgrade  Downloaded 0 of 20809450 bytes
[TRACE 09:29:14.223] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc.zip"
╾─────────────────────────────────────────────────────────────────────────────── | 16.00 KiB / 19.85 MiB | 12.22 KiB/s |
...
── | 317.50 KiB / 19.85 MiB | 15.33 KiB/s | eta 22m[TRACE 09:29:14.261] proto::commands::upgrade  Downloaded 325121 of 20809450 bytes
[TRACE 09:29:14.263] proto::commands::upgrade  Downloaded 341505 of 20809450 bytes

...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╾─ | 19.37 MiB / 19.85 MiB | 2.86 MiB/s | eta 0s[TRACE 09:29:16.218] proto::commands::upgrade  Downloaded 20313601 of 20809450 bytes
[TRACE 09:29:16.222] proto::commands::upgrade  Downloaded 20329985 of 20809450 bytes
[TRACE 09:29:16.224] proto::commands::upgrade  Downloaded 20346369 of 20809450 bytes
[TRACE 09:29:16.225] proto::commands::upgrade  Downloaded 20362753 of 20809450 bytes
[TRACE 09:29:16.225] proto::commands::upgrade  Downloaded 20379137 of 20809450 bytes
[TRACE 09:29:16.228] proto::commands::upgrade  Downloaded 20395521 of 20809450 bytes
[TRACE 09:29:16.229] proto::commands::upgrade  Downloaded 20411905 of 20809450 bytes
[TRACE 09:29:16.230] proto::commands::upgrade  Downloaded 20428289 of 20809450 bytes
[TRACE 09:29:16.231] proto::commands::upgrade  Downloaded 20444673 of 20809450 bytes
[TRACE 09:29:16.234] proto::commands::upgrade  Downloaded 20461057 of 20809450 bytes
[TRACE 09:29:16.234] proto::commands::upgrade  Downloaded 20477441 of 20809450 bytes
[TRACE 09:29:16.236] proto::commands::upgrade  Downloaded 20493825 of 20809450 bytes
[TRACE 09:29:16.237] proto::commands::upgrade  Downloaded 20510209 of 20809450 bytes
[TRACE 09:29:16.239] proto::commands::upgrade  Downloaded 20526593 of 20809450 bytes
[TRACE 09:29:16.240] proto::commands::upgrade  Downloaded 20542977 of 20809450 bytes
[TRACE 09:29:16.241] proto::commands::upgrade  Downloaded 20559361 of 20809450 bytes
[TRACE 09:29:16.242] proto::commands::upgrade  Downloaded 20575745 of 20809450 bytes
[TRACE 09:29:16.247] proto::commands::upgrade  Downloaded 20592129 of 20809450 bytes
[TRACE 09:29:16.249] proto::commands::upgrade  Downloaded 20608513 of 20809450 bytes
[TRACE 09:29:16.250] proto::commands::upgrade  Downloaded 20624897 of 20809450 bytes
[TRACE 09:29:16.251] proto::commands::upgrade  Downloaded 20641281 of 20809450 bytes
[TRACE 09:29:16.254] proto::commands::upgrade  Downloaded 20657665 of 20809450 bytes
[TRACE 09:29:16.256] proto::commands::upgrade  Downloaded 20674049 of 20809450 bytes
[TRACE 09:29:16.257] proto::commands::upgrade  Downloaded 20690433 of 20809450 bytes
[TRACE 09:29:16.258] proto::commands::upgrade  Downloaded 20706817 of 20809450 bytes
[TRACE 09:29:16.260] proto::commands::upgrade  Downloaded 20723201 of 20809450 bytes
[TRACE 09:29:16.262] proto::commands::upgrade  Downloaded 20739585 of 20809450 bytes
[TRACE 09:29:16.263] proto::commands::upgrade  Downloaded 20755969 of 20809450 bytes
[TRACE 09:29:16.263] proto::commands::upgrade  Downloaded 20772353 of 20809450 bytes
[TRACE 09:29:16.266] proto::commands::upgrade  Downloaded 20788737 of 20809450 bytes
[TRACE 09:29:16.266] proto::commands::upgrade  Downloaded 20805121 of 20809450 bytes
[DEBUG 09:29:16.267] proto::commands::upgrade  Unpacking download  archive="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc.zip"
[TRACE 09:29:16.268] proto_installer  Unpacking downloaded proto release  source="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc.zip" target="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc"
[TRACE 09:29:16.268] starbase_archive::archive  Unpacking archive  output_dir="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc" input_file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc.zip"
[TRACE 09:29:16.268] starbase_archive::tree_differ  Creating a file tree differ for destination directory  dir="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc"
[TRACE 09:29:16.269] starbase_utils::fs  Opening file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc.zip"
[TRACE 09:29:16.432] starbase_archive::zip  Opening zip  output_dir="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc"
[TRACE 09:29:16.436] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\CHANGELOG.md"
[TRACE 09:29:16.438] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\LICENSE"
[TRACE 09:29:16.440] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\proto-shim.exe"
[TRACE 09:29:16.442] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\proto.exe"
[TRACE 09:29:16.473] starbase_utils::fs  Creating file  file="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\README.md"
[TRACE 09:29:16.475] starbase_archive::zip  Unpacked 5 files
[TRACE 09:29:16.476] starbase_archive::tree_differ  Removing stale and invalid files
[TRACE 09:29:16.477] proto_installer  Relocating old proto binary to a new versioned location  source="C:\\Users\\user2\\.proto\\bin\\proto.exe" target="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\proto.exe"
[TRACE 09:29:16.478] starbase_utils::fs  Copying file  from="C:\\Users\\user2\\.proto\\bin\\proto.exe" to="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\proto.exe"
[TRACE 09:29:16.494] starbase_utils::fs  Writing file  file="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\.last-used"
[TRACE 09:29:16.495] proto_installer  Relocating old proto binary to a new versioned location  source="C:\\Users\\user2\\.proto\\bin\\proto-shim.exe" target="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\proto-shim.exe"
[TRACE 09:29:16.496] starbase_utils::fs  Copying file  from="C:\\Users\\user2\\.proto\\bin\\proto-shim.exe" to="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\proto-shim.exe"
[TRACE 09:29:16.499] starbase_utils::fs  Writing file  file="C:\\Users\\user2\\.proto\\tools\\proto\\0.39.3\\.last-used"
[TRACE 09:29:16.504] proto_installer  Moving unpacked proto binaries to the install directory  install_dir="C:\\Users\\user2\\.proto\\bin"
[TRACE 09:29:16.506] starbase_utils::fs  Copying file  from="C:\\Users\\user2\\.proto\\temp\\proto_cli-x86_64-pc-windows-msvc\\proto.exe" to="C:\\Users\\user2\\.proto\\bin\\proto.exe"
[TRACE 09:29:16.510] starbase::app  Running shutdown phase (because another phase failed)
Error: fs::copy

  × Failed to copy ~\.proto\temp\proto_cli-x86_64-pc-windows-msvc\proto.exe to ~\.proto\bin\proto.exe.
  ╰─▶ The process cannot access the file because it is being used by another process. (os error 32)
  help: Does the source file exist?

error: Recipe `_proto-init` failed on line 426 with exit code 1

Hrmm I'm not sure what the fix is here right now. When a process runs itself, self-upgrading (moving/copying the file) is possible, but it looks like it's not possible when spawned as a child process from something else. I'll need to research this a bit.

but it looks like it's not possible when spawned as a child process from something else. I'll need to research this a bit.

I don't need to (and probably shouldn't) automate proto upgrades the way I am doing now, via a proto shim just recipe. With this in mind, it's probably not necessary to spend much more time on this issue. If I do want to continue doing this via just, I could always install just outside of proto, which would prevent this kind of thing from happening.
In terms of the pinning behaviour, do you think it might be a bug that proto is Running proto v0.39.1, even though I have 0.39.3 installed and don't have it pinned in my .prototools file anymore?

@W1M0R
Based on the logs, it seems right if the pin exists somewhere. Pinning proto only applies to shims, so the just shim is inheriting proto 0.39.1. When just calls proto, that uses the global proto which is 0.39.3. You can see this in the middle of the logs.
Are you using proto activate by chance? If not, it may be a bug, I'll dig in.

Gonna close this as the original error seems to have gone away.


Add unit tests

Each public member or method of the ConsoleCanvas class should be covered by a unit test that

Calls the method with all the possible arguments
Calls the method with only the required arguments
Calls the method with each combination of required + optional arguments, using arguments positionally only
Calls the method with each combination of required + optional arguments, using named arguments
Verifies that the expected operation is performed on the backbuffer

https://github.com/NinovanderMark/ConsoleRenderer/pull/11


Restore is super slow when  not using key to create a s3 repo

Steps to reproduce the behavior (Required)
We use two ways to create the aws repo
first = `CREATE REPOSITORY %s
WITH BROKER
ON LOCATION "s3a://%s"
PROPERTIES(
    "aws.s3.use_aws_sdk_default_behavior" = "true",
    "aws.s3.region" = "%s"
);`

second = `CREATE REPOSITORY %s
WITH BROKER
ON LOCATION "s3a://%s"
PROPERTIES(
	"aws.s3.endpoint" = "s3.%s.amazonaws.com",
	"aws.s3.access_key" = "%s",
       "aws.s3.secret_key" = "%s"
);`

Expected behavior (Required)
The restore job should finish in the same time
Real behavior (Required)
The first one is much slower.
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()
3.0

A db of 0 B and 1900 replicants, using the second way, it took around 30 seconds, using the first it took 3 hours.

@srlch can you have a look please.


Begin migration to @reasonml-community/graphql-ppx, starting with client.execute* methods.

This PR beings to address #219. Thanks to @jfrolich and @jeddeloh for their ideas and help here 🙌
Summary
Now that the Reason community is beginning to coalesce around a standard (from what I can tell) for a GraphQL PPX rewriter, we want to ensure reason-urql is compatible with that standard. Because this process will lead to breaking changes, I'm planning to roll it into a v3 release alongside fixes for #220 and #206.
Major Changes
The major breaking changes in this particular PR involve those related to working with the graphql-ppx API. Fortunately the changes aren't that wild. Previously we'd do:
module LikeDog = [%graphql
  {|
  mutation likeDog($key: ID!) {
    likeDog(key: $key) {
      name
      breed
      likes
    }
  }
|}
];

let request = LikeDog.make(~key="12345", ());

Client.executeMutation(~request, ())
  |> Wonka.subscribe((. result) => {
    /* Handle result, error, etc. */
  });

The new API uses a feature of OCaml called first-class modules to allows us to use a graphql-ppx module almost like a regular variable. The new API looks like this:
module LikeDog = [%graphql
  {|
  mutation likeDog($key: ID!) {
    likeDog(key: $key) {
      name
      breed
      likes
    }
  }
|}
];

Client.executeMutation(~request=(module LikeDog), ~variables=LikeDog.makeVariables(~key="12345"), ())
  |> Wonka.subscribe((. result) => {
    /* Handle result, error, etc. */
  });

I like this quite a bit more! It would allow us to match urql naming a bit more closely as well by changing ~request to ~query if we like.
Drawbacks
I'm not sure if you'd necessarily call this a drawback, but this change does make the source less approachable for newcomers. Supporting graphql-ppx in this way requires the use of GADTs. Succinctly, GADTs allows us to specify the type of the output of a function based on the type of the input – a great way to handle polymorphism! However, they do take a bit of work to understand. Similarly, first-class modules require some ramping up on to get comfortable with (though I do think they are more approachable than functors)!
Next Steps
After this PR gets merged, we can begin moving the hooks APIs over to the use of first-class modules. When that is complete, we'll migrate urql to a peerDependency and complete the last steps of v3!

Nice!
With the extendQuery configuration in bsconfig.json you could simplify to:
module LikeDog = [%graphql
  {|
  mutation likeDog($key: ID!) {
    likeDog(key: $key) {
      name
      breed
      likes
    }
  }
|}
];

LikeDog.execute({key: "12345"})
|> Wonka.subscribe((. result) => {
    /* Handle result, error, etc. */
  });

// or even
LikeDog.subscribe({key: "12345"}, (. result) => {
  /* Handle result, error, etc. */
})

Using applied functors under the hood in the generated code but the user doesn't have to know :)

I don't understand where GATD's are used?

SOOOO excited for this landing!!!

@jfrolich GADTs are used here: https://github.com/FormidableLabs/reason-urql/blob/26fad3868de7e89d993fe4f28754514788a8e53e/src/Client.re#L234 It's opaque to the user, so the drawback I discuss is more for contributors – for users the experience is better from my perspective.
Since we need to correlate the type of Operation.t to the return type of the data after it's been parsed by clientResponseToReason, we need GADTs to help handle that polymorphism. I took this approach from reason-apollo-client, which does a very similar trick (and is a nice solution for handling polymorphism introduced by every GraphQL query / mutation having a different shape).
I think the LikeDog.execute API is a more controversial choice for us, and one I'll want to discuss with the urql core team. A major motivation we have for this project is to keep the APIs as similar as possible while also taking advantage of the benefits of Reason to improve the ergonomics. But the farther we get away from the core urql API the harder it is for us to keep releases synced and ensure users feel confident switching between the two. Hope that makes sense!

Hey, I think the name for that is locally abstract type. I wrote the early iteration of that heavily inspired by @fakenickels.
Totally understand the intention of staying close to the JS syntax. Just wanted to make sure you didn't miss this option.

Ah gotcha, thanks @jfrolich! Definitely will also keep the API extensions in mind as v3 develops here – it may be that we move towards that API-style a bit more, or provide an opt-in for users.


Switching format after an amount of time

I want to use the relative time, 'a minute ago', but after a couple of hours, I want to switch it to say `04:40 am'.

This would also be useful for the following use case, where I want to customize a formatted date and also include the relative timestamp.
Jan. 2020 (2 years ago)

The API could look like:
<Time format="MM. YYYY" display={({ relative, formatted }) => `${formatted} (${relative})`} />


Fix 401 Unauthorized race

This fixes an apparent race condition.  When using this module to
configure Keycloak 3.1.0, my puppet runs were previously failing about
50% of the time.
eg
Error: /Stage[main]/Main/Wildfly::Resource[/socket-binding-group=standard-sockets/socket-binding=proxy-https]/Wildfly_resource[/socket-binding-group=standard-sockets/socket-binding=proxy-https]: Could not evaluate: 757: unexpected token at '<title>Error</title>401 - Unauthorized'

Inserting a small sleep is ugly, but it works.  I suppose you could try to catch the 401 and retry, but that would be quite a bit more code.  Let me know if this is what you'd prefer.
Thanks,
Alex

Coverage decreased (-0.2%) to 74.438% when pulling 0fec251a4ddcfcd02813432f281b6f300a1ab567 on alexjfisher:fix_race into ea75c07a90949f2cd600167161debc3cb9d47893 on biemond:master.

Coverage decreased (-0.2%) to 74.438% when pulling 0fec251a4ddcfcd02813432f281b6f300a1ab567 on alexjfisher:fix_race into ea75c07a90949f2cd600167161debc3cb9d47893 on biemond:master.

Coverage decreased (-0.2%) to 74.438% when pulling 0fec251a4ddcfcd02813432f281b6f300a1ab567 on alexjfisher:fix_race into ea75c07a90949f2cd600167161debc3cb9d47893 on biemond:master.

Cool. Thanks, I remember having this piece of code a while ago, but it was removed.


emails: Make it obvious registering creates new org.

#17786.
Testing plan:
Checked the email looked OK in /emails for both creating realm and registering within an existing one. Both plaintext and html.

Oops, I now realise this email is sometimes sent for registering while not creating an organisation.

Fixed to only show new org message when creating realm.
Not sure if I should write a test case for creating realm?

@gilbertbw this looks great!  I think we already have existing test cases for new realm creation, so I'd consider just adjusting one of the existing tests in test_signup.py; RealmCreationTest is a good class to look at.
git grep outbox can find you examples of how to inspect the content of emails.  The right model might be to extend get_confirmation_url_from_outbox with optional parameters expected_strings and expected_subject and verify those properties on the email containing the confirmation links once we've found the email containing the confirmation link.

Merged, thanks @gilbertbw!


Add Dockerfile steps for Ubuntu 22.04(latest)

I want to run a self-hosted agent on Ubuntu latest i.e 22.04 using Docker but the required steps are missing for latest Ubuntu

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

ID: b31d4f6c-d16d-2ba1-1294-6aa94e328046
Version Independent ID: 88aec599-4410-697d-1002-1c41b1c17bb6
Content: Run a self-hosted agent in Docker - Azure Pipelines
Content Source: docs/pipelines/agents/docker.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-agents
GitHub Login: @steved0x
Microsoft Alias: sdanie

@dilippanwar1 -- Dilip, thank you for your feedback.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@steved0x -- Steve, please look into this issue.


How to include files like txt, csv, docx and xlsx in Typescript compilation output?

THE ISSUE TRACKER IS NOT FOR QUESTIONS.
DO NOT CREATE A NEW ISSUE TO ASK A QUESTION.

Tens of thousands of TypeScript questions have been asked and answered on StackOverflow; see https://stackoverflow.com/questions/tagged/typescript . You can ask questions there or on other websites.
The only exception is if you have a question about the TypeScript compiler API itself. Please post a complete example of what you're trying to do and precisely describe what your question is.

Duplicate of #15222
Duplicate of #30835


Q: is it possible to build lxd into the container?

Hi,
I´m wondering if you could build lxd into the container as 99% of my hosts are lxd containers, thus using lxd as ansible_connection
Thx

+1 on this - let me know!

I'm closing all issues on this repository as it has been deprecated; please see: https://github.com/geerlingguy/awx-container/issues/49


"Assets" folder does not get copied to build directory

Editor.exe crashes upon a clean build, after copying 'Assets' folder to 'release' directory problem is solved. This folder should be copied over upon build.

Hello! I haven't experienced this problem before so I'd like to know how you built and ran the editor? Did you clone the directory, open the solution in VS 2022 and then run from inside the development environment? Running the executable directly may be the cause of the issue. Once there's an official release someday it will be easier to run without the need of executing the editor through visual studio.

I was able to get the executable to run outside of Visual Studio after changing the location of a few directories. It seems like a lot of the file directories are relative to the solution file instead of the built .exe. I think refactoring your code to make it more directory agnostic would be a good step towards moving out of visual studio.
love the project btw, great work so far

I should add, the error I am getting is identical to #130

Thank you! Glad you like the project. I think I have some preprocessor commands that when built in Release mode it then looks for the Assets and other dependencies a bit differently. I'll have to check on that to make sure and then test out running the executable outside of VS since I never really do that.


Add Crunched Up by HammSlamm

Song Name
Crunched Up
Artist Name
HammSlamm
Source
Youtube
Youtube Link
UXZFpNgWu8U
Direct File Link
No response
Song ID
1126904
Start Offset [ms]
750
Extra
Created from Auto Nong.
Created for level: 80223427

accept


Introduce a project code formatter

[ ] Have you created an issue and used it in the commit message?
[X] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[X] Have you built the project locally prior to submission with mvn clean install?

Still pending an Eclipse code formatter, but I couldn't find how to convert this codestyle XML to Eclipse. Do you think it's worth pursuing it as we're the only maintainers so far and using Intellij?

get this in and format everything, if someone wants to use eclipse they can take the time to adjust there settings manually.


Corpus - build n-gram predictor using a language model

Corpus - build n-gram predictor using a language model
Get data from task #97 to build Bayesian filters, and n-gram predictors.

Dear Annamalai,
Could you please add me to your LinkedIn as my name is Gopalan Ketheeswaran.
Looking forward to have a connection with you.
Kind Regards,
Eesan
Sent from my iPhone

On 25 Nov 2015, at 04:35, Muthiah Annamalai<EMAIL_ADDRESS>wrote:
Corpus - build n-gram predictor using a language model
Get data from task #97 to build Bayesian filters, and n-gram predictors.
—
Reply to this email directly or view it on GitHub.


LICENSE file

I noticed that this repo and all of the repos in this organization are missing LICENSE files. Can you add those?

Done :ok_hand:


adding www.instamojo.com in the list

adding self hosted bug bounty programm.

Thank you Vipin, I've updated the PR as we need to add the root domain name of the company.


ACM ICPC Team

Problem Link :- https://www.hackerrank.com/challenges/acm-icpc-team/problem
Algorithm - Easy

I wish to do this in python

I will do it in java

Ok go for it @vikasahlawat228

I will do it in c++. pls assign

Can I do this in C++?

Can I provide it's python solution?

Please close this, issue covered in #373  and python solution is merged

Can I do it in Python?


Reading with the specified scheme does not work

Currently, reading with the specified scheme does not work. For example, we have a yt table where one of the columns is of the int type, and we want to immediately read it as a string.
How to reproduce:
val sourceDF = spark.read
.schema(schema)
.yt(cfg.source_yt)
Expected behavior:
When reading, you can immediately specify the desired scheme that you want to use.

if The logic is the same for reading yson, It would be great

The feature was added in the new 2.2.0 version. commit

@Alexvsalexvsalex Will this logic work with yson?


jsPdf page size not working in some devices.

I want to make a pdf in which the size of pages will be in the ratio of height and width of images.
doc.addPage(300,Math.floor(300*ratio));
doc.addImage("'"+pngUrl+"'", 'JPEG',0,0,200,200*ratio);
This method is working fine in my device.
But in certain devices the page size is not exactly that I wanted it is of the same size that I have chosen at the beginning i.e a4 size.
 var doc=new jsPDF('p','px','a4');
Please help me .
See my code at
https://prateek-chaubey.github.io/jpgtopdf/jpgtopdf.html

Sorry, but I don't fully understand your question. Could you please clarify what you mean, thanks.

Closing this because I don't think it's an issue of jsPDF.

@HackbrettXXX What is here that You are unable to understand.
I am just saying that the page size is not working in some devices.
I can send you some PDF to show that there is bug.

Ok, then please state on which devices the bug occurs and share a simple snippet that reproduces the issue.


Question: About usage of RandomAccessVectorValues in GraphIndexBuilder API

GraphIndexBuilder constructor requires a RandomAccessVectorValues reference and in javadoc it's defined as:

the vectors whose relations are represented by the graph - must provide a different view over those vectors than the one used to add via addGraphNode.

In GraphIndexBuilder.addGraphNode() method, second parameter is again a RandomAccessVectorValues reference.  Should this RandomAccessVectorValues instance be different from the one passed in constructor?
addGraphNode() call fails if the newly added node doesn't exist in the constructor RandomAccessVectorValues. In the examples, as far as I see, they are always the same instance.
I didn't exactly understand relation between these two RandomAccessVectorValues instances. Can you please add some explanation and/or docs for this?

Fixed in https://github.com/jbellis/jvector/pull/244


"Speed limits stuck at intersections" - user report

Looks like an issue with CSUR roads where speed limit tool not working on intersections (specifically the speed icon is shown but it is not interactive).

Video: https://www.bilibili.com/video/BV1JF411t7ZR/
Savegame: https://steamcommunity.com/sharedfiles/filedetails/?id=2765776220

I'm not sure but to me it looks like TM:PE shift thingy caused an infinite loop, it was reported and fixed some time ago, but Kian changed my lazy fix "abort collecting segments when already added" to math solution calculating angles etc, which still does not work.
I'll test and try to find what is wrong

It's a bug in GetNodeSegmentIds enumerator. Due to how CSUR roads are connected it can stuck in infinite loop. Normally it takes right segment in relation to a shared node each iteration and if the next one is equal to the initial segment it stops iteration, but.... on CSUR roads game can return the same segment as "right" asking for start or end node, so you will get segment X, then Y and then right from Y will be X...
To me it looks like a bug, either in vanilla or in CSUR.
GetRightSegment method is used in PF but each iteration is guarded with a counter check (less than 8).

i am going to check it out :)


Add vacancy stacked bar chart showing employment by industry

Done:

A stacked bar chart which shows industries where young people (broken down by age 16-19 and 19-24) and gender. May not show gender but good to see if it is interesting

https://www.nomisweb.co.uk/api/v01/dataset/NM_17_1.data.csv?geography=2092957697&cell=404422913...404422922,404423169...404423178,404423425...404423434,404423681...404423690,404423937...404423946&measures=20100

@ODILMichelle probably the same with this one - seems like a nice to have with everything else on. Thinking shall we close as not planned and come back to it if we can ?

I've taken it out of any planned sprints now cos I think you are right. Let's get the must haves cleared (and there are more than enough of them!)

Closing #195 as not planned.


How to build this?

I'm checking around the docs and scripts in package.json but I don't see how to build this project.

Same question


Create URL strategy for local development

Should be able to set a flag for local development in casconfiguration so the SDK doesn't point to production

This was completed with the creation of the pre-release branch and these three GitHub Actions.
https://github.com/Cryptographic-API-Services/cas-dotnet-sdk/tree/main/.github/workflows
First successful publish to nuget was 1.1.38.


Do not save passwords to the node object

Using an attribute for the root password encourages users of this cookbook to set their own root passwords at a higher precedence level, so they can be sure their attribute value is merged over the default attribute value.
default['mariadb']['server_root_password']              = ''

This means when they do a normal or node.set of the same attribute, it ends up being saved back to the chef server in plain text. This cookbook should support reading a password from a data bag, encrypted data bag, or node.run_state instead.

+1, putting passwords in data bags is required in many companies

After much thought I'm going to close this as won't fix.
The attribute is like that so you may choose to populate it however you like, whether it be plain text, data bag, encrypted data bag, chef-vault, hashicorp-vault, etc.  As you can see there is a number of options (and perhaps more in the future?) to load the attribute and it would add extra overhead to maintain all possible ways of doing so using this cookbook.
When the onus is on you to populate the value it is also your responsibility to delete the attribute. You can clean up the attribute following the example found here by creating a wrapper cookbook that resembles the following:
node.default['mariadb']['server_root_password'] = 'passw0rd'

include_recipe 'mariadb::<recipe>'

ruby_block 'delete-mariadb-attributes' do
  block { node.rm('mariadb', 'server_root_password') }
end

Internally at work we have a library that loads attributes and removes them at the end of a Chef run but it's not open source.  If it is made public I will update the README to include it.


errors at installation

When I run pip install pyskindose I get error messages:
ERROR: Could not find a version that satisfies the requirement pyskindose (from versions: none)
ERROR: No matching distribution found for pyskindose
I've tried both in a virtual environment and root. I don't know where to go from here. Assistance would be appreciated.

Hi @xraydoug,
We had been talking about getting around to publishing PySkinDose to pypi but hadn't gotten around to it.
Now I've published the latest version on the master branch to pypi so if you try again you should be able to install it by running pip install pyskindose. If that still doesn't work, please let me know and I'll see what I can do to find out how to fix taht.

Perfect. It installed without a hitch. Thank you for your huge effort in putting this together.
Doug

On Feb 8, 2022, at 2:45 AM, BwKodex @.***> wrote:
Hi @xraydoug https://github.com/xraydoug,
We had been talking about getting around to publishing PySkinDose to pypi but hadn't gotten around to it.
Now I've published the latest version on the master branch to pypi so if you try again you should be able to install it by running pip install pyskindose. If that still doesn't work, please let me know and I'll see what I can do to find out how to fix taht.
—
Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1032408975, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZS7A5FVDYOMRNZNX5LU2DQZZANCNFSM5NZHEPKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.

Great! Don't hesitate to contact us again. We would also love feedback, goo or bad, and suggestions on improvements.

Thanks. I would like to ask something that will demonstrate my underlying ignorance: how do I actually run the program? I’ve written a few Python programs, but nothing to this extent, and I’ve always had a “MyApp.app” that I could start it with. There is no “PySkinDose.py” file that I can find. I tried running main.py, which brought up some beautiful graphics, but would not let me interact with it, such as telling it what file to use. There’s nothing in a readme that explains the process that I can find. I’m excited to use the program, and I have a Siemens Axiom Artis case that I really need it’s capabilities for. Sorry to ask such a basic question.

On Feb 14, 2022, at 1:42 AM, BwKodex @.***> wrote:
Great! Don't hesitate to contact us again. We would also love feedback, goo or bad, and suggestions on improvements.
—
Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1038806189, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXTC4R2YD6GKW7H4U3U3C56JANCNFSM5NZHEPKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.

 You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg.
To get you going while waiting for the getting started guide I'll give you a few tips here :)
One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)
The main.py file can also be run with a file-path input as python main.py --file-path <path-to-rdsr-file>. If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=<path-to-rdsr-file>, settings=<your-settings>). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main
I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the noramlization_settings.py file should be measured specifically for each system.

Thank you so much! I’ll give that a try and let you know if I run into any difficulties. Thank you, also, for the reminder to put in local values in the normalization settings.

 You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg https://github.com/christoffergranberg.
To get you going while waiting for the getting started guide I'll give you a few tips here :)
One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)
The main.py file can also be run with a file-path input as python main.py --file-path . If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=, settings=). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main
I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the noramlization_settings.py file should be measured specifically for each system.
—
Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1039481670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXIPR3E2MSA5G4BZNLU3FLJBANCNFSM5NZHEPKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.

OK. A bit of feedback. It’s happily opening the RDSR, but I get the following:
xraydoug pyskindose $python main.py --file-path /Users/xraydoug/Desktop/REPORT_XXXXXX_XXXXX_XXX.SR.CARDIAC_CATH.0990.0990.2<IP_ADDRESS>.19.50.558473.50732094.SR
Traceback (most recent call last):
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 100, in
main(file_path=ARGS.file_path, settings=DEVELOPMENT_PARAMETERS)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 42, in main
data_norm = _read_and_normalise_rdsr_data(rdsr_filepath=file_path, settings=settings)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 83, in _read_and_normalise_rdsr_data
normalized_data = rdsr_normalizer(data_parsed)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_normalizer.py", line 150, in rdsr_normalizer
data_norm = append_normalization(data_parsed=data_parsed, data_norm=data_norm, norm=norm)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_normalizer.py", line 251, in _normalize_xray_filter_materials
if KEY_RDSR_FILTER_MATERIAL_COPPER in event_filter_materials:
TypeError: argument of type 'float' is not iterable
In order to be able to provide the RDSR to you, I anonymized the two instances of the patient name. However, when I do that I get the following:
xraydoug pyskindose $python main.py --file-path /Users/xraydoug/Desktop/REPORT_patient_test.SR.CARDIAC_CATH.0990.0990.2<IP_ADDRESS>.19.50.558473.50732094.SR
Traceback (most recent call last):
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 100, in
main(file_path=ARGS.file_path, settings=DEVELOPMENT_PARAMETERS)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 42, in main
data_norm = _read_and_normalise_rdsr_data(rdsr_filepath=file_path, settings=settings)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 80, in _read_and_normalise_rdsr_data
data_parsed = rdsr_parser(data_raw)
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_parser.py", line 40, in rdsr_parser
for rdsr_content in data_raw.ContentSequence:
File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pydicom/dataset.py", line 836, in getattr
return object.getattribute(self, name)
AttributeError: 'FileDataset' object has no attribute 'ContentSequence'
I’m not sure why it’s changing when all I’ve done is to edit two name instances (using Text Editor). I’ve attached the anonymized RDSR for your review. Please let me know if there’s anything else I can do or give you. Thank you so much.
 You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg https://github.com/christoffergranberg.
To get you going while waiting for the getting started guide I'll give you a few tips here :)
One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)
The main.py file can also be run with a file-path input as python main.py --file-path . If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=, settings=). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main
I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the noramlization_settings.py file should be measured specifically for each system.
—
Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1039481670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXIPR3E2MSA5G4BZNLU3FLJBANCNFSM5NZHEPKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.

Hmm.. The first error message seems to say that the filter material has been parsed as a float, which seems weird as it should have string values. How did you get the RDSR-files from the machine?
The second part seems to indicate that something else was changed in your anonymization. However, the files you tried to provide does not seem to be available. Did you try to email them? In that case, could you try to use the GitHub-interface and attach the RDSR there instead?

OK. I’ll open up an issue. The file is very odd, because I am certain that I only changed the patient name. No other edits were made. Perhaps the text editor added some special characters?
I’m not sure why the file didn’t come through, sorry, but I’ve attached it to the GitHub issue. I acquired it directly from the system, exporting it to a thumb drive.
Thanks for thinking about this.

On Feb 16, 2022, at 1:09 AM, BwKodex @.***> wrote:
Hmm.. The first error message seems to say that the filter material has been parsed as a float, which seems weird as it should have string values. How did you get the RDSR-files from the machine?
The second part seems to indicate that something else was changed in your anonymization. However, the files you tried to provide does not seem to be available. Did you try to email them? In that case, could you try to use the GitHub-interface and attach the RDSR there instead?
—
Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1041221354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZWMMGJ7ITKOWGMW3Q3U3NLUZANCNFSM5NZHEPKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.


New release system

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #2881
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[ ] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[ ] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[ ] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[ ] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

This should be ready to review. Copying release_workflow.md here as this PR's description -

Release workflow
rc0 releases (automated)

The update_version.yml workflow will run on every 1st of January, May and September, creating 2 PRs -

Incrementing the version to YY.MMrc0 by running scripts/update_version.py in the following files -

pybamm/version.py
docs/conf.py
CITATION.cff
vcpkg.json
docs/source/_static/versions.json

A PR from develop to main

The version PR should be merged into develop, and then the develop-to-main PR should be merged into main.

Once the tests pass, create a new GitHub pre-release with the same tag (YY.MMrc0) from the main branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a pre-release on PyPI.

rcX releases (manual)
If a new release candidate is required after the release of rc0 -

Fix a bug in main (no new features should be added to main once rc0 is released) and develop individually.

Run update_version.yml manually while using append_to_tag to specify the release candidate version number (rc1, rc2, ...).

This will create a PR incrementing the version to YY.MMrcX by running scripts/update_version.py in the following files -

pybamm/version.py
docs/conf.py
CITATION.cff
vcpkg.json
docs/source/_static/versions.json

The version PR should be merged into main, because merging it into develop would require merging develop into main, something we don't want (develop will have new features).

Once the tests pass, create a new GitHub pre-release with the same tag from the main branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a pre-release on PyPI.

Manually merge main back to develop if any conflicts arise.

Actual release (manual)
Once satisfied with the release candidates -

Run update_version.yml manually, leaving the append_to_tag field blank ("") for an actual release.

This will create a PR incrementing the version to YY.MM by running scripts/update_version.py in the following files -

pybamm/version.py
docs/conf.py
CITATION.cff
vcpkg.json
docs/source/_static/versions.json

The version PR should be merged into main, because merging it into develop would require merging develop into main, something we don't want (develop will have new features).

Once the tests pass, create a new GitHub release with the same tag from the main branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a release on PyPI.

Other checks
Some other essential things to check throughout the release process -

Update baseline of registries in vcpkg-configuration.json as the latest commit id from pybamm-team/sundials-vcpkg-registry
Update CHANGELOG.md with a summary of the release
Update jax and jaxlib to the latest version in pybamm.util and fix any bugs that arise
If building wheels on Windows gives a vcpkg related error - revert the baseline of default-registry to a stable commit in vcpkg-configuration.json
Make sure the URLs in docs/source/_static/versions.json are valid

Oh, I see, I missed incorporating a few points. I'll look into that. Thanks for the review!

New logic with the branch stuff below! Here are some links from my fork -

The v23.8 branch - this should be created automatically on scheduled runs
Commit updating the version to rc1 - this was created by manually running update_version.yml
Commit updating the version to v23.8 and a PR from 23.8 to main - this was created by manually running update_version.yml

rc0 releases (automated)

The update_version.yml workflow will run on every 1st of January, May and September, updating incrementing the version to YY.MMrc0 by running scripts/update_version.py in the following files -

pybamm/version.py

docs/conf.py

CITATION.cff

vcpkg.json

docs/_static/versions.json
These changes will be automatically pushed to a new branch YY.MM.

Create a new GitHub pre-release with the tag YY.MMrc0 from the YY.MM branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a pre-release on PyPI.

rcX releases (manual)
If a new release candidate is required after the release of rc0 -

Fix a bug in YY.MM (no new features should be added to YY.MM once rc0 is released) and develop individually.

Run update_version.yml manually while using append_to_tag to specify the release candidate version number (rc1, rc2, ...).

This will increment the version to YY.MMrcX by running scripts/update_version.py in the following files -

pybamm/version.py

docs/conf.py

CITATION.cff

vcpkg.json

docs/_static/versions.json
These changes will be automatically pushed to the existing branch YY.MM.

Create a new GitHub pre-release with the same tag (YY.MMrcX) from the YY.MM branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a pre-release on PyPI.

Actual release (manual)
Once satisfied with the release candidates -

Run update_version.yml manually, leaving the append_to_tag field blank ("") for an actual release.

This will increment the version to YY.MMrcX by running scripts/update_version.py in the following files -

pybamm/version.py

docs/conf.py

CITATION.cff

vcpkg.json

docs/_static/versions.json
These changes will be automatically pushed to the existing branch YY.MM.

Next, a PR from YY.MM to main will be generated that should be merged once all the tests pass.

Create a new GitHub release with the same tag from the main branch and a description copied from CHANGELOG.md.

This release will automatically trigger publish_pypi.yml and create a release on PyPI.

Other checks
Some other essential things to check throughout the release process -

If updating our custom vcpkg registory entries pybamm-team/sundials-vcpkg-registry or pybamm-team/casadi-vcpkg-registry (used to build Windows wheels), make sure to update the baseline of the registories in vcpkg-configuration.json to the latest commit id.
Update CHANGELOG.md with a summary of the release
Update jax and jaxlib to the latest version in pybamm.util and setup.py, fixing any bugs that arise
Make sure the URLs in docs/_static/versions.json are valid

There is also a draft PR for adding towncrier (https://github.com/pybamm-team/PyBaMM/pull/3278) that we would need to address before the next release, just a heads up

Thanks for the reviews, @agriyakhetarpal and @brosaplanella!

A gentle bump for a review on this, @martinjrobins. We would be able to test this new system if the PR is merged before 1st September.

Thanks, @martinjrobins!


The legend has an orientation depending on the displayed layer

It seems that the orientation of the legend is depending from the domain of the chroma object provided by the current displayed layer. As chroma provides the capability to invert a domain, the legend orientation is also inverted.
It should be always oriented from bottom to top with the lowest value of the domain at the bottom and the highest value at the top.

Closing this now


jalali support

hello Can you add Jalali calendar to this calendar? How much does it cost to add it?
For Example : https://github.com/farhadi/JalaliJSCalendar

十分感谢，邮件已经收到！


Can you share which datasets are used to pretrain BiT models?

I tried to attack BiT and ViT (both from timm pretrained imagenet-21k) by FGSM and I got different results from paper. I have no idea what differences are between this model and that situation.
I tried epsilon 0.1/255, 0.5/255, 1/255, 4/255, 8/255 and ViT does vulnerable than BiTM-101 but not BiTM-50.
Datasets: Neurips dataset
timm: https://github.com/rwightman/pytorch-image-models

Hi! Thank you for your interest in our work. Can you pleas clarify what dataset you are using, the specific model BiT or ViT model you are testing, and  which result you are trying to recreate from our paper?


Replace enum34 with enum-compat to allow use with Py3.6+

Use enum-compat instead of enum34 as dependency. enum-compat checks version and installs either enum34 for Python 2.7 - 3.3 or does nothing for 3.4+.

nice enhancement!


User see full obs wheel when they first sign up

Describe the bug
I made a new test account, and after I clicked "continue to iNaturalist" on the email confirmation screen, I saw the full obs wheel button instead of the AI camera button
To Reproduce
Steps to reproduce the behavior:

on fresh install, sign up for a new inat account
click "continue to iNaturalist" on the email confirmation screen
land on the home screen with this design
see the + button obs wheel instead of the AI camera

Expected behavior
The default state for all users, logged in, logged out, or signed up should always be AI camera on a fresh install of the app.
Context (please complete the following information):
Device: iPhone 13 Pro
OS: iOS 17.5.1
App version: 0.73.0 (103)

@abhasinat I wasn't able to replicate this with a fresh build, following the repro steps above. Do you have any additional steps or a video recording?

hmmm, i can't replicate this either but now I ran into an entirely different bug that I've never seen before - making a brand new account and then clicking "continue to inaturalist" logged me into my regular abhasm inat account on a fresh install.


Workflow Discussions

My current understanding of the workflow.
Working branch
flowchart TB
    working_branch["Working Branch (scope(topic): ...)"]
    main["main Branch"]
    issue["Issue covering the task"]

    review{"PR Review"}

    issue -- "link" --> working_branch

    working_branch --> review
    review --> |Approve| main
    review --> |Changes Requested| working_branch

Release
flowchart TB
    main["main Branch"]
    release["Release Branch (release/x.y.z)\nBump Version + Changelog + [Local]Create/Update Tag by commitizen"]
    tag["Push the Corresponding Tag Version"]
    approved(fa:fa-spinner)

    review{"PR Review"}
    publish["Publish Version"]

    release --> review

    review --> |Approve| approved
    approved --> main
    approved --> tag
    review --> |Changes Requested| release

    tag --> publish

The above workflow requires manual tagging as we have no automated tag creation. Maybe we automate the tag creation at some point. Then the workflow may become something like release branch merged -> create tag --> publish.

commitizen do create tags automatically as it bumps

commitizen does create tags automatically as it bumps

yep, that is what the workflow also suggests.

So the idea is that, as long as we don't git tag -a, it seems to be fine.

commitizen does create tags automatically as it bumps

yep, that is also what the workflow suggests, that we don't create tags by ourselves.

I was confused when I read the statement

The above workflow requires manual tagging as we have no automated tag creation.

My understanding is that commitizen creates tags automatically. The only manual things here are

creating a release branch
run cz bump

And I do not think we can essentially automate this further, either..

commitizen does create tags automatically as it bumps

yep, that is also what the workflow suggests, that we don't create tags by ourselves.

I was confused when I read the statement

The above workflow requires manual tagging as we have no automated tag creation.

My understanding is that commitizen creates tags automatically. The only manual things here are

creating a release branch
run cz bump

And I do not think we can essentially automate this further, either..

Ah, by manually tagging I mean we don't use Actions to automatically tags the commit. Manually means we have to run command by hand.

Not sure what is a good solution to this: https://github.com/kausalflow/hamilflow/pull/33#discussion_r1536787458
I guess the first thing to do is to protected the tags.

With this we limit who can push tags to remote.

Cross reference
#42


How to set similarity_threshold

Does this variable have a range? I think it would be [0,1], but in the following code, it was a very large number.
https://github.com/zilliztech/gptcache/blob/d730fde6326f56df360a2f276d321d5f12c4aecd/example/sqlite_faiss_towhee/sqlite_faiss_towhee.py#L24

This is related to the similarity evaluation algorithm. I think this range should be uncontrollable, because the connected similarity evaluation algorithm may generate large values, and there may also be negative numbers.

I think we should setup a rule.
By default everything should be changed to something between 0-1

if we use cosine similarity, by default it should be 0-1


[WIP] Demo rstudio package manager integration

Summary
Demo PR for experimenting with the new RStudio package manager R package binaries, see #925
(Known) open issues

[ ] implement cutoff date for switching from MRAN to RSPM

if I understand the test correct, it's failing because the snapshot date is very old (2017) and packagemanager.rstudio is not reliable - just need to switch back to MRAN before say 2020-06-01

Wah, I was just going to find and implement this. I think this is the way to go! Let's pick a cut-off date and be done.

I think this is superseeded by https://github.com/jupyterhub/repo2docker/pull/1104

As mentioned in the previous comment this is done in https://github.com/jupyterhub/repo2docker/pull/1104


61 volume pipeline

Description
Two main modifications in this PR
Pipeline to calculate number of docs per topic/domain/area per year (runs in about 20 minutes):
pipelines/app_tables/emergence_table.py
Builds emergence and alignment charts in horizon scanner
analysis/app/pages/1_Horizon_Scanner
to run app: streamlit run analysis/app/pages/1_Horizon_Scanner
Fixes #61

Oh, and I managed to run the app on my machine, no issues there.
It does looks like some of the time series are somewhat jagged - I guess because of duplicate topic names, so no action needed on this PR as far as I can tell.

Sounds good!
On Tue, 14 Mar 2023 at 11:32, emily-bicks @.***> wrote:

@.**** commented on this pull request.
In dap_aria_mapping/pipeline/app_tables/emergence_table.py
https://github.com/nestauk/dap_aria_mapping/pull/65#discussion_r1135403403
:

+from dap_aria_mapping import BUCKET_NAME, logger

+if name == "main":
+

logger.info("Loading patent data")
patents_with_topics = get_patent_topics(tax = "cooccur", level = 3)

logger.info("Transforming patent dictionary to polars df")
patents_with_topics_df = pl.DataFrame(

   pd.DataFrame.from_dict(patents_with_topics, orient='index'

   ).T.unstack().dropna().reset_index(drop=True, level=1).to_frame().reset_index())

patents_with_topics_df.columns = ["id", "topic"]

logger.info("Loading patent date data")
patent_dates = pl.DataFrame(get_patents()).select(

   ["publication_number", "publication_date"]

Hmm - maybe we should have this conversation on standup?
—
Reply to this email directly, view it on GitHub
https://github.com/nestauk/dap_aria_mapping/pull/65#discussion_r1135403403,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHDWGHN4EODEYD5TCDGRAE3W4BJLNANCNFSM6AAAAAAVUZ3LXI
.
You are receiving this because your review was requested.Message ID:
@.***>

--
*Karlis Kanders https://www.nesta.org.uk/team/karlis-kanders/ *(he/him)
Senior Data Foresight Lead
Nesta - Discovery Hub / Data Analytics Practice
--
58 Victoria Embankment
London
EC4Y 0DS
			www.nesta.org.uk

http://www.nesta.org.uk/ |					Twitter http://www.twitter.com/nesta_uk
|				 				LinkedIn
http://www.linkedin.com/groups?gid=1868227&goback=.gdr_1274367066783_1
|				 				Facebook
http://www.facebook.com/pages/NESTA/116788428355432?v=wall&ref=sgm
If
you no longer want to receive emails from Nesta, send an email to
@.*** @.>. This email and any
attachments are confidential and may be 				subject to legal privilege. Any
use, copying or disclosure other 				than by the intended recipient is
unauthorised. If you have 				received this message in error, please notify
the sender 				immediately or by email to				 				@.
@.***> and delete this message and any
copies from your computer and network. The views expressed in 				this
email are those of the author and do not necessarily 				reflect the views
of Nesta. Nesta is a company limited by 				guarantee and registered in
England and Wales with company 				number 7706036 and charity number
1144091. Registered as a 				charity in Scotland number SC042833.
Registered office: 58 Victoria Embankment, London, EC4Y 0DS.
--


Consultation about cooling tower blowdown stream

Hello, in the cellulosic model, cooling tower blowdown stream, chilled water package effluent and boiler blowdown stream do not seem to enter the wastewater treatment process, so could I consult you where do they eventually go? They do not seem to be considered in the calculation of TEA and LCA.

@yoelcortes, Hello, could you take time to look at this issue. Thanks for your help.


PlaywrightError for any URL

Hi,
I have scrapper properly installed, however whenever I try to run it using any URL, I get :
An error occurred. See the server log for more details.
PlaywrightError: Target page, context or browser has been closed

the logs only show HTTP/1.1" 500 Internal Server Error for the URL (any)
Unsure how to solve this one

restarted docker from clean and works again...


Toggle time slots sidebar?

is there any way to toggle the timeslot sidebar, cant find in docs

I'm not sure i understand what you mean by toggle. But if you mean to programmatically show/hide the timeslot sidebar, no there is currently no way to do that.


io.dropwizard.jetty.MutableServletContextHandler.requests metrics not accurate for async requests?

I am using dropwizard 1.0.2, and when trying to export some metrics on RESTful request endpoints.
One of the metrics used is io.dropwizard.jetty.MutableServletContextHandler.requests.
The metrics seemed correct for synchronously handled requests. But for requests that are handled asynchronously, the number reported is almost always around 1.5e9 (nano seconds), which is around 1.5 seconds, even if the responses got returned relatively quickly. Is there a way to configure/fix this?
Thanks in advance.

This was fixed in https://github.com/dropwizard/metrics/pull/1074 which landed in metrics 3.2.0, which is bundled in Dropwizard 1.1.0, so you will have to upgrade

@nickbabcock Thanks!


NIFI-12769 Updated copyright year to 2024 in NOTICE file headers

Summary
NIFI-12769
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

merged - thanks


Generate qualified Result type in derive

This prevents problems with generated code when there's an alias for a crate-specific Result type, i.e. type Result<T> = std::result::Result<T, MyError>.

Thanks!
Just out of sheer interest, how easy did you find it to go through the bincode_derive crate and figure out where you had to change things?

It was pretty easy to find, but honestly I didn't even have to go through the code, because a grep Result derive/src/* pretty much told me what to do :)


Add "test" library dependency on Chisel. Delete code copied from Chisel.

This will fail until ucb-bar/chisel3#196 is merged and published.

This introduces a dependency on chisel3. As we haven't yet published chisel3 3.0, this would require developers build and publish-local a version of chisel3. I realize this is only required for testing, so the circular dependency can be managed, but it does brings up a larger topic.
Chisel, firrtl, testers, and yet-to-be-developed tools, are really libraries. We should have a separate driver repo that "glues" them together into an application. This "driver" would be responsible for command line argument parsing, choosing backends, and configuring the various library components. Neither chisel nor firrtl should care about (or know) the consumer of their output.

I'm going to close this issue until the "Driver" solution has been implemented.


createOdspCreateContainerRequest should have an overload that takes parent item id instead of the parent path

createOdspCreateContainerRequest takes a string folder path and creates a fluid file under it. This can present an issue if users are relying on paths as they can be changed in case any folder along it is moved or renamed. ODSP recommends that OneDrive items are shared by their unique id which mitigates against issues like path localization or folder/file renaming and moving (they are even referenced when they're in the recycle bin).
It looks like the path value is used to construct the api URL at this point in the code where the API follows the pattern drives/[driveid]/items/root/:[destination_folder_path+filename]:/.
A possible solution that can include the destination folder path id is to use the API pattern of drives/[driveid]/items/[parentitemid]/:[filename]:/
An example URL is https://microsoft-my.sharepoint-df.com/_api/v2.1/drives/b!ZXhhbXBsZSBkcml2ZSBpZA/items/ZXHHBXBSZSBMAWXLIGLK/:testfile.fluid:/opstream/?last=1
I'm not sure if the opstream suffix may be required.
Note: b!ZXhhbXBsZSBkcml2ZSBpZA and ZXHHBXBSZSBMAWXLIGLK are not real id's, they're just used to help demonstrate.

@microsoft/fluid-cr-odsp FYI.

@comanea, I know it's an old issue, but I believe we discussed in other forums. We are not ODSP experts (and that's not where our expertise are), and every team has its own needs when it comes to storage interactions. So, we suggest teams interested in new features to propose draft PRs, ideally with 1-page describing why and how.


iOS Total canvas memory use exceeds the maximum limit

We are developing an application with multiple layers (raster images).
When I try to render our application on an Ipad if I try to display only tow layers and zoom in and zoom out i get 'Total canvas memory use exceeds the maximum limit (256 MB)'
I try with http://openlayers.org/en/latest/examples/canvas-tiles.html and i get the same error after zooming in and out some time.
I get the same result on my MacBook but it take more time because the limit is (2151 MB).
It's linked with the last webkit update -> https://github.com/WebKit/webkit/commit/5d5b478917c685e50d1032ccf761ca53fc8f1b74#diff-b411cd4839e4bbc17b00570536abfa8f
So is there a workaround ? (Using WebGL ? it's not really good with raster images. Limit cache size ?)
EDIT:
After some investigations it's seams linked with projection:
On this exemple -> https://openlayers.org/en/latest/examples/simple.html?q=simple I can move, zoom etc... when I check the safari dev console no other canvas are created.
But on this exemple -> https://openlayers.org/en/latest/examples/canvas-tiles.html all the canvas of the tile debug are created and make the app crash after some time.
So i think it's related with tiles reprojected.
Same with this exemple: https://codepen.io/unhurried/pen/KrKjKN if I move on the left map everything is fine but if I move on the right map there is a lot of canvas creation.

Internally, OpenLayers is caching the tiles in a TileCache with a default size of 2048 items.
This could explain why the canvas-tiles example crashes the browser. Is it better if you reduce the size ?
// ...
new ol.layer.Tile({
  source: new ol.source.OSM({
    cacheSize: 12
  })
})
// ...

It change nothing, the function seems to never get called (i put console log inside and nerver saw it) even with cacheSize: 12.

this.context_ contains CanvasRenderingContext2D, the code to set the size to 0 should be:
const context = this.context_[key];
context.canvas.width = context.canvas.height = 0;

Yes but this doesn't change the fact that this function is never called :confused:

@Farkal Then you're not saturating the cache. I've set a breakpoint in that function and it gets called very soon when navigating around in a vector tile map (e.g. the mapbox-vector-tiles example). It won't be called in the canvas-tiles example. For that one you'd have to patch things differently:
import Tile from `ol/Tile`;

const disposeInternal = Tile.prototype.disposeInternal;

Tile.prototype.disposeInternal = function() {
  if (this.canvas_) {
    this.canvas_.width = this.canvas_.height = 0;
  }
  disposeInternal.call(this);
};

Ok I found the problem with no saturation that was because I didn't set the projection for VectorTileSource (our server only serve EPSG:4326 tiles so didn't think I need to specify it).
So with the projection disposeInternal is raised in VectorImageTile.
Your code work for computer but no for the iPad. It work with one VectorTileLayer with cacheSize: 25. But I have 3 VectorTileLayer and when I add the others it's raise the limit (256Mo).
If I reduce cacheSize when i zoom and unzoom I get empty tiles.
I also get lot of random crashes that close my debug console on the mac so it's hard to debug (thanks Apple).
After more investigation I find the pixelRatio was 2 on the iPad and generate tile of 4Mo so i reduce it to 1 and get tiles of 1Mo. Then i could increase the cache size and display all my layers.
But it's much more laggy (than my vector implementation) and I still get random crashes :confused:

I also have this error on my iPad i tried to change the pixel ratio because on the iPad it is set to 2 and when I force it to 1 I can zoom and pan a little longer.
I’m using a WMS layer

Try the pixel ratio @NathanNovak

@jeroenvheel can you give me an example?

I have verified that the issue remains on OpenLayers 6.0.1 for iOS 12 and iOS 13. It's certainly better, but it's not gone.
We are experimenting with different cacheSize attributes and it does seem to have an effect, although it also makes the UI crappier.
I'm doing it experimentally at present, but perhaps one of the more knowledgeable OL devs can work out a ratio of tiles to canvas MB, so we can then work out the highest cacheSize for a given amount of RAM (e.g. 224M is your iPad Air or iPad Mini).

Why is this issue closed, i still have this issue, and once you run out of Canvas Memory you get alot of null reference errors and everything gets broken.

@Peter-Optiway We cannot work around this iOS limitation in the library any further. So what you have to do is put some extra effort into the layer organisation of your map. Use as few layers as possible at a time. Also make sure to use the latest version (v6.4.x), where we have reduced the default cacheSize even further than before. And don't set a custom cacheSize.

Hi @ahocevar thanks for your fast response, i managed to get access to a Mac and i think i found way to lower the amount of canvases for VectorTileSource and VectorTileLayer, it seems to create canvases for tiles that don't have any features on them, in my case 704x704 pixels and each of them eat 1.89 MB memory, and it seems about half of my tiles are empty.

@Peter-Optiway Setting the canvas width and height to 1 there sounds like a good change. Feel free to submit a pull request for that.
Regarding empty tiles handling, I think that would be tricky and add a lot of extra case handling in many places.

@ahocevar I still have problems with ImageLayer and TileLayer on my iPad (iOS 12 and Safari 12.5). I noticed that in classes ol/reproj/Image.js and ol/reproj/Tile.js there is a disposeinternal method, so I tried to dispose the canvas in that method but I obtain an error at runtime, because the canvas is used somewhere even if the Image has been disposed.
Therefore I avoided to dispose the canvas but I just set the size to 0. All runtime errors disappeared, my iPad is happy. but when I pan or zoom in the map my image service disappears while loading the new image.

I rewrote our entire vector layer handling to only use one OLLayer, this solves the issue more or less, we still get canvas errors but they are almost non existent.
One major drawback is that when one "layer" changes all vectors has to be redrawn...

@Peter-Optiway  My problem is about ImageLayer. In my opinion there is a memory leak about canvases not released correctly.
I believe further investigation by the developers is needed. I don't have enough experience in OpenLayers source code.

@Peter-Optiway We cannot work around this iOS limitation in the library any further. So what you have to do is put some extra effort into the layer organisation of your map. Use as few layers as possible at a time. Also make sure to use the latest version (v6.4.x), where we have reduced the default cacheSize even further than before. And don't set a custom cacheSize.

I apologize for my insistence but I think the question should be reopened because there is room for improvement.
As mentioned before, I modified the source code of ol/reproj/Image.js and ol/reproj/Tile.js and disposed the canvas in the method disposeinternal. The result is that on iPad the error about memory use limit disappeared.
The problem is that I don't have enough knowledge of ol source code, so I don't know how to apply code changes in the right way.
I hope some developers can take my suggestions into account.

You are right, this is a known issue with image layers, that was introduced with v6. See #9578.

@mfacca Regarding disposal of canvas ol/reproj/Image and ol/reproj/Tile, we'd appreciate a pull request. You could even apply the changes directly inside GitHub, using "Edit" when viewing the respective file.

@mfacca Regarding disposal of canvas ol/reproj/Image and ol/reproj/Tile, we'd appreciate a pull request. You could even apply the changes directly inside GitHub, using "Edit" when viewing the respective file.

Thank you very much for your reply. As I mentioned before, if I dispose the canvas I obtain an error at runtime because somewhere it is used even if it is disposed. If I set the size to zero all errors disappears but wher I pan or zoom the map the image disappears unteel it is reloaded. And I can't go any further. I hope someone who has a better understanding of ol source code can help.
In the meantime I will study the source code, maybe I can correctly make the necessary changes.

Hello, I am experiencing the same problem with the latest version of OL 6.12.0. Has anyone found a solution ?

Hello everyone,
WebGL raster image renderer seems to work well even with multiple image and vector layers. See my reply in #12908 issuecomment-1023572875
I still don't know what is the root cause for the crash with the raster tile layer. Maybe it is memory issue after all?

After several days of testing I have found a workaround to try to always keep the canvas memory below its maximum limit to avoid rendering problems in the VectorTile layers, I have created a pull request here:
https://github.com/openlayers/openlayers/pull/13321


Relationship of this project to aws-ddk?

How does this project relate to aws-ddk? If there is alignment in both project's goals, don't you think it is better to merge efforts into a single project that eventually becomes better than both?

DDK is a great project but I don't think we are sharing the same goals. I see DDK as an abstraction to build data pipelines. It simplifies a lot the pipelines implementation with a composable approach but the result will be a data pipeline.
On the other side, DSF aims to simplify all the layers of data solutions from storage to compute, governance and consumption. We have a strong focus on automating and simplifying the infrastructure and all the tasks you would need to set it up. The result will be a data platform.
At the end, because DSF exposes all the resources that are created, you can still mix DDK and DSF. They can be complementary.


Add friendly web URL external to GitHub

The list would be more consumable if it was outside of GitHub. e.g. vscode's list has: https://viatsko.github.io/awesome-vscode/
We could consider a dirt cheap domain and something like www.awesomeoci.? to make it a bit more professional, where the TLD could be whatever is cheapest. I've seen domains sometimes for $1 or $2.
Just need to decide on a nice layout.

@fuzziebrain You started to mention this to me a while back.

Enabled GitHub pages for this repository.


Add upgrade note regarding virtual environments (#3105)

Pull request opened by the merge tool on behalf of #3105

Merged into branches master in 69f1c39aecc08b50fb82cbbef001f24f94dd4f0e