BUG: Labels of actions being repeated.

Strangely, the label of actions are being repeated. I don't think that's the normal behaviour, so I tried fixing it, but my zero knowledge of Rust is not helping.
$ notify-call \
  --hint string:image-path:/home/iris/.local/share/icons/neovim.png \
  -o 'echo reset':'Ok' \
  -o 'echo reset':'Nooo' \
  'Neovim' \
  'Give a look at the file.'

Info from debug:
[src/manager.rs:87] &notification = Notification: {
  id: 4,
  app_name: ,
  summary: Neovim,
  body: Give a look at the file.,
  actions: {"0": "Ok", "1": "Nooo"},
  app_image: false,
  hint_image: false,
  urgency: Normal,
  percentage: None,
  time: 2022-03-24 22:55:06.202442324 -03:00,
  timeout: 10000
}

That's weird.  Would you be able to post your wired.ron as well?

Yes, (wired.ron)[https://github.com/BeyondMagic/MaGiCK/blob/main/.config/wired/wired.ron].
Thinking better of it, it was definitely working normal before when I started using this notification server, I'll try messing around to see if I can find a fix.

The problem may be that both your action blocks are pointing to action 0:
    name: "action0",
    parent: "actiondefault",
    hook: Hook(parent_anchor: BL, self_anchor: TR),
    offset: Vec2(x: 0.0, y: 0.0),
    render_criteria: [ActionOther(0)],
    params: ButtonBlock((
        text: "%a",
        font: "Noto Sans CJK JP Bold 10",
        action: OtherAction(0),       // <--------- HERE
        ellipsize: End,
        text_color: Color(hex: "#FF7D2D"),
        text_color_hovered: Color(hex: "#f1f1f1"),
        border_color: Color(hex: "#00000000"),
        background_color: Color(hex: "#00000000"),
        border_rounding: 0.0,
        border_width: 0.0,
        padding: Padding(left: 10.0, right: 0.0, top: 0.0, bottom: 0.0),
        dimensions: (width: (min: -1, max: -1), height: (min: 0, max: 0)),
    )),
),
(
    name: "action1",
    parent: "action0",
    hook: Hook(parent_anchor: MR, self_anchor: ML),
    offset: Vec2(x: 0.0, y: 0.0),
    render_criteria: [ActionOther(1)],
    params: ButtonBlock((
        text: "%a",
        font: "Noto Sans CJK JP Bold 10",
        action: OtherAction(0),       // <--------- HERE
        ellipsize: End,
        text_color: Color(hex: "#FAC846"),
        text_color_hovered: Color(hex: "#f1f1f1"),
        border_color: Color(hex: "#00000000"),
        background_color: Color(hex: "#00000000"),
        border_rounding: 0.0,
        border_width: 0.0,
        padding: Padding(left: 10.0, right: 0.0, top: 0.0, bottom: 0.0),
        dimensions: (width: (min: -1, max: -1), height: (min: 0, max: 0)),
    )),
),

You probably want one of them set to OtherAction(1)!


feat: remove hash location opt in

What:
Remove hash location opt in.

hash location strategy is no longer necessary to work with GiiHub Pages
see test deployment from forked repo: https://tino-tg.github.io/angular-ngrx-material-starter - of course i will remove the deployment after the PR is merged
for further information check out the docs

Issue number: see diescussion in previous PR

@tino-tg thnak you for your contribution!


Test ci

From the other PR:

I think it's because our Travis is using openjdk10

I use jdk8 and it's not working locally. This is not exactly the issue.

It's strange :) . I have no idea why.

Closing this PR. It was just a test.


feat: add resource tagging rules

[ ] document how azure resources should be tagged
[x] verify that all resource are properly tagged in dev
[x] verify that all resource are properly tagged in prod
[ ] add section on tagging in sepes-internal in the section for the devops team

Postponing this until Christers replacement is on board. It is a good excercise to get to know how the azure resources are configured.


Hermes transforms (unstable_transformProfile: 'hermes-stable') prevents from archiving the project in Xcode

Description
Since August, Hermes JavaScript engine is enabled by default on brand new projects but not the Hermes code transforms.
So, to work with BigInt and not have the following error
bash ERROR  TypeError: Cannot convert BigInt to number

, I need to enable them in my babel.config.js as stated in the Solana guide:
  module.exports = {
-   presets: ['module:metro-react-native-babel-preset'],
+   presets: [
+     [
+       'module:metro-react-native-babel-preset',
+       {unstable_transformProfile: 'hermes-stable'},
+     ],
+   ],
};

But, doing that, I can't archive my project on Xcode anymore. I get this error while trying:
error: File /Users/julien/Library/Developer/Xcode/DerivedData/test-bwyhfbhfgywuwjdqadmluvempaqw/Build/Intermediates.noindex/ArchiveIntermediates/test/BuildProductsPath/Release-iphoneos/test.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: https://github.com/facebook/react-native/issues'

PS: There is also this other issue  related to the same problem
Version
0.70.0
Output of npx react-native info
System:
    OS: macOS 12.5.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 1.47 GB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 8.11.0 - ~/.nvm/versions/node/v16.16.0/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
    Android SDK: Not Found
  IDEs:
    Android Studio: 2021.2 AI-212.5712.43.2112.8815526
    Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
  Languages:
    Java: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.1.0 => 18.1.0
    react-native: 0.70.0 => 0.70.0
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce

Create a new project

npx<EMAIL_ADDRESS>init test
cd test

Add the following code to App.js

console.log(2n ** 42n);

Try to archive the project on Xcode

error: File /Users/julien/Library/Developer/Xcode/DerivedData/test-bwyhfbhfgywuwjdqadmluvempaqw/Build/Intermediates.noindex/ArchiveIntermediates/test/BuildProductsPath/Release-iphoneos/test.app/main.jsbundle does not exist. This must be a bug with React Native, please report it here: https://github.com/facebook/react-native/issues'

Snack, code example, screenshot, or link to a repository
https://snack.expo.dev/@jcoulaud/bigint-with-non-hermes-transform

duplicate of #34656


ValueError: Some modules are dispatched on the CPU or the disk.

