Fetch Solubility data

I want to get Solubility data (4.2.7) for a list of compounds.
get_properties fetches 4.1 Computed Properties but I am not sure how to get 4.2 Experimental Properties.
Please let me know what would be the best way to fetch this field.
Thanks in advance.

I don't believe solubility data is available via the PUG REST API:
https://pubchem.ncbi.nlm.nih.gov/pug_rest/PUG_REST.html
There is an undocumented API that is used to assemble the PubChem compound web pages:
https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/compound/2244/JSON
This look like it has the info you want. You could do something like:
import requests
r = requests.get('https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/compound/2244/JSON')
for section in r.json()['Record']['Section']:
    if section.get('TOCHeading') == 'Chemical and Physical Properties':
        for subsection in section['Section']:
            if subsection['TOCHeading'] == 'Experimental Properties':
                for subsubsection in subsection['Section']:
                    if subsubsection['TOCHeading'] == 'Solubility':
                        print(subsubsection)

Works great!
Thanks a lot.
def fetch_water_solubility(CID):
    import requests
    r = requests.get('https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/compound/%s/JSON' % CID)
    for section in r.json()['Record']['Section']:
        if section.get('TOCHeading') == 'Chemical and Physical Properties':
            for subsection in section['Section']:
                if subsection['TOCHeading'] == 'Experimental Properties':
                    for subsubsection in subsection['Section']:
                        if subsubsection['TOCHeading'] == 'Solubility':
    #                         print(subsubsection)
                            for s3section in subsubsection["Information"]:
                                if s3section["Name"] == "Water Solubility":
                                    return s3section["NumValue"],s3section["ValueUnit"]


docs: cleanups for release

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

@phlax PTAL?
https://storage.googleapis.com/envoy-pr/aef3ba3/docs/version_history/v1.32/v1.32.0.html


Fix pprof file export when running application by directly invoking ld.so

Hi, we use rust-jemalloc-pprof in our application and had some trouble that it required this patch for it to export a right pprof file.
We run our application with a command like below:
ld.so --library-path ./dylib ./app
In this case, rust-jemalloc-pprof cannot export a valid pprof file because it sets ld.so as the main program, but actually ./app is the main program. So we're using this patch to avoid this problem, which is using libc::dladdr with a function pointer of itself to obtain the file path of the main program.
We understand that this is a rare case to run a program like this and this implementation is kind of a hack, which isn't the best thing to maintain. So please feel free to close this PR, but we wanted to know if there's any chance for this PR to get merged.
Finally, thank you for open sourcing this great library!

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

cc @umanwizard


Missing Footprints

Hello.
I was updating the PCB from the schematic in KiCad, and it seems there are some missing footprints in the design. I’m not sure if these footprints were custom-made or from a library I haven’t downloaded. Could you let me know if they’re available in a specific library, or if there’s a recommended way to recreate or replace them?
Thanks for your help, and great work on the project

Also i seems the schematics are still using the TL074 instead of the MCP6024

@CarFlip Yes, I left out those footprint files because I believe where I got them were under a slightly different kind of license, so as a precaution I left them out of my repo. And yes I'll need to rename the quad op amp in the schematic. Thanks!


Finish policy members migration

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/20211
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

See test videos below for more detailed steps.

Verify create workspace online, offline, and failure (edit backend to throw).
Verify adding members online, offline, and failure. Verify policy expense chats for new members.
Verify removing members online, offline, and failure
Verify that you can't invite an expensify email or existing policy member, but you can invite a member with errors (edit backend to throw) or a member pending deletion.

[ ] Verify that no errors appear in the JS console

Offline tests

Covered above
QA Steps

N/A merging into feature branch

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Verify create workspace online, offline, and failure (edit backend to throw).

https://github.com/Expensify/App/assets/26260477/0ce20326-53d5-4409-a257-140fa45e998d
https://github.com/Expensify/App/assets/26260477/91ea9fe6-7a1a-49b8-a77a-7941f393318e

Verify adding members online, offline, and failure. Verify policy expense chats for new members.
Online and offline success
https://github.com/Expensify/App/assets/26260477/e58f0180-8c2b-4b77-a1a8-b0e117f52ce9

Failure
https://github.com/Expensify/App/assets/26260477/6b91ef4a-e9ff-4b8a-963f-e9b3a623b750
New policy expense chat
https://github.com/Expensify/App/assets/26260477/e613d7c8-98e3-40d3-a3e3-afd03e7bb21f

Verify removing members online, offline, and failure
Online

https://github.com/Expensify/App/assets/26260477/5ba2ac9d-26b8-42bf-9ec7-60b717968f61
Offline
https://github.com/Expensify/App/assets/26260477/9368b72a-04b4-4f7e-a509-67699d6b9583
Failure
https://github.com/Expensify/App/assets/26260477/bf711639-6ded-4f9b-87e6-aaf8efb4a531

Verify that you can't invite an expensify email or existing policy member, but you can invite a member with errors (edit backend to throw) or a member pending deletion.

https://github.com/Expensify/App/assets/26260477/ee7a3b85-4244-4f7e-9680-d29847abc521

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Ok @Beamanator, and others, this is ready to go! I think we're not going to lint or be very strict with this review because we're just merging into the feature branch.
One known issue is that a partial email on the invite page renders an option row with empty test. I didn't want to dive into that here though.

I don't think we need a C+ yet.

Thanks @neil-marcellini !

One known issue is that a partial email on the invite page renders an option row with empty test. I didn't want to dive into that here though.

I believe that has been fixed here: https://github.com/Expensify/App/pull/20576

FYI merging this into the feature branch personalDetailsList-migration because we're going to be testing that one heavily soon before merging into main :thu

correct!

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.3.29-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.29-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


support integrate into python code

Hi, how can I run autoalbument from my code base rather than from CLI?

Hey @ConstantSun
There is a way to import and use AutoAlbument code, but this API is considered unstable for now. I am exploring options to completely rewrite the implementation using some high-level PyTorch framework such as PyTorch Lightning. The rewrite will allow us to quickly implement new features such as support for distributed training, fp16 optimizations, and TPU support.
Saying this, here is a way to use AutoAlbument in Python code. The snippet below shows how to use the CIFAR10 config:
from omegaconf import OmegaConf

from autoalbument.faster_autoaugment.search import FAAClassification, FAASemanticSegmentation

# Set the logging level so the Python code will output log messages from AutoAlbument'
import logging
logging.basicConfig(level=logging.INFO)

# We use OmegaConf to load a YAML config file and convert it to the config object needed for AutoAlbument.
# Note that OmegaConf also supports other methods for creating config files, see more at
# https://omegaconf.readthedocs.io/en/2.0_branch/usage.html#creating
cfg = OmegaConf.load("/path/to/autoalbument/examples/cifar10/search.yaml")

# AutoAlbument requires that the dataset specified in
# https://github.com/albumentations-team/autoalbument/blob/master/examples/cifar10/search.yaml#L85
# should be located inside PYTHONPATH, so we use `sys.path.append` to add the directory that contains
# `dataset.py` into PYTHONPATH. You may need to adjust this value if you are planning to load a dataset
# from another source.
sys.path.append('/path/to/autoalbument/examples/cifar10')

# Create an instance of the search algorithm.
# For semantic segmentation use FAASemanticSegmentation instead of FAAClassification.
searcher = FAAClassification(cfg)

# Run the actual search
searcher.search()

A few notes:

You could adjust the behavior of the search code by subclassing FAAClassification or FAASemanticSegmentation and overriding their methods. The source code for these classes are located at https://github.com/albumentations-team/autoalbument/blob/master/autoalbument/faster_autoaugment/search.py. For example, if you want to modify the code that creates data loaders, you could make the following class:

class MyFAAClassification(FAAClassification):

    def create_dataloader(self):
        dataloader = ...
        return dataloader

searcher = MyFAAClassification(cfg)

By default, the code will save artifacts (such as weights and policies) to the current working directory. To change this behavior, you could change the current working directory in Python by executing os.chdir("/some/directory") before creating an instance of FAAClassification. Or, as an alternative, you could override class methods such as save_policy and save_checkpoint in your subclass.

Thank you a lot. As you said above, the code will save artifacts (such as weights and policies) to the current working directory, which model do those weights belong to? The semantic-segmentation(classification) model or the WGAN one?

All models will be saved.
Inside AutoAlbument, there are two models:

Policy model (self.models['policy']). In terms of GAN, it is a Generator. This model is used to augment input images.
Main model (self.models['main']). It is a classification or semantic segmentation model with an auxiliary output that predicts whether an input image is a non-augmented or augmented one. So this auxiliary output acts as a Discriminator.

Here is a method that saves a checkpoint - https://github.com/albumentations-team/autoalbument/blob/master/autoalbument/faster_autoaugment/search.py#L321
It saves both models and optimizer states for them.
Note that by default, this save_checkpoint method will be called only when the save_checkpoints config value is set to True.

Oh, I'll check them all! Thank you so much :-)))))

Hi, I tried to integrate auto-albumentations into python code like your suggestion. However, it turned out that I need to add these params in search.yaml file :
policy_model:
temperature: 0.1
operation_count: 4
task_factor : 4
My question is: What are the meanings of these above params? ( 0.1 -4 - 4 is just some number I randomly chose)

temperature is a parameter for Relaxed Bernoulli Distribution. During the search phase, the probabilities of applying transforms are sampled from this distribution.
task_factor is a coefficient for either semantic segmentation or classification loss (depending on the task). So total loss is calculated as task_factor * task_loss + WGAN_loss.
operation_count is a number of augmentations that will be applied to each input image. So operation_count: 1 means that only 1 augmentation will be applied, and operation_count: 4 means that 4 augmentations will be sequentially applied to an input image. Basically, the bigger the value of operation_count, the more diverse augmented images you get. However, larger values of operation_count will increase search time (because now you apply more augmentations), and those larger values require more training data to find the best augmentation policies. So the effect of increasing operation_count is similar to increasing the number of layers in a neural network: a network with more layers usually achieves better results, but it requires more data and more computational resources for training.

