bug: Router links don't navigate when ion-segment-buttons are clicked on mobile devices

Bug Report
Ionic version:
[x] 5.x
Current behavior:
When viewing clicking on a ion-segment-button which has a routerLink attribute, you are not navigated to the router link provided when using the Chrome mobile device preview mode or a physical device.
Oddly enough the page navigates as expected when clicked if you are using a normal browser window (and not the device mode). Also I was able to get the navigation to work by tabbing to the segment I want and hitting enter.
Expected behavior:
Clicking the ion-segment-button takes you to the route defined in the ion-segment-button routerLink
Steps to reproduce:
I have a sample app reproducing the issue.

Go to http://localhost:8100/tabs/tab1
Click on segment 1 (expected to navigate to http://localhost:8100/tabs/tab1/seg1)
Click on segment 2 (expected to navigate to http://localhost:8100/tabs/tab1/seg2)

Related code:
https://github.com/wontondon/ion-segment-routerlink-issue
<ion-segment>
    <ion-segment-button routerLink='/tabs/tab1/seg1'>
      <ion-label>Segement 1</ion-label>
    </ion-segment-button>
    <ion-segment-button routerLink='/tabs/tab1/seg2'>
      <ion-label>Segement 2</ion-label>
    </ion-segment-button>
  </ion-segment>

Other information:
I thought it might be related to #20381 which was fixed by https://github.com/ionic-team/ionic/pull/20522. This also has similar symptoms to #20466. It's possible this is a dupe, but I tried some of the newer dev builds 5.1.0-dev.202002272138.c1d7bf2 and I was still able to reproduce this issue.
Ionic info:
Ionic:

   Ionic CLI                     : 6.1.0 (/Users/xxx/.nvm/versions/node/v10.16.3/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.0.4
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.2.0

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   NodeJS : v10.16.3 (/Users/xxx/.nvm/versions/node/v10.16.3/bin/node)
   npm    : 6.11.3
   OS     : macOS Catalina

Thanks for the issue. Can you try the following dev build and let me know if it resolves the issue?
npm i<EMAIL_ADDRESS>

@liamdebeasi looks like its working now. Thanks!

Thanks for the issue. This has been resolved via https://github.com/ionic-team/ionic/pull/20682 and will be available in an upcoming release of Ionic Framework.


clientv3, ctl3, clientv3/integration: add compact response to compact

/cc @mqliang @gyuho @xiang90

lgtm. defer to @xiang90
Thanks.

This lgtm

lgtm


Set up github actions with tests for each supported python version

We currently use circleci, but it's far simpler to just use github actions.
Keeping both is fine. We just need to upgrade the circleci enviroment

Spawned from #124

Tests run with pytest and flake8 on push with github actions using python 3.5, 3.6, 3.7, 3.8 and 3.9


When I run STIT it changes the actor's face like i intended to but removes the hands completely.
Is there a way to keep the hands exactly in place and change the face just where you can see it?

Roto and composite in post. STIT doesn’t handle occlusions well.
On Sat, 20 May 2023 at 07:53, galmizush @.***> wrote:

I have a video in which the actor is moving his hands in front of his face.
When I run STIT it changes the actor's face like i intended to but removes
the hands completely.
Is there a way to keep the hands exactly in place and change the face just
where you can see it?
—
Reply to this email directly, view it on GitHub
https://github.com/rotemtzaban/STIT/issues/47, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACMME5SLMXP6NC35LDYKA3XHBS7TANCNFSM6AAAAAAYIRYO6M
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Kind regards
Gareth Wright

it's difficult to go over every frame and bring back the hands.
I tried to do it with photoshop and it took me a couple of minutes just for one frame, not to mention you have to select only specific areas of the hands depending on the frame.

You need to use Adobe After Effects and the roto brush mate.
That will make short work of it.
On Sat, 20 May 2023 at 19:21, galmizush @.***> wrote:

it's difficult to go over every frame and bring back the hands.
I tried to do it with photoshop and it took me a couple of minutes just
for one frame, not to mention you have to select only specific areas of the
hands depending on the frame.
—
Reply to this email directly, view it on GitHub
https://github.com/rotemtzaban/STIT/issues/47#issuecomment-1555966220,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACMME2PTWKM64IQBICEFCLXHEDRHANCNFSM6AAAAAAYIRYO6M
.
You are receiving this because you commented.Message ID:
@.***>

--
Kind regards
Gareth Wright

thanks.
There is another problem when in some of the pictures with objects in front of the head, the python script doesn't recognize a face and return and error because of that. Is there a way to fix this? All I need is that the script will be able to predict a face from previous or next frames and change only the visible part of the face.

https://www.youtube.com/watch?v=h6Sw1ltQKiA&ab_channel=NerdyRodent


Add license file

package.json indicates an MIT license but there is no license file in the repos.


[BugFix] Fix ORC still do late materialize even no active slots existed

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Problem Summary(Required) ：

This PR fixes the runtime filter's predicates that may not work on the partition column in ORC reader.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

@Mergify backport branch-3.0 branch-2.5

@Mergify branch-2.4 branch-2.3

@mergify backport branch-2.5-tbds branch-2.4 branch-2.3


Update CI pipeline to also build and push a docker image.

Our team would like to add a step to the CI pipeline to build and push a docker image to the public docker hub pages. We propose to push the image under our IDLab Services organization on docker hub for now.
This will only be temporary until we have a clear answer where it should eventually be pushed to (#728).
The change should be pretty straightforward. We plan on adding the job after the integration tests job.
This change will allow for an easier docker setup experience (#1053) , and will pave the way for docker-compose setups and a kubernetes helm chart (#1051), to which we are also contributing.
For now we propose building a specific version tag and an up to date latest tag.
Any thoughts on this?

@RubenVerborgh Now that the docker hub solidproject organization is in our hands. Could I be granted access to it, that way I can update the ci pipeline to push the image. (docker username: tdupont [link])
I propose the following tag strategy:
Tag: v*
This will trigger when the current pipeline triggers (which is on the v* regex). This way there is a fixed tag for each github released version.  (Important for deployments in the field.)
Tag: latest
This will always be the latest git tagged v* version.
Tag: dev/snapshot
This can be handy for active development when you want to test a latest change that is not released yet.
Two options here:

This is built and pushed on each git push, thus representing the latest state of the main repository branch (potentially a lot of building and pushing, but will always overwrite the previous image on the docker repo, so no image spam)
This is built and pushed on a nightly (or other?) schedule, thus representing the midnight state of the main repository branch (might be annoying if you want to use a docker image of latest pushed changes younger than 24hours)
Question: What is the preference for naming of this tag: dev or snapshot or ??? ?

Thanks, @Falx!

Question: What is the preference for naming of this tag: dev or snapshot or ??? ?

I would do dev, but please go for whatever is common / you think fits best.

After discussion with @joachimvh this tag would also be added:
Tag: next
Will tag the latest commit/push of the branch preparing the next version. Right now this is versions/3.0.0.

Done in #1121


occasionally raise Exception: too many values to unpack (expected 2) and 'NoneType' object is not iterable

Describe the bug:
occasionally raise Exception: too many values to unpack (expected 2) and 'NoneType' object is not iterable

To Reproduce
can not reproduce, it happen occasionally
Environment (please complete the following information)

OS: Ubuntu 28.04

Python version: 3.7.5

Framework and version: flask 1.1.1 flask-sqlalchemy	2.3.2

Agent version: 5.8.1

Agent config options

Click to expand
    ELASTIC_APM = {
        "SERVICE_NAME": f"we-work-server_{RUN_ENV}",
        "SERVER_URL": "",
        "ENABLED": True,
        "DISABLE_SEND: False,
        "RECORDING": True,
        "INSTRUMENT": True,
        "ENABLE_DISTRIBUTED_TRACING": True,
        "USE_ELASTIC_TRACEPARENT_HEADER": True,
        "CLOUD_PROVIDER": False,
        "INSTRUMENT_DJANGO_MIDDLEWARE": False,
        "AUTOINSERT_DJANGO_MIDDLEWARE": False,
        "SERVICE_VERSION": os.getenv("CODE_RELEASE_VERSION", None),
}

requirements.txt:

Click to expand
    attrs==19.3.0
    celery==4.4.6
    certifi==2019.11.28
    cffi==1.13.2
    chardet==3.0.4
    crcmod==1.7
    cryptography==2.8
    flasgger==0.9.3
    Flask==1.1.1
    Flask-Redis==0.3.0
    Flask-SQLAlchemy==2.3.2
    greenlet==0.4.14
    idna==2.8
    importlib-metadata==1.2.0
    itsdangerous==1.1.0
    Jinja2==2.10.3
    jmespath==0.9.4
    jsonschema==2.6.0
    lxml==4.4.1
    MarkupSafe==1.1.1
    mistune==0.8.4
    more-itertools==8.0.1
    pybase64==1.0.1
    pycodestyle==2.5.0
    pycparser==2.19
    pycryptodome==3.8.2
    PyMySQL==0.8.1
    pyrsistent==0.15.6
    pytz==2019.3
    PyYAML==5.1.2
    redis==3.3.11
    six==1.13.0
    specs==0.0.0
    SQLAlchemy==1.2.8
    typing-extensions==<IP_ADDRESS>
    urllib3==1.25.7
    uWSGI==2.0.18
    vine==1.3.0
    Werkzeug==0.16.0
    xmltodict==0.11.0
    zipp==0.6.0
    xlrd==1.2.0
    pyzbar==0.1.8
    Pillow==7.1.1
    urlextract==0.14.0
    elastic-apm==5.8.1
    sentry-sdk[flask]==0.15.1
    arrow==0.16.0
    sqlparse==0.3.1
    elasticsearch==7.9.1
    pydantic==1.6.1
    apispec==3.3.2
    marshmallow==3.7.1
    python-socketio==4.6.0

Apologies for our late reply here. The holidays and all that. I'm going to take a look at this.

Apologies for our late reply here. The holidays and all that. I'm going to take a look at this.

@wangjiancn I think I've tracked down the source of the 'NoneType' object is not iterable errors.
Can you show me the rest of the stack trace from the ValueError: too many values to unpack please? It's very helpful to see the calling code path so I can see where the weird values may be coming from. The second screenshot has those additional lines of context in the bottom third, that's what I'm looking for from the first screenshot.

@wangjiancn I think I've tracked down the source of the 'NoneType' object is not iterable errors.
Can you show me the rest of the stack trace from the ValueError: too many values to unpack please? It's very helpful to see the calling code path so I can see where the weird values may be coming from. The second screenshot has those additional lines of context in the bottom third, that's what I'm looking for from the first screenshot.

@wangjiancn If I don't hear from you in the next week I'm going to submit my fix in #1012 and close this issue.


Syntax highlighting fails and breaks the formatting when hovering over nav

🐛 Bug Report
Prerequisites

[x] I'm using the latest version of Docusaurus.
[x] I have tried the npm run clear or yarn clear command.
[x] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io
[x] I have read the console error message carefully (if applicable)

Description
The highlighting and formatting of code blocks breaks when I hover over the top right menu items.

This happens on all pages containing a code block.
Demo: https://docs.talon.one/docs/dev/getting-started/overview/
The console doesn't report any error.
Have you read the Contributing Guidelines on issues?
yes
Steps to reproduce

Go on a page that contains a code block.
hover over the top right menu items.

Expected behavior
The code blocks remain the same.
Actual behavior
Hovering over the menu breaks the codeblocks.
Your environment

Public source code: No but I can share whatever you need.
Public site URL: https://docs.talon.one/docs/dev/getting-started/overview/
Docusaurus version used: 2.0.0-beta.5
Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): tested on Firefox and Brave
Operating system and version (e.g. Ubuntu 20.04.2 LTS): -

Package.json dependencies
"dependencies": {
    "@docusaurus/core": "^2.0.0-beta.5",
    "@docusaurus/preset-classic": "^2.0.0-beta.5",
    "@docusaurus/theme-search-algolia": "^2.0.0-beta.5",
    "@mdx-js/react": "^1.6.22",
    "@svgr/webpack": "^5.5.0",
    "antd": "^4.9.4",
    "clsx": "^1.1.1",
    "core-js": "^3.8.1",
    "docusaurus-gtm-plugin": "^0.0.2",
    "docusaurus-plugin-sass": "^0.1.14",
    "file-loader": "^6.2.0",
    "https-browserify": "^1.0.0",
    "mobx": "^6.0.4",
    "path-browserify": "^1.0.1",
    "prism-react-renderer": "^1.2.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "redoc": "^2.0.0-rc.48",
    "redocusaurus": "^0.4.5",
    "sass": "^1.32.13",
    "styled-components": "^5.2.1",
    "url-loader": "^4.1.1"
  },

Let me know if you need extra information.

There is a console error when hovering those links (as Docusaurus fetch the linked page bundles on hover):

Uncaught (in promise) TypeError: Cannot set property 'triple-quoted-string' of undefined

Note: your target pages are totally inaccessible due to the same console error:

https://docs.talon.one/management-api/
https://docs.talon.one/integration-api

I suspect some of those pages is using scala code-blocks, for which you need to add java+scala languages in prism additional languages.
prism: {
  additionalLanguages: [
    'java',
    'scala',
  ],
},

May be related to: https://github.com/facebook/docusaurus/issues/5013

Well done 👍  I do not use scala anywhere, but your suggestion fixed it.
Thanks a lot for the quick and quality answer. Greatly appreciated 👍

Somehow I can't get the same error as you mentioned and the issue still occurs.
I'm seeing:
Error in parsing value for ‘position’.  Declaration dropped.
Error: Promised response from onMessage listener went out of scope 2 ExtensionMessagingService.js:89:34
How can I get more info on where the issue is exactly? Also why would an issue on another page breaks the formatting of the displayed page?

@ArthurFlageul when you hover a link, we load the JS bundle of the targeted page as an optimization. This JS bundle might interfere globally in the JS runtime in some way (for example if the target page use libs which use singleton variables, like Prism seems to do).
I can't tell you where these errors come from but they don't seem related to Docusaurus.
I suspect your formatting error is actually not related to such errors, but rather because this is not valid JSON:
 "effects": [ {   "campaignId": 377,   "rulesetId": 1096,   "ruleIndex": 0,   "ruleName": "25% off",   "effectType": "setDiscount",   "triggeredByCoupon": 97534,   "props": {     "name": "25% off",     "value": 66.25 }

Prism might have different behavior when running in Node and Browsers. I suggest using valid json and add extra {} and see what happens. Also worth looking at what happens locally when rendering this code block with docusaurus start (which is always client-side rendered).

Continuing the conversation about the issue raised in the Prism repo.  Adding {} doesnt fix this issue. It also seems that invalid content in code blocks doesn't bother Prism:

According to the comments in the Prism issue, the displayed page's code blocks is re-highlighted when we hover over links in Docusaurus.

If this is true, then I suspect that preventing a re-highlighting in Docusaurus would fix the problem. Is this something worth looking into?

Could it be related to the plugin system? I use Redocusaurus to display the API docs linked in the top nav.

@ArthurFlageul I'm encountering the same issue as you with collapsing code blocks. One key difference is that hovering over links doesn't trigger the collapse like it does with your docs. For me, it appears to occur "randomly". For example, sometimes it happens while just looking at the page. Other times it happens while scrolling.
As a side note, I also use Redocusaurus (not sure if that has anything to do with it though).
Have you been able to make any headway into identifying the root cause/solution?

Hi @drichards-87, thanks for your comment, it's reassuring to see I'm not the only one 😆
I haven't been able to investigate much more but I'm still thinking it's related to the plugin system. Maybe we re-render the current page on pre-rendering a plugin-managed page and that could be avoided?
My knowledge of frontend is very limited, I don't think I could easily understand what Docusaurus or Redocsaurus does... 😞

I'm reopening this as I don't really know what the best approach would be. There's a mention of fixing the issue in Docusaurus. See this comment.

Now I don't see any error messages while reproducing the bug. Are you using the latest beta.9 @ArthurFlageul? There were a few changes around CodeBlock since beta.5, not sure if they would make a difference

yes, please try beta.9, we have fixed some React hydration problems and this bug may be fixed as a side-effect

I still get same problem 😬

in my opinion main problem lays down in prism react plugin, in current (as is) implementation, styles are injected at runtime instead using css for it,
what do you guys think about removing runtime from it completely? and use css for colors?
that could fix some additional issues with highligting not working without js
css file: https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/themes/prism-dark.css
this task is going to require us to process this file / import it conditionally on user config to add support for dark/light theme, but that shouldn't be a big issue

this is just an idea:
prism-react-renderer seem a little outdated and not maintained, maybe we could change it to use refractor
if we need it at runtime react-syntax-highlighter
if we don't need it at runtime @mapbox/rehype-prism

Another thing we need to consider is that react-live-editor uses Prism under the hood to achieve the consistent appearance as the plain code block.

@ArthurFlageul it's quite hard to debug given the customizations you've made and the unavailability of source code. I'm getting "embedded form not loaded" log when I check the website, which I suspect comes from a client module you are using. It's also highly likely that redocusaurus is breaking your site because it does do magic on client side.


Importing and Exporting in WebAssembly

First of all, some introduction to the problem.
A Wasm Module can import and export functions and global variables. There are some other entities like tables and memories, but those aren't common and I won't focus on them.
A function signatures receive a tuple of integers/floats as arguments and returns a tuple of integers/floats as well. When importing them, they need a name and a module name. A wasm module defines many functions, some of them may be marked as exported, those must be named. Globals follow a similar logic to functions, but they are a single integer/float instead of a callable.
A compilation unit (or object file) is like a mini wasm module that the linker will work on. Its work is to merge all of them into a single wasm module. It does so in the following way:

For every imported function from the "env" module, it finds some exported function of the same name and match them. The signature must be identical.
Every other import from modules of some other name remain as is and will be imports on the final wasm binary.
All exports except the ones mentioned in the linker command line are removed. After all most of them are only meant for linking of internal functions. By default a function named _start is exported if it exists.

We can look for wasi-libc as an example of this. It imports the Wasi functions from "wasi_snapshot_preview1" and exports many of the standard functions of libc. Crystal then imports those functions from "env" and the linker connects the two. Libpcre imports libc functions from "env" and exports its functions and so on.
For exporting a function on the final wasm module, its name needs to be specified as a cli flag to the linker.
Crystal currently imports only the wasi functions via wasi-libc and exports only _start, defined either with adding wasi-libc's crt1.o to the linker or by #11936. But there is need to both import and export functions on different scenarios.
A wasm program can either behave as a "command" or a "reactor".
A command program has an exported function that serve as an entrypoint. It is the only exported function and it will be called only once by the runtime. These programs starts, runs, and finishes. For Wasi this function is called _start, but it may be named differently outside Wasi.
Now reactor programs are a little different, they may export any number of functions, where one of them serves as the initialization and is invoked once by the runtime before any other. After that the other exported functions can be invoked any number of times. This is commonly used for plug-ins.
In any of these scenarios, the program may import functions provided by the runtime. Wasi-compliant runtimes (like wasmtime or wasmer) will expose the wasi standard functions, but other runtimes may expose any set of functions to be imported by the wasm module, this is also relevant for plug-ins.
This Crystal needs two functionalities to be able to fully support this:

Importing functions and globals from the runtime (from a module other than "env")
Marking some functions as explicitly exported. Those will be added to the linked flags when generating the linker command.

Importing
Rust has a wasm_import_module key on the link attribute:
#[link(wasm_import_module = "foo")]
extern {
    // …
}

Docs: https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute
Original issue: https://github.com/rust-lang/rust/issues/52090
I propose we use the same notation for Crystal:
@[Link(wasm_import_module: "wasi_snapshot_preview1")]
lib LibWasi
  fun random_get(buf : Int32, len : Int32) : Int32
end

This should apply to both functions and globals defined inside the lib.
See #11935 for a possible implementation of this.
Exporting
Rust uses the following notation to mark a function as explicitely exported:
#[no_mangle]
pub extern "C" fn add(left: i32, right: i32) -> i32 {
    left + right
}

We don't have a Crystal equivalent, so I suggest adding an annotation that can be applied to fun functions, something like this:
@[WasmExport]
fun add(left : Int32, right : Int32)
  left + right
end

It would have the effect of modifying the link command for wasm. Nothing needs to change on the LLVM output.

When compiling to native binaries, all fun methods are exported as symbols. Would that work in a similar way for WebAssembly? What's the reason for an additional export annotation?

I think the issue is currently all top-level funs are implicitly exported, so if we simply adjust wasm's linker command it too will export everything, including e.g. our own re-implementations of compiler-rt. Thus there needs a mechanism to hide some top-level funs from the compiled object. This feature indeed is not exclusive to wasm.
There is also a parallel between those "reactor" programs and __attribute__((constructor)) / DllMain.
I would not worry about exporting names until Crystal has the more general ability to build C-compatible shared libraries.

So, for exporting we should actually go the other way around: every fun is exported and maybe we can have an annotation or something to hide a symbol that isn't meant to be exported (like __crystal_raise for example). That makes sense.
These reactor programs are very much like shared libraries, but in the case of wasm they are still complete programs and Crystal can already target those. Hiding symbols (not exporting a function) can be viewed as a kind of size optimization now, and binary size is quite important for wasm. Either way, I'll measure it, I think the impact isn't that big yet.
Offtopic: @HertzDevil seeing now that you mentioned compiler-rt, I see that there are some functions that are not implemented for wasm and we are being forced to link against clang's compiler-rt. I'll check which of those are needed so that they can be implemented.

this had something update yet? If export funciton works, people will can use crystal to generate wasm to use in python code, mean use python + crystal + wasm instead of python + C for some task!

Bump.
There is a PR #11935 implementing this proposal.
Import
The proposal is aligned with other languages and fits well with the lib syntax. Most external libs don't need this feature to import, but Asyncify can only be imported this way and this is a blocker to implement Fibers and the GC. With the GC enabled Crystal will already be usable on real world scenarios.
Export
Exporting functions allows the embedder to call Crystal methods from outside, like exposing a WASM module to a Web page with JavaScript. The original proposal was to add a custom annotation to mark which fun functions to export. Later I proposed something simpler: to export all fun functions (this is what is implemented on the PR) and perhaps later add some annotation to not export something. This is already the behavior of the other architectures (fun produces a public external symbol on the final executable`).
As a proof of concept I implemented exporting methods in my crystal-js shard:
require "js"

JS.export def print_hello(name : String)
  puts "Hello, #{name}!"
end

And the shard will generate a low level fun with the appropriate handling code to convert and transfer a String between JS and Crystal. It currently uses some linker flag hacks to get this working, but those can be removed once this PR is merged.

I would like some direction from the core team about this: It would be better to wait for more user demand before going forward? Or is there need for more detailed discussion before committing on a particular implementation? Or there are other priorities right now and this should just wait a little bit more? I'm good with any of these.

Hello! @straight-shoota @HertzDevil  approve this PR https://github.com/crystal-lang/crystal/pull/11935 need more discussion among you and @lbguilherme or someone?  This PR https://github.com/crystal-lang/crystal/pull/11935 had been not active from April.
I just want Crystal give more support for Webassembly...
And the people which contribute mostly to Webassembly maybe  @lbguilherme?  If ture， how about you invite @lbguilherme to be one of Crystal Lang Team Core Member? That maybe will speed up the support of Webassembly...

Closing as #11935 was merged 🚀


feat: release for version 2.3.0 of the spec

This PR is created upfront to reflect on a daily basis what things are included in the release.
Also, the reason to create this PR a long time before the release is to enable automation (bot keeps upstream branches always up to date with master) that we have in place to regularly update the release branch with whatever is changed in the master branch. So nobody has to do it manually.

/rtm


OSS 2.7.1: Possible issue when creating alerts with Operator permissions

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Install OSS 2.7.1, and setup with org, owner, and token
Install telegraf with inputs.ping plugin (see config below)
Create account with operator access

influx user create -n cozmo -p starwars -o lab --token $OWNER_TOKEN
influx auth create --operator -u cozmo -o lab --host http://oss:8086 -t $OWNER_TOKEN

As the owner create a basic deadman alert using the UI (see attached video)
As the operator create the same basic deadman alert using the UI (see attached video)
https://github.com/influxdata/influxdb/assets/86253101/c4b57402-dd33-43f9-824e-67a727e342b1

Expected behavior:
As the operator, creating the same alert as the owner shouldn't result in a failure
Actual behavior:
(see attached video)
Environment info:

System info: Run uname -srm and copy the output here Linux 4.18.0-348.7.1.el8_5.x86_64 x86_64
InfluxDB version: Run influxd version and copy the output here InfluxDB v2.7.1 (git: 407fa622e9) build_date: 2023-04-28T13:24:27Z
Other relevant environment details: Container runtime, disk info, etc  Using Vagrant CentOS 8 VM

Config:
Telegraf
[[inputs.cpu]]
  percpu = false
  totalcpu = true
  fieldpass = ["usage_idle", "usage_user", "usage_system", "usage_steal"]

[[inputs.mem]]
[[inputs.net]]
[[inputs.netstat]]
[[inputs.diskio]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]

[[inputs.disk]]

[[outputs.influxdb_v2]]
urls = ["http://oss:8086"]

## API token for authentication.
token = "$OWNER_TOKEN"

## Organization is the name of the organization you wish to write to; must exist.
organization = "lab"

## Destination bucket to write into.
bucket = "telegraf"

[[inputs.ping]]
urls = ["oss"]

Same here, I had to change the role from member to owner for the user who created the alerts, and the alerts worked again. I hope this issue will be fixed soon.


calculate_methylation_frequency crashes (2)

Hi!
Sorry for bothering you again. I open a new issue, as I am not sure, whether answering to the closed one  (#186) works.
I now reinstalled nanopolish,  but the "calculate_methylation script" still gives the same error.
qf0297@qf0297-ESPRIMO-P420:/media/qf0297/Volume/data_np/20170627_mtDNA_HEK/alba/fast5_alba$ python ~/nanopolish/scripts/calculate_methylation_frequency.py -c 2.5 -i methylation.tsv > meth_frequencies.tsv   File "/home/qf0297/nanopolish/scripts/calculate_methylation_frequency.py", line 82     print "\t".join([str(x) for x in [c, s, e, sites[key].group_size, sites[key].called_sites, sites[key].called_sites_methylated, f, sites[key].sequence]])              ^ SyntaxError: invalid syntax qf0297@qf0297-ESPRIMO-P420:/media/qf0297/Volume/data_np/20170627_mtDNA_HEK/alba/fast5_alba$
But the script is however indeed the new one.
cat calculate_methylation_frequency.py
[...]
print("\t".join(["chromosome", "start", "end", "num_cpgs_in_group", "called_sites", "called_sites_methylated", "methylated_frequency", "group_sequence"]))

for key in sites:
    if sites[key].called_sites > 0:
        (c, s, e) = key.split(":")
        f = float(sites[key].called_sites_methylated) / sites[key].called_sites
        print "\t".join([str(x) for x in [c, s, e, sites[key].group_size, sites[key].called_sites, sites[key].called_sites_methylated, f, sites[key].sequence]])

Am I still doing something wrong when running the script? The command is for sure accessing the correct installation, as I see the changes in the -w parameter description from yesterday's issue #187 when running nanopolish variants --help

Sorry, I missed one of the print statements. Can you try again with the latest code?

Works like a charm!

Great, thanks for reporting the issue.

Hi there!
I tested nanopolish call-methylation and it seems to be working, but I get this error with the frequency function:
python calculate_methylation_frequency.py -i methylation_calls_BC01.tsv > methylation_frequency_BC01.tsv
Traceback (most recent call last):
  File "calculate_methylation_frequency.py", line 51, in <module>
    num_sites = int(record['num_motifs'])
KeyError: 'num_motifs'

Am I doing sth wrong?
Thanks for the help,
H


Translate React.Component

Just make sure to double check it before merging.
I wasn't able to translate a couple of sentences and I'm
pretty sure you'll find at least a few more mistakes since
there was a lot of text in this page. :face_with_head_bandage:

Thank you for taking the time to review the PR.
I believe you did a great job fixing every issue my translation had! :1st_place_medal:
I have applied all your suggestions and I think the file is ready
to be committed.


Ambiguous bitmask terminology

Suggestion to change classification:bitmask to classification:bitmask_parts to further clarify that we do not want straight bitmask values.
Side benefit is that it mirrors the classification:classes and Class object, i.e, we will have classification:bitmask_parts and a Bitmask_Part object.
In other words, we want to be clear that the intent is for values like this (bitmask parts generated by a bit shift and bitmask)
"classification:bitmask_parts": [
{
    "description": "cloud confidence",
    "bits": [
        8,
        9
    ],
    "classes": [
        {
            "value": 0,
            "description": "no confidence level set"
        },
        {
            "value": 1,
            "description": "low confidence"
        },
        {
            "value": 2,
            "description": "medium confidence"
        },
        {
            "value": 3,
            "description": "high confidence"
        }
    ]
}

And not straight bitmask values, which would result in values like this:
"classification:bitmask": [
{
    "description": "cloud confidence",
    "bits": [
        8,
        9
    ],
    "classes": [
        {
            "value": 0,
            "description": "no confidence level set"
        },
        {
            "value": 256,
            "description": "low confidence"
        },
        {
            "value": 512,
            "description": "medium confidence"
        },
        {
            "value": 768,
            "description": "high confidence"
        }
    ]
}

I am also seeing the value in gee's use of first_bit and bit_count instead of our current bits list. This prevents abuse by doing something like "bits": [0, 8, 9], which is more appropriate to generating pixel values with a straight bitmask.

Do we then want classification:bitmask for straight bitmasks? Do we know of a good example of one?

I don't have a great example. I think you would want to switch to classification:classes if you are generating actual pixel values from bitmasks. Unless there is some intermediate use of a straight bitmask that only partially defines a pixel value. But not sure why you would want to do that.

Summarizing proposed edits here again for clarity.
Terminology changes. One of:

classification:bitmask --> classification:bitmask_parts and BitRange Object --> BitmaskPart Object; or
classification:bitmask --> classification:bitrange and keep BitRange Object

I'm leaning toward the latter option.
BitRange (potentially renamed to BitmaskPart) Object field changes

Replace bits with first_bit and bit_count.

Open to different terminology.

@drwelby I'm not 100% on your meaning. You are correct that a bitmask can use parts/ranges. You can specify whatever bits you want to mask via the bits list, e.g, [0], [0,1], [1,3,4,8], whatever.
But the data we are describing with the extension is often described as a "bit index" or "bit flags". These flags are always at a single bit location or at multiple adjacent bits. And you don't apply a straight bitmask to get the values of these flags. You shift the bits by the first bit index value and then apply a mask the same length as the number of bits in the flag.
Just looking to make things clear with the terminology, i.e., don't imply a straight bitmask if that is not what is being described in the extension. But I think most users will look in the examples directory to confirm how things work, so the terminology and how the bit indices are stored may not be critical.
Given the number of words above, maybe there is a better way to represent things?

The question is more about whether anyone actually uses straight bitmasks.
However, I see your point about terminology, and since this is mostly going to be used right now for Landsat, I think we use that and call it classification:bitindex and then keep the BitRange object.
Looking at other Repo I think we can call the ranges in the table Bit Range,  since we don't seem to use that name as keys.

The question is more about whether anyone actually uses straight bitmasks.

Ah. OK. Yeah, I don't know.

Looking at other Repo I think we can call the ranges in the table Bit Range, since we don't seem to use that name as keys.

Is this just confirming to keep the name of the BitRange object the same?

Potentially looking at something like this:
"classification:bitindex": [
    {
        "description": "no data",
        "first_bit": 0,
        "bit_count": 1,
        "classes": [
            {
                "value": 0,
                "description": "no data in pixel"
            },
            {
                "value": 1,
                "description": "data in pixel"
            }
        ]
    },
    {
        "description": "cloud confidence",
        "first_bit": 8,
        "bit_count": 2,
        "classes": [
            {
                "value": 0,
                "description": "no confidence level set"
            },
            {
                "value": 1,
                "description": "low confidence"
            },
            {
                "value": 2,
                "description": "medium confidence"
            },
            {
                "value": 3,
                "description": "high confidence"
            }
        ]
    }
]

@pjhartzell
I think there are two ways to look at the problem and depending on the use case different representations fit better.

Bit packing small "enumeration" values
Dealing with actual bitmasks

For bit packed enumeration values (1), bit range representation as described in a comment above makes most sense: you need to know what part of the value you need to extract (x>>first_bit)&all_ones(bit_count) and then you need a description of all the possible values encoded in that part.
For dealing with actual bitmask data (2) this only works when describing individual bits, but will not work for defining more complex, multi-bit masks. So if you have, say cloud=1|no_cloud=0 and data=0|no_data=1 and they are not adjacent you will be able to describe those bits separately, but you won't be able to define data and no_cloud bitmask. The representation that works for this case is arbitrary bit selection + value. Coming back to the example, let's say cloud bit is bit 7 and nodata is bit 0.
7654_3210
|||| ||||
0XXX_XXX0 -- clear pixel
1XXX_XXX0 -- cloud pixel
XXXX_XXX0 -- some valid pixel, could be cloud
XXXX_XXX1 -- nodata pixel
0X01_0110 -- clear pixel classified as `0_1011` (pasture)

Representation that works for this case:

bits that should be kept unchanged (the rest a pulled down to 0)
description of possible values formed after pulling down irrelevant bits to 0

I think for STAC case it should be enough to just describe all the bits and bit-packed enumeration types, and I think it's reasonable to assume that bit-packed small integers are stored sequentially. Combinations of those bits, even if really common ones like valid+clear can then be worked out outside of STAC spec.

Excellent summary. Thanks @Kirill888.

I think for STAC case it should be enough to just describe all the bits and bit-packed enumeration types, and I think it's reasonable to assume that bit-packed small integers are stored sequentially. Combinations of those bits, even if really common ones like valid+clear can then be worked out outside of STAC spec.

This is where we've been trending. Idea being to limit STAC to describing the bit-packed enumerations, and any combinations that require actual bitmasks to be handled by users. STAC provides the metadata, the user decides what to do with it (e.g., create custom bitmasks).

...I think it's reasonable to assume that bit-packed small integers are stored sequentially.

As someone who consumes this type of data, would you prefer/recommend a more flexible option than "first_bit": val and "bit_count": val? We initially were using "bits": [val, val, ...], which does not enforce sequential storage. I was leaning away from this to specifically prevent combinations of different flags/enumerations.

So if you have, say cloud=1|no_cloud=0 and data=0|no_data=1 and they are not adjacent you will be able to describe those bits separately, but you won't be able to define data and no_cloud bitmask

@Kirill888 in this case, isn't nodata and no_cloud two different classes? It seems like the decision to combine them is up to the end user. I would hope no one is encoding a single class across non-sequential bits.

So I guess the question really comes down to: do we avoid the word bitmask even though it's commonly used to describe a bit index? Or do we just use it since it's unlikely that any metadata would have true bitmask implementations?

Should we avoid bitmask in case it is needed in the future for a true bitmask? bitindex is OK. Maybe bitrange? Although, that overlaps the name of the BitRange Object.

I'm seeing https://en.wikipedia.org/wiki/Bit_field as a close fit, but since https://www.usgs.gov/landsat-missions/landsat-collection-2-quality-assessment-bands labels them all as bit index and I assume this will be the first and primary use of this STAC extension, let's go with that.

Yeah, the unit is designated as bit index in the landsat docs. I do like bitfield, though. 🙂

bitfield has a nice ring to it.

bitfield or bitfields? I think bitfields, no?

Let's see how it looks:
classification:bitfields
Looks pretty good.
By the way, how urgent are you for this spec?

Yeah, let's go with bitfields. Does it also make sense to also change the name of the BitRange object to BitField (or Bitfield)? That way classification:bitfields is logically comprised of a list of BitField objects?

By the way, how urgent are you for this spec?

If we could wrap it up by end of next week, that would be great.

That way classification:bitfields is logically comprised of a list of BitField objects?

I'm leaning towards this but will let it stew over the weekend.

To me at least (done C++ and embedded dev work in the past) bit mask implies that it only contains boolean flags, so it's a specialization of bit field where all members have width of 1 bit exactly. I think BitField name makes most sense here. You can define it as a contiguous bit range, for that offset+size makes more sense to me than in:out/start:stop, since with in:out there is always confusion of inclusive vs exclusive range.
Here is an example of bit_field notation used in C++, there they don't use offsets, only lengths of each field, including "skipped" fields, as this avoids possibility of overlapping values.

I'm fine with either set of terms.

OK, just to double-check we're all on the same page here. Let's say we're interested in these two bits:
00000XX0
This would be offset:1, length:2 and to extract them you would

right-shift by offset (data >> 1) to get 000000XX
left-shift 1 length times to get 00000011 (given by 1<<length - 1)
AND these two values to get the value we will store in value

Looks good. Might be worth documenting something like this for users.
To make sure I'm clear on the above, I think we need  parentheses in the mask creation to enforce the desired order of operations:

Based on order of operation, 1<<size - 1 is the same as 1<<(size - 1), which equates to 00000010 (for size=2), which is not what we want.
(1<<size) - 1 equates to 00000011, which is the mask we want

I think we are about done. Example of current form, using all fields except color-hint in the Class objects:
"classification:bitfields": [
    {
        "name": "no_data",
        "description": "no data mask",
        "roles": [
            "nodata"
        ],
        "offset": 0,
        "size": 1,
        "classes": [
            {
                "name": "no_data",
                "description": "no data in pixel",
                "value": 0
            },
            {
                "name": "data",
                "description": "data in pixel",
                "value": 1
            }
        ]
    },
    {
        "name": "cloud_confidence",
        "description": "cloud confidence levels",
        "roles": [
            "cloud"
        ],
        "offset": 8,
        "size": 2,
        "classes": [
            {
                "name": "none",
                "description": "no confidence level set",
                "value": 0
            },
            {
                "name": "low",
                "description": "low confidence",
                "value": 1
            },
            {
                "name": "medium",
                "description": "medium confidence",
                "value": 2
            },
            {
                "name": "high",
                "description": "high confidence",
                "value": 3
            }
        ]
    }
]


Verifiable Credentials and Ed25519 Security Considerations

Hi I've been working on the W3C specification on using Ed25519 signatures for verifiable credentials EdDSA Cryptosuite v2022. I was thinking using some of your definitions from "Taming the Many EdDSAs", maybe the test vectors, and some of this work for the "Security section" of the specification.
Let me know if you are interested or would like to contribute. I've alerted some other open source Ed25519 signature libraries to your work and they have upgraded to perform the necessary checks for SUF, SBS. If we get your work referenced in a W3C spec I think it will push more libraries to improve.
Cheers Dr. Greg Bernstein

@Wind4Greg thank you for studying and recommending to the community some of the proposed EdDSA implementation best practices. Obviously you are free to use any test vectors or security definitions from the original paper and happy to review if/when required.

Great. What is the best way to contact you/co-authors? My email is<EMAIL_ADDRESS>Cheers Greg


Locomotion doesn't work in V-sekai

V-Sekai version
groups-4.0
System information
Win 11, Vulkan, Nvidia 3000
Issue description
Can't enable smooth locomotion.
Steps to reproduce

Launch v-sekai.
Change default to smooth locomotion
Test

Minimal reproduction project
None.

Smooth locomotion now works.

Using index controllers
Use left controller
Use stickpad to move.


fix(TCOMP-367): Add display name for tJDBCDatastore

Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TCOMP-367
What is the new behavior?
add the lost display name in the message file for data store
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information:
https://jira.talendforge.org/browse/TCOMP-367

Pull request test result: success :star:

Integration test is OK
Technical review is also OK
I merge this PR to master.

Pull request test result: success :star:


Does it work on wordpress?

I'm using your tool, which is fantastic, in a few of my websites. So far so good, but now I'm building a website on wordpress and I ran into some issues:
Here's my code so far:
header.php

Home
Who Are We
What We Do
The Team
Why Larche
Contact us

footer.php

main.php

Think it. Build it. Market.

We are a full service agency located in Barrie, ON...
 ... ...
main.js
$( document ).ready(function() {
$('#nav').onePageNav();
}
style.css
#nav .current a {
color: #D54D38;
}
My problem is that the first link is skipped. The smooth navigation works, but only if I won't scroll the down the page. I'm using my own bar, in order to use the plugin I didn't use php to build my navigation bar.
Thank you in advance for your help

Sorry, but it's really hard to tell what is going on from what you posted above. Do you have a link?

@orso081980 I think you have a typo: /js/jquerynav.js. should be /js/jquery.nav.js
Also, make sure you load the script after jQuery.

Oh, the date ...


stale link

The link to group managed service accounts overview points to a page that is no longer maintained
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f2c5e335-4367-b1fe-2e14-311a6f2cf81d
Version Independent ID: a35eed80-eb37-e59c-07a4-43af4a985991
Content: Azure AD Connect: Accounts and permissions
Content Source: articles/active-directory/hybrid/reference-connect-accounts-permissions.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@DeanGross, thanks for this.
These have been updated and will be going out today.
#please-close


Is it usable on common rdf graphs ?

Hi,
Is this framework usable on any RDF graph or is it only for grakn graphs ?
Thanks

Yes, presently only Grakn graphs are supported!


sensor.next_alarm_time not shown when irregular alarm schedule

The sensor.next_alarm_time entity nicely shows the next alarm time when I have a single alarm set, but when I have a schedule (e.g. 'weekdays') there is no next alarm time shown. It looks like the integration has some trouble handling that. Or do I do something wrong on my watch or with synchronizing?
I would like to couple responses of HA to my wake-up time.

For me this works properly with v0.2.3 (set an alarm for all weekdays), some things with timestamps was fixed in that version.


Rename device in Homekit

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through common issues
[X] Updated plugin to the latest version (if applicable)

Describe Your Problem
When I rename the device in Homekit it changes back to the default name is Homebridge is restarted. Is there a way to force Homekit to use a different device name? It appears to always default back to Configured Name.
Logs
No response
If applicable, add screenshots to help explain your problem.

Environment Information
- Plugin Version:
- Homebridge Version: <!-- homebridge -V -->
- Node.js version: <!-- node -v -->
- NPM version: <!-- npm -v -->
- Operating System: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker / hb-service -->

Sorry for late response: does the Homebridge UI show the name correct after restarting? So problem is only in HomeKit?

Thanks for the reply. Homebridge keeps the correct value in the Name field when I rename it even after restarting, but what I see in HomeKit is the Configured Name value from Homebridge not Name. I've also tried clearing cached devices then re-adding it just to be sure.
The only way I can find to change the name that displays in HomeKit is to change it directly in HomeKit, but it reverts back the Configured Name value when Homebridge is restarted and Configured Name can't be changed.

This might be the case because the TVs are published as external accessory. So they can not be cached as normal accessory would get in HomeBridge.
I will try to add an option to change the configured name of a TV in the config file, so you can change it there and it will not get lost.

I've created a new release. Please check new config property nameOverride

Looks like that did the trick, Thank you so much!


Collect LLM cases in big companies

Question:
What cases big companies have with LLM/transformers?

Good source with cases -- https://www.evidentlyai.com/ml-system-design

Next step – analyze and summarize cases in the document with specific examples


Enable prometheus exporter output for telegraf

Fix or Feature Request?
This is a feature request: Enable the prometheus exporter output for telegraf.
What does this solve
It allows crawling telegraf with prometheus instead of influxdb.

Oh @Sabuto, To get the pipeline to succeed again, #31 should be merged in prior :)

Oh @Sabuto, To get the pipeline to succeed again, #31 should be merged in prior :)

I will test this when i get the chance and then merge. and i will make a new release soon. Thanks for this

I will test this when i get the chance and then merge. and i will make a new release soon. Thanks for this


Updated ReadMe

Added basic use cases with a link to the frontend screenshots segment.
Added name of the startup project in the solution directory.

Closing for now.


Update search metadata

@kauffj commented on Tue Jul 14 2020

@kauffj commented on Tue Jul 14 2020
Title: %term% Search Results
Description: Find the best %term% content on %site_name%

@kauffj commented on Tue Jul 14 2020
picked above quickly and did not think on it much, feel free to improve

This is when linking to an odysee page with search results


Setup the GitHub pages and deployment pipeline

For v1, we have:

Docs source code: https://github.com/casbin/casbin-website
Deployed static files: https://github.com/casbin/casbin.github.io
Deployed domain: https://casbin.org

Now for v2 docs, we will have:

Docs source code: https://github.com/casbin/casbin-website-v2
Deployed static files: https://github.com/casbin/casbin.io
Deployed domain: https://casbin.io

We need to setup CI script and any other places to support this pipeline.

Already fixed by: https://github.com/casbin/casbin-website-v2/commits/master


Do the AppOptions.get("printResolution") lookup once in web/app.js , when initializing PDFPrintServiceFactory-instances, rather than for every printed page

There's really no point in repeating these lookups over and over, since the value should be constant for the duration of one print invocation anyway.

/botio-linux preview

Looks good to me!


Node - uncaught exception if wrong type passed in a client call

test
(added to https://github.com/grpc/grpc/blob/master/src/node/test/surface_test.js#L446)
  it('bad input type', function(done) {
    client.unary({error: 'false'}, metadata, function(err, data) {
      assert(err);
      done();
    });
  });

Should return an error in the callback because 'false' is not boolean, but instead, it triggers an uncaught exception:
     Error: Illegal value for errorvalue element of type bool: string (not a boolean)
      at Error (native)
      at fail (node_modules/protobufjs/dist/protobuf.js:1817:23)
      at ProtoBuf.Reflect.ElementPrototype.verifyValue (node_modules/protobufjs/dist/protobuf.js:1866:25)
      at ProtoBuf.Reflect.FieldPrototype.verifyValue (node_modules/protobufjs/dist/protobuf.js:3499:33)
      at MessagePrototype.set (node_modules/protobufjs/dist/protobuf.js:2493:59)
      at MessagePrototype.set (node_modules/protobufjs/dist/protobuf.js:2483:38)
      at Message (node_modules/protobufjs/dist/protobuf.js:2411:34)
      at serialize (src/node/src/common.js:87:23)
      at Client.makeUnaryRequest [as unary] (src/node/src/client.js:395:19)
      at Context.<anonymous> (src/node/test/surface_test.js:447:12)

This makes it hard for the client code to catch the error.

Passing an incorrectly typed value as an argument is an invalid use of the API. If you need to pass user input in, validate it or coerce it to the correct type.

One could expect the error is returned in the callback, otherwise what's the point of having the error argument in the callback at all if it cannot be trusted to returns errors ?

There's a difference between a dynamic failure of an RPC and a misuse of the API. An error caused by passing an incorrectly typed parameter should be corrected by the programmer, by changing the code, so it shouldn't matter where the error comes out. The difference is that if we throw the error instead of passing it to the callback, it's harder to accidentally ignore it.


Introduce constants

Lua recently added support for constant variables in version 5.4. It would be very useful if clue also had consts.

What's the syntax for constants in Lua 5.4?

I had mentioned this before. The syntax is ```lua
local  var = "foo"


When using Context API, store is undefined unless I specify it in each connected component's contextTypes

Hi, thanks for the great work on this library, it's served me very well for a long time! Unfortunately I think I have encountered an error (or I am using the Context API wrong).
My problem:
I am rendering multiple React apps on a single domain, a lot of these apps do not require Redux but I do have some information that I need to make available to all components. To achieve this I created* a Provider component (*= copied this library's Provider 😎).
VersionProvider.js:
// @flow
import { Children, Component } from 'react'
import PropTypes from 'prop-types'

type Props = {
  version: string
}

export function createVersionProvider (contextKey: string = '__IYA_VERSION__') {
  return class VersionProvider extends Component<Props> {
    static childContextTypes = {
      [contextKey]: PropTypes.string.isRequired
    }

    getChildContext () {
      return { [contextKey]: this.props.version }
    }

    render () {
      return Children.only(this.props.children)
    }
  }
}

export default createVersionProvider()

However this causes the following error:
Error: Could not find "store" in either the context or props of "Connect(r)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(r)".

I am able to get around this issue by adding store to my connected component's contextTypes:
static contextTypes = {
    __IYA_VERSION__: PropTypes.string.isRequired,
    store: PropTypes.object
  }

That's how the context API works in React <= 16.2: https://reactjs.org/docs/context.html

If contextTypes is not defined, then context will be an empty object.

@timdorr I would never normally define contextTypes inside a connected component. Why would adding my own property to the context mean I have to add store to contextTypes?
I would have thought that by the stage I am trying to access my custom context property that the store should just be props?
Sorry, I know the above are more related to context API itself


⚠ GitLab Server has degraded performance

In d828e8e, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6880 ms

Resolved: GitLab Server performance has improved in 242faa7.


.gitx.yml Project configuration

Support custom configuration for any project via .gitx.yml configuration file
Continuation of #25 w/ review comments incorporated
Changes:

Add Thegarage::Gitx::Configuration to encapsulate settings w/ accessors instead
of giving direct access to hash.
Read settings yaml file from project root instead of current working directory.

Coverage increased (+0.02%) when pulling 87d8f3830434203c731b568a601cab4e28bb178f on paveldruzyak-add-options into 1b13b633862aa28e966ead5de1a0791ea9779dc1 on master.

superseded by #42


Fixing HTTP redirects "not carrying pre-defined host-header value when the Location header is not a URL".

Fixing HTTP redirects "not carrying pre-defined host-header value when the Location header is not a URL".

So what was the solution? I'm trying to override the DNS lookup phase in a request() call.

These days HTTPS is must. The ref is about HTTP... Any solution?
On Nov 25, 2018 23:45, "Francis Gulotta"<EMAIL_ADDRESS>wrote:

We can't right now, you have to do it yourself, request the IP and set the
host headers. See #3066 https://github.com/request/request/issues/3066
for the current proposal.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/request/request/pull/1064#issuecomment-441476429, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACXAOQgDmhOwh7T-vmGNnGT9zfJjmeQQks5uyw9bgaJpZM4Cgj-6
.


[elements] Update port

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

config-x64-windows-out.log:
 Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

How do I add pkg-config to the build? 🤔

vcpkg_find_acquire_program(PKGCONFIG)
...
vcpkg_cmake_configure(...
    OPTIONS
        "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
)

@ex-purple  Could you please apply dg0yt's suggestion to fix the error in CI?

@ex-purple Could you please apply dg0yt's comment to fix the error in CI?
Done

I have no idea what is a problem now

warning: The following binaries should use the Dynamic Debug (/MDd) CRT.
  D:\p\elements_x86-windows\debug\lib\elements.lib links with: Static Debug (/MTd)
To inspect the lib files, use:
  dumpbin.exe /directives mylibfile.lib
warning: The following binaries should use the Dynamic Release (/MD) CRT.
  D:\p\elements_x86-windows\lib\elements.lib links with: Static Release (/MT)
To inspect the lib files, use:
  dumpbin.exe /directives mylibfile.lib
error: Found 2 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: D:\a\_work\1\s\ports\elements\portfile.cmake
error: building elements:x86-windows failed with: POST_BUILD_CHECKS_FAILED

The following binaries should use the Dynamic Debug (/MDd) CRT.
The following binaries should use the Dynamic Release (/MD) CRT.

What does it mean?


可以给一个java版本的试用token调试么?

可以给一个java版本的试用token调试么? 谢谢 非常想参与进来

https://github.com/juzibot/Welcome/wiki/Everything-about-Wechaty#2免费Token参与开源激励计划

https://github.com/juzibot/Welcome/wiki/Everything-about-Wechaty#2免费Token参与开源激励计划

You can apply for a free TOKEN either short-term or long-term.
Please read our official docs at https://wechaty.js.org/docs/puppet-services/

You can apply for a free TOKEN either short-term or long-term.
Please read our official docs at https://wechaty.js.org/docs/puppet-services/

提交不了

@huan

提交不了

@huan

It seems that the form you are using is outdated.
Please follow our docs at  https://wechaty.js.org/docs/puppet-services/


Bugfix/lm multi qubit op

Before submitting
Please complete the following checklist when submitting a PR:

[x] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[x] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[x] Ensure that the test suite passes, by running make test.

[x] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change, and including a link back to the PR.

[x] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
The LM::multiQubitOp kernel uses bitswap to generate the SV indices on the fly. This does not work when the target wires are such that the corresponding bit positions overlap after swap (i.e. when there are a bunch of them with high target indices).
Description of the Change:
Introduce a generic revWireParity function and fix LM::multiQubitOp.
Benefits:
Possible Drawbacks:
Related GitHub Issues:

[SC-47085]


Ability to shutdown Testrun

What is the problem your feature is trying to solve?
Currently, to stop Testrun completely, the user must find the open console window running Testrun and press Ctrl+C to end. It is not possible to do this through the UI.
Describe the solution you think would solve the problem
The user should be able to shutdown Testrun from the user interface.

316594878  was reported on UI component.

This feature request is now in progress and is expected to be released in v1.2.1 (end of Apr/start of May).

Released in v1.2.2


Race condition for indexer URL

During sync and normal running operation, the sync process will begin to change the network URL, e.g. tstrat address is queried against strat indexer. This obviously makes the history and balance not work well.

This issue was not a race condition with async/await, but problem was caused by the watch store being used with an get "all" instead of specific watch entries for the specific account.


Adding CircleCI configuration file circle.yml

fix #209
What is different from Travis:
Cache

CircleCI will automatically cache .m2 and .gradle folders so did not include them in the config file.
Also, CircleCI does not cache folder after the tests are run but before. Hence the addition of the ./gradlew dependencies step to allow the dependencies to actually get cached.

Test Reports

CircleCI supports it so I save the reports in the corresponding folder.

Misc

I use cd todoapp;./gradlew xxx oneliner because directory changes are reset on every step.
Not sure why there was the rm -f ~/.gradle/caches/modules-2/modules-2.lock line but copied it in case.

 There's no PR on your repo so it didn't kick in.

@JoseAlcerreca You can see the builds I had on my fork here: https://circleci.com/gh/oldergod/android-architecture

Great thanks, I'll merge it when we get Firebase Test Lab access.


TypeError: an integer is required executing skflow text classification examples

Using a nightly build I'm unable to execute the text classification examples in https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/skflow (I have tried text_classification.py, text_classification_cnn.py and text_classification_builtin_rnn_model.py).
`$ sudo pip3 install --upgrade http://ci.tensorflow.org/view/Nightly/job/nightly-matrix-cpu/TF_BUILD_CONTAINER_TYPE=CPU,TF_BUILD_IS_OPT=OPT,TF_BUILD_IS_PIP=PIP,TF_BUILD_PYTHON_VERSION=PYTHON3,label=cpu-slave/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
$ python3 -c "import tensorflow; print(tensorflow.version)"
0.8.0
$ python3 rnn.py
Total words: 822383
Traceback (most recent call last):
File "rnn.py", line 68, in
classifier.fit(X_train, y_train, logdir='/tmp/tf_examples/word_rnn')
File "/usr/local/lib/python3.4/dist-packages/tensorflow/contrib/learn/python/learn/estimators/base.py", line 270, in fit
feed_params_fn=self._data_feeder.get_feed_params)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/contrib/learn/python/learn/trainer.py", line 49, in train
feed_dict = feed_dict_fn()
File "/usr/local/lib/python3.4/dist-packages/tensorflow/contrib/learn/python/learn/io/data_feeder.py", line 324, in _feed_dict_fn
out.itemset((i, self.y[sample]), 1.0)
TypeError: an integer is required`

i think this part hasn't been finished yet. You can modify out.itemset((i, self.y[sample]), 1.0) ->> out.itemset((i, int(self.y[sample])), 1.0). Convert the type of y_train and y_test to numpy array. Besides, it has implemented continue_training function.  I test cnn, rnn and character-rnn and character-cnn. Both character-level model cant achieve a baseline model.

Thanks @alrojo for the upcoming fix!


chore: upgrade dependencies

Coverage remained the same at 100.0% when pulling 202b4ae5978822b814398ed0e1041060340b91cd on chore/bump-dependencies into 74cc77eb31cd4504a71bc1e61908c40a82d9ce53 on master.

Coverage remained the same at 100.0% when pulling 202b4ae5978822b814398ed0e1041060340b91cd on chore/bump-dependencies into 74cc77eb31cd4504a71bc1e61908c40a82d9ce53 on master.


Skipped pipes show as if they were executed anyways

If a pipe is skipped because of an IfParam or IfSessionKey condition, it still shows as if it was executed anyways. The output of the pipe and the storeResultInSessionKey sessionkey are both showing the input of the pipe. The only indication that a pipe was skipped is that the output and storeResultInSessionKey sessionkey look off.
Greying out skipped pipes or any other indication that a pipe was skipped would be very handy.

Can you create an issue at the F!F project? Ladybug doesn't know about pipes, it has generic methods to create reports with checkpoint that can have any name or content. F!F creates checkpoints with names like Pipeline and Pipe

https://github.com/frankframework/frankframework/issues/6654


Support for Zarr files with multiple datasets (groups)

🚀 Feature

napari 0.3.5 does not open a Zarr folder if it contains several datasets (for example, saved with dask.array.to_zarr(data, 'data.zarr', component='myimage'), where 'myimage' is the name of the group). napari says

'Could not find a format to read the specified file in single-image mode'*.

If the argument component of to_zarr is omitted, the resulting image can be opened by napari with menu 'file->open folder'.
It is easy to specify the group to be opened as it is represented by a folder in the file system, inside of the .zarr directory.
Motivation

During data analysis I often want to have several related datasets saved together in a single Zarr container. For example, I may want to do dark frame and flat field correction of an image stack, and then store the dark frame and the flat frame alongside with the image stack. This way I can have a pre-processed dataset that contains data used for pre-processing, so I can restore the uncorrected raw dataset, if necessary.
Pitch

I want to open a group (e.g. named 'myimage') from a Zarr folder using command line
$ napari data.zarr/path/to/myimage

or using menu option 'file->open folder'.
Alternatives

Currently I use this as a workaround:
import zarr as z
import napari

g = z.open_group('data.zarr')
with napari.gui_qt():
    napari.view_image(g['myimage'])

Additional context

I wrote as imple command-line script np.py that I use as workaround:

"""Open Zarr image(s) in napari

Usage:
  np <filename.zarr>...
"""
import zarr
import napari

import os.path as p
from docopt import docopt

import re

def np():
    """
    Command line tool to start napari with multi-image Zarr
    and/or multiple zarr archives
    """
    arguments = docopt(doc=__doc__)

    arrays = []
    for f in arguments['<filename.zarr>']:
        try:
            data = zarr.open_array(f, 'r')
            arrays.append(dict(data=data, name=get_zarr_name(f)))
        except ValueError as e:
            z = zarr.open(f, 'r')
            for name, data in z.arrays():
                name = p.join(get_zarr_name(f), name)
                arrays.append(dict(data=data, name=name))

    with napari.gui_qt():
        v = napari.viewer.Viewer()
        for ar in arrays:
            v.add_image(**ar)

def get_zarr_name(fname):
    fname = fname.rstrip('/').rstrip('\\')
    pattern = r'(.*\/)?(?P<name>.*\.zarr\/?.*)\/?\\?'
    match = re.search(pattern, fname, re.IGNORECASE)

    if match:
        return match.group('name')

if __name__ == '__main__':
    np()

@ximeg thanks for reporting!
We are purposefully keeping our "default" reader plugin slim. Right now, this means that for a zarr file, we just do dask.array.from_zarr() if we see a .zarr extension. The correct fix for this would be to develop a more full-feature zarr reader plugin, creatively called napari-zarr-io, for example. User-installed plugins always have a higher priority than the built-in.
Thanks to @tlambert03, we have documentation on how to create an IO plugin here:
https://napari.org/docs/plugins/for_plugin_developers.html
We would be super happy to help you (or anyone else who wants to tackle this... @rabernat? :grimacing: :wave:) write such a plugin if you run into problems with the guide above — it would help us improve the guide for everyone!

One thing to keep in mind here is that a zarr store may implement the multiscale extension, where arrays within the same group may be intended to be visualized as a single image layer (rather than separate layers for each array).
It should be simple to check for this use case by adding a check for "multiscales" property of the .zattrs for a desired group. I think the question then is whether this plugin should return None for the @napari_hook_implementation, or try to deal with that use case as well. The reader in ome-zarr-py handles this to my knowledge currently.

I've started working on napari-zarr-io to address this issue. I've tried to be conservative with what .zarr paths the plugin will yield a reader, handling paths to groups or arrays referenced from a local zarr.DirectoryStore.

@manzt @jni @tlambert03 can this now be closed given the #1441 has merged? Or are there parts of this not addressed there?

#1441 extends napari's previous heuristics for loading arrays and groups in a zarr.DirectoryStores which are:
1.) if path is for zarr.Array, create an image layer.
2.) if path is for zarr.Group, try to load arrays in group as a pyramid image layer (sort array keys an create list of dask arrays).
Looking at the np snippet above from @ximeg, it seems a different behavior is desired when a path is for a group (load arrays in group as separate images). But, #1441 addresses the case of opening an array directly from a nested path.

@manzt Amazing progress, thank you very much for a very quick fix. I tested it and it works - I can specify a path to an array (or arrays) inside of the .zarr directory, or use menu file->open folder, and napari displays the content! Thank you!
$ napari --version
napari version 0.3.6.dev30+gfc12b65
# works
$ napari timelapse.zarr/dark_subtraction
# works with two images
$ napari timelapse.zarr/dark_subtraction timelapse.zarr/dark_frame

# even this works
$ cd timelapse.zarr/
$ napari dark_subtraction dark_frame

However, as I read above, you assume that zarr.Group is a pyramid, which is not the case in my data. As a result, napari crashes if I try to open my .zarr folder directly. The error message is a bit cryptic for me:
$ napari timelapse.zarr
Traceback (most recent call last):
  File "/home/ximeg/.anaconda3/envs/sandbox/bin/napari", line 33, in <module>
    sys.exit(load_entry_point('napari', 'console_scripts', 'napari')())
  File "/home/ximeg/dev/napari/napari/__main__.py", line 181, in main
    view_path(
  File "/home/ximeg/dev/napari/napari/view_layers.py", line 207, in view_path
    viewer.open(
  File "/home/ximeg/dev/napari/napari/components/add_layers_mixin.py", line 874, in open
    self._add_layers_with_plugins(
  File "/home/ximeg/dev/napari/napari/components/add_layers_mixin.py", line 941, in _add_layers_with_plugins
    new = self._add_layer_from_data(*_data)
  File "/home/ximeg/dev/napari/napari/components/add_layers_mixin.py", line 1013, in _add_layer_from_data
    layer = add_method(data, **(meta or {}))
  File "/home/ximeg/dev/napari/napari/components/add_layers_mixin.py", line 230, in add_image
    return self.add_layer(layers.Image(data, **kwargs))
  File "/home/ximeg/dev/napari/napari/layers/image/image.py", line 159, in __init__
    multiscale, data = guess_multiscale(data)
  File "/home/ximeg/dev/napari/napari/layers/image/_image_utils.py", line 69, in guess_multiscale
    raise ValueError(
ValueError: Input data should be an array-like object, or a sequence of arrays of decreasing size. Got arrays in incorrect order, shapes: [(20, 28), (8, 20, 28), (8,)]

I don't know whether this is an expected behavior... I decided to share my small test dataset (9KB)
timelapse.zarr.zip:
# contents
timelapse.zarr/dark_subtraction   # stack of images (3D)
timelapse.zarr/dark_frame         # single image (2D)
timelapse.zarr/time               # time axis, 1D numpy array

As a workaround, I can manually specify path to each array inside using find or wildcards. If there are no 1D datasets inside, it works just fine, but it will crash upon encountering of a 1D array timelapse.zarr/time - I'll open a separate issue for that.
$ rm -rf timelapse.zarr/time
# this works
$ napari timelapse.zarr/*
$ napari `find timelapse.zarr/ -type d`

As correctly stated above, opening of the root .zarr is a subject to debate. Some people might have a pyramid in there, others separate images.

IMHO this issue can be closed. Once #1471 is resolved, one can easily open all images in a zarr directory
napari timelapse.zarr/*   # if separate images
napari timelapse.zarr     # if pyramid

@ximeg @manzt

2.) if path is for zarr.Group, try to load arrays in group as a pyramid image layer (sort array keys an create list of dask arrays).

However, as I read above, you assume that zarr.Group is a pyramid, which is not the case in my data. As a result, napari crashes if I try to open my .zarr folder directly.

I dunno, I feel like maybe we settled on (2) too quickly, since clearly it can cause issues. I suggest we do one of the following:

if there is no multiscale metadata (see e.g. https://forum.image.sc/t/multiscale-arrays-v0-1/37930/2) and you have a group, then don't treat as multiscale, and instead treat as many different arrays, or
if there is no multiscale metadata and you have a group, then try to check whether it is a pyramid, and if not, treat as many different arrays (equivalent to napari timelapse.zarr/*)

@ximeg

The error message is a bit cryptic for me:

You should have seen it before we improved it! 😂

I dunno, I feel like maybe we settled on (2) too quickly, since clearly it can cause issues. I suggest we do one of the following:

if there is no multiscale metadata (see e.g. https://forum.image.sc/t/multiscale-arrays-v0-1/37930/2) and you have a group, then don't treat as multiscale, and instead treat as many different arrays, or
if there is no multiscale metadata and you have a group, then try to check whether it is a pyramid, and if not, treat as many different arrays (equivalent to napari timelapse.zarr/*)

I like the second option - it would involve putting the guess_multiscale outside of Image and into add_image too where if the guess_multiscale passes then I would just press on as before but if guess_multiscale fails then I would make one call to add_image for each array in the group.
I do worry this is becoming a bit magical though and wonder what the desired behavior above is and if that behavior can't be better achieved by two or three explicit function calls instead of guessing based on one function call. More real-world use cases would help here!

@sofroniewn your proposal seems logical, I'm in support of this. It does not seem magical at all to me, though :)


[suitesparse] Enable compiling SuiteSparse DLLs

It seems that some time ago several libraries had their dynamic libraries disabled if they did not export their symbols, but at least with suitesparse this is not the case; I have used it in my projects without further modification.

Hi @aluaces
Thanks for this PR.
Could you also bump the version in CONTROL file?

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: aluaces sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Need to test feature.

Hi @aluaces
Have you tried that if this can build with metis on Linux platform?

I have been able to compile suitesparse[metis]:x64-linux and ceres[core,lapack,suitesparse]:x64-linux (just in case) without problems.

@aluaces
Thanks for your feedback.
Feature metis has been passed on the following triplets:

x86-windows
x64-windows-static
x64-linux

LGTM! Thanks @aluaces :)


17 documentation getting started

I would not consider it finished, but more as a first draft.
Please check it out, try it out and note down any issues you face.

This is superseded by #167 in many parts. We should check, whether we can integrate some of this documentation ideas into the section on manual python installation.


Drop support for EOL Pythons

Python 2.6 and 3.3 are end of life. They are no longer receiving bug
fixes, including for security issues. Python 2.6 went EOL on 2013-10-29
and on 2017-09-29. For additional details on support Python versions,
see:
Supported: https://devguide.python.org/#status-of-python-branches
EOL: https://devguide.python.org/devcycle/#end-of-life-branches
Removing support for EOL Pythons will reduce testing and maintenance
resources while allowing the library to move towards a modern Python 3
style.
Using pypinfo, we can show the PyPI download statistics, show very low
numbers for EOL Pythons.

python_version
percent
download_count

2.7
75.54%
254,199

3.6
13.08%
44,014

3.7
5.56%
18,706

3.5
5.11%
17,195

3.4
0.56%
1,893

2.6
0.11%
381

3.8
0.03%
116

3.3
0.01%
20

None
0.00%
2

Total

336,526

Allows for the following cleanups:

Use dict comprehension
Remove workarounds
io.BytesIO is always available

Python 3.4 is also EOL now.
Updated stats:

python_version
percent
download_count

2.7
69.19%
281,210

3.6
13.44%
54,639

3.7
13.06%
53,082

3.5
3.55%
14,421

3.8
0.47%
1,907

3.4
0.28%
1,119

2.6
0.01%
46

3.3
0.00%
3

3.2
0.00%
2

Total

406,429


The "submit part" button shouldn't be hidden

The "submit part" button hides itself when the part is not dirty, as a hint that nothing will change when you submit.
This makes it impossible to submit "empty" answers which don't involve changing the initial state of the input widget - for example, an empty string or selecting none of the available choices. With the new custom part types, these become valid answers.
The "submit part" button should always be visible, and enabled. The student will get feedback if their answer can't be submitted, anyway.

Hi, can I work on this?

Hi @ryan-barrett , sorry for the slow reply - I've been on strike and then on annual leave.
Please do have a go at this and submit a pull request when you've got something I can look at.


Fixing "self." caused by https://github.com/joernio/cpgqls-client-python/pull/14

Tested this - works fine.
This PR fixes https://github.com/joernio/cpgqls-client-python/pull/14

master build is green now

@mpollmeier https://github.com/joernio/cpgqls-client-python/actions/runs/9365828057/job/25781897596#step:6:76
As I can see, you need to increment version of this package in setup.py to allow this changes to be published on PyPI

https://github.com/joernio/cpgqls-client-python/pull/16
PR build doesn't work any longer either... I'm not sure if we even have a use case for it, so this project is not in a healthy state from a lot of angles... :(
Will merge the version upgrade as you suggested, thanks for your help and sorry about the circumstances, this isn't really to the standards we like to adhere to.

I guess that's me saying @ursachec we miss you 😿

It looks like credentials does not work. Probably because an account had no 2FA, and according to this accident PyPI admins invalidated the credentials.


Fix event optional arguments

Used NAN to keep the type non-nullable.

Hi, thx for your contribution! As I can see from the source code of the https://pecl.php.net/event float: -1 is more suitable as default values for $timeout param for these methods. I fixed these values.


Revert "[AMLII-2183] Logs From Integrations Rotation E2E Test and Yam…

What does this PR do?
Revert changes introduced in #31812
Motivation
#incident-33564
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

Force merging to solve the incident


More detailed status report upon configuration

I was getting thrown off by the "ready to catch errors" message that was popping up even in environments where it was configured not to send.  My use case is that I have a Raven.configure block in my code all the time, but whether or not I actually enable capture is controlled the presence/absence of the SENTRY_DSN env var.  Since calling Raven.capture triggers the message, it came up every time regardless of whether I was actually capturing errors.
(I know this is a somewhat superficial PR, sorry!)
Two points open for debate (besides whether or not this PR is desired/worthwhile at all) are the actual text used to indicate that errors will not be sent, and whether or not to alias report_status with report_ready, for backwards compatibility purposes.  Technically report_ready is part of the public API, so even tho its doubtful that anyone was using it directly, better safe than sorry I suppose.  Another option is just leaving it named report_ready, but that seems marginally less correct.
Cheers!

+1 from my end -- anything that makes it more obvious whats going on, without being intrusive is generally useful

Thanks!


2023 (CVPR) code version

Dear authors,
In your recent README update on the 02/28/2023, you mentioned "OC-SORT is accepted to CVPR 2023. We will update the code and paper soon.".
What is exactly the update you will release on the code? Is it a fix/update of the method itself, or a general refactoring of the code, or will the main code stay untouched?
I'm asking this question because I'm planning to integrate your method into my codebase, and I'm wondering if I should wait for a new version of your code before doing so.
Best

Hi @VlSomers ,
In the new version of code to be released, the code will be refactored and some functions will be renamed to correspond to the update of the paper draft. The logic and functionality won't be changed. Therefore, if you are aiming to integrate OC-SORT to your own codebase, you can just use the current version. There will be no need to wait for the need release.


[To rc/1.1] Fix error when write aligned tablet with null date

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.08%. Comparing base (95d565b) to head (7db83bf).

Additional details and impacted files
@@            Coverage Diff             @@
##           rc/1.1     #251      +/-   ##
==========================================
+ Coverage   61.84%   62.08%   +0.24%
==========================================
  Files         420      420
  Lines       27504    27506       +2
  Branches     3601     3602       +1
==========================================
+ Hits        17009    17077      +68
+ Misses      10156    10090      -66
  Partials      339      339

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Pushbullet integration?

I really liked the integration of Pushbullet into the PoE Trade Companion that I used before switching to Slimtrade.
This little app pushes messages to your smartphone. I often used this for trading while not beeing infront of my pc all the time.
It was possible to configure it (in the Trade Companion) to only push the messaged when beeing AFK or just always.
Just an idea for the future. I think it would be a really nice feature. We all know how PoE trading is :D

I had a friend suggest this concept of push notifications ages ago during private testing and laughed at how overkill it seemed. Knowing that a service exists that streamlines this integration, and that other trading apps are already using it has me taking this much more seriously.
While this will go on the low priority list, it is a cool idea and something I'll certainly consider for the future. Thanks for the idea!


Tor Browser: doesn't show search engine thumbnails

Describe the bug
Tor Browser doesn't show the thumbnail icons for search engines.
To Reproduce
Steps to reproduce the behavior:

Select the search bar in Tor Browser.
Type something.

Expected behavior
The icons should appear as they do in Firefox on NixOS, and on Tor Browser on other platforms.
Screenshots

Additional context
Add any other context about the problem here.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.4.23, NixOS, 20.03beta448.1f99fd2fdbe (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.2
channels(root): "nixos-20.03beta570.730453919bd, u-20.09pre216928.991bbef6835"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This worked in 9.0.5 but has stopped working since. In 9.0.9 there are no search engine thumbnails.
Please reopen.  @flokli

@mehlon if this was originally fixed by #82807, a new bug should be opened - the issue is likely a different one this time.


Detect Missing Exports in commonjs?

I'd like to be able to detect when I'm requiring a file that has no exports. Maybe more specifically when I try to assign it to a variable. For example:
// y.js

function xyz() {
  console.log("HELLO")
}

// x.js
const y = require('./y'); // <- this should be a lint error because y.js exports nothing

y();

Apologies if this is already possible and I'm just doing something wrong.

Try configuring import/no-unresolved with { commonjs: true }.

Try configuring import/no-unresolved with { commonjs: true }.

That seems to only help if the file itself can't be found. So no linting error is shown the example above with that setting enabled.

ah, i see what you mean.
Every CJS file always exports an object by default - it's impossible for a CJS file to export nothing.
I don't think any rule exists for this. It'd have to lint for the presence of a global module.exports assignment, as well as any exports mutation; but it'd also have to detect when module.exports or exports or module is passed into a function that could do the mutation.

Every CJS file always exports an object by default - it's impossible for a CJS file to export nothing.

TIL 👍
Adding the rule sounds tricky but interesting. Do you think there's value in it? I'd be up for giving it a shot with some guidance if you think its doable.

If we can avoid all false positives, and minimize false negatives, that sounds great.
What about adding an option to import/default, versus a new rule?


Support textDocument.typeDefinition LSP request

See the spec for more info on the request type.

#618


[rfc] Application Security Architecture

Terms:

Database ID - unique name of the current database used by the application; this could be for example Personal ID / Social Security number / PESEL (PL) or any other unique value - never sent plain to the server (only hash)
User Key - encryption key, unique, not stored on the server - used to access users's Master Key which is used to encrypt/decrypt data; data is only encrypted and decrypted Client Side thus we're in Zero Trust security
Master Key - encrypted using AES-GCM (encryption key = User Key)
Sharing Key - generated by user 6 digits (or more) key used to decrypt Master Key - but only for sharing purposes, subject to expiration date (for example valid just for 30min or one day)

We're using double leveled structure (User Key / Sharing Key) -> (Master Key) for letting the Users to manage/change Sharing and User Keys without the need to re-encrypt whole database.
Database Structure:

Table: keys - used for storing User Keys and Sharing Keys - therefore for API access authorization + for providing the client with encrypted Master Key for being used for data encryption and decryption:

databaseIdHash: Unique SHA-256 hash of the Database ID.
keyLocatorHash: Unique hash of the User Key or Sharing Key + Database Id using SHA256, unique within same Database ID. Hash is generated client side
keyHashParams: parameters - including salt - used for hashing keyHash; provided by client with generated hash; it's a JSON of:

{  "salt": "salt",
    "time": 1, // the number of iterations
    "mem": 1024, // used memory, in KiB
    "hashLen": 24, // desired hash length
    "parallelism": 1, // desired parallelism (it won't be computed in parallel, however)
}

keyHash: Unique hash of the User Key or Sharing Key using Argon2id, unique within same Database ID. Hash is generated client side
encryptedMasterKey: The master key encrypted using AES-GCM, secured with a User Key (which the server never receives in plain text). Master Key MUST be generated client side, encrypted and sent in encrypted form to the server.
expiryDate: Other fields may include expiration date and additional data.

Each databaseIdHash is associated with a at least single User Key and can have multiple Sharing Keys. Each Sharing Key record holds an encrypted copy of the Master Key.
Zero Trust
Because we never store plain User Keys, Shared Keys neither Master Keys - we're in Zero Trust security. The hashes (being sent to server) and the data encryption/decryption (done only on client) are only possible with given and stored inside browser's memory User Key and Master Keys.
UC01: Creating a New User Key or Database:
User provides us with:

Database Id - must be unique for the entire app as it's translated to database file name,
User Key / Password - automatically generated, subject to user change key.

Endpoint: /db/create
Data sent to server:

databaseIdHash: sha256(Database Id)
keyLocatorHash: sha256(User Key + Database Id + static salt)
keyHash: argon2Id(User Key)
encryptedMasterKey - encrypted by User Key key used to decrypt and encrypt users data
keyHashParams: hash params used for arg2id in JSON format:

{  "salt": "salt",
    "time": 1, // the number of iterations
    "mem": 1024, // used memory, in KiB
    "hashLen": 24, // desired hash length
    "parallelism": 1, // desired parallelism (it won't be computed in parallel, however)
}

masterDataKey - AES encrypted randomly generated key used for encrypting all subsequent data - key to encrypt this master key is always plain User Key or Sharing key which is never sent back to the server.

In case this is User Key - the first key in the database we are also generating and encrypting with AES-GCM the masterDataKey. If this is another key request - we're just sending the existing key along.
Hashes are calculated Client Side. No plain data sent to server.
For every API request we will set the Authorization header contains base64(JWT Access Token). The server verifies this as described below later in this text.
Server side:

Server creates new keys record storing:
databaseIdHash as sent from the client
keyLocatorHash - sha256 record locator with static salt,
keyHash - argon2Id hash - calculated client side and here stored for further usage,
keyHashParams - argon2Id params - used for further hashing.

UC02: Log In

The user inputs their Database Id.
The user inputs their User Key or Sharing Key.
Application is requesting /db/authorize-challenge with posting:

databaseIdHash: sha256(Database Id)
keyLocatorHash: sha256(User Key + Database Id + static salt) - this is just the record locator

Server sents back keyHashParams associated with the databasIdHash and keyLocatorHash' used as record locators inside keys` table
Client calculates argon2id hash for given keyHashParams and User Key and sends it to the server as keyHash with a request to /db/authorize
Server checks if argon hash associated with the key located by keylocatorHash and databaseIdHash matches keyHash.
Note: After succesfull login, server responds with JWT Access Token and JWT Refresh Token. These details are stored in the browser's memory and sent with each API request.
In case of succesfull login, The browser receives an AES-encrypted Master Key for the data, which is decrypted only in the browser using the User Key or Sharing Key stored in memory browser and unavailable to the server.
Data is encrypted using AES-GCM with this master key.

Authorization algorithm (on the server):

Get the keys records (one or many) where databaseIdHash =  + databaseIdHash + and keyLocatorHash = + keyLocatorHash (sent from client)
Iterate over the keys assigned to specific databaseHash and check if argon2id.check(keyHash, serverStoredKey.keyHash) are matched.
If so, send the encryptedMasterKey + JWT token to the client.

UC03: API Request Handling by the Server

Server verifies JWT Access token sent in the x-access-token header.
The server searches for the key in the database using the keyHash (hashed Database ID).
keyHash and databaseIdHash are stored within JWT Token described above.

Alternatively:

Server retrieves all keys for the tenant (there can be multiple if shared, or one if not). It iterates through and checks argon2id (of the submitted client key hash). If matched, the user is authorized

Client-Side Encryption and Decryption:
All data encryption and decryption are handled on the client side, ensuring data security.
The server cannot decrypt client data as it never receives the user's key—only the SHA-256 hash of the key, which is necessary to decrypt the master key used for data encryption.

Implemented with #66