I am getting this error. I spent 4 hours with ChatGPT trying to solve it but failed, I am running on 8GB VRAM and 32GB RAM.
(venv) L:\joy-caption-batch>python batch-prealpha.py
Captioning Batch Images Initializing...
image_adapter.pt already exists.
Captioning Initializing
Found 1 files to process.
Loading CLIP
Loading tokenizer
Loading LLM
Traceback (most recent call last):
File "L:\joy-caption-batch\batch-prealpha.py", line 130, in
text_model = AutoModelForCausalLM.from_pretrained(MODEL_PATH, device_map="auto", torch_dtype=torch.bfloat16)
File "L:\joy-caption-batch\venv\lib\site-packages\transformers\models\auto\auto_factory.py", line 564, in from_pretrained
return model_class.from_pretrained(
File "L:\joy-caption-batch\venv\lib\site-packages\transformers\modeling_utils.py", line 4174, in from_pretrained
hf_quantizer.validate_environment(device_map=device_map)
File "L:\joy-caption-batch\venv\lib\site-packages\transformers\quantizers\quantizer_bnb_4bit.py", line 102, in validate_environment
raise ValueError(
ValueError: Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to fit the quantized model. If you want to dispatch the model on the CPU or the disk while keeping these modules in 32-bit, you need to set llm_int8_enable_fp32_cpu_offload=True and pass a custom device_map to from_pretrained. Check https://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-cpu-and-gpu for more details

Hmm, not sure what this is.
What batch size are you using? Make sure to set it down to 1 or something to ensure it's not a vram issue.
On a 3090 (24gb vram), you can use a batch count of 6.
On a 3090 (24gb vram) with low_vram enabled, you can use a batch count of 16.
On an 8gb vram card it would be lower.
Try the low_vram mode, and also make sure that you are indeed running it on GPU.
ChatGPT should be able to help you insert code to verify this.


Production deploy #10

@fionamurray that change was deployed in a previous release so it shouldn't prevent this from going in as it doesn't impact it.

I've made a PR addressing Fiona's feedback https://github.com/dxw/teacher-vacancy-service/pull/226


Fix Bugs on Get in Touch Section

1.Fix the size of Form for contact us.
2.Fix the images issues which is not showing earlier due to wrong url path for images.
3.Fix the side block of address information like resizing the block, removing extra lines.
Fixes:  #2990
please add the label under hacktoberfest and gssoc'24-ext

@rupeshv2121 resolve conflicts and also post a image where u made changes

Sorry I forgot to take ss but the conflicts are silly due to github it add some extra symbols in the file like ======, ------, >>>>>>
I remove these symbol

Pls Add label gssoc-ext, hacktoberfest-accpeted

@huamanraj @RitiChandak @RishabhDhawad  Pls Check and merge my pr under gssoc-ext and hacktoberfest alongwith level


Contribution: Codec for index-level encryption [LUCENE-6966]

We would like to contribute a codec that enables the encryption of sensitive data in the index that has been developed as part of an engagement with a customer. We think that this could be of interest for the community.
Below is a description of the project.
Introduction
In comparison with approaches where all data is encrypted (e.g., file system encryption, index output / directory encryption), encryption at a codec level enables more fine-grained control on which block of data is encrypted. This is more efficient since less data has to be encrypted. This also gives more flexibility such as the ability to select which field to encrypt.
Some of the requirements for this project were:

The performance impact of the encryption should be reasonable.
The user can choose which field to encrypt.
Key management: During the life cycle of the index, the user can provide a new version of his encryption key. Multiple key versions should co-exist in one index.

What is supported ?

Block tree terms index and dictionary
Compressed stored fields format
Compressed term vectors format
Doc values format (prototype based on an encrypted index output) - this will be submitted as a separated patch
Index upgrader: command to upgrade all the index segments with the latest key version available.

How it is implemented ?
Key Management
One index segment is encrypted with a single key version. An index can have multiple segments, each one encrypted using a different key version. The key version for a segment is stored in the segment info.
The provided codec is abstract, and a subclass is responsible in providing an implementation of the cipher factory. The cipher factory is responsible of the creation of a cipher instance based on a given key version.
Encryption Model
The encryption model is based on AES/CBC with padding. Initialisation vector (IV) is reused for performance reason, but only on a per format and per segment basis.
While IV reuse is usually considered a bad practice, the CBC mode is somehow resilient to IV reuse. The only "leak" of information that this could lead to is being able to know that two encrypted blocks of data starts with the same prefix. However, it is unlikely that two data blocks in an index segment will start with the same data:

Stored Fields Format: Each encrypted data block is a compressed block (~4kb) of one or more documents. It is unlikely that two compressed blocks start with the same data prefix.

Term Vectors: Each encrypted data block is a compressed block (~4kb) of terms and payloads from one or more documents. It is unlikely that two compressed blocks start with the same data prefix.

Term Dictionary Index: The term dictionary index is encoded and encrypted in one single data block.

Term Dictionary Data: Each data block of the term dictionary encodes a set of suffixes. It is unlikely to have two dictionary data blocks sharing the same prefix within the same segment.

DocValues: A DocValues file will be composed of multiple encrypted data blocks. It is unlikely to have two data blocks sharing the same prefix within the same segment (each one will encodes a list of values associated to a field).

To the best of our knowledge, this model should be safe. However, it would be good if someone with security expertise in the community could review and validate it.
Performance
We report here a performance benchmark we did on an early prototype based on Lucene 4.x. The benchmark was performed on the Wikipedia dataset where all the fields (id, title, body, date) were encrypted. Only the block tree terms and compressed stored fields format were tested at that time.
Indexing
The indexing throughput slightly decreased and is roughly 15% less than with the base Lucene.
The merge time slightly increased by 35%.
There was no significant difference in term of index size.
Query Throughput
With respect to query throughput, we observed no significant impact on the following queries: Term query, boolean query, phrase query, numeric range query.
We observed the following performance impact for queries that needs to scan a larger portion of the term dictionary:

prefix query: decrease of ~25%
wildcard query (e.g., “fu*r”): decrease of ~60%
fuzzy query (distance 1): decrease of ~40%
fuzzy query (distance 2): decrease of ~80%

We can see that the decrease of performance is relative to the size of the dictionary scan.
Document Retrieval
We observed a decrease of performance that is relative to the size of the set of documents to be retrieved:

~20% when retrieving a medium set of documents (100)
~30/40% when retrieving a large set of documents (1000)

Known Limitations

compressed stored field do not keep order of fields since non-encrypted and encrypted fields are stored in separated blocks.

the current implementation of the cipher factory does not enforce the use of AES/CBC. We are planning to add this to the final version of the patch.

the current implementation does not change the IV per segment. We are planning to add this to the final version of the patch.

the current implementation of compressed stored fields decrypts a full compressed block even if a small portion is decompressed (high impact when storing very small documents). We are planning to add this optimisation to the final version of the patch. The overall document retrieval performance might increase with this optimisation.

The codec has been implemented as a contrib. Given that most of the classes were final, we had to copy most of the original code from the extended formats. At a later stage, we could think of opening some of these classes to extend them properly in order to reduce code duplication and simplify code maintenance.

Migrated from LUCENE-6966 by Renaud Delbru, 12 votes, updated May 22 2020
Attachments: Encryption Codec Documentation.pdf, LUCENE-6966-1.patch, LUCENE-6966-2.patch, LUCENE-6966-2-docvalues.patch
Linked issues:

#10419
#3304

With the new requirement of PCI 4.0 that disk encryption cannot be the only protection for data at rest, this contribution becomes very crucial, is there any progress with this ?
https://www.vikingcloud.com/blog/pci-dss-v4-are-you-using-disk-encryption


Good project

We are also working on the framework of Web3 recently, and are collecting a lot of knowledge in this field. We are lucky to see this project. Thank you very much, and hope to refuel

Thank you very much. Building web3 together !


Harmonize location of config file in dockerfile

We should align:

https://github.com/docker/distribution/blob/master/Dockerfile#L19

with

https://github.com/docker/distribution-library-image/blob/master/Dockerfile#L15

Agreed. We should standardize on /etc/docker/registry/config.yml


http://leantracking.com not working

Hi, http://leantracking.com/ is not working. Last week it was. Has it been discontinued?
Thanks

Working again! Thanks!


Provide more context for using the Docker instance

I seem to be able to set up the docker instance, no problem, but not sure how to run it.
docker pull a11ywatch/a11ywatch runs with no problem. But then what?
$ a11ywatch start gives me a series of errors.
If I wanted to do a basic scan, would I use  a11ywatch scan --url https://a11ywatch.com -s -d still? The docs are not clear on this.

The start for the instance takes two steps when the CLI is installed using docker.

a11ywatch start
a11ywatch scan -u https://a11ywatch.com

If you want to crawl a full website run the crawl command instead of scan.
A working linux example setup with commands can be found https://github.com/a11ywatch/a11ywatch/blob/main/.github/workflows/cli.yml.
Not sure what the errors are if you can provide more context if possible? Thanks

a11ywatch/a11ywatch is the standalone docker image combing all of the services into one.
It is a smaller build but, does not scale as well as the base option via docker or k8.
The CLI provides two forms of docker setups for the project (standalone and isolated) and one bare entry using the metal on the host non docker, for more context on commands a11ywatch help can be run in conjunction across any command.
Attached bellow is a working gif just tested on latest:

https://github.com/a11ywatch/a11ywatch/commit/1ff9218f9cadbdba9781ac96927bb258377f27d8 updated the docs to leave more context to get right into action.

Ok, so can we start either here:
https://github.com/a11ywatch/a11ywatch
or:
https://hub.docker.com/r/a11ywatch/a11ywatch
Do they get me to the same place?
If I run:
git clone https://github.com/a11ywatch/a11ywatch.git
cd a11ywatch

then what?

There are multiple paths and commands don't seem to fit with all routes.

I see the issue now, correct two different paths. The CLI manages all of the manual work for you. When using the hub image directly that is if you wanted to just deploy the instance or use it directly without the help of the CLI. There was a minor issue with the /scan api endpoint in dev for the REST entry if testing with curl( rebuilding the image is required for the fix or the —upgrade command on “a11ywatch build —upgrade”.

@mgifford the git clone and cd command is if you are going to develop/contribute and not required for startup.

Ok, so I pulled down the repo from GitHub & navigated to the directory:
% ls
CODE_OF_CONDUCT.md	README.md		clients
CONTRIBUTING.md		benchmarks		docker
LICENSE			cli			kubernetes

I tried to start a11ywatch:
% a11ywatch start
WARN[0000] The "PAGESPEED_API_KEY" variable is not set. Defaulting to a blank string.
WARN[0000] The "COMPUTER_VISION_ENDPOINT" variable is not set. Defaulting to a blank string.
WARN[0000] The "COMPUTER_VISION_SUBSCRIPTION_KEY" variable is not set. Defaulting to a blank string.
[+] Running 8/8
 ⠿ Container chrome      Running                                           0.0s
 ⠿ Container cdn-server  Running                                           0.0s
 ⠿ Container crawler     Started                                           0.3s
 ⠿ Container mongodb     Running                                           0.0s
 ⠿ Container mav         Running                                           0.0s
 ⠿ Container redis       Running                                           0.0s
 ⠿ Container pagemind    Running                                           0.0s
 ⠿ Container api         Running                                           0.0s

That option doesn't seem to be valid:
% a11ywatch build —upgrade
error: Found argument '—upgrade' which wasn't expected, or isn't valid in this context

USAGE:
    a11ywatch build [OPTIONS]

For more information try --help

Ok, so I pulled down the repo from GitHub & navigated to the directory:
% ls
CODE_OF_CONDUCT.md	README.md		clients
CONTRIBUTING.md		benchmarks		docker
LICENSE			cli			kubernetes

I tried to start a11ywatch:
% a11ywatch start
WARN[0000] The "PAGESPEED_API_KEY" variable is not set. Defaulting to a blank string.
WARN[0000] The "COMPUTER_VISION_ENDPOINT" variable is not set. Defaulting to a blank string.
WARN[0000] The "COMPUTER_VISION_SUBSCRIPTION_KEY" variable is not set. Defaulting to a blank string.
[+] Running 8/8
 ⠿ Container chrome      Running                                           0.0s
 ⠿ Container cdn-server  Running                                           0.0s
 ⠿ Container crawler     Started                                           0.3s
 ⠿ Container mongodb     Running                                           0.0s
 ⠿ Container mav         Running                                           0.0s
 ⠿ Container redis       Running                                           0.0s
 ⠿ Container pagemind    Running                                           0.0s
 ⠿ Container api         Running                                           0.0s

That option doesn't seem to be valid:
% a11ywatch build —upgrade
error: Found argument '—upgrade' which wasn't expected, or isn't valid in this context

USAGE:
    a11ywatch build [OPTIONS]

For more information try --help

@mgifford looks like you are missing one - try using --upgrade  or -u.  Navigating to the github repo is only needed for developing since it is the command center for the other files. If the goal is to setup all the files for development, here is a more detailed doc.
Example:
mkdir a11ywatch_project && cd a11ywatch_project
git clone https://github.com/a11ywatch/a11ywatch.git
git clone https://github.com/a11ywatch/a11ywatch-core.git
git clone https://github.com/a11ywatch/pagemind.git
git clone https://github.com/a11ywatch/web.git
git clone https://github.com/a11ywatch/mav.git
git clone https://github.com/a11ywatch/crawler.git
git clone https://github.com/a11ywatch/elastic-cdn.git
git clone https://github.com/a11ywatch/a11ywatch.git

Navigate to primary repo for main setup and start.
cd a11ywatch

Navigate to primary repo for main setup and start.
cd a11ywatch

Ok, so a11ywatch is the primary repo, right?
And start is with a11ywatch scan --url https://a11ywatch.com -s
Right? The instructions are often missing a step because of things you assume. It isn't easy for others to know what you are assuming.

@mgifford The a11ywatch CLI is has helpful commands to interact with the system and not needed for development. I am confused where the mix up is coming from, if you can help point out the confusion/assumptions from the docs. Some of the things that are more generic like env vars.
The central command project for the repo is this project for development end to end due to most of the services having primary concerns and abilities to be on their own.

@mgifford I understand how frustrating it can be to get something up and running that should be simple. The issues you encountered helped point out some issues that need to be resolved. I created two issues pertaining our conversations https://github.com/a11ywatch/a11ywatch/issues/39 and https://github.com/a11ywatch/a11ywatch/issues/38.
The issue #39 is to avoid issues with mis matched versions across npm and cargo.
Issue #38 is to make sure when starting up multiple instances of the service regardless of topology to make sure the system runs properly without conflicts.
Thank you for the time and I appreciate the time you put into this. I am going to also take a look at trying to make the docs more direct with less confusion.

Here are some things that might be helpful for me and others:

Provide an uninstall process. I probably need one. Starting with a fresh slate may help.

Provide more getting started guides that go from initially starting the download process to actually running a scan of an example page which will provide an expected result (could be a pass or a failure page).

Maintaining different install paths is time-consuming. If all of them are the same, great, if one doesn't pull the latest code/release state that. I don't remember whether cargo or node isn't as up-to-date, but I should know that there is a difference between trying to install on one or another.

what I am getting stumped on is achieving "hello world" type results. I need confidence I can get there, before exploring other options in the docs. If the CLI is the fastest way to get there, great.  I'm still not sure what the other options are.  Is there are whole web interface like you are maintaining for the service? Knowing why I would invest the extra time to take me to go from the "hello world" to a functioning a11y crawler, to a self-hosted web interface should be clearly different steps.

I think this is an interesting project and I think there is potential here.  I think at this stage crawling is less of a problem than aggregating reports, but would like to make it easier for more folks to help become involved. I have some skills, but probably mostly have experience working to implement similar crawling tools. There is a lot that can be done to make accessibility easier by default that requires this infrastructure.

@mgifford I like the breakdown and step one I agree whole hearted is important.
On step one the crawler could easily mess up the entire project on older versions since it would not shutdown with the local builds. On new releases this is now fixed but, still a problem for users who need to upgrade etc.
For the different paths the reasons are more for the env at hand (q3).

Isolated builds - default ( runs each micro service individually and consumes more memory but, now it can be scaled via docker what ever service needs to be juiced more ).

Slim builds - (standalone) starts with the -s flag brings all the micro-services into one container and reduces the memory required. This allows machines with lower specs or setups that do not need to scale.

Local builds - (local) starts with the -l flag and does not use docker. It installs all the projects via node and rust onto the host. Some benefits to this are avoiding the container aspect or need for docker installs or no std environments.

I think it might make sense to add this upfront to the docs with some highlights on the purpose.
On q4 we also provide a web interface using the -f option on a11ywatch start.
.
Very valid points on all of the above, and really glad to hear those words about the role in the project to help the community together.


OOM killer leaks messages

If the OOM killer kills a process, all it's handles get leaked.  This is because the OOM killer doesn't run the robust futex cleanup to free the messages.
It actually looks like /proc/pid/stat has a start time for the thread.  When opening the queue, we could look for any PIDs which are nonzero, see if they exist, and then check that the start time matches.  If it does, it's pretty much guaranteed to be the same process, and is actually running.

Another option is generating a unique ID and putting it into the environment (which can be read via /proc/pid/environ), and record that in shared memory so other threads can check it.
If there's currently a task with a matching TID but its environ either doesn't have the variable or has a different value, then it's a different process.


Add better infrastructure for annotating

There are a number of places where people need to annotate existing values, so we should provide functions that annotate for values with To/FromCBOR instances and for explicit encoders/decoders.
We want:
annotateDecoded :: Decoded t => (BaseType t -> Encoding) -> Decoder s t -> BaseType t -> t
annotateDecodedCBOR :: (Decoded t, ToCBOR (BaseType t), FromCBOR t) => BaseType t -> t
This isn't quite right, because ts are usually annotated with ByteStrings, but the decoders need to annotate with ByteSpans. We should look into this further.

The new changes from @redxaxder should take care of this :)

Looks like this ticket can be close. Annotated decoding has moved to the versioned decoder in cardano-ledger-bianry.
Moreover, latest comment indicates that this ticket has been addressed.


Please document how to specify 'minimum', 'maximum' and 'precision' for appropriate data types

In the documentation it states that you can specify 'minimum', 'maximum' and 'precision' for several of the different types.  I don't see this documented anywhere and I have no idea how to do this. Are you able to document this for the future but in the meantime, how is this accomplished?

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

ID: b3b2e635-6c60-0efc-d894-e43216dca90e
Version Independent ID: 9828125d-c061-465e-d486-b4ea609190e1
Content: Property Element - Power Apps
Content Source: powerapps-docs/developer/component-framework/manifest-schema-reference/property.md
Service: powerapps
Sub-service: pcf
GitHub Login: @noazarur-microsoft
Microsoft Alias: noazarur

Thanks for your comment, @StevenRasmussen. This issue has been assigned to the doc author for review.

@StevenRasmussen
Thanks for your feedback.
I believe you are referring to the descriptions in the Remarks section of this doc where the following can be found:

Value
Description

Decimal
Up to 10 decimal points of precision can be used for values between -100,000,000,000 and -100,000,000,000 can be in this column. You can specify the level of precision and the maximum and minimum values.

FP
Up to 5 decimal points of precision can be used for values between -100,000,000,000 and -100,000,000,000 can be in this column. You can specify the level of precision and the maximum and minimum values.

I don't see any attributes in the XML to set min or max values for a given property in the manifest.
I suspect that these descriptions come from cases where you are defining columns/attributes in Dataverse.
In this case, we should remove this part of the description: You can specify the level of precision and the maximum and minimum values.
@noazarur-microsoft
Can you verify?

@StevenRasmussen
Spoke with the dev team about this today.
I think this might be an issue where the docs introduced confusion.
The descriptions for different types mentioned above do include the text "You can specify the level of precision and the maximum and minimum values." within the definitions of the type. But this means these min, max, and precision values are customizable within the column (attribute) definition.
You can specify these values for the column, but not within the pcf control.
Were you looking for links to how to define columns? Like this How to create and edit columns?

Removed the language talking about specifying max, min, & precision values since it might be confusing.


[enhancement]: SD upscale face correction

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
No response
What should this feature add?
Codeformer and GFPGAN work pretty well for correcting faces, but I'm finding that I can often get even better ones by using embiggen (only when faces don't fall on the border between tiles, though), even with face correction disabled. When a face is close to 512x512, SD can do a much better job. This is particularly true in the 2.0 models, which (with a little negative prompting) have been giving me great faces without any restoration.
A nice third option to have for face restoration would be to pick faces out of the the image (using opencv or whatever the existing face correction options use), upscale that square to 512x512 (or even 768x768, once 2.0 models are supported) and run a few steps of img2img on them (5-7 steps seems to be enough), maybe run GFPGAN for safety, then scale the image back to fit where it was, with the edges feathered like embiggen does so that you don't get those boxes around them like you sometimes get with GFPGAN.
Alternatives
No response
Aditional Content
No response

I think it’s very nice option for the embiggen UI.

Yeah, I see. I’m sure we’ll implement this in the UI with Embiggen. It also very useful for the selective img2img on canvas I propose earlier, to get rid of edges with embiggen-like feathering. Also, we already have similar option for canvas part regeneration, when selection is smaller than 512px. They're all connected features.
BTW, I still get no restoration effect when have more than one face in the image and want some kind of manual face detection :-(

BTW, I still get no restoration effect when have more than one face in the image and want some kind of manual face detection :-(

Come to think of it, that's something missing from the unified canvas... There should be a button on that interface to do face correction on the part of the image in the bounding box. That would let you put the box over a face you want to restore and run restoration on it, excluding any other faces that might be on the canvas.

Btw, I a similar system might work for hand correction, though it might require a finetuned model trained specifically on images zoomed-in on hands to be effective.

Btw, I a similar system might work for hand correction, though it might require a finetuned model trained specifically on images zoomed-in on hands to be effective.

Exactly: select anywhere, fix. But 3-4 months later we can get SD 3.0 which will fix those problems. Or not.

Exactly: select anywhere, fix. But 3-4 months later we may get SD 3.0 which will fix these problems. Or not.

If we do, we'll want this to use the new model to fix the hands in all of our best 1.5 images.

to fix the hands in all of our best 1.5 images

don’t know how…it must be kind of «face fix», but «hand fix»?


ImportError: No module named 'downloadthread'

Windows 10, Python 3.5.
Traceback (most recent call last):
  File "c:\python35\lib\runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python35\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python35\Scripts\dsdownload.exe\__main__.py", line 5, in
  File "c:\python35\lib\site-packages\DSDownload\__init__.py", line 11, in
    from DSDownload import DSDownload
  File "c:\python35\lib\site-packages\DSDownload\DSDownload.py", line 15, in
    import downloadthread
ImportError: No module named 'downloadthread'

In <IP_ADDRESS> all was fine.

I'm getting the same error.

I think the author made some breaking changes/abandoned this. If you guys want follow my fork and we can start removing a bunch of the fluff. https://github.com/leokhachatorians/DSDownload

Sorry for this.
I'm traveling, come home tomorrow night and throw a new version with this fix. Working on a better module to perform downloads.

Sounds great. I'm looking forward for a fixed version.

Version <IP_ADDRESS> released with several improvements.
I did the tests in python2 and Python3 on OSX if someone can test on other platforms I'd be grateful to hear the feedback.

After upgrading to <IP_ADDRESS>, getting this error:
Traceback (most recent call last):
File "C:\Users\username\AppData\Local\Programs\Python\Python35-32\Scripts\dsdownload-script.py", line 9, in
load_entry_point('DSDownload==<IP_ADDRESS>', 'console_scripts', 'dsdownload')()
File "c:\users\username\appdata\local\programs\python\python35-32\lib\site-packages\DSDownload_init_.py", line 35, in main
DSDownload(args.urls, args.workers, args.output)
TypeError: 'module' object is not callable

Made some minor changes to make it more compatible with Windows.
I have no machine with Windows 10, I did tests on Windows 8 and all went well.
If you can do a test I would be grateful to receive feedback

I can confirm now that it works as intended. It would be great, however, if you could introduce some kind of a progression bar.

The new download module introduced in version <IP_ADDRESS> already allows you to create a progress bar and also the ability to resume downloads, these are my next goals for this project.


Can you give simple Hello World Program?

I have Follow Your Style Guide, But i cannot get clear view and folder structure  can give any simple example?

For a1 I usually refer to the modular demo app, and its source/client.
In general terms, it's a "modular" folder structure.. so if you have modules corresponding to your app's pages/states, you'll have a directory (within /app ) for each module (with a .app.js, .html and .js within), plus a directory for each service or directive. Although for extremely simple services used only by that app (and by most or all of the pages/modules in the app), I might put them all in a single /services directory/module.
HTH (and of course, I'm just a simple "reader/user" of JP's style guide, so don't take my voice as authoritative)

thanks


Fix the issues in the conformance test suite

Description
At present, the conformance test suite fails to run, displaying the following error for the claim mapping update API request.

The error stems from a recent addition of default management APIs into the API Resources feature. This enhancement requires subscriptions and role permissions to access the APIs. Consequently, all API calls are currently failing. To address this issue, we must modify the conformance suite Python script to subscribe to the necessary APIs and acquire the relevant permissions.

Summary of Local Test Suite Execution

This issue is tracked in https://github.com/wso2/product-is/issues/16784#issuecomment-1789009536


[improve][admin] getMessageById gets message by batch index

Motivation
When the message is a batch message, the org.apache.pulsar.client.admin.Topics#getMessageByIdAsync(java.lang.String, long, long) only returns the first message from the batch message, this affects our troubleshooting.
Modifications

Add org.apache.pulsar.client.admin.Topics#getMessageByIdAsync(java.lang.String, long, long, int) instead of org.apache.pulsar.client.admin.Topics#getMessageByIdAsync(java.lang.String, long, long).
Add org.apache.pulsar.client.admin.Topics#getMessageById(java.lang.String, long, long, int) instead of org.apache.pulsar.client.admin.Topics#getMessageById(java.lang.String, long, long).
Update org.apache.pulsar.admin.cli.CmdPersistentTopics.GetMessageById#run to print all message.
Update org.apache.pulsar.admin.cli.CmdTopics.GetMessageById#run to print all message.

Verifying this change
Test added.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Seems we need a PIP?
https://github.com/apache/pulsar/blob/master/pip/README.md#:~:text=Any change to the public APIs (Client APIs%2C REST APIs%2C Plugin APIs)

@dao-jun Yeah I agree. And I left a comment my comment in the discussion: https://lists.apache.org/thread/olftk1n8ty05xwq59s1z75d72xjpj7no

the String format is ledgerId:entryId:batchIndex or ledgerId:entryId, what do you think?

LGTM

Closed by #21918


Does this work with Expo?

Thanks a lot, this looks amazing? Does this work with Expo projects?

Cheers, you are welcome. There shouldn't be any issues using this with expo. It is JS only and no native deps needed.
I'll close this for now but let me know if you run into any problems.


⚠ Samsung has degraded performance

In f3b0455, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2500 ms

Resolved: Samsung performance has improved in 7ad59b9.


Fix net/http client instrumentation

Hi,
This PR fixes the flakiness issue described in #220 as it aligns the net/http client instrumentation so it will not update the spans_in_progress map similarly to how the gRPC client instrumentation is implemented.
It is worth mentioning that it will not fix the underlying issue described in my comment on #220 which means sometimes injections to header map might still occur twice due to the eBPF program being ran twice.

Thanks for sharing @oxeye-gal - sorry for the delay in getting back to you.
I think this is now superseded by #118 where we utilise start_tracking_span and stop_tracking_span utility funcs to manages the active spans and associated contexts.


carthage issue

duplicating the issue reported on the original site,
https://github.com/Yalantis/Koloda/pull/229/files/39d434eb5b14b045feb248
08f913a06338f20ffe

@arashkashi I moved the target branch to develop, which includes the changes https://github.com/Yalantis/Koloda/pull/273 and any further changes for swift 3


ngircd: 25 -> 26

Motivation for this change
Fixes: https://nvd.nist.gov/vuln/detail/CVE-2020-14148
New version: https://github.com/ngircd/ngircd/blob/rel-26/ChangeLog
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

nixpkgs-update fails with a funny error:
2020-07-05T17:52:23 ngircd 25 -> 26 https://repology.org/metapackage/ngircd/versions
2020-07-05T17:52:36 [version]
2020-07-05T17:52:37 FAIL stderr did not split as expected full stderr was:
error: anonymous function at /var/cache/nixpkgs-update/nixpkgs/pkgs/build-support/fetchurl/default.nix:38:1 called with unexpected argument 'sha266', at /var/cache/nixpkgs-update/nixpkgs/pkgs/servers/irc/ngircd/default.nix:6:9

LGTM, thanks!
Result of nixpkgs-review pr 92843 1

1 package built:
- ngircd


Travis-ci: added support for ppc64le

Added power support for the travis.yml file with ppc64le. This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing.

@c9s waiting for your response for merging ppc64le. Thanks!


Where should I add this code? Server IP Adress And  Started Which Port?

Where should I add this code? Server IP Adress And  Started Which Port?
    // ...
    console.log('User %s holepunched. IP: %s (internal %s) Client Port: %i (internal %i)'
        + 'Server Port: %i (internal %i)',
        user.userName, user.externalIpAddress, user.localIpAddress,
        user.externalClientPort, user.localClientPort)
    // ...

Room. server does not report the address or port.


Remove log from Failed to answer to Slack message error

https://dust4ai.slack.com/archives/C050SM8NSPK/p1700837575908469

GDPR FTW


Add name to CONTRIBUTORS.md file

Hello, I have added my name to the list of contributors. Kindly merge. Regards

@nosacodes4fun , approved your PR.
Don't forget to star this repo, and follow me on GitHub for any updates to this organization or code repository!
Thanks for your contribution once again, and hope to collaborate with you again in the future :)

@melvincwng Sure. Thank you!


Remove vanzasetia.site

vanzasetia.site is no longer available. Please remove it from 250KB Club. Thank you.

Thank you for letting me know!


be more explicit about the types of dists to download

In a few places where we change the default inputs to resolve_dist()
pass both options for clarity about what sorts of distributions are
expected as results.
Related to #88
Related to #87

@mergifyio refresh

https://github.com/Mergifyio refresh


Plotting writing / save argument

(Following on from https://github.com/grantmcdermott/tinyplot/issues/121#issuecomment-1941993963)
Something like:
tinyplot(1:10, save = "myplot.png")

or
tinyplot(1:10, file = "myplot.png")

Internally, this would need to open the appropriate graphics device based on the filename extension (here: png()) and call dev.off() right at the end.
We could potentially even support "in-memory" saving via recordPlot() if no extension is detected... although the interface might not be as clean. (Users would still have to call replayPlot() afterwards?)

I kind of like this, because I'm too dumb to ever remember any of the graphics settings.

I can see that this might be nifty. However, my feeling is that this opens a whole new can of worms that might lead to "feature creep"

Because if we do it, we need to support at the very least height and width and then the question is whether these should also work if we don't save but just plot on an existing device.
But then we probably also want bg and pointsize, possibly res or family.
And once we're there we might also want to support all of the arguments of the devices like png(), pdf(), svg(), etc.
And when we are there I think it would be cleaner to open the device rather than adding all this infrastructure to tinyplot just to save us from saying dev.off() at the end.

In short: Selecting the supported parameters is not straightforward IMO.

Thanks @zeileis, I definitely hear you on the risk of feature creep. But, motivated by the fact that I personally would find this useful, I think we can potentially strike a reasonable compromise for the most common use cases:

Only support a subset of known devices (e.g., png, pdf, and svg)
Set res, width, height, and units defaults via tpar (at 5, 8, "in", and 300 respectively)
etc.

Let me test out a dummy version and then submit a PR for you both to look at.

OK, thanks, worth a try!
Will height/width/units only be honored when plotting to one of the file devices?

Perhaps less obvious to users, but tinyplot(..., dev = NULL)
When dev is NULL default device is used, guessed in the same way it is done for standard plot().
The dev can be either device from ?Devices, or file name with an extension from which the device will be guestimated.

Hey folks, I have a PR supporting this in #143 (branch: "filename"). This is one of the last things I want to enable / decide on before CRAN submission. So please try it out and report back under the PR.


State change in parent component resets selected date

Hello, I am creating a component that displays a set of filters next to the scheduler. When one of the filters is checked/unchecked, that changes which events are passed to the scheduler's events field. However, it also resets the scheduler back to the current date.
As an example, I have the following flow:

User opens the page and scheduler is in week format on the current date.
User clicks the scheduler navigation button to navigate to the next week.
User changes the filter values

I want this to remain on the next week and simply hide/show some new events. Instead, the scheduler reverts back to the current date and the user has to click to the next week again in order to see the changed events.
It seems like changing any state in the parent component resets the scheduler back to the current date. Is there a way to prevent this from happening?

As an update, I have created a code sandbox demonstrating the problem here: https://codesandbox.io/s/event-update-resets-date-2grbbs?file=/src/App.js
The problem only occurs when the state change results in a change to the events parameter. If the state change is unrelated, then the problem does not occur.

Hi @jackstenglein
Thank you for the sandbox it made it easier. You are right. and there is a history to this #39
it turns out the exposing selectedDate in this way is not a good solution, so I think I will revert it back, and find another better solution for #39
You can use next release to see this issue fixed

Try v2.5.4
Feel free to reopen if you still find issues

@aldabil21 Thanks, that fixed the issue. One possible solution to both this and #39 is to expose a selectedDate and onDateChange prop. Then the parent component can be notified of when the date changes and update the selected date in their own state. IE make it a controlled field, similar to the value of a MUI TextField.

You are right.
That would work as well.


(PUP-9927) Exclude PKey.read monkey patch on JRuby 9.1

JRuby 9.1 (openssl-jruby) doesn't implement the OpenSSL::PKey.read
method despite being "compatible" with MRI 2.3. We don't need that
generic PKey.read method on JRuby, so don't try to monkey patch it.

We don't test master against jruby 9.1, but a quick test shows it loads successfully:
$ ruby --version
jruby <IP_ADDRESS> (2.3.3) 2018-04-20 d8b1ff9 Java HotSpot(TM) 64-Bit Server VM 25.162-b12 on 1.8.0_162-b12 +jit [darwin-x86_64]
$ bx rspec spec/unit/x509/cert_provider_spec.rb
Run options: exclude {:broken=>true, :benchmark=>true}
...........*........................................................

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Puppet::X509::CertProvider when loading crls and input is invalid raises when invalid input is inside BEGIN-END block
     # jruby bug: https://github.com/jruby/jruby/issues/5619
     Failure/Error:
       expect {
         create_provider(crlpath: crl_path).load_crls
       }.to raise_error(OpenSSL::X509::CRLError, 'nested asn1 error')

       expected OpenSSL::X509::CRLError with "nested asn1 error", got #<OpenSSL::X509::CRLError: java.io.IOException: malformed PEM data encountered> with backtrace:
         # ./lib/puppet/x509/cert_provider.rb:109:in `block in load_crls_from_pem'
         # ./lib/puppet/x509/cert_provider.rb:108:in `load_crls_from_pem'
         # ./lib/puppet/x509/cert_provider.rb:93:in `load_crls'
         # ./spec/unit/x509/cert_provider_spec.rb:137:in `block in (root)'
         # ./spec/unit/x509/cert_provider_spec.rb:136:in `block in (root)'
     # ./spec/unit/x509/cert_provider_spec.rb:136:in `block in (root)'

Finished in 2.34 seconds (files took 2.25 seconds to load)
68 examples, 0 failures, 1 pending

CLA signed by all contributors.

I should just remove our calls to OpenSSL::PKey.read and the related monkey patches. Let me fix that.

I haven't functionally tested this yet, but it seems clear and correct.


New attr.cmp_using helper function

Pull Request Check List
This is just a friendly reminder about the most common mistakes.  Please make sure that you tick all boxes.  But please read our contribution guide at least once, it will save you unnecessary review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing left to do.  If your pull request is a documentation fix or a trivial typo, feel free to delete the whole thing.

[X] Added tests for changed code.
[ ] New features have been added to our Hypothesis testing strategy.
[X] Changes or additions to public APIs are reflected in our type stubs (files ending in .pyi).

[?] ...and used in the stub test file tests/typing_example.py.

[ ] Updated documentation for changed code.

[ ] New functions/classes have to be added to docs/api.rst by hand.
[ ] Changes to the signature of @attr.s() have to be added by hand too.
[ ] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.  Find the appropriate next version in our __init__.py file.

[ ] Documentation in .rst files is written using semantic newlines.
[ ] Changes (and possible deprecations) have news fragments in changelog.d.

If you have any questions to any of the points above, just submit and ask!  This checklist is here to help you, not to deter you from contributing!

Hello @hynek, I've added the function cmp_using in this pull request.
It is still draft for one reason.  I've used functools.total_ordering so complete the ordering functions, and I found that the functions such as _ge_from_lt are defined directly in the functools module, and because of that I can't set their __qualname__ to get well-behaved methods.
My question therefore is "how much does this matter"? If this this matters, then we need an alternative to total_ordering.
Let me know what you think.
Thanks

Example of numpy usage:
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.
PyDev console: using IPython 7.20.0
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
import numpy as np
import attr
@attr.s(eq=True, order=False)
class A:
    value = attr.ib()

a1 = A(np.array([[1,2],[3,4]]))
a2 = A(np.array([[1,2],[3,4]]))
a1 == a2
Traceback (most recent call last):
  File "/home/antonio/.venv/attrs/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3427, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-7-74942f9c531d>", line 1, in <module>
    a1 == a2
  File "<attrs generated eq __main__.A>", line 4, in __eq__
    return  (
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

@attr.s(eq=True, order=False)
class B:
    value = attr.ib(eq=attr.cmp_using(eq=np.array_equal))

<ipython-input-8-6aa555853f34>:3: SyntaxWarning: You have customized the behavior of `eq` but not of `order`.  This is probably a bug.
  value = attr.ib(eq=attr.cmp_using(eq=np.array_equal))
b1 = B(np.array([[1,2],[3,4]]))
b2 = B(np.array([[1,2],[3,4]]))
b1 == b2
Out[11]: True

Finally, I believe we should update the following warning:
@attr.s(eq=True, order=False)
class B:
    value = attr.ib(eq=attr.cmp_using(eq=np.array_equal))

<ipython-input-8-6aa555853f34>:3: SyntaxWarning: You have customized the behavior of `eq` but not of `order`.  This is probably a bug.
  value = attr.ib(eq=attr.cmp_using(eq=np.array_equal))

If it is possible to tell that order=False for the entire class, then we can skip the warning altogether. If not, we can suggest setting order=False.

Oh god that's a lot more code than I hoped for. 😅
Firstly, I don't think the qualname stuff matters at all, but it seems like your Comparable creation is more complicated than it needs to be.
Have you considered building a dict and then using new_class() (we have a helper in _compat for Python 2) instead of patching an existing class?
Also you broke almost all builds. :D

Got it, I'll simplify it then.  :-)
PS: the builds are breaking intentionally, as I committed a failing test.
That is why I marked the PR as draft.
On Wed, 14 Apr 2021 at 12:10, Hynek Schlawack @.***>
wrote:

Oh god that's a lot more code than I hoped for. 😅
Firstly, I don't think the qualname stuff matters at all, but it seems
like your Comparable creation is more complicated than it needs to be.
Have you considered building a dict and then using new_class() (we have a
helper in _compat for Python 2) instead of patching an existing class?
Also you broke almost all builds. :D
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/python-attrs/attrs/pull/787#issuecomment-819436506,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMJFPAEFEZHLO57VV6L2HTTIVZZ5ANCNFSM42X3QSBQ
.

cough 😇

So... here is a version using new_class, passing tests and 100% coverage.
I even installed Python 2.7 to be sure everything worked. :smile:

@botant  thanks! would you mind removing the stray white space  edits from the pyi file? Or are they on purpose?
@Julian since IIRC this is implementing an idea of yours, would you mind having a look if it’s what you had in mind?

From __init__? I found that weird as well, but I assumed it was okay since it was formatted by black.
Happy to rollback if you want.

Yeah, __init__.pyi. I think we might be still excluding pyi files from black? I’ll need to re-investigate.  Anyhow, the removed empty lines are nice, please give them back. :)

Sure thing.
On Sat, Apr 24, 2021, 14:19 Hynek Schlawack @.***>
wrote:

Yeah, init.pyi. I think we might be still excluding pyi files from
black? I’ll need to re-investigate. Anyhow, the removed empty lines are
nice, please give them back. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/python-attrs/attrs/pull/787#issuecomment-826091946,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMJFPHWCVBHPQJSEFQQAZTTKLANPANCNFSM42X3QSBQ
.

Nice! This looks great to me yeah!

Yeah, __init__.pyi. I think we might be still excluding pyi files from black? I’ll need to re-investigate. Anyhow, the removed empty lines are nice, please give them back. :)

Done!

Thanks! I'll write some docs and look into the warning thing!

Big props for sticking with this @botant.

Thanks a lot @hynek and @Julian, it's been a pleasure to collaborate. Great experience (for me :smile:).


Misc WIN32 and VS2010 fixes

CHANGES:

imagebufalgo_util.h: export type_merge symbol
platform.h : declare __cpuidex function
filesystem.cpp : include <windows.h> after "OpenImageIO/platform.h". Otherwise, NOMINMAX gets defined too late.
py_paramvalue.cpp : make sure code uses make_tuple from boost::python and not make_tuple
from std::tr1. VS2010 gets confused with the current code.

Except for the second, all changes should be backported to RB 1.5

LGTM, thanks for the fixes, I will merge these into both branches shortly.

Backported to 1.5 as well.


Cut release branches for v0.6.0+

OCM repos only use tags for now but this is a problem when we want to release a fix for a previous released version.
Based on the community discussion, we should cut a release for v0.6.0. For the future releases, (ie: v0.7.0) we will be cutting branches as well.

this will be helpful thanks! @mikeshng

@mikeshng now we have these branches, can we close this issue?


Create dataset loader for GlotStoryBook

Dataloader name: glotstorybook/glotstorybook.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?glotstorybook

Dataset
glotstorybook

Description
The GlotStoryBook dataset is a compilation of children's storybooks from the Global Storybooks project, encompassing 174 languages organized for machine translation tasks. It features rows containing the text segment (text number), the language code, and the file name, which corresponds to the specific book and story segment. This structure allows for the comparison of texts across different languages by matching file names and text numbers between rows.

Subsets
khg, khm, mya, tet, tha, vie

Languages
khg, khm, mya, tet, tha, vie

License
Other (other)

Homepage
https://huggingface.co/datasets/cis-lmu/GlotStoryBook

HF URL
https://huggingface.co/datasets/cis-lmu/GlotStoryBook

Paper URL
https://arxiv.org/abs/2310.16248

#self-assign


WebGL 2 support

Looks like there is already some WebGL 2 bindings, but it's impossible to use a WebGL 2 context:
import 'dart:html';
import 'dart:web_gl';

void main() {
  var cnv = querySelector('#cnv') as CanvasElement;
  var gl = cnv.getContext("webgl2");
  print(gl.runtimeType);
}

Firefox 48:
WebGL context is returned but code prints RenderingContext instead of RenderingContext2.
WebGL 2 calls fail like TypeError: $.gl.vertexAttribDivisor$2 is not a function.
Chrome 52:
WebGL context is not returned, code prints UnknownJavaScriptObject.

It seems that getContext from html_dart2js.dart is unaware of RenderingContext2:
  @DomName('HTMLCanvasElement.getContext')
  @DocsEditable()
  @Creates('CanvasRenderingContext2D|RenderingContext')
  @Returns('CanvasRenderingContext2D|RenderingContext|Null')
  Object getContext(String contextId, [Map attributes]) {
    if (attributes != null) {
      var attributes_1 = convertDartToNative_Dictionary(attributes);
      return _getContext_1(contextId, attributes_1);
    }
    return _getContext_2(contextId);
  }

Also, current WebGL 2 bindings aren't aligned with the latest WebGL 2.0 IDL;
most differences are in [compressed]Tex[Sub]Image{2|3}D definitions.

Some of the updating may happen with the next roll of the dart:html libraries, we're relying on the Chrome IDL.  We have RenderingContext2, but it's not actually referenced anywhere, and particularly not in the return types for that method. The UnknownJavaScriptObject may well be a RenderingContext2 and we're just not recognizing it. This probably indicates that there are hard-coded templates that need to be updated.

Q from @bp74 on misc: "Firefox 51 got support for WebGL2 and Chrome 56 will support it too. Are there any plans for a WebGL2 library in the Dart SDK? "
@alan-knight Wondering what would it would take to find and update the hard-coded templates needed?

Looks like that comes from here https://github.com/dart-lang/sdk/blob/66b5248bf937ef1202f04b106c63730e57a008b8/tools/dom/scripts/dartmetadata.py#L160
So possibly just changing that would make the context get recognized. The problem that the bindings are out of date is because we're using the WebIDL that matches the Dartium version. There should be a Dartium roll real soon now which would then update those bindings to something closer to current.
If you manually patch the getContext do things actually work, or are there other places that need similar updates?

The RenderingContext2 from dart:html is just the start. The dart:web_gl library needs major updates too, or it's even a dart:web_gl2 library, i don't know.

Any news on this?

The update of the dart:html library should be fairly soon. But it's not clear to me what other fixes are needed.

Are there any news on the topic? The bindings are still for WebGL1 + extensions

@terrylucas
As of 1.23 or 1.24 there should be WebGL 2 bindings in there. Terry can point to examples.

Doesn't look like it, I am on 1.24.2:

dart --version
Dart VM version: 1.24.2 (Thu Jun 22 08:55:56 2017) on "windows_x64"

but WebGL2 enums such as UNIFORM_BUFFER or TRANSFORM_FEEDBACK_BUFFER are not there. I looked in dart-sdk\lib\web_gl\dart2js\web_gl_dart2js.dart . I also ran a grep over the entire SDK and still haven't found any.

Looks like these constants are missing form interface WebGL2RenderingContextBase.  However, the methods, properties, etc. are there and have been tested with quite a number of WebGL2 interfaces in both Dartium and dart2js.  If you want to use these constants, for now I would hard coding the value, we'll re-generate the SDK to pull in these constants in a subsequent release.
    const GLenum READ_BUFFER                                   = 0x0C02;
    const GLenum UNPACK_ROW_LENGTH                             = 0x0CF2;
    const GLenum UNPACK_SKIP_ROWS                              = 0x0CF3;
    const GLenum UNPACK_SKIP_PIXELS                            = 0x0CF4;
    const GLenum PACK_ROW_LENGTH                               = 0x0D02;
    const GLenum PACK_SKIP_ROWS                                = 0x0D03;
    const GLenum PACK_SKIP_PIXELS                              = 0x0D04;
    const GLenum COLOR                                         = 0x1800;
    const GLenum DEPTH                                         = 0x1801;
    const GLenum STENCIL                                       = 0x1802;
    const GLenum RED                                           = 0x1903;
    const GLenum RGB8                                          = 0x8051;
    const GLenum RGBA8                                         = 0x8058;
    const GLenum RGB10_A2                                      = 0x8059;
    const GLenum TEXTURE_BINDING_3D                            = 0x806A;
    const GLenum UNPACK_SKIP_IMAGES                            = 0x806D;
    const GLenum UNPACK_IMAGE_HEIGHT                           = 0x806E;
    const GLenum TEXTURE_3D                                    = 0x806F;
    const GLenum TEXTURE_WRAP_R                                = 0x8072;
    const GLenum MAX_3D_TEXTURE_SIZE                           = 0x8073;
    const GLenum UNSIGNED_INT_2_10_10_10_REV                   = 0x8368;
    const GLenum MAX_ELEMENTS_VERTICES                         = 0x80E8;
    const GLenum MAX_ELEMENTS_INDICES                          = 0x80E9;
    const GLenum TEXTURE_MIN_LOD                               = 0x813A;
    const GLenum TEXTURE_MAX_LOD                               = 0x813B;
    const GLenum TEXTURE_BASE_LEVEL                            = 0x813C;
    const GLenum TEXTURE_MAX_LEVEL                             = 0x813D;
    const GLenum MIN                                           = 0x8007;
    const GLenum MAX                                           = 0x8008;
    const GLenum DEPTH_COMPONENT24                             = 0x81A6;
    const GLenum MAX_TEXTURE_LOD_BIAS                          = 0x84FD;
    const GLenum TEXTURE_COMPARE_MODE                          = 0x884C;
    const GLenum TEXTURE_COMPARE_FUNC                          = 0x884D;
    const GLenum CURRENT_QUERY                                 = 0x8865;
    const GLenum QUERY_RESULT                                  = 0x8866;
    const GLenum QUERY_RESULT_AVAILABLE                        = 0x8867;
    const GLenum STREAM_READ                                   = 0x88E1;
    const GLenum STREAM_COPY                                   = 0x88E2;
    const GLenum STATIC_READ                                   = 0x88E5;
    const GLenum STATIC_COPY                                   = 0x88E6;
    const GLenum DYNAMIC_READ                                  = 0x88E9;
    const GLenum DYNAMIC_COPY                                  = 0x88EA;
    const GLenum MAX_DRAW_BUFFERS                              = 0x8824;
    const GLenum DRAW_BUFFER0                                  = 0x8825;
    const GLenum DRAW_BUFFER1                                  = 0x8826;
    const GLenum DRAW_BUFFER2                                  = 0x8827;
    const GLenum DRAW_BUFFER3                                  = 0x8828;
    const GLenum DRAW_BUFFER4                                  = 0x8829;
    const GLenum DRAW_BUFFER5                                  = 0x882A;
    const GLenum DRAW_BUFFER6                                  = 0x882B;
    const GLenum DRAW_BUFFER7                                  = 0x882C;
    const GLenum DRAW_BUFFER8                                  = 0x882D;
    const GLenum DRAW_BUFFER9                                  = 0x882E;
    const GLenum DRAW_BUFFER10                                 = 0x882F;
    const GLenum DRAW_BUFFER11                                 = 0x8830;
    const GLenum DRAW_BUFFER12                                 = 0x8831;
    const GLenum DRAW_BUFFER13                                 = 0x8832;
    const GLenum DRAW_BUFFER14                                 = 0x8833;
    const GLenum DRAW_BUFFER15                                 = 0x8834;
    const GLenum MAX_FRAGMENT_UNIFORM_COMPONENTS               = 0x8B49;
    const GLenum MAX_VERTEX_UNIFORM_COMPONENTS                 = 0x8B4A;
    const GLenum SAMPLER_3D                                    = 0x8B5F;
    const GLenum SAMPLER_2D_SHADOW                             = 0x8B62;
    const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT               = 0x8B8B;
    const GLenum PIXEL_PACK_BUFFER                             = 0x88EB;
    const GLenum PIXEL_UNPACK_BUFFER                           = 0x88EC;
    const GLenum PIXEL_PACK_BUFFER_BINDING                     = 0x88ED;
    const GLenum PIXEL_UNPACK_BUFFER_BINDING                   = 0x88EF;
    const GLenum FLOAT_MAT2x3                                  = 0x8B65;
    const GLenum FLOAT_MAT2x4                                  = 0x8B66;
    const GLenum FLOAT_MAT3x2                                  = 0x8B67;
    const GLenum FLOAT_MAT3x4                                  = 0x8B68;
    const GLenum FLOAT_MAT4x2                                  = 0x8B69;
    const GLenum FLOAT_MAT4x3                                  = 0x8B6A;
    const GLenum SRGB                                          = 0x8C40;
    const GLenum SRGB8                                         = 0x8C41;
    const GLenum SRGB8_ALPHA8                                  = 0x8C43;
    const GLenum COMPARE_REF_TO_TEXTURE                        = 0x884E;
    const GLenum RGBA32F                                       = 0x8814;
    const GLenum RGB32F                                        = 0x8815;
    const GLenum RGBA16F                                       = 0x881A;
    const GLenum RGB16F                                        = 0x881B;
    const GLenum VERTEX_ATTRIB_ARRAY_INTEGER                   = 0x88FD;
    const GLenum MAX_ARRAY_TEXTURE_LAYERS                      = 0x88FF;
    const GLenum MIN_PROGRAM_TEXEL_OFFSET                      = 0x8904;
    const GLenum MAX_PROGRAM_TEXEL_OFFSET                      = 0x8905;
    const GLenum MAX_VARYING_COMPONENTS                        = 0x8B4B;
    const GLenum TEXTURE_2D_ARRAY                              = 0x8C1A;
    const GLenum TEXTURE_BINDING_2D_ARRAY                      = 0x8C1D;
    const GLenum R11F_G11F_B10F                                = 0x8C3A;
    const GLenum UNSIGNED_INT_10F_11F_11F_REV                  = 0x8C3B;
    const GLenum RGB9_E5                                       = 0x8C3D;
    const GLenum UNSIGNED_INT_5_9_9_9_REV                      = 0x8C3E;
    const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE                = 0x8C7F;
    const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    = 0x8C80;
    const GLenum TRANSFORM_FEEDBACK_VARYINGS                   = 0x8C83;
    const GLenum TRANSFORM_FEEDBACK_BUFFER_START               = 0x8C84;
    const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE                = 0x8C85;
    const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         = 0x8C88;
    const GLenum RASTERIZER_DISCARD                            = 0x8C89;
    const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
    const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       = 0x8C8B;
    const GLenum INTERLEAVED_ATTRIBS                           = 0x8C8C;
    const GLenum SEPARATE_ATTRIBS                              = 0x8C8D;
    const GLenum TRANSFORM_FEEDBACK_BUFFER                     = 0x8C8E;
    const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING             = 0x8C8F;
    const GLenum RGBA32UI                                      = 0x8D70;
    const GLenum RGB32UI                                       = 0x8D71;
    const GLenum RGBA16UI                                      = 0x8D76;
    const GLenum RGB16UI                                       = 0x8D77;
    const GLenum RGBA8UI                                       = 0x8D7C;
    const GLenum RGB8UI                                        = 0x8D7D;
    const GLenum RGBA32I                                       = 0x8D82;
    const GLenum RGB32I                                        = 0x8D83;
    const GLenum RGBA16I                                       = 0x8D88;
    const GLenum RGB16I                                        = 0x8D89;
    const GLenum RGBA8I                                        = 0x8D8E;
    const GLenum RGB8I                                         = 0x8D8F;
    const GLenum RED_INTEGER                                   = 0x8D94;
    const GLenum RGB_INTEGER                                   = 0x8D98;
    const GLenum RGBA_INTEGER                                  = 0x8D99;
    const GLenum SAMPLER_2D_ARRAY                              = 0x8DC1;
    const GLenum SAMPLER_2D_ARRAY_SHADOW                       = 0x8DC4;
    const GLenum SAMPLER_CUBE_SHADOW                           = 0x8DC5;
    const GLenum UNSIGNED_INT_VEC2                             = 0x8DC6;
    const GLenum UNSIGNED_INT_VEC3                             = 0x8DC7;
    const GLenum UNSIGNED_INT_VEC4                             = 0x8DC8;
    const GLenum INT_SAMPLER_2D                                = 0x8DCA;
    const GLenum INT_SAMPLER_3D                                = 0x8DCB;
    const GLenum INT_SAMPLER_CUBE                              = 0x8DCC;
    const GLenum INT_SAMPLER_2D_ARRAY                          = 0x8DCF;
    const GLenum UNSIGNED_INT_SAMPLER_2D                       = 0x8DD2;
    const GLenum UNSIGNED_INT_SAMPLER_3D                       = 0x8DD3;
    const GLenum UNSIGNED_INT_SAMPLER_CUBE                     = 0x8DD4;
    const GLenum UNSIGNED_INT_SAMPLER_2D_ARRAY                 = 0x8DD7;
    const GLenum DEPTH_COMPONENT32F                            = 0x8CAC;
    const GLenum DEPTH32F_STENCIL8                             = 0x8CAD;
    const GLenum FLOAT_32_UNSIGNED_INT_24_8_REV                = 0x8DAD;
    const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING         = 0x8210;
    const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE         = 0x8211;
    const GLenum FRAMEBUFFER_ATTACHMENT_RED_SIZE               = 0x8212;
    const GLenum FRAMEBUFFER_ATTACHMENT_GREEN_SIZE             = 0x8213;
    const GLenum FRAMEBUFFER_ATTACHMENT_BLUE_SIZE              = 0x8214;
    const GLenum FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE             = 0x8215;
    const GLenum FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE             = 0x8216;
    const GLenum FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE           = 0x8217;
    const GLenum FRAMEBUFFER_DEFAULT                           = 0x8218;
    const GLenum UNSIGNED_INT_24_8                             = 0x84FA;
    const GLenum DEPTH24_STENCIL8                              = 0x88F0;
    const GLenum UNSIGNED_NORMALIZED                           = 0x8C17;
    const GLenum DRAW_FRAMEBUFFER_BINDING                      = 0x8CA6; /* Same as FRAMEBUFFER_BINDING */
    const GLenum READ_FRAMEBUFFER                              = 0x8CA8;
    const GLenum DRAW_FRAMEBUFFER                              = 0x8CA9;
    const GLenum READ_FRAMEBUFFER_BINDING                      = 0x8CAA;
    const GLenum RENDERBUFFER_SAMPLES                          = 0x8CAB;
    const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER          = 0x8CD4;
    const GLenum MAX_COLOR_ATTACHMENTS                         = 0x8CDF;
    const GLenum COLOR_ATTACHMENT1                             = 0x8CE1;
    const GLenum COLOR_ATTACHMENT2                             = 0x8CE2;
    const GLenum COLOR_ATTACHMENT3                             = 0x8CE3;
    const GLenum COLOR_ATTACHMENT4                             = 0x8CE4;
    const GLenum COLOR_ATTACHMENT5                             = 0x8CE5;
    const GLenum COLOR_ATTACHMENT6                             = 0x8CE6;
    const GLenum COLOR_ATTACHMENT7                             = 0x8CE7;
    const GLenum COLOR_ATTACHMENT8                             = 0x8CE8;
    const GLenum COLOR_ATTACHMENT9                             = 0x8CE9;
    const GLenum COLOR_ATTACHMENT10                            = 0x8CEA;
    const GLenum COLOR_ATTACHMENT11                            = 0x8CEB;
    const GLenum COLOR_ATTACHMENT12                            = 0x8CEC;
    const GLenum COLOR_ATTACHMENT13                            = 0x8CED;
    const GLenum COLOR_ATTACHMENT14                            = 0x8CEE;
    const GLenum COLOR_ATTACHMENT15                            = 0x8CEF;
    const GLenum FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56;
    const GLenum MAX_SAMPLES                                   = 0x8D57;
    const GLenum HALF_FLOAT                                    = 0x140B;
    const GLenum RG                                            = 0x8227;
    const GLenum RG_INTEGER                                    = 0x8228;
    const GLenum R8                                            = 0x8229;
    const GLenum RG8                                           = 0x822B;
    const GLenum R16F                                          = 0x822D;
    const GLenum R32F                                          = 0x822E;
    const GLenum RG16F                                         = 0x822F;
    const GLenum RG32F                                         = 0x8230;
    const GLenum R8I                                           = 0x8231;
    const GLenum R8UI                                          = 0x8232;
    const GLenum R16I                                          = 0x8233;
    const GLenum R16UI                                         = 0x8234;
    const GLenum R32I                                          = 0x8235;
    const GLenum R32UI                                         = 0x8236;
    const GLenum RG8I                                          = 0x8237;
    const GLenum RG8UI                                         = 0x8238;
    const GLenum RG16I                                         = 0x8239;
    const GLenum RG16UI                                        = 0x823A;
    const GLenum RG32I                                         = 0x823B;
    const GLenum RG32UI                                        = 0x823C;
    const GLenum VERTEX_ARRAY_BINDING                          = 0x85B5;
    const GLenum R8_SNORM                                      = 0x8F94;
    const GLenum RG8_SNORM                                     = 0x8F95;
    const GLenum RGB8_SNORM                                    = 0x8F96;
    const GLenum RGBA8_SNORM                                   = 0x8F97;
    const GLenum SIGNED_NORMALIZED                             = 0x8F9C;
    const GLenum COPY_READ_BUFFER                              = 0x8F36;
    const GLenum COPY_WRITE_BUFFER                             = 0x8F37;
    const GLenum COPY_READ_BUFFER_BINDING                      = 0x8F36; /* Same as COPY_READ_BUFFER */
    const GLenum COPY_WRITE_BUFFER_BINDING                     = 0x8F37; /* Same as COPY_WRITE_BUFFER */
    const GLenum UNIFORM_BUFFER                                = 0x8A11;
    const GLenum UNIFORM_BUFFER_BINDING                        = 0x8A28;
    const GLenum UNIFORM_BUFFER_START                          = 0x8A29;
    const GLenum UNIFORM_BUFFER_SIZE                           = 0x8A2A;
    const GLenum MAX_VERTEX_UNIFORM_BLOCKS                     = 0x8A2B;
    const GLenum MAX_FRAGMENT_UNIFORM_BLOCKS                   = 0x8A2D;
    const GLenum MAX_COMBINED_UNIFORM_BLOCKS                   = 0x8A2E;
    const GLenum MAX_UNIFORM_BUFFER_BINDINGS                   = 0x8A2F;
    const GLenum MAX_UNIFORM_BLOCK_SIZE                        = 0x8A30;
    const GLenum MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS        = 0x8A31;
    const GLenum MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS      = 0x8A33;
    const GLenum UNIFORM_BUFFER_OFFSET_ALIGNMENT               = 0x8A34;
    const GLenum ACTIVE_UNIFORM_BLOCKS                         = 0x8A36;
    const GLenum UNIFORM_TYPE                                  = 0x8A37;
    const GLenum UNIFORM_SIZE                                  = 0x8A38;
    const GLenum UNIFORM_BLOCK_INDEX                           = 0x8A3A;
    const GLenum UNIFORM_OFFSET                                = 0x8A3B;
    const GLenum UNIFORM_ARRAY_STRIDE                          = 0x8A3C;
    const GLenum UNIFORM_MATRIX_STRIDE                         = 0x8A3D;
    const GLenum UNIFORM_IS_ROW_MAJOR                          = 0x8A3E;
    const GLenum UNIFORM_BLOCK_BINDING                         = 0x8A3F;
    const GLenum UNIFORM_BLOCK_DATA_SIZE                       = 0x8A40;
    const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORMS                 = 0x8A42;
    const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES          = 0x8A43;
    const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER     = 0x8A44;
    const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER   = 0x8A46;
    const GLenum INVALID_INDEX                                 = 0xFFFFFFFF;
    const GLenum MAX_VERTEX_OUTPUT_COMPONENTS                  = 0x9122;
    const GLenum MAX_FRAGMENT_INPUT_COMPONENTS                 = 0x9125;
    const GLenum MAX_SERVER_WAIT_TIMEOUT                       = 0x9111;
    const GLenum OBJECT_TYPE                                   = 0x9112;
    const GLenum SYNC_CONDITION                                = 0x9113;
    const GLenum SYNC_STATUS                                   = 0x9114;
    const GLenum SYNC_FLAGS                                    = 0x9115;
    const GLenum SYNC_FENCE                                    = 0x9116;
    const GLenum SYNC_GPU_COMMANDS_COMPLETE                    = 0x9117;
    const GLenum UNSIGNALED                                    = 0x9118;
    const GLenum SIGNALED                                      = 0x9119;
    const GLenum ALREADY_SIGNALED                              = 0x911A;
    const GLenum TIMEOUT_EXPIRED                               = 0x911B;
    const GLenum CONDITION_SATISFIED                           = 0x911C;
    const GLenum WAIT_FAILED                                   = 0x911D;
    const GLenum SYNC_FLUSH_COMMANDS_BIT                       = 0x00000001;
    const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR                   = 0x88FE;
    const GLenum ANY_SAMPLES_PASSED                            = 0x8C2F;
    const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE               = 0x8D6A;
    const GLenum SAMPLER_BINDING                               = 0x8919;
    const GLenum RGB10_A2UI                                    = 0x906F;
    const GLenum GREEN                                         = 0x1904;
    const GLenum BLUE                                          = 0x1905;
    const GLenum INT_2_10_10_10_REV                            = 0x8D9F;
    const GLenum TRANSFORM_FEEDBACK                            = 0x8E22;
    const GLenum TRANSFORM_FEEDBACK_PAUSED                     = 0x8E23;
    const GLenum TRANSFORM_FEEDBACK_ACTIVE                     = 0x8E24;
    const GLenum TRANSFORM_FEEDBACK_BINDING                    = 0x8E25;
    const GLenum COMPRESSED_R11_EAC                            = 0x9270;
    const GLenum COMPRESSED_SIGNED_R11_EAC                     = 0x9271;
    const GLenum COMPRESSED_RG11_EAC                           = 0x9272;
    const GLenum COMPRESSED_SIGNED_RG11_EAC                    = 0x9273;
    const GLenum COMPRESSED_RGB8_ETC2                          = 0x9274;
    const GLenum COMPRESSED_SRGB8_ETC2                         = 0x9275;
    const GLenum COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2      = 0x9276;
    const GLenum COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2     = 0x9277;
    const GLenum COMPRESSED_RGBA8_ETC2_EAC                     = 0x9278;
    const GLenum COMPRESSED_SRGB8_ALPHA8_ETC2_EAC              = 0x9279;
    const GLenum TEXTURE_IMMUTABLE_FORMAT                      = 0x912F;
    const GLenum MAX_ELEMENT_INDEX                             = 0x8D6B;
    const GLenum NUM_SAMPLE_COUNTS                             = 0x9380;
    const GLenum TEXTURE_IMMUTABLE_LEVELS                      = 0x82DF;
    const GLint TIMEOUT_IGNORED                                = -1;

    /* WebGL-specific enums */
    const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL                 = 0x9247;

@kevmoo
dart:web_gl is inconsistent on how constants are exposed and some constants are not exposed (from the IDLs).
We expose some constants as both top-level constants and in a Dart class e.g.,
Only constants from  WebGLRenderingContextBase are exposed as top-level constants
const int VERTEX_SHADER = RenderingContext.VERTEX_SHADER;
All constants in WebGL2RenderingContextBase are all missing e.g.,
const GLenum READ_BUFFER  = 0x0C02;
Constants in web_gl are in the following interfaces:
WebGLRenderingContextBase (Dart class RenderingContext)  constants from  WebGLRenderingContextBase e.g.,
const GLenum VERTEX_SHADER  = 0x8B31;
WebGLDrawBuffers (Dart class DrawBuffers) e.g.,
const GLenum COLOR_ATTACHMENT0_WEBGL = 0x8CE0;
WebGL2RenderingContext (Dart class RenderingContext2) constants from WebGLRenderingContextBase (doubly defined in RenderingContext) e.g.,
const GLenum VERTEX_SHADER  = 0x8B31;
The issues:

Keep all constants inside of classes:
- Constants from WebGLRenderingContextBase are in both RenderingContext and RenderingContext2 (probably ok) but I'm thinking of removing the RenderingContext2 duplicates and add WebGL2RenderingContextBase constants in RenderingContext2.  To reduce the amount of constants.
- Remove the top-level constants seen gratuitous?

Eliminate all constants in nested classes and make all constants top-level provided the 700+ constants don't collide.

What do you think?

@robertmuth

(caveat someone involved in the webgl standards committee should probably chime in)
My understanding is this:
There is database of 16bit constants managed by "the khronos group".
If a constant has the same name it also has the same value regardless where it is used, e.g.
webgl, opengl, webgl2, opengl-es, etc.
There should be not clashes between webgl, webgl2.
Because the dart SDK was lacking certain webgl2 constants I ended defining my own
for the chronosgl library, cf.:
https://github.com/ChronosTeam/ChronosGL/blob/master/lib/src/core/constants.dart
This worked fine for me and is similar to you proposal #2.
I do not particular like the way how the constants are spread out in the JS API but I can
guess the motivation: by, say, adding a constant to a class representing a webgl extension,
you cannot accidentally use the constant when the extension is not available.
Of course, in webgl2 many features which used to be in optional extension are now
available by default.
So my recommendation would be to centralize the constants in one place.
However if you have some abstract  definition of the webgl(2) JS API that includes
all the constants and that is used to automagically generate the dart bindings then
I could go with what adds the least amount of work. But I think this is not the case.

Fixed with CL https://dart-review.googlesource.com/c/sdk/+/60380


Revert "Check if the lockfile changed"

This reverts commit f2ea93aad059894d370252614913071757735eb8.

@bors-servo r+

:pushpin: Commit dcd0cd3 has been approved by metajack

:hourglass: Testing commit dcd0cd3 with merge b17b87c...

:sunny: Test successful - travis

Ah, I should have put that check in a bash script, python doesn't directly run shell builtins


Make ControllerArgumentBinder.BindActionArgumentsAsync override-able

When creating custom IControllerActionArgumentBinder, sometimes we just need to inherit from base (ControllerArgumentBinder) class and call the base implementation if required.

Hi @imranbaloch, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

cc @rynowak - thoughts?
@imranbaloch FYI this type is in a .Internal namespace, meaning it is not a supported API and could change at any time.

@imranbaloch - I don't think that there's any hard in your change, but as was mentioned here - this class is .Internal so it's not really a supported extensibility point?
What is it that you want to accomplish? We might find another way to support your needs that's going to have a long-term future.

@Eilon @rynowak thanks for reply.

If it is internal namespace then why you guys making this class public? Lets assumed that if you guys RTM with same strategy(internal namespace and public classes). If a developer use a public class inside internal namespace then it will be not supported api?

If you guys make this class internal then is it make sense to put this internal class in IOC container? Currently, it is registered in container  https://github.com/aspnet/Mvc/blob/756cd2dab8d12ab954e82328a5b9732114d32a27/src/Microsoft.AspNetCore.Mvc.Core/DependencyInjection/MvcCoreServiceCollectionExtensions.cs#L175

ControllerArgumentBinder class looks very important for me but sometimes I may need to return my own IDictionary<string, object>(may be from db or other place) depending upon a condition at runtime or call the the base(ControllerArgumentBinder class) implementation. The extensibility in this pull request allows me to achieve this. If you think louder you will find lot of use cases of using custom or base BindActionArgumentsAsync/BindModelAsync implementation at the same time.

@imranbaloch

If it is internal namespace then why you guys making this class public? Lets assumed that if you guys RTM with same strategy(internal namespace and public classes). If a developer use a public class inside internal namespace then it will be not supported api?

We do it because there are often scenarios we weren't able to consider, so we err on the side of making things "public" in the C#/.NET sense, but they are indeed not supported. This allows customers to dig into internal data structures and behaviors to solve their own business needs. If we hear that something is useful, we will consider making things public.

If you guys make this class internal then is it make sense to put this internal class in IOC container? Currently, it is registered in container

It is common for frameworks to have their own internal usage of DI, which is what the case here is. Using DI can be a good development pattern to follow, so MVC uses it internally, and app developers will also use the same container.

ControllerArgumentBinder class looks very important for me but sometimes I may need to return my own IDictionary<string, object> (may be from db or other place) depending upon a condition at runtime or call the the base(ControllerArgumentBinder class) implementation. The extensibility in this pull request allows me to achieve this. If you think louder you will find lot of use cases of using custom or base BindActionArgumentsAsync/BindModelAsync implementation at the same time.

We are certainly open to discussing making things more public, more extensible, etc.
What I recommend is logging an issue describing the particular scenario that you have, and then we can dive into the best way to implement this in the system.
Thanks!

Closing this PR for now; please log a new issue that goes into the particular scenario that you have and let's see if we can come up with an appropriate change for MVC that could satisfy that. Thanks!


Send commit log between 2 deployments.

Hello,
Could you include the commit history log in the slack output between 2 revisions to help developers (and non developpers on channels) to understand what has been sent with each deploy.
You can find previous revision number in {current_path}/REVISION file in capistrano.
Thx !

Maybe. I have grand visions of re-working the messaging sent to Slack to make it easier for folks to do this sort of thing themselves.  I don't want to get into a situation of having more settings than we already have if I can help it.
Do you really want the log output? That could be a ton of information... just curious.

Yes It could be really helpfull for us. We deploy everyday, so logs between deploy are small, and it will help teams on slack to understand what has been sent to production.
You're right, it should be an option for teams who deploy every month (log is useless in this case).
I can probably already get it by myself with a ruby function in capistrano and send the output to the message sent via slackistrano, I post the issue because I thought it could make sense in slakistrano config (commit_log => true/false).
Thanks !

@pierrerigal Assuming you've got the two revisions, what is the git command you run to generate the commit log?

Very basic log would look like:
git log --oneline <new commit hash>..<old commit hash>

I have no idea is it still relevant, but I've solved this as following.
I've added custom task to the deployment process as defined here http://capistranorb.com/documentation/advanced-features/custom-scm/
In lib/capistrano/my.rb:
module Capistrano
  class My < ::Capistrano::SCM::Plugin
    def define_tasks
      eval_rakefile File.expand_path("../tasks/my.rake", __FILE__)
    end

    def register_hooks
      after "deploy:published", "My:set_changelog"
    end
end

In lib/capistano/tasks/my.rake:
  task :set_changelog do
    on release_roles(:all) do
      set(:changelog, capture(:diff,
        '--unchanged-line-format=""',
        '--new-line-format="%L"',
        '--text',
        File.join(fetch(:release_path), "CHANGELOG"),
        File.join(fetch(:previous_release_path), "CHANGELOG"),
        "2>/dev/null; true" # diff exits with 1 if there is a difference found
      ).force_encoding(Encoding::UTF_8))
    end
  end

In custom_slack_messaging.rb:
    def payload_for_updated
      {
        attachments: [{
          color: 'good',
          title: 'My Backend deployment finished',
          fields: [{
            title: 'Environment',
            value: stage,
            short: true
          }, {
            title: 'Branch',
            value: branch,
            short: true
          },{
            title: 'Deployed revision',
            value: fetch(:current_revision),
            short: true
          }, {
            title: 'Previous revision',
            value: fetch(:previous_revision),
            short: true
          }, {
            title: 'Deployer',
            value: deployer,
            short: true
          }, {
            title: 'Time',
            value: elapsed_time,
            short: true
          }, {
            title: 'Changelog',
            value: fetch(:changelog).gsub(/\(#(\d+)\)/, "(<%{repo_url}/pull/%{pr}|#%{pr}>)" % {repo_url: fetch(:repo_url), pr: '\1'})
          }],
          footer: "<#{fetch(:repo_url)}/compare/#{fetch(:previous_revision)}...#{fetch(:current_revision)}|See the diff on github.com>",
          footer_icon: "https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png",
          fallback: super[:text]
        }]
      }
    end

The regexp you can see in Changelog value will substitute Github pullrequest numbers withing links to related pullrequest on Github (if repo_url set correctly). Like (#1234) at the end of line.

Is this something that can be picked up?
Notifying in Slack is extremely useful when someone does not have access to the repo. Thus actually showing the git log --oneline <new revision hash>..<old revision hash> is required to know what has been deployed.

@martijnhartlief Absolutely! If you want to work on this and submit a PR that would be great. I would encourage you to do it as a custom messaging class people can leverage instead of building it in directly.  I can bring the code in, but it keeps it a bit more isolated.

Thanks!
How and where did set :previous_release_path? It's empty for me

@dapi I added custom task after built-in step named deploy:set_previous_revision:
def register_hooks
  after "deploy:set_previous_revision", "My:set_previous_release_path"
end

namespace :My do
  desc "Set previous release path"
  task :set_previous_release_path do
    on release_roles(:all) do
      if test("[ -d #{release_path} ]")
        set(:previous_release_path, capture(:readlink, release_path))
      else
        warn "There is no previous release directory found, maybe the first deployment"
        set(:previous_release_path, release_path)
      end
        info "Previous release path: #{fetch(:previous_release_path)}"
    end
  end
end

For gitlab integration
set :repo_web_url_slackistrano, 'https://git.gitlab.com/namespace/project'
def footer
  "<#{fetch(:repo_web_url_slackistrano)}/compare/#{fetch(:previous_revision)}...#{fetch(:current_revision)}|Diff in gitlab>"
end


Should verify birthdate is in the past

Causes backend errors if not

discriminating against us time-travellers smh


Client: Because a lot of actions do not belong to Redux, they could be moved to respective module

Done!


Rename this project/repo?

This repository also contains code for Inception neural network. Should we rename it to be more representative?

That seems prudent. I feel that it needs a name more descriptive than simply "redshift", however, to differentiate it from your original repo. Any suggestions or thoughts on that?

Yeah. It should not be named redshift. we can hold it for now, but Redshift-CNN or redshift-nns are some of the names I had in mind.

I believe that Redshift-CNN is most appropriate. I will change the name to that at noon on Tuesday 4/28 if there are no objections before then.


chore: release 2.9.0

:robot: I have created a release *beep* *boop*
2.9.0 (2019-09-16)
Features

java-specific version bumping (#264) (734846d)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/release-please/releases/tag/v2.9.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Windows 10 (with WSL) deploy models to CVAT

Hey,
I followed this guide to install CVAT for Windows 10 (https://opencv.github.io/cvat/docs/administration/advanced/installation_automatic_annotation/) and after that unfortunately it's not possible for me to see the deployed models on the UI. At the same time I also followed this video here (https://www.youtube.com/watch?v=uKMKM5o5vUw).
Steps to reproduce:

open http://localhost:8070
create example project
new function
import .yaml file from cvat/serverless
copy in source code the code from main.py (sometimes available, sometimes not- then i copied from github)
deploy
open http://localhost:8080 <-- under models you can see anything

Sometimes the .yaml file wasn't correct formatted, so I choosed a online YAML Formatter and to be sure a Python formatter, depending on the specific Python version, BUT as you can see some models, are created without any error and other not. The really funny thing is, however, that no models are displayed at all.

Thanks in advance, pls enlighten me and others

create example project

Project name must be cvat

You mean in nuclio or cvat itself?

@bsekachev from where can you get this information? I'll try and tell if it helped.

Oh I overlooked that, but never thought it's important

I hope you solved the issue. I will close it.

I hope you solved the issue. I will close it.

In case the status unhealthy influecne the use of one of these models I'll reopen this issue.

@bsekachev can't reopen the issue. Unfortunately with the guide, I end up every time in the unhealthy status of the specific models I deployed.


Implemented retry of authentication

Fix for issue #7

[Current coverage][cc-pull] is 83.43%

No coverage report found for master at f3e1c51.

Powered by Codecov. Last updated by [f3e1c51...a0099c8][cc-compare]
[cc-base-branch]: https://codecov.io/gh/infobloxopen/infoblox-netmri/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/infobloxopen/infoblox-netmri/compare/f3e1c519d367d9c9a01d80f4d7abfd133a8b3aef...a0099c8ccef68dcd1552a5e22b4ce9603a0d7123
[cc-pull]: https://codecov.io/gh/infobloxopen/infoblox-netmri/pull/8?src=pr

Any plans on releasing a new version with this pull request in it?

5 months later: Any plans on releasing a new version?

@johnbelamaric ping :)

Done!

Thanks!