For temperature and task_factor I recommend to use default values (0.05 and 0.1 respectively). Please refer to the Faster AutoAugment paper if you want to tune them. In the paper, those parameters are named λ and ϵ, respectively.
For operation_count, I recommend using a value between 1 and 4, depending on your computation resources and the amount of available data.

Oh, thank you! There's one more param that I forgot to mention : gp_factor. What does this param do and what value should I assign to it?

That is a gradient penalty coefficient for training WGAN that was proposed in Improved Training of Wasserstein GANs. As a default, you can set gp_factor to 10.

Thanks! How can I find those default values? I couldn't find them in the autoalbuments code, do I have to read the reference papers ?

Default values for AutoAlbument are located inside Hydra code (a tool that powers AutoAlbument CLI) - https://github.com/albumentations-team/autoalbument/blob/master/autoalbument/config/faster_autoaugment.py. For now, if you use AutoAlbument inside your Python code (so without a CLI), you have to set them manually. I will explore an option to move those default values into the AutoAlbment code that powers the augmentation search.

Thank you a lot! Wish you have a good day!

Hi, I'm running the python integrated code and had this bug:

Traceback (most recent call last):
File "test_autoalbuments.py", line 28, in
searcher = FAASemanticSegmentation(cfg)
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/autoalbument/faster_autoaugment/search.py", line 36, in init
self.models = self.create_models()
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/autoalbument/faster_autoaugment/search.py", line 166, in create_models
main_model = self.create_main_model()
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/autoalbument/faster_autoaugment/search.py", line 148, in create_main_model
main_model = instantiate(model_cfg)
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/hydra/utils.py", line 68, in call
raise e
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/hydra/utils.py", line 60, in call
cls = _get_cls_name(config)
File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/hydra/_internal/utils.py", line 643, in _get_cls_name
raise InstantiationException("Input config does not have a _target_ field")
hydra.errors.InstantiationException: Input config does not have a _target_ field

What is target  field's purpose  ?? I see target is inside cfg must be string.
I did add line print(config ) in File "/data.local/all/hangd/env/pytorch/lib/python3.6/site-packages/hydra/_internal/utils.py", line 640,and it showed:
{'num_classes': 1, 'architecture': 'PAN', 'encoder_architecture': 'timm-regnety_120', 'pretrained': True}
What if i insert target below line semantic_segmentation_model in search.yaml file, what should i write ?


Node-RED container does not start properly with any 3rd party pallet installed

Current Behavior
The Node-RED docker container (docker compose) does not want to come up:
nodered                 | ><EMAIL_ADDRESS>start /usr/src/node-red
nodered                 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
nodered                 |
nodered                 | 18 Nov 22:02:58 - [info]
nodered                 |
nodered                 | Welcome to Node-RED
nodered                 | ===================
nodered                 |
nodered                 | 18 Nov 22:02:58 - [info] Node-RED version: v2.1.3
nodered                 | 18 Nov 22:02:58 - [info] Node.js  version: v14.18.1
nodered                 | 18 Nov 22:02:58 - [info] Linux 5.8.0-55-generic x64 LE
nodered                 | 18 Nov 22:02:58 - [info] Loading palette nodes
nodered                 | 18 Nov 22:02:59 - [red] Uncaught Exception:
nodered                 | 18 Nov 22:02:59 - [error] Error: connect ENOENT /var/run/dbus/system_bus_socket
nodered                 |     at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1159:16)
nodered                 | npm ERR! code ELIFECYCLE
nodered                 | npm ERR! errno 1
nodered                 | npm ERR<EMAIL_ADDRESS>start: `node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"`
nodered                 | npm ERR! Exit status 1
nodered                 | npm ERR!
nodered                 | npm ERR! Failed at the<EMAIL_ADDRESS>start script.
nodered                 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
nodered                 |
nodered                 | npm ERR! A complete log of this run can be found in:
nodered                 | npm ERR!     /data/.npm/_logs/2021-11-18T21_02_59_893Z-debug.log

Sadly the named log is not helping:
$ cat .npm/_logs/2021-11-18T21_02_59_893Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   '--no-update-notifier',
1 verbose cli   '--no-fund',
1 verbose cli   'start',
1 verbose cli   '--cache',
1 verbose cli   '/data/.npm',
1 verbose cli   '--',
1 verbose cli   '--userDir',
1 verbose cli   '/data'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose config Skipping project config: /usr/src/node-red/.npmrc. (matches userconfig)
5 verbose run-script [ 'prestart', 'start', 'poststart' ]
6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>8 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
9 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/usr/src/node-red/node_modules/.bin:/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
10 verbose lifecycle<EMAIL_ADDRESS>CWD: /usr/src/node-red
11 silly lifecycle<EMAIL_ADDRESS>Args: [
11 silly lifecycle   '-c',
11 silly lifecycle   'node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"'
11 silly lifecycle ]
12 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
13 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
14 verbose stack Error<EMAIL_ADDRESS>start: `node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
14 verbose stack     at EventEmitter.emit (events.js:400:28)
14 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
14 verbose stack     at ChildProcess.emit (events.js:400:28)
14 verbose stack     at maybeClose (internal/child_process.js:1058:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd /usr/src/node-red
17 verbose Linux 5.8.0-55-generic
18 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "--no-update-notifier" "--no-fund" "start" "--cache" "/data/.npm" "--" "--userDir" "/data"
19 verbose node v14.18.1
20 verbose npm  v6.14.15
21 error code ELIFECYCLE
22 error errno 1
23 error<EMAIL_ADDRESS>start: `node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"`
23 error Exit status 1
24 error Failed at the<EMAIL_ADDRESS>start script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]

Expected Behavior
[~/iot-stack/volumes/nodered]$ doco up nodered
Starting nodered ... done
Attaching to nodered
nodered                 |
nodered                 | ><EMAIL_ADDRESS>start /usr/src/node-red
nodered                 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
nodered                 |
nodered                 | 18 Nov 22:21:07 - [info]
nodered                 |
nodered                 | Welcome to Node-RED
nodered                 | ===================
nodered                 |
nodered                 | 18 Nov 22:21:07 - [info] Node-RED version: v2.1.3
nodered                 | 18 Nov 22:21:07 - [info] Node.js  version: v14.18.1
nodered                 | 18 Nov 22:21:07 - [info] Linux 5.8.0-55-generic x64 LE
nodered                 | 18 Nov 22:21:08 - [info] Loading palette nodes
nodered                 | 18 Nov 22:21:08 - [warn] Missing node modules:
nodered                 | 18 Nov 22:21:08 - [warn]  - node-red-contrib-zigbee2mqtt (0.6.9): zigbee2mqtt-in, zigbee2mqtt-get, zigbee2mqtt-out, zigbee2mqtt-bridge, zigbee2mqtt-server
nodered                 | 18 Nov 22:21:08 - [info] Removing modules from config
nodered                 | 18 Nov 22:21:08 - [info] Settings file  : /data/settings.js
nodered                 | 18 Nov 22:21:08 - [info] Context store  : 'default' [module=memory]
nodered                 | 18 Nov 22:21:08 - [info] User directory : /data
nodered                 | 18 Nov 22:21:08 - [info] Projects directory: /data/projects
nodered                 | 18 Nov 22:21:08 - [info] Refreshing https settings every 12 hours
nodered                 | 18 Nov 22:21:08 - [info] Server now running at https://<IP_ADDRESS>:1880/
nodered                 | 18 Nov 22:21:08 - [info] Active project : home
nodered                 | 18 Nov 22:21:08 - [info] Flows file     : /data/projects/home/flows.json
nodered                 | 18 Nov 22:21:08 - [info] Waiting for missing types to be registered:
nodered                 | 18 Nov 22:21:08 - [info]  - zigbee2mqtt-server
nodered                 | 18 Nov 22:21:08 - [info]  - influxdb
nodered                 | 18 Nov 22:21:08 - [info]  - telegram bot
nodered                 | 18 Nov 22:21:08 - [info]  - tasmota-mqtt-broker
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-config
nodered                 | 18 Nov 22:21:08 - [info]  - Tasmota Light
nodered                 | 18 Nov 22:21:08 - [info]  - zigbee2mqtt-out
nodered                 | 18 Nov 22:21:08 - [info]  - Tasmota Switch
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-outlet
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-light
nodered                 | 18 Nov 22:21:08 - [info]  - influxdb out
nodered                 | 18 Nov 22:21:08 - [info]  - zigbee2mqtt-in
nodered                 | 18 Nov 22:21:08 - [info]  - zigbee2mqtt-bridge
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-openclose
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-sensor
nodered                 | 18 Nov 22:21:08 - [info]  - zigbee2mqtt-get
nodered                 | 18 Nov 22:21:08 - [info]  - falling-edge
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-switch
nodered                 | 18 Nov 22:21:08 - [info]  - Tasmota Sensor
nodered                 | 18 Nov 22:21:08 - [info]  - credentials
nodered                 | 18 Nov 22:21:08 - [info]  - telegram sender
nodered                 | 18 Nov 22:21:08 - [info]  - noraf-thermostat
^CGracefully stopping... (press Ctrl+C again to force)
Stopping nodered ... done
[~/iot-stack/volumes/nodered]$ doco up nodered
Starting nodered ... done
Attaching to nodered
nodered                 |
nodered                 | ><EMAIL_ADDRESS>start /usr/src/node-red
nodered                 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
nodered                 |
nodered                 | 18 Nov 22:21:37 - [info]
nodered                 |
nodered                 | Welcome to Node-RED
nodered                 | ===================
nodered                 |
nodered                 | 18 Nov 22:21:37 - [info] Node-RED version: v2.1.3
nodered                 | 18 Nov 22:21:37 - [info] Node.js  version: v14.18.1
nodered                 | 18 Nov 22:21:37 - [info] Linux 5.8.0-55-generic x64 LE
nodered                 | 18 Nov 22:21:37 - [info] Loading palette nodes
nodered                 | 18 Nov 22:21:37 - [info] Settings file  : /data/settings.js
nodered                 | 18 Nov 22:21:37 - [info] Context store  : 'default' [module=memory]
nodered                 | 18 Nov 22:21:37 - [info] User directory : /data
nodered                 | 18 Nov 22:21:37 - [info] Projects directory: /data/projects
nodered                 | 18 Nov 22:21:37 - [info] Refreshing https settings every 12 hours
nodered                 | 18 Nov 22:21:37 - [info] Server now running at https://<IP_ADDRESS>:1880/
nodered                 | 18 Nov 22:21:37 - [info] Active project : home
nodered                 | 18 Nov 22:21:37 - [info] Flows file     : /data/projects/home/flows.json
nodered                 | 18 Nov 22:21:37 - [info] Waiting for missing types to be registered:
nodered                 | 18 Nov 22:21:37 - [info]  - zigbee2mqtt-server
nodered                 | 18 Nov 22:21:37 - [info]  - influxdb
nodered                 | 18 Nov 22:21:37 - [info]  - telegram bot
nodered                 | 18 Nov 22:21:37 - [info]  - tasmota-mqtt-broker
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-config
nodered                 | 18 Nov 22:21:37 - [info]  - Tasmota Light
nodered                 | 18 Nov 22:21:37 - [info]  - zigbee2mqtt-out
nodered                 | 18 Nov 22:21:37 - [info]  - Tasmota Switch
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-outlet
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-light
nodered                 | 18 Nov 22:21:37 - [info]  - influxdb out
nodered                 | 18 Nov 22:21:37 - [info]  - zigbee2mqtt-in
nodered                 | 18 Nov 22:21:37 - [info]  - zigbee2mqtt-bridge
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-openclose
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-sensor
nodered                 | 18 Nov 22:21:37 - [info]  - zigbee2mqtt-get
nodered                 | 18 Nov 22:21:37 - [info]  - falling-edge
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-switch
nodered                 | 18 Nov 22:21:37 - [info]  - Tasmota Sensor
nodered                 | 18 Nov 22:21:37 - [info]  - credentials
nodered                 | 18 Nov 22:21:37 - [info]  - telegram sender
nodered                 | 18 Nov 22:21:37 - [info]  - noraf-thermostat

Steps To Reproduce
I guess its related to the pallets installed:
This gets volume mounted to /data into the container.
[nodered/volumes/nodered]$ ls
total 204K
755 drwxr-xr-x   3 pschroeder pschroeder 4,0K Nov 18 21:45 lib/
755 drwxr-xr-x 273 pschroeder pschroeder  12K Nov 18 21:51 node_modules/
775 drwxrwxr-x   4 pschroeder pschroeder 4,0K Aug 23 20:04 projects/
644 -rw-r--r--   1 pschroeder pschroeder  20K Nov 17 22:53 settings.js
644 -rw-r--r--   1 pschroeder pschroeder  643 Nov 18 21:51 package.json
644 -rw-r--r--   1 pschroeder pschroeder 158K Nov 18 21:51 package-lock.json

Deleting node_modules lets nodered start:
$ doco up nodered
Starting nodered ... done
Attaching to nodered
nodered                 |
nodered                 | ><EMAIL_ADDRESS>start /usr/src/node-red
nodered                 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
nodered                 |
nodered                 | 18 Nov 22:17:00 - [info]
nodered                 |
nodered                 | Welcome to Node-RED
nodered                 | ===================
nodered                 |
nodered                 | 18 Nov 22:17:00 - [info] Node-RED version: v2.1.3
nodered                 | 18 Nov 22:17:00 - [info] Node.js  version: v14.18.1
nodered                 | 18 Nov 22:17:00 - [info] Linux 5.8.0-55-generic x64 LE
nodered                 | 18 Nov 22:17:00 - [info] Loading palette nodes
nodered                 | 18 Nov 22:17:01 - [warn] Missing node modules:
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-credentials (0.2.1): credentials
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-edge-trigger (1.0.0): falling-edge, rising-edge, hysteresis
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-generic-ble (4.0.3):
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-influxdb (0.6.1): influxdb, influxdb out, influxdb batch, influxdb in
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-lescan (1.0.0-beta.1): lescan
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-smartnora (1.5.1): noraf-ac, noraf-airpurifier, noraf-blinds, noraf-camera, noraf-config, noraf-fan
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-tasmota (0.9.9): tasmota-mqtt-broker, Tasmota Switch, Tasmota Sensor, Tasmota Light, Tasmota Button, Tasmota Generic
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-telegrambot (10.0.4):
nodered                 | 18 Nov 22:17:01 - [warn]  - node-red-contrib-zigbee2mqtt (0.6.9): zigbee2mqtt-in, zigbee2mqtt-get, zigbee2mqtt-out, zigbee2mqtt-bridge, zigbee2mqtt-server
nodered                 | 18 Nov 22:17:01 - [warn]  - nodered-contrib-xiaomi-scale (0.0.3):
nodered                 | 18 Nov 22:17:01 - [info] Removing modules from config
nodered                 | 18 Nov 22:17:01 - [info] Settings file  : /data/settings.js
nodered                 | 18 Nov 22:17:01 - [info] Context store  : 'default' [module=memory]
nodered                 | 18 Nov 22:17:01 - [info] User directory : /data
nodered                 | 18 Nov 22:17:01 - [info] Projects directory: /data/projects
nodered                 | 18 Nov 22:17:01 - [info] Refreshing https settings every 12 hours
nodered                 | 18 Nov 22:17:01 - [info] Server now running at https://<IP_ADDRESS>:1880/
nodered                 | 18 Nov 22:17:01 - [info] Active project : home
nodered                 | 18 Nov 22:17:01 - [info] Flows file     : /data/projects/home/flows.json
nodered                 | 18 Nov 22:17:01 - [info] Waiting for missing types to be registered:
nodered                 | 18 Nov 22:17:01 - [info]  - zigbee2mqtt-server
nodered                 | 18 Nov 22:17:01 - [info]  - influxdb
nodered                 | 18 Nov 22:17:01 - [info]  - telegram bot
nodered                 | 18 Nov 22:17:01 - [info]  - tasmota-mqtt-broker
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-config
nodered                 | 18 Nov 22:17:01 - [info]  - Tasmota Light
nodered                 | 18 Nov 22:17:01 - [info]  - zigbee2mqtt-out
nodered                 | 18 Nov 22:17:01 - [info]  - Tasmota Switch
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-outlet
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-light
nodered                 | 18 Nov 22:17:01 - [info]  - influxdb out
nodered                 | 18 Nov 22:17:01 - [info]  - zigbee2mqtt-in
nodered                 | 18 Nov 22:17:01 - [info]  - zigbee2mqtt-bridge
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-openclose
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-sensor
nodered                 | 18 Nov 22:17:01 - [info]  - zigbee2mqtt-get
nodered                 | 18 Nov 22:17:01 - [info]  - falling-edge
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-switch
nodered                 | 18 Nov 22:17:01 - [info]  - Tasmota Sensor
nodered                 | 18 Nov 22:17:01 - [info]  - credentials
nodered                 | 18 Nov 22:17:01 - [info]  - telegram sender
nodered                 | 18 Nov 22:17:01 - [info]  - noraf-thermostat
< installing some module >
nodered                 | 18 Nov 22:17:28 - [info] Installing module: node-red-contrib-zigbee2mqtt, version: 0.6.9
nodered                 | 18 Nov 22:17:56 - [info] Installed module: node-red-contrib-zigbee2mqtt
nodered                 | 18 Nov 22:17:56 - [info] Missing type registered: zigbee2mqtt-in
nodered                 | 18 Nov 22:17:56 - [info] Missing type registered: zigbee2mqtt-get
nodered                 | 18 Nov 22:17:56 - [info] Missing type registered: zigbee2mqtt-out
nodered                 | 18 Nov 22:17:56 - [info] Missing type registered: zigbee2mqtt-bridge
nodered                 | 18 Nov 22:17:56 - [info] Missing type registered: zigbee2mqtt-server
nodered                 | 18 Nov 22:17:56 - [info] Added node types:
nodered                 | 18 Nov 22:17:56 - [info]  - node-red-contrib-zigbee2mqtt:zigbee2mqtt-in
nodered                 | 18 Nov 22:17:56 - [info]  - node-red-contrib-zigbee2mqtt:zigbee2mqtt-get
nodered                 | 18 Nov 22:17:56 - [info]  - node-red-contrib-zigbee2mqtt:zigbee2mqtt-out
nodered                 | 18 Nov 22:17:56 - [info]  - node-red-contrib-zigbee2mqtt:zigbee2mqtt-bridge
nodered                 | 18 Nov 22:17:56 - [info]  - node-red-contrib-zigbee2mqtt:zigbee2mqtt-server
^CGracefully stopping... (press Ctrl+C again to force)
Stopping nodered ... done
[~/iot-stack/volumes/nodered]$ doco up nodered
Starting nodered ... done
Attaching to nodered
nodered                 |
nodered                 | ><EMAIL_ADDRESS>start /usr/src/node-red
nodered                 | > node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
nodered                 |
nodered                 | 18 Nov 22:18:15 - [info]
nodered                 |
nodered                 | Welcome to Node-RED
nodered                 | ===================
nodered                 |
nodered                 | 18 Nov 22:18:15 - [info] Node-RED version: v2.1.3
nodered                 | 18 Nov 22:18:15 - [info] Node.js  version: v14.18.1
nodered                 | 18 Nov 22:18:15 - [info] Linux 5.8.0-55-generic x64 LE
nodered                 | 18 Nov 22:18:15 - [info] Loading palette nodes
nodered                 | 18 Nov 22:18:17 - [red] Uncaught Exception:
nodered                 | 18 Nov 22:18:17 - [error] Error: connect ENOENT /var/run/dbus/system_bus_socket
nodered                 |     at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1159:16)
nodered                 | npm ERR! code ELIFECYCLE
nodered                 | npm ERR! errno 1
nodered                 | npm ERR<EMAIL_ADDRESS>start: `node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"`
nodered                 | npm ERR! Exit status 1
nodered                 | npm ERR!
nodered                 | npm ERR! Failed at the<EMAIL_ADDRESS>start script.
nodered                 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
nodered                 |
nodered                 | npm ERR! A complete log of this run can be found in:
nodered                 | npm ERR!     /data/.npm/_logs/2021-11-18T21_18_17_124Z-debug.log
$

Example flow
n/a
Environment

Node-RED version: nodered/node-red:2.1.3
Platform/OS:

$ uname -a
Linux nuc 5.8.0-55-generic #62~20.04.1-Ubuntu SMP Wed Jun 2 08:55:04 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu 20.04.3 LTS \n \l

Browser: Chrome Version 96.0.4664.45 (Offizieller Build) (64-Bit)

This is not a problem with the Node-RED Docker Container
One of the nodes you have installed is trying to connect to the dbus,  There won't be a dbus running in the container so it has failed to connect and not added any code to handle the error.
Usually things that need access to dbus are Bluetooth related.
There are plenty of articles online about how to mount the dbus socket into the container and the permissions required.

It will be the nodered-contrib-xiaomi-scale node that is causing this

Thank you very much!
I also had to remove node-red-contrib-generic-ble. These have been residuals from pervious tests. I check for getting dbus to work, but Its fine not having BLE since I also prefer running nodered unprivileged. Thanks again.


Product Quantity

The work is very nicely done and also intersting but I have faced some issue on it

The product Quantity won't stop @ 0 it will continue to negative number when an order is made
IF the order is made and it is not paid if we drop/delete the order the product quantity will not return the subtracted product quantity to the database. if you can help it will be best

most inventory system will do the same.


Implement navigation bar tabbing

And set up initial views for Songs, Events (Songbooks), and Favorites

Fixed https://github.com/chexee/karaoke-night/commit/d6973b02513fa1dcc25c526716957944f83bd3c6


Separate test and training sets to detect overfitting

I guess we could divide the data into separate training and test sets, and detect overfitting in the usual way: report both training and test loss, and when the loss on the test set starts to rise while training set loss is falling, we know we are starting to overfit. I think we could be overfitting, at least in the experiments like I've done training on a single-speaker's data.
The authors make the statement

Because log-likelihoods are tractable, we tune hyper-
parameters on a validation set and can easily measure if the model is overfitting or underfitting.

Not clear to me why tractability of log-likelihoods is related to detecting overfitting or underfitting. Does that mean they are using some entropy measure to detect it? Any of you probability theory experts care to enlighten us?
Please share any ideas about how we should detect overfitting. THanks.

When I first read that it sounded like they just meant that they calculated the cross-entropy with respect to a validation dataset.
(As opposed to using something like a generative adversarial training procedure).
Maybe they wanted to point out that you can compare the log-likelihood values between runs in order to optimize the hyperparameters.

OK thanks. I see jrao1 already has an issue on the same topic.


chore: refactor common types out to separate package

closes #70
note: this will probably break web - please don't merge without checking

:tada: This PR is included in version @shapeshiftoss/market-service-v1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @shapeshiftoss/swapper-v1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


smt.exists(item) doesn't work if default node value is set

https://github.com/ethereum/py-trie/blob/e5bf55c66c19bb21b626b8d61925ebc4336cba0c/trie/smt.py#L340-L341
should be this instead:
 return self.get(key) == self._default

haha I just got this problem, messaged you, searched, found you created this issue already

Wouldn't it get fixed by changing get() to check self._default before raising KeyError instead of BLANK_NODE? That way, you still get the KeyError when expected. Same with branch. My attached PR does that, and thus it fixes this issue as well.

Looking at the doc of the class:
If this default is anything other than a blank
node, then all keys "exist" in the database, which mimics the behavior of
Ethereum on-chain datastores.

So we do want exists return True in this case?

Looking at the doc of the class:
If this default is anything other than a blank
node, then all keys "exist" in the database, which mimics the behavior of
Ethereum on-chain datastores.

So we do want exists return True in this case?

I think per the comment that it would augment .exists(key) to a non-default check (which would be useful independently of a KeyError from .get(key)), and leave .get(key) and .branch(key) to allows provide you with a value, even if the key is set default (but non-empty) because I might want to "prove" that my proof leads to an empty value


bug: Load colorscheme when installing will set colorscheme twice

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
0.8.1
Operating system/version
Ubuntu 22.04
Describe the bug
It seems that if you set lazy's configuration with:
install = {
  -- try to load one of these colorschemes when starting an installation during startup
  colorscheme = { "some_colorscheme" },
},

Lazy.nvim will set :colorscheme some_colorscheme on some point.
So, let say if you have this plugin spec:
{
  "somebody/some_colorscheme",
  lazy = false, -- make sure we load this during startup if it is your main colorscheme
  priority = 1000, -- make sure to load this before all the other start plugins
  config = function()
    vim.cmd("colorscheme some_colorscheme")
    vim.api.nvim_set_hl(0, 'NormalFloat', { bg='none' })
  end
},

Then the startup sequence will be like:

Install and loading somebody/some_colorscheme
Execute config function of somebody/some_colorscheme
2-1. set colorscheme to some_colorscheme
2-2. set highlight NormalFloat's bg to none
lazy.nvim trying to load colorscheme: some_colorscheme
Highlight NormalFloat has been overridden to default

So, how to guarantee I can load colorscheme before all the other start plugins, at the same time, I can load this colorscheme during installing without overriding the highlights setup?
Steps To Reproduce

Install folke/tokyonight.nvim with the following spec:{
  "folke/tokyonight.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("tokyonight").setup()
    vim.cmd.colorscheme("tokyonight")
    vim.api.nvim_set_hl(0, 'NormalFloat', { bg='#FFFFFF' })
  end
}

Set lazy.nvim configuration with the following config: require("lazy").setup(plugins, {
   install = {
     colorscheme = { "tokyonight" },
   }
 })

Ensure you have installed tokyonight
Adding a new plugin folke/which-key.nvim
Reopen neovim to trigger installing on startup
You will see the floating windows' bg is not black as expected.

Expected Behavior
Colorscheme loaded with the user defined config and should not load twice.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  {
    "folke/tokyonight.nvim",
    lazy = false,
    priority = 1000,
    config = function()
      require("tokyonight").setup()
      vim.cmd.colorscheme("tokyonight")
      vim.api.nvim_set_hl(0, 'NormalFloat', { bg='#FFFFFF' })
    end
  }
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
  install = {
    colorscheme = { "tokyonight" },
  },
})

@leonasdev  Did you managed to fix this? I'm having the same issue with colorschemes and modified highlights.

I dont think I fully understand the issue. Do you mean that your customizations to the colorscheme dont take effect during installation?
If that's what you mean, then yes, that is how it should work. The colorscheme used during installations is a temporary colorscheme and is loaded before any plugin spec has been loaded.
Once installation finishes, the real colorscheme (with customizations) will be loaded.

Hey @folke , the thing is after installation the custom highlights in colorscheme plugin are not being applied.
Also, how can the temporal colorscheme be loaded if the plugin itself is not loaded? I guess I don't understand the loading order here.
The real question, I guess, is how can I set a complex function as a temporary colorscheme for lazy.vim? That way I could wrap my colorscheme + custom highlights an apply them as a whole.
As a side note, thank you for lazy.vim, I just migrated from packer and this is another level. Master work

I see what's happening here. During installation, we do colorscheme tokyonight. Since that plugin wasn't yet loaded, it will load the plugin during ColorSchemePre and execute its config() method. Your config() method will also run colorscheme tokyonight and set your custom highlights. After that the regular colorscheme call will run, but that obviously won't run your config again.
It's the same as doing colorscheme tokyonight twice. The first time will load the colorscheme, run its config. The second time you run colorscheme tokyonight, then the plugin is already loaded, so its config won't be ran anymore.

Should be fixed now

Regardless, its always advised to do any custom changes in a ColorScheme autocmd. That would also have worked in this case.

Regardless, its always advised to do any custom changes in a ColorScheme autocmd. That would also have worked in this case.

Oh I see, I did not know that was the way.
I did what you say but it is not working as expected. I've put all my custom highlights in a autocmd, which is called on plugin init. This is my code:
local function fix_monokai()
  local hl = vim.api.nvim_set_hl
  local grp = vim.api.nvim_create_augroup("FixMonokai", { clear = true })

vim.api.nvim_create_autocmd(
    "ColorScheme",
    {
      pattern = "monokai",
      callback = function()
        hl(0, "normal", { ctermfg="none" })
        hl(0, "cursorline", { bg="#272727" })
        hl(0, "linenr", { fg="grey" })
      end,
      group = grp,
      desc = "Fix background and other colors for monokai colorscheme",
    }
  )
end

return {
  {
    "tanvirtin/monokai.nvim",
    lazy = false,
    priority = 1000,
    init = fix_monokai,
    config = function()
      vim.cmd.colorscheme("monokai")
    end,
  },
}

It does not work on Lazy install (highlights are not applied)
By reading https://github.com/folke/lazy.nvim#-startup-sequence, I guess the automatic Lazy installation on startup is being called first, (with its colorscheme call).
I guess that init is being called after, thus the autocmd is not present at the time of setting the colorscheme.
I know I could manually move the fix_monokai function outside Lazy, but it makes sense to me that it should be kept within the plugin specs.
What would be the proper Lazy way of doing this?

Just move it to the beginning of your config method

Should be fixed now

It works perfectly now!! Thank you for your help❤❤

Just move it to the beginning of your config method

Thanks, It works now.
Anyhow, shouldn't init always be called before config?

Is there a reason why defining an after/plugin/<colorscheme-plugin-name>.vim will not run at the right time? I got it to run but it runs too early...

OK -- the problem I was having was in the use of
config = function ()
      vim.cmd([[
        colorscheme zephyr
      ]])
    end

as part of the plugin definition. it causes the colorscheme to be re-loaded at an unknowable bad time re-overriding my overrides.
After deleting that and collecting the autocommand definition and colorscheme setting command into one vim block and putting it after the lazy setup, I'm all good now.


Bump version to 4.1.1-j8. Make it build with java 8.

Make project build with java 8 under a separate version
Change the version of all sub-projects to 4.1.1-j8. Use versions plugin goal 'set' to achieve this. Disable creation of backup poms for this.
Make sure tests don't break.
Fire up the distribution and test this as well (using Apache Camel with to-jms route and ProducerTemplate.
Document every step done in comments on this issue.
Use branch 'issue-3' for this and hand in PR when done.

Version bumped to 4.1.1-j8.
Added derby and activemq data files to .gitignore.
Fixed ${pom.groupId} -> $project.groupId}.

Version bumped to 4.1.1-j8.
Added derby and activemq data files to .gitignore.
Fixed ${pom.groupId} -> $project.groupId}.

As i suspected, but did not verify. Commit justed pushed does not build, even with tests skipped:
[ERROR] /C:/Users/Cleme/git/cquoss/apache-activemq-4.1.1/activemq-optional/src/main/java/org/apache/activemq/util/JmsLogAppenderSupport.java:[20,24] package org.apache.log4j does not exist

As i suspected, but did not verify. Commit justed pushed does not build, even with tests skipped:
[ERROR] /C:/Users/Cleme/git/cquoss/apache-activemq-4.1.1/activemq-optional/src/main/java/org/apache/activemq/util/JmsLogAppenderSupport.java:[20,24] package org.apache.log4j does not exist

Now on to the tests. Enable tests again and run 'mvn clean verify'.

Now on to the tests. Enable tests again and run 'mvn clean verify'.

Merged.


default scheme

Contributes to #26682
Internal review URL

@haok because I get this wrong a lot :)

Looks good!

@serpent5 much appreciated.


fix: download arm64 clang when using Electron clang on Apple Silicon

Switching to M1 runners on CircleCI pointed out this issue.

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (ee3eb00) 76.30% compared to head (795b94e) 76.13%.

:exclamation: Current head 795b94e differs from pull request most recent head d9e4e94. Consider uploading reports for the commit d9e4e94 to get more accurate results

Files
Patch %
Lines

src/clang-fetcher.ts
66.66%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1113      +/-   ##
==========================================
- Coverage   76.30%   76.13%   -0.18%
==========================================
  Files          21       21
  Lines         726      729       +3
  Branches      136      137       +1
==========================================
+ Hits          554      555       +1
- Misses        121      122       +1
- Partials       51       52       +1

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


libcap: latest version fails to build

I am currently unable to bump libcap from 2.32 to 2.33
I suspect undefined reference to pthread_yield is the problem, it seems to build fine with make, but on the second make is failing on a test. And from some googling, it seems that we may be able to patch it to use sched_yield instead
psx_test.c: In function ‘say_hello_expecting’:
psx_test.c:17:34: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘pthread_t’ {aka ‘struct __pthread *’} [-Wformat=]
   17 |     printf("hello [%d], %s<%d> %lx (keepcaps=%d vs. want=%d)\n",
      |                                ~~^
      |                                  |
      |                                  long unsigned int
   18 |     getpid(), title, n, pthread_self(), keeper, kept);
      |                         ~~~~~~~~~~~~~~
      |                         |
      |                         pthread_t {aka struct __pthread *}
psx_test.c:20:34: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘pthread_t’ {aka ‘struct __pthread *’} [-Wformat=]
   20 |  printf("--> FAILURE %s thread=%lx has wrong keepcaps: got=%d want=%d\n",
      |                                ~~^
      |                                  |
      |                                  long unsigned int
   21 |         title, pthread_self(), keeper, kept);
      |                ~~~~~~~~~~~~~~
      |                |
      |                pthread_t {aka struct __pthread *}
psx_test.c: In function ‘say_hello_expecting’:
psx_test.c:17:34: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘pthread_t’ {aka ‘struct __pthread *’} [-Wformat=]
   17 |     printf("hello [%d], %s<%d> %lx (keepcaps=%d vs. want=%d)\n",
      |                                ~~^
      |                                  |
      |                                  long unsigned int
   18 |     getpid(), title, n, pthread_self(), keeper, kept);
      |                         ~~~~~~~~~~~~~~
      |                         |
      |                         pthread_t {aka struct __pthread *}
psx_test.c:20:34: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘pthread_t’ {aka ‘struct __pthread *’} [-Wformat=]
   20 |  printf("--> FAILURE %s thread=%lx has wrong keepcaps: got=%d want=%d\n",
      |                                ~~^
      |                                  |
      |                                  long unsigned int
   21 |         title, pthread_self(), keeper, kept);
      |                ~~~~~~~~~~~~~~
      |                |
      |                pthread_t {aka struct __pthread *}
/usr/lib/gcc/x86_64-pc-linux-musl/9.2.0/../../../../x86_64-pc-linux-musl/bin/ld: /home/foo/.cache/kiss/build-1757/libcap/tests/../libcap/libpsx.a(psx.o): in function `__psx_syscall':
/home/foo/.cache/kiss/build-1757/libcap/libcap/psx.c:536:
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:35: libcap_psx_test] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/lib/gcc/x86_64-pc-linux-musl/9.2.0/../../../../x86_64-pc-linux-musl/bin/ld: /home/foo/.cache/kiss/build-1757/libcap/tests/../libcap/libpsx.a(psx.o): in function `__psx_syscall':
/home/foo/.cache/kiss/build-1757/libcap/libcap/psx.c:536: undefined reference to `pthread_yield'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:26: psx_test] Error 1
/usr/lib/gcc/x86_64-pc-linux-musl/9.2.0/../../../../x86_64-pc-linux-musl/bin/ld: /home/foo/.cache/kiss/build-1757/libcap/tests/../libcap/libpsx.a(psx.o): in function `__psx_syscall':
/home/foo/.cache/kiss/build-1757/libcap/libcap/psx.c:536: undefined reference to `pthread_yield'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:29: psx_test_wrap] Error 1
make[1]: Leaving directory '/home/foo/.cache/kiss/build-1757/libcap/tests'
make: *** [Makefile:13: all] Error 2
-> libcap Build failed
-> libcap Log stored to /home/foo/.cache/kiss/logs/libcap-2020-03-02-21:44-1757

I made a patch for it https://github.com/kisslinux/community/pull/496


Is there any ways to use multiple databases?

I would like to ask is there any ways to use multiple databases because one of my database is updated through network while the other one is local only.

Sadly no, only with own modification to the library, see my issues
https://github.com/satyan/sugar/issues/596
there are more problems https://github.com/satyan/sugar/issues/597
To sum it up i would advise you against using sugar "orm" if you need some other configuration than the DEFAULT from library developer
I wanted to make some PR that changes sugar into real orm, but i didn't have time.

did you guys found any solution on working with multiple database in sugar orm?

@NagendraHariKarthick
I dont know if anything has changed since more than 1 year ago, if not then as my previous comments, you need to make your own lib modifications. I just used other library as multi db support was mandatory in my project back then and also there was more issues with it being a real ORM, not forcing you into some default things that the library was forcing, schemas, naming conventions etc.


Remove the e2e tests that requires to build images

They will be added back once we have a quay.io organization where they will be pushed to.

This branch was used to setup e2e tests on https://github.com/openshift/release/pull/57742.
Once this PR is merged, I'll update https://github.com/openshift/release/pull/57742 to run the e2e tests on this repo's main branch and we will be good to go.

/retest


Revise the behaviour of deleting objects, especially deleting remote objects.

What do these changes do?
See Note [Deleting objects and blobs].
Related issue number
Fixes #199.

Codecov Report

Merging #204 (ca5bac3) into main (882e8fc) will increase coverage by 3.86%.
The diff coverage is 77.67%.

@@            Coverage Diff             @@
##             main     #204      +/-   ##
==========================================
+ Coverage   65.67%   69.53%   +3.86%
==========================================
  Files          55       55
  Lines        4233     4258      +25
==========================================
+ Hits         2780     2961     +181
+ Misses       1453     1297     -156

Impacted Files
Coverage Δ

src/client/client_base.h
66.66% <ø> (+16.66%)
:arrow_up:

src/server/server/vineyard_server.cc
58.05% <ø> (+6.25%)
:arrow_up:

src/server/util/meta_tree.cc
64.88% <50.00%> (+2.64%)
:arrow_up:

src/server/services/meta_service.cc
62.50% <71.42%> (+32.73%)
:arrow_up:

src/server/services/meta_service.h
66.66% <80.43%> (+16.53%)
:arrow_up:

src/server/memory/memory.cc
83.05% <0.00%> (+1.69%)
:arrow_up:

src/common/util/protocols.cc
83.54% <0.00%> (+3.57%)
:arrow_up:

src/server/async/socket_server.cc
70.95% <0.00%> (+3.92%)
:arrow_up:

... and 5 more


Excessive Space In Global Header and Footer on iOS

Found in version: 0.3.2
I'm currently working on an application that uses Virtual List Views to render lists of dynamic templated objects and for that I have no issues.  However, I need to add a "floating button" that occludes the list, but at the same time leave enough space at the bottom of the list view so that the user can scroll all the way to the bottom of the list to see the entirety of the last item without the button covering it.
On Android, I was able to achieve this by adding a Global Header with a single grid row of height 0 and a Global Footer with a single row of the necessary height.  This works beautifully.
<vlv:VirtualListView.GlobalHeader>  <!--Footer only appears if there is a header-->
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="0"/>
        </Grid.RowDefinitions>
        <BoxView Background="Transparent" Grid.Row="0"/>
    </Grid>

</vlv:VirtualListView.GlobalHeader>
<vlv:VirtualListView.GlobalFooter>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="80"/>
        </Grid.RowDefinitions>
        <BoxView Background="Transparent" Grid.Row="0"/>
    </Grid>
</vlv:VirtualListView.GlobalFooter>

However, this same code is causing an excessive amount of dead space in the header and footer on iOS.  @aritchie

Possibly related https://github.com/Redth/Maui.VirtualListView/issues/42

Does it still happen if you use say a ContentView instead of a BoxView?

This will be fixed in #43
Though I'd suggest simplifying your controls used...
<vlv:VirtualListView.GlobalHeader>
    <ContentView HeightRequest="1" />
</vlv:VirtualListView.GlobalHeader>
<vlv:VirtualListView.GlobalFooter>
    <ContentView HeightRequest="80" />
</vlv:VirtualListView.GlobalFooter>

There's no need to use BoxView when a simple ContentView will suffice, also the Grid isn't really needed.  I see that there needed to be a header to make both show, but this will also be fixed in the PR mentioned.

Fixed by #43


Fix retrieve resources from another domain

Tried to get certain user's profile image from backend server at port 1035, but the error occured below.

Added index.js
app.use('/profile-images', express.static(path.join(__dirname, 'profile-images')));
The endpoint to retireve images from backend server was missed.
After that, I was able to get corresponding image file by sending a request to the URL, 'http://localhost:1035/profile-images/image-64c67c436f8bd303cc470f6a'.


Integration tests for graphics

This is just an idea. I do not know how practical it is, but I think it is worth a shot.
I am quite a fan of integration tests.
We could implement a suite of image-based integration tests for the graphics module. We would render to an image and compare it with an expected image pixel by pixel. If a test fails, we could keep the wrong image and mark the differences somehow (maybe another transparent image pointing the pixels that differ). We could have simple tests and very complicated ones, with off-screen rendering, text, batched draws and texture arrays, etc.
This will give us a lot of confidence when making changes/optimizations to the different graphics backends, or when implementing a new one. Also, I think it would be really cool.
I would like to do this myself, but any help or insights will be greatly appreciated. Share your thoughts here first!

Related issue on the gamedev working group: https://github.com/rust-gamedev/wg/issues/31


Character not displayed on UITEXTEntryBox but is acknowledged

Discussed in https://github.com/MyreMylar/pygame_gui/discussions/477

Originally posted by Nughm October 25, 2023
When using UITextEntryBox, when a line is deleted, and something is typed into it, a whitespace is created no matter which letter in inputted and when event.text is printed, it shows that the character is inputted.
https://github.com/MyreMylar/pygame_gui/assets/90173902/bbd82f0c-17bd-491c-8f03-3d1ac2eef028
At around 10 seconds, when the blinking typing indicator goes down from the blank line to "LINE2" the character "a" was inputted. This was not reflected on the EntryBox, but was printed when I closed the pygame window (I set it so it prints the contents of the EntryBox when pygame window is closed)
import pygame
import sys
import pygame_gui

pygame.init()

WIDTH, HEIGHT = 1280, 720
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
base_font = pygame.font.Font("font/Pixeltype.ttf", 20)

CLOCK = pygame.time.Clock()
MANAGER = pygame_gui.UIManager((WIDTH, HEIGHT))

TEXT_INPUT = pygame_gui.elements.UITextEntryBox(relative_rect = pygame.Rect((350, 275), (900, 600)), manager=MANAGER, object_id='#main_text_entry')
SCREEN.fill("White")
def get_user_name():
    while True:
        UI_REFRESH_RATE = CLOCK.tick(60)/1000

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                print(Temp)
                pygame.quit()
                sys.exit()

            if event.type == pygame_gui.UI_TEXT_ENTRY_CHANGED:
                Temp = event.text
            MANAGER.process_events(event)
        MANAGER.update(UI_REFRESH_RATE)
        MANAGER.draw_ui(SCREEN)
        pygame.display.update()

get_user_name()
```</div>

Hmm, I can't reproduce this on latest main or on 0.6.9.
Possible it was inadvertently fixed recently? I will close for now because I can't reproduce.


prevent emojification in code blocks

I have a table full of MAC addresses, some of them containing e.g. :de: which gets translated to 🇩🇪, even though it is surrounded by back-ticks.
e.g.: (with fake data)

What I See
What I Expect

ab:cd:01:de:ef:02
ab:cd:01:de:ef:02

I have wrapped all of the data in backticks, but that has no effect on goldmark, but works here on github.
I have not found any way to disable the emojification, e.g. \:de: just adds a \ before the emoji, :\de: disables the emoji, but leaves a spurious \ in my data, killing copy-pastability.
I'm using goldmark v1.4.4 via Hugo v0.93.0

goldmark is not dedicated for Hugo.
If you have an issue 'via' Hugo, Please submit issues in Hugo repository.

The content in backticks should be rendered intact, which seems to be the responsibility of a markdown parser.

@Qutue Did you read above issue? (https://github.com/gohugoio/hugo/issues/7332)
This issue is completely misunderstanding by @cobber  because Hugo does not use this extension.
Many users misunderstand about Hugo's markdown. goldmark does NOT control ALL of Hugo's markdown. goldmark is an extensible markdown parser. Hugo has many own extensions for goldmark. Hugo has functions for templating that do not have relation with goldmark.
If you meet problems about Hugo and do not have skills to investigate weather cause is Hugo or goldmark, you should submit an issue in Hugo repository.


Update develop based on changes in master

This PR is not required since no changes in content made.


feat: inline mount utils to remove peer dependencies

Peer dependencies are cool for decoupling and all, but they are a poor UX for some installers like pnpm that enforce them explicitly.
Looking at cypress source it bundles the mount utils dep.
Do that here as well to reduce new user cognitive load.


TRAVERSAL and GRAPH_TRAVERSAL documentation inconsistencies

Having read the wonderful blogpost http://jsteemann.github.io/blog/2015/01/28/using-custom-visitors-in-aql-graph-traversals/ about using custom visitors when doing graph traversals, I stumbled upon the different documentation parts for the TRAVERSAL (see https://docs.arangodb.com/Aql/GraphFunctions.html) and GRAPH_TRAVERSAL (see https://docs.arangodb.com/Aql/GraphOperations.html) AQL functions.
Seems a lot of the options that can be used with and that are documented for TRAVERSAL can also be used with the GRAPH_TRAVERSAL function, but aren't documented there, e.g.

visitor
visitorReturnsResults
data
followEdges
...

Would it be feasible to simply copy the documentation parts for these options over to the GRAPH_TRAVERSAL documentation section to make clear they can be used with GRAPH_TRAVERSAL, too?
Or are these options not officially supported there?
Additionally, it would be helpful to add links between GraphFunctions and GraphOperations as it is not clear at the first sight that there exist two different types of graph-related traversal functions that can be used.
I'm not sure wether or how this ticket here is related to #1019

I already started out the toplevel Graphs chapter to offer a better entrance into ArangoDBs graphing features. For shure we will find more places to improve the documentation ;-)

With ArangoDB 3.0 the traverser has grown up and now can handle all situations the GRAPH_ * - functions used to do. Therefore the documentation is now much more persistent and less irretating.
The Graph overview documentation as introduced with ArangoDB 2.8 continues to be in the Manual: https://docs.arangodb.com/devel/Manual/Graphs/index.html
And the AQL documentation now holds the pattern matching traversals introduced with ArangoDB 2.8 plus the new way of doing shortest path traversals: https://docs.arangodb.com/devel/AQL/Graphs/index.html
We will add notes to the existing blog posts, that this documentation is outdated.
Give the 3.0 RC a shot - we're eager to get feedback.
I'm closing this issue now.


Update CLI plug-in docs around creating user profiles

Describe your pull request here: Removed the V1 zowe profiles commands when creating profiles for the MQ and FTP plug-ins
List the file(s) included in this PR:  docs/user-guide/cli-ftpplugin.md and docs/user-guide/cli-mqplugin.md
After creating the PR, follow the instructions in the comments.

Hey @awharn and @t1m0thyj,
Should we include any other plug-in updates in this PR? 😋

Hey @awharn and @t1m0thyj,
Should we include any other plug-in updates in this PR? 😋

DB2 has its own PR.


Creative Commons license not correctly marked in HTML

https://www.inaturalist.org/photos/26387837 displays a link to CC-BY without a rel="license", so crawlers cannot index the image as being freely licensed.
https://wiki.creativecommons.org/wiki/Marking_your_work_with_a_CC_license
Cc @dartar

Neat, @nemobis do you want to write up a summary at https://www.wikidata.org/wiki/Wikidata:WikiProject_iNaturalist so others are aware this has been fixed?

FYI this is fixed in the code, but not yet deployed. It should be live on the website in a few hours


fix(ecau): fix seed parameters not iterable error

When ECAU is injected in the content context in Firefox, it uses the URLSearchParams from the page context via an x-ray. However, a bug in Firefox prevents us from iterating through the result of the entries() call. Instead, we can iterate through the URLSearchParams directly.
Fixes #773.

/deploy-preview


Misuse component handler for deployment update sync

In what area(s)?

/area operator
What version of Dapr?
master cd427279
Expected Behavior

Add a the deployment update sync handler.
Not quite sure whether to update an existed service if something changed, e.g. metric port.
But we can create a new service if this deployment updated by adding a dapr enabled annotation.
Actual Behavior

Misuse component handler for deployment update sync
Steps to Reproduce the Problem

Thanks a lot for reporting and fixing this, and welcome to the Dapr community.

@yaron2 Glad to build Dapr together :).


Added Closest_pair_of_points.cpp

This is an algorithm of Computational Geometry which aims at finding distance between closest pair of points among n given points.

PR for issue #3 . Please review and merge @afred-khan


Add gtest_main and configs to gtest

Configuration options have been added to decide whether or not gtest_main should be linked against.
For consistency, a similar option was added for the gmock target.
Example usage with C++ 20:
-- use master for C++ 20 support (see https://github.com/google/googletest/issues/2914)
add_requires("gtest master", {configs = {main = true, gmock = true}})

target("my_test")
    set_languages("cxx20")
    set_kind("binary")

    add_files("my_test.cpp")
    add_packages("gtest")

    if is_plat("windows") then
        -- fixes "LINK : fatal error LNK1561: entry point must be defined"
        add_ldflags("/subsystem:console")
    end

Fixes #475.

Should I squash the commits?

thanks


Correct spelling in architecture-5.x.md

Purpose
polish doc

Codecov Report

Merging #1307 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1307      +/-   ##
============================================
+ Coverage     63.12%   63.15%   +0.03%
  Complexity       37       37
============================================
  Files           621      621
  Lines         25376    25376
  Branches       3974     3974
============================================
+ Hits          16018    16026       +8
+ Misses         8082     8076       -6
+ Partials       1276     1274       -2

Impacted Files
Coverage Δ
Complexity Δ

...ut/stream/state/AbsentStreamPreStateProcessor.java
86.61% <0%> (+1.4%)
0% <0%> (ø)
:arrow_down:

.../siddhi/core/util/event/handler/StreamHandler.java
74% <0%> (+12%)
0% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Cursor skipping

I'm using glutin 13.1 on X11 Linux for a paint program. I've noticed that the cursor seems to skip several pixels even with normal movements. Here's an example:

Is this a problem with glutin or a platform limitation that I need to work around?

This looks like pretty normal behaviour, assuming you're drawing a single dot per cursormoved event?
I'd imagine most paint/drawing programs work by interpolating between the received events or drawing lines between each point (rather than single dots).

Yes, this is indeed normal. It might be slightly worse (or better) than other applications. Given that the application notifies of cursor updates 30 or 60 times a second, I can't imagine it being hard to move your mouse more than 60 pixels a second.


feat: Add ability to utilize multiple htmx configurations

Based on conversation regarding configuration on startup I realized that it isn't unreasonable to have different configurations for different pages.  While a single config per-site might work I think a better approach would be to also allow for named configurations along with a default configuration.  Htmx could potentially have different configurations across different pages, since the configs are page-level.
Adding a specific configuration for a page could just involve configuring the HtmxConfigHeadOutlet as follows:
<HtmxConfigHeadOutlet Configuration="articles"/>

or leave Configuration off to use the default configuration

Then implement a config we can create a config builder that works like the following:
builder.AddHtmxor()
	.WithDefaultConfiguration(config =>
	{
		config.SelfRequestsOnly = true;
	})
	.WithNamedConfiguration("articles", config =>
	{
		config.SelfRequestsOnly = true;
		config.GlobalViewTransitions = true;
	});

Side Effects
HtmxAntiforgeryOptions will need to be configured globally for the site on startup instead since there is no reasonable way to know which config should be used per-request

I am not sure of the implications of enabling configuration based on individual pages or groups of pages. It's certainly not all configuration options that make sense to change on a per-page basis, most seem to be controllable on individual elements and are just defaults.
A few questions:

Can you describe one or more scenarios/options that make sense to change on a per-page basis?
Does htmx pick up on configuration changes in the head element on hx requests?
Will it cause hard to detect bugs if one page has a different behavior than others? Is there edge cases where htmxor code changes its behavior depending on the config, and would need to know the page that triggered a requests config and page being targeted in a requests config?

Design of the feature:
In configuration, I am not opposed to having "named" configurations. I guess individual pages can set this via the <HeadContent> tag, e.g.:
<HeadContent>
    <HtmxConfigHeadOutlet Configuration="articles"/>
</HeadContent>

An alternative is to register HtmxConfig as a scoped service instead of a singleton. That would allow individual pages to override the config by having it injected into them and changing settings as needed, e.g.;
@inject HtmxConfig config
@code {
  protected override void OnInitialized()
  {
    config.Timeout = Timespan.FromSeconds(2);
  }
}

A 3rd option is to allow setting up configurations that match path templates, such that the path of a request determines the config:
builder.AddHtmxor(config =>
	{
		config.SelfRequestsOnly = true; // is the default btw.
	})
	.WithPathConfiguration("/articles/**", config =>
	{
		config.GlobalViewTransitions = true;
	});

I would see configuration changes more localized to certain sections of your site.  By design htmx configs are set at a page-level, and you can't make the assumption that the whole site will function as an SPA.  Consider also a site that has a front-facing side and an administrative side.  Or perhaps an ecommerce side and media presentation side.  They might have different configuration requirements.
I used named configurations in my code writeup because they are pre-built into the options pattern.  I think it's simple to reason about if you are just applying that code to a layout page that is used by a group of pages. The route approach, while nice, is probably not needed if you consider these pages will likely share a similar layout with the same head anyway.
I can see a strong argument for the injection approach though, as that would allow you to localize the configuration in the same place as the layout.  If the spirit of htmx is to localize most page state in the dom, then injection of the config and manipulation of it on the same layout page could be a winner (even though it's technically in a code section).  I personally see layouts as being the strongest contender for manipulating a config.
So I could see this as a working solution then.  Keep the default configuration format that is set up in Program.cs, but register as a scoped service instead as you mentioned.  Any changes that are made to the config would be done as a mutation of the default state.

Really good points. I'll set up a test that verifies config can be scoped.

Getting scoped working wasn't a five minute thing so I'll park this for now and get back to it. Also being able to extend HtmxConfig with more options for people using HX extensions.

I forgot about extension configs.  I'll take another stab at this after I finish the response handling.

For extension configs I am thinking users should be able to create a derived type of HtmxConfig. That way they can add anything they want to HtmxConfig without breaking the internal bits that depend on certain aspects of HtmxConfig in Htmxor.


i cant remove  read only mode in some files in pythonSpyder

<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>
im trying to edit in python-spyder some of my projects and some of then open as read only mode and i dont know what i have to do to edit my files aigan

i changed the permissions of the file that i mencioned with my explorer (in my case u used nautilus) with root privileges and that solved my problem


[Observability] add more blockchain metrics

including but not limited to the following:

num of distinct addresses that have sent txes
num of live objects
num of distinct object ID's (i.e., # live objects + # deleted objects)
num of Move package objects
total size of object DB
total size of locks DB
total size of tx log
average tx size
average object size
max tx size
max object size

duplicate of https://github.com/MystenLabs/sui/issues/3258


自用配置及依赖仓库 - DinnerBone的博客 | DiB Blog

https://dimerbone.github.io/shell/2020/02/25/Conky配置/
Every failure is leading towards success.

####转载贴上原文链接哦！

2021打卡，db加油啊


[WIP] Add openebs add-on

Still bit of WIP.
Need to figure out how to make the stack apply to withstand re-runs. Currently it fails with:
Kubeclient::HttpError : StorageClass.storage.k8s.io "openebs-standard" is invalid: parameters: Forbidden: updates to parameters are forbidden.

Not sure on the namespace we should put this into. default feels just plain wrong, maybe kube-system would be better for this kind of "infra" things.
fixes #171

Not sure on the namespace we should put this into. default feels just plain wrong, maybe kube-system would be better for this kind of "infra" things.

IMHO storage (or similar) namespace would make more sense here.. not good idea to dump everything into kube-system.

Changed now to use storage namespace.
Also added option to change the default storage pool path.

docs PR: https://github.com/kontena/pharos-docs/pull/27


About using code

Hello Author,
I would like to ask if the code first train.py gets the teacher model weight and then preparelabel.py gets the image label of the teacher model to the student model and then distillation gets the student model？
Looking forward to your answer.
thank you

Yes.

Thanks


Multiple deletes should send only one autoupdate

send one websocket message (via informed_changed_data) for multiple objects
Example: For votecollector we want to clear all votes of a poll. Currently each delete sends an autoupdate. So the voted seats in seating plan disappear successive. Expected: all voted seats should vanish at once.

@ostcar @normanjaeckel Is this issue done?

This should be fixt but it is possible, that there needs to be a change in the votecollector. You have to make sure, that inform_changed_data is called ones with a list of objects:
https://github.com/OpenSlides/OpenSlides/blob/master/openslides/utils/autoupdate.py#L139

Already done.


Fix samples and backends

This patch fixes some backends and references used to build a valid patched control plane with Glance.

/retest

/test functional


[BUG] - setGuidelines in CropImage, getActivityResult in CropImageView and getUri in ActivityResult

🚨🚨 Before open the ticket please check if you can reproduce the bug in the sample code

ScanReceipt.txt

Lib Version [4.2.2]
Gradle Plugin Version [4.2.2]
Gradle Version [7.3.3]

Describe the bug
First Bug: I have a setGuidelines issue from using ArthurHub image cropper and trying to convert piece of code to CanHub version
Second Bug: I have getActivityResult issue when trying to get the data
Third Bug: i am trying to get the Uri but its not giving me the option from my current knowledge.
i have been searching online to solve this issue for 7 days and is driving me insane. there is 0 information on this version because people are using the ArthurHub version that no longer works (for me anyway) as this is deprecated.
see attached txt file for full code.
Smartphone (please complete the following information):

Device: [Pixel 3a_API_x86]
OS: [Android 6.0 Marshmallow]

Hey, @DarknessQuake I see that you are using Java.
Have you checked our documentation for Java usage?
You can see how to properly make the calls in the Java Sample (link on the docs) for Android Contracts.
If you are not planning to use Android Contracts you need to use version 3.3.6, like the documentation explains

ok i will try this to see if this would get it to work thank you will try it and report back.

i got 1 error sorted so thank you for that
i have looked at the kt file and yes it makes sense now lol i dont understand the getActivityResult because looking at the documentation that you have provided its crossed out and mine is red (same thing) is there a piece of code that replace this.

getActivityResult will not work on the latest release. Only until 3.3.6.
After this release we update to use Android Contracts (the usage of it can be checked on the JavaSample^^)

right!!! thank you i wondered about that im going to use 3.3.6 or lower to see if it is sorted it not i will use android contracts thank
you.


plot_alignment not showing EEG electrode locations on scalp

We're trying to verify all of our alignments. (EEG electrodes, source space, etc.)
Following this tutorial, we have created a test script derived from the example in which the only modification was to change the *_raw.fif data file to be loaded into the raw object.
The example script runs as expected, however upon replacing the raw data file with our own data file, the EEG electrodes do not show up, nor does the 3D head model. raw.plot_sensors() however does show the expected arrangement of electrodes (in a 2D montage plot)
No error messages are printed.
Expected (although technically with fewer channels than this):

Actual:

raw.plot_sensors():

I have spent a lot of time debugging this so far. Any ideas what's going wrong?

how did you specify the eeg channel locations for your raw object?
DigMontage? Montage? do you know if which coord system these positions are?

Hi agramfort, Thanks for your reply.
Here's the process for how this raw object came to be:
# In a separate and previously run script:
raw = read_raw_eeglab(raw_fname, montage=montage_fname, eog=('HEOG', 'VEOG'), preload=True, verbose=True)
# ...
raw.save(fif_fname, overwrite=True)

# in the current script which just aims to verify alignments
raw = mne.io.read_raw_fif(fif_fname)

where

raw_fname is a .set file previously saved/exported from EEGLAB
montage_fname is the standard-10-5-cap385.elp file copied from EEGLAB
fif_fname in both cases is the same file, exported from one mne script and imported in the current one.

such a montage is defined on a sphere and not in the MRI space of your
subject.
do you actually have an MRI for your subject? or you want to work with a
template brain?

I have a similar issue, mne.plot_alignment basically gives me an empty display.  I've narrowed my issue down to the an issue with a misalignment of the default dig montage and the MRI space of my subject.  Like corscheid, I'm also using a default montage but in my case, montage  = mne.channels.read_montage('GSN-HydroCel-257').
After running mne.io.read_raw_egi I get this with print(raw.info):

<Info | 20 non-empty fields
bads : list | 0 items
ch_names : list | E1, E2, E3, E4, E5, E6, E7, E8, E9, ...
chs : list | 257 items (EEG: 255, EOG: 1, MISC: 1)
comps : list | 0 items
custom_ref_applied : bool | False
dev_head_t : Transform | 3 items
dig : list | 259 items (3 Cardinal, 256 EEG)
events : list | 0 items
file_id : dict | 4 items
highpass : float | 1.0 Hz
hpi_meas : list | 0 items
hpi_results : list | 0 items
lowpass : float | 50.0 Hz
meas_date : tuple | 2017-01-20 15:48:32 GMT
meas_id : dict | 4 items
nchan : int | 257
proc_history : list | 0 items
projs : list | 0 items
sfreq : float | 250.0 Hz
subject_info : dict | 0 items
acq_pars : NoneType
acq_stim : NoneType
ctf_head_t : NoneType
description : NoneType
dev_ctf_t : NoneType
experimenter : NoneType
gantry_angle : NoneType
hpi_subsystem : NoneType
kit_system_id : NoneType
line_freq : NoneType
proj_id : NoneType
proj_name : NoneType
xplotter_layout : NoneType

I have my own MRI, generated subject BEM surfaces, but when I pull it up into mne.gui.coregistration(), I get something wild like this:

No matter how I try to fit the translation and rotation (Fit (ICP), Fit Fid.), I cannot match the MRI.  And when you zoom in, you can eventually see my MRI surface.

Any idea how to fix this?  I've uploaded my files (https://drive.google.com/open?id=1B58HEJQaJyT-huoyCKtkrc5ykNEolScL) if anyone wants to play around with it.

We do not actually have an MRI. We would have to work with a template. So far, we have been using either MNE sample or Freesurfer's fsaverage. At some point we did the mne watershed bem on this fsaverage one, if I recall correctly.
We have a plot_alignment that currently looks like this:

But we want the electrodes plotted along with this to get an idea if everything is lined up. From what I can tell by what you said, the montage file is the wrong one. Given that we have 11 Channels (FZ,F3,F4,CZ,T7,T8,PZ,P3,P4,O1,O2,HEOG,VEOG,EMG originally, but we disregard HEOG, VEOG, and EMG), which should we be using instead?

@agramfort
Thank you so much for your help! It appears I got everything to plot properly by using the following lines in my script:
channels = ['FZ', 'F3', 'F4', 'CZ', 'T7', 'T8', 'PZ', 'P3', 'P4', 'O1', 'O2']
montage = mne.channels.read_montage('standard_1005', ch_names=channels, transform=True)
raw.set_montage(montage)

I'll go back and use this on my other script as well now that everything looks okay.

I tried to replicate with public data with
import mne
from mne.datasets import sample
from mne.datasets import eegbci

data_path = sample.data_path()
subjects_dir = data_path + '/subjects'

raw_fname = eegbci.load_data(subject=1, runs=[6])[0]
raw = mne.io.read_raw_edf(raw_fname, preload=True, stim_channel='auto')
ch_names = [c.replace('.', '') for c in raw.ch_names]
raw.rename_channels({c_old: c_new for c_old, c_new in zip(raw.ch_names, ch_names)})

montage = mne.channels.read_montage('standard_1005', ch_names=raw.ch_names, transform=True)
raw.set_montage(montage)
mne.viz.plot_alignment(raw.info, subject='fsaverage', subjects_dir=subjects_dir)

it does not look right. What else did you do?

Interesting. I just copied my surfaces over and ran that and indeed got some strange alignment. Not sure what's going on there. But here is my script that yields the plots in my previous screenshot:
import mne
from mne.viz import plot_alignment

# note: our project is running on macOS.
# this script is mostly a quick/dirty test to check alignments,
# without effort to make file path literals in this code portable to Windows

subject = 'fsaverage'
subjects_dir = '/Applications/freesurfer/subjects'

# string literal filenames redacted by means of example filenames
fname_raw = 'example_raw.fif'
fname_src = 'example-src.fif'
fname_bem = subjects_dir + '/' + subject + '/bem/' + subject + '-5120-5120-5120-bem-sol.fif'
fname_trans = subjects_dir + '/' + subject + '/mri/T1-neuromag/sets/' + subject + '-trans.fif'

raw = mne.io.read_raw_fif(fname_raw)
trans = mne.read_trans(fname_trans)
src = mne.read_source_spaces(fname_src)
bem = mne.read_bem_solution(fname_bem)

raw.info['bads'] = ['EMG', 'STI 014']
channels = ['FZ', 'F3', 'F4', 'CZ', 'T7', 'T8', 'PZ', 'P3', 'P4', 'O1', 'O2']
montage = mne.channels.read_montage('standard_1005', ch_names=channels, path=None, unit='m', transform=True)
raw.set_montage(montage)

fig = plot_alignment(raw.info, trans=trans, subject=subject, subjects_dir=subjects_dir,
                     surfaces=['head', 'outer_skull', 'white'], coord_frame='mri',
                     meg=False, eeg=['original', 'projected'], dig=False, ecog=False, src=src, mri_fiducials=False,
                     bem=bem, seeg=False, show_axes=False, fig=None, interaction='terrain', verbose=True)
fig2 = raw.plot_sensors()

you used a trans for fsaverage. How did you produce it? can you share this
file?

I used the following bash script as a one-time setup stage.
#!/bin/bash
set -e
set -x

export SUBJECTS_DIR="${FREESURFER_HOME}/subjects"
export SUBJECT="fsaverage"
# data filename redacted using example filename. excludes file extension.
export DATFILENAME="example"
export FWD_DESTDIR="/my/example/path"

# from http://www.natmeg.se/mne_sourceanalysis/3-Source_localization_with_MNE.html
# generate boundary element model
cd $SUBJECTS_DIR
mne_watershed_bem --overwrite

# make shortcut links
cd ${SUBJECTS_DIR}/${SUBJECT}/bem
ln -s watershed/${SUBJECT}_inner_skull_surface ${SUBJECT}-inner_skull.surf
ln -s watershed/${SUBJECT}_outer_skin_surface ${SUBJECT}-outer_skin.surf
ln -s watershed/${SUBJECT}_outer_skull_surface ${SUBJECT}-outer_skull.surf

# source space and forward model
# creates fsaverage-5120-5120-5120-bem.fif
cd -
# from https://martinos.org/mne/stable/manual/sample_dataset.html
mne_setup_mri
mne_setup_source_space --ico -6 --overwrite
mne_setup_forward_model --surf --ico 4

# copy the file where we need it
cp ${MNE_ROOT}/share/mne/mne_analyze/$SUBJECT/$SUBJECT-trans.fif \
${SUBJECTS_DIR}/${SUBJECT}/mri/T1-neuromag/sets/

# forward solution
# creates ${DATFILENAME}_eeg_raw-oct-6-fwd.fif
cd ${FWD_DESTDIR}
mne_do_forward_solution --eegonly --overwrite --mindist 5 --spacing oct-6 \
--bem ${SUBJECTS_DIR}/${SUBJECT}/bem/${SUBJECT}-5120-5120-5120-bem.fif \
--meas ${DATFILENAME}_eeg_raw.fif \
--mri ${SUBJECTS_DIR}/${SUBJECT}/mri/T1-neuromag/sets/${SUBJECT}-trans.fif
--destdir ${FWD_DESTDIR}

echo "done"

What is the best way to share the resulting fsaverage-trans.fif file?

E-mail Dropbox anything works

@agramfort I see you're using email to comment here. In case you missed it, I have edited my last response to now just say the following:
EDIT: To answer your question, it looks like I didn't actually produce this trans, but literally just copied the fsaverage-trans.fif provided in MNE-C mne_analyze folder.

indeed ! this works fine:
import os.path as op
import mne
from mne.datasets import sample
from mne.datasets import eegbci

data_path = sample.data_path()
subjects_dir = data_path + '/subjects'
trans_fname = op.join(op.dirname(mne.__file__), "data", "fsaverage", "fsaverage-trans.fif")

raw_fname = eegbci.load_data(subject=1, runs=[6])[0]
raw = mne.io.read_raw_edf(raw_fname, preload=True, stim_channel='auto')
ch_names = [c.replace('.', '') for c in raw.ch_names]
raw.rename_channels({c_old: c_new for c_old, c_new in zip(raw.ch_names, ch_names)})

montage = mne.channels.read_montage('standard_1005', ch_names=raw.ch_names, transform=True)
raw.set_montage(montage)
mne.viz.plot_alignment(raw.info, subject='fsaverage', subjects_dir=subjects_dir,
                       trans=trans_fname, eeg="projected")

Confirmed. Thank you again for your help! I suppose this Issue can now be closed.

see https://github.com/mne-tools/mne-python/pull/6146 to follow up.
thanks @corscheid for putting my eyes on this.


no literature note found for zotero item with key XXXXXXXX

When I select "Create literature Note" in Zotero, every time I close Obsidian and then reopen it, I can access Obsidian by choosing "Open Literature Note" in Zotero, but it fails to open and displays 'no literature note found for Zotero item with key XXXXXXX.’ If I make any modifications to the note properties of the literature note in Obsidian, I can open it from Zotero again, but as soon as I exit Obsidian, it becomes ineffective once more.

I have the exact same issue - the links between the literature notes and zotero seem to break all the time.
The only way I have found to remedy the situation is to delete the file in obsidian and re-create it from zotero