Has the code of QUIC support been open sourced?

Looks like traffic server has supported quic:
https://cwiki.apache.org/confluence/display/TS/QUIC
But I didn't find the related code.

Hi, you can switch to quic-latest branch.

Thanks very much.
Can I ask some questions about the quic implementation?
1.Traffic serverSome applications are multiple threads support which share a single listening socket. If thread1 processes part of a http request using QUIC, how can we guarantee the remaining request also can be delivered to the same thread?
2.The connection ID table is global or per thread?
3.If 2 clients use same connection id, how can traffic server handle it?

1.Traffic serverSome applications are multiple threads support which share a single listening socket. If thread1 processes part of a http request using QUIC, how can we guarantee the remaining request also can be delivered to the same thread?

Every request should be bound with a thread . Searching the connections table and finding the corresponding thread when request is coming.

2.The connection ID table is global or per thread?

It is global
3.If 2 clients use same connection id, how can traffic server handle it?
Prefer to use the connection id connection ID that the server has chosen.

Thanks very much for your reply!
3.If 2 clients use same connection id, how can traffic server handle it?
Prefer to use the connection ID that the server has chosen. Also 5-tuple can help us to distinguish different clients.
If the connection migrated and 5-tuple may be changed, how does TS handle it?

spec says
To ensure that the client is
   not linkable across each of these changes, a new connection ID and
   packet number gap are needed for each network.  To support this, a
   server sends multiple NEW_CONNECTION_ID messages.  Each
   NEW_CONNECTION_ID is marked with a sequence number.  Connection IDs
   MUST be used in the order in which they are numbered.

So ats will dispatch several NEW_CONNECTION_IDs to client. Client should use one of them when connection migrated.


DO NOT MERGE - WIP Chocolatey Provider Enhancements

[x] Generate updated module bits
[x] Update metadata.json
[x] Add appveyor as a way of providing testing
[x] Update documentation
[ ] Detect version of chocolatey and adjust commands accordingly
[x] Update command for install
[x] Update commands for upgrade
[x] Update commands for uninstall
[x] Update list local
[x] Update latest?

i didn't even know you were starting this.  awesome sauce.

@rismoney I thought you commented about this the other day - must have been something else?

yea. i was commenting about the choco work.  you mentioned the provider, but i did know you started anything on it. :) woot!!!


Fix Grpcio failure

Describe your changes :

Worked on fixing Grpcio

Type of change :

[x] Bug fix
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

Bigquery Ingestion works fine with this PR. Tested.


Add support for generic InputActions to derive macros

Changes the impl block in the derive macro to allow for actions with a generic parameter:
#[derive(Debug, InputAction)]
#[input_action(dim = Bool)]
struct Fire<const INDEX: i32>;

Ah, I'm sorry, I forgot to enable repository notifications. Thanks!

Published a patch release with the fix.

All good, thank you!


chore(deps): test nitropack nightly

🔗 Linked issue

📚 Description
testing latest v2 nightly version of nitropack: https://github.com/unjs/nitro/issues/2522

[x] https://github.com/unjs/nitro/pull/2724
[x] https://github.com/unjs/nitro/pull/2725
[x] nuxt/image runtime config type error caused by nitro inferring runtimeConfig types in nitropack/types (https://github.com/unjs/nitro/pull/2306)
[x] storybook (Cannot access 'defaultCacheOptions' before initialization)Error: ReferenceError: Cannot access 'defaultCacheOptions' before initialization
❯ defineCachedEventHandler docs/.nuxt/test/yv16cd/prerender/chunks/nitro/nitro.mjs:21428:51
❯ docs/.nuxt/test/yv16cd/prerender/chunks/nitro/nitro.mjs:2001:17
❯ prerender node_modules/.pnpm/nitropack-nightly@2.10.0-28766719.d3880b9e_encoding@0.1.13_typescript@5.5.4/node_modules/nitropack-nightly/dist/core/index.mjs:1818:44

@pi0 nuxt tests all green here ✅
running ecosystem-ci: https://github.com/nuxt/ecosystem-ci/actions/runs/11516290773

/ecosystem-ci run


error-reporting: Errors not sent when providing an API key only

I ran export NODE_ENV=production
I installed express and cloud-errors.
I run the following code:

I could not see errors in the Error Reporting UI for this project.
I could successfully send manually errors to this project with this API key (by calling the API from cURL).
var express = require('express');
var app = express();
var errorHandler = require('@google/cloud-errors')({
  projectId: "<my project>",
  key: "<my api key>",
  serviceContext: {
      service: 'steren-test-node',
      version: 'test1'
  }
});

app.get(
  '/errorRoute',
  function ( req, res, next ) {
    // You can push in errors manually
    res.send("Error");
    res.end();
    next(new Error("Got traffic on the errorRoute"));
  }
);

app.get(
  '/anotherRoute',
  function ( req, res, next ) {
    // It'll even log potentially unexpected errors
    JSON.parse("{\"malformedJson\": true");
  }
)

// Just use the express plugin
app.use(errorHandler.express);

app.listen(
  3000
  , function ( ) {
    console.log('Server has been started on port 3000');
  }
);

This issue has been migrated from the cloud-errors-nodejs issue #10.

Same problem here. This is really bad, because it seems it's not even attempting to report errors (watched requests from Charles, and none was to https://clouderrorreporting.clients6.google.com/v1beta1/projects/<myproj>/services?key=....
It seems that it's validating OAuth before sending, but not being able to "check" the token, because there isn't none.

Sorry, handing it over to @ofrobots who oversees the logging-* and error-reporting.

@ivanseidel, and @steren who filed the original bug
This is fixed in error-reporting v0.2.2, please re-open this bug if you have any issues with it!


allow output to be a directory

if --output is an existing directory, generate the filename for the user and place the RPM in the specified directory.
Fixes https://github.com/cat-in-136/cargo-generate-rpm/issues/22

Thanks a lot!


Odd check pattern

Perhaps I simply misread but it looks like we might be saying continue if P ⊂ C and C ⊂ P which could be directly written as P == C?
Spotted while reading models.py in hopes of learning something.

if P ⊂ C and C ⊂ P

I'm confused. Where's this in the code?  I see one subset-check only.

if P ⊂ C and C ⊂ P

I'm confused. Where's this in the code? I see one subset-check only.

Oh now I understand. Let me think.

if P ⊂ C and C ⊂ P

I'm confused. Where's this in the code? I see one subset-check only.

Oh now I understand. Let me think.

Yes I believe you are right. I just wrote the code they way it came to me. Update the comments maybe?


Tamper Alert for Schlage door locks

First off, thank you for this amazing plugin, works stunningly. Schlage locks have a "tamper alert" feature, and is present with history on the ST app would be really nice to have (there also is a Vacation move, and alarm, and tamper sensitivity sliders but if that's too much that's too much). Thank you so much!

I'll look into it when I get a chance.

There is no way to add a tamper alert to a lock in Homebridge, unfortunately.


Value other than string

Hi there,
I'm trying to pass an API POST endpoint with the body as an async function into the value
value={this.postData()}
I keep getting an error back. Is there a way to do what I'm trying to do? I'm ultimately using the QR code to send that API request when the code is scanned.

All QR code store is a string (the value of <QRCode>). It's impossible to pass an async function to the component.
As for what you want to do, the possible ways of doing that is modifying the POST endpoint to a GET one, so that when the QR code is scanned, your endpoint will be triggered. The other should be modifying your app's scanning callback (such as onBarCodeRead in react-native-camera) to make that request when the corresponding QR code is being scanned.
I'm closing this issue cuz it seems not relevant to this library. Feel free to re-open and discuss more!


[web] Migrate framework tests running on engine to LUCI

These tests are still running on Cirrus: https://github.com/flutter/engine/blob/master/.cirrus.yml#L23
These are the last remaining bit for web engine cirrus to LUCI migration.
We are utilizing the existing drone recipe which is used by flutter.py for the engine.

The recipe changes are in, the only remaining changes are to the flutter/infra.


How to visualize stpls3d?

Hi, this is a excellent work, how can I visualize the predictions on stpls3d?

Hi,
Thank you for your interest in our work. We updated the visualization code for the stpls3d dataset in the newest commit.
Best.


Update Gradle version

LibGDX was using an outdated version of Gradle, this will update it to a new version.

@carllei Merge the PR when ready.

Probably better to merge this to dev instead, re-opening a new PR.


Incorrect harvest tool.  Certain vanilla and mod stones list "no tool" when the tools should be pickaxe.

Tested and confirmed that the stone has to be harvested with a pickaxe.  TOP does state that using OTHER tools won't work (shows X), just has the wrong NAME for the required tool.
TOP 1.1x-1.4.1
Abyssal 1.10.2-<IP_ADDRESS>
With pickaxe / Without pickaxe

then AbyssalCraft is doing something wrong and WAILA is correcting that (but I'm not as forgiving :-)

It's actually the WAILA Harvestability mod that is getting right. This modpack uses the unmaintained version of WAILA, so I'd be surprised if it had that right on its own.  I can take a look at this later in the week.

So Waila Harvestability does go an extra step if block.getHarvestTool(blockState) comes up empty... source
Using an enum of wooden tools, it compares each tool's getStrVsBlock to the tool material's getEfficiencyOnProperMaterial, and if it finds a match, it sets that as the required tool type (e.g. pickaxe for Abyssal's Darkstone)
It looks rather simple to implement, but I wanted to hear your thoughts.

Unfortunately, confirmed an issue with TOP:  Vanilla End stone has the exact same results:
http://i.imgur.com/tA8TUmS.png
http://i.imgur.com/eglBHQd.png

@McJty any thoughts on this?  I can implement the fix the way WAILA harvestability has, but wanted to get your thoughts first.

Haven't had a chance to look at it but feel free to try it

Linking #139

Fixed by pr #139 (merged).


rclpy: 3.10.0-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository rclpy to 3.10.0-1:

upstream repository: https://github.com/ros2/rclpy.git
release repository: https://github.com/ros2-gbp/rclpy-release.git
distro file: rolling/distribution.yaml
bloom version: 0.11.2
previous version for package: 3.9.0-1

rclpy
* Service introspection (#988 <https://github.com/ros2/rclpy/issues/988>)
* Contributors: Brian

Please hold for coordinated release.


Added Simulink .autosave extension

Reasons for making this change:
Simulink autosave function creates .autosave files.

@Jumbalaya any documentation links about this? I did a quick Google search but couldn't find anything interesting...

Is undocumented, but it can be tested easily by modifying an existing model on Simulink on windows: a *.autosave file is created. There are a few repositories on github that have added this extension, for example:
https://github.com/darwinop-ens/simulink/blob/master/.gitignore
https://github.com/simena86/Simulink-Underwater-Robotics-Simulator/blob/master/.gitignore

@Jumbalaya thanks!


[rust][datafusion] optimize count(*) queries on parquet sources

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-8902
Currently, as far as I can tell, when you perform a select count(*) from dataset in datafusion against a parquet dataset, the way this is implemented is by doing a scan on column 0, and counting up all of the rows (specifically I think it counts the # of rows in each batch).

However, for the specific case of just counting everythign in a parquet file, you can just read the rowcount from the footer metadata, so it's O(1) instead of O(n)

Comment from Andrew Lamb(alamb) @ 2021-04-26T12:31:08.482+0000:
Migrated to github: https://github.com/apache/arrow-rs/issues/75

This is implemented

Closed in https://github.com/apache/arrow-datafusion/pull/620


Yamaha component gets truncated XML.

Home Assistant release with the issue:
0.89.2
Last working Home Assistant release (if known):
0.89.1
Operating environment (Hass.io/Docker/Windows/etc.):
Ubuntu 18.04.2 LTS on Intel NUC
Component/platform:
Yamaha
Description of problem:
The Yamaha component attempts to download xml from http://yamaha.igo:80/YamahaRemoteControl/desc.xml (in my case) but it fails to parse due to a truncation. If I curl that URL and parse it, or if I load it in Firefox, it's valid XML and 97,037 characters in length. The log only shows the first 86,142 characters of the full XML, but this is apparently also what failed to parse, since parsing fails at character 86,139.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
media_player:
  - platform: yamaha
    host: yamaha.igo
    name: receiver
    source_names:
      HDMI1: "roku"
      HDMI2: "tivo"
      HDMI3: "chromecast"

Traceback (if applicable):
Traceback (most recent call last):
  File "/usr/lib/python3.6/xml/etree/ElementTree.py", line 1631, in close
    self.parser.Parse("", 1) # end of data
xml.parsers.expat.ExpatError: unclosed token: line 1, column 86139

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/igo/.homeassistant/deps/lib/python3.6/site-packages/rxv/rxv.py", line 115, in _discover_features
    self._desc_xml = cElementTree.fromstring(desc_xml)
  File "/home/igo/.homeassistant/deps/lib/python3.6/site-packages/defusedxml/common.py", line 118, in fromstring
    return parser.close()
  File "/usr/lib/python3.6/xml/etree/ElementTree.py", line 1633, in close
    self._raiseerror(v)
  File "/usr/lib/python3.6/xml/etree/ElementTree.py", line 1525, in _raiseerror
    raise err
  File "<string>", line None
xml.etree.ElementTree.ParseError: unclosed token: line 1, column 86139

Re-running HASS 0.89.2 did not reproduce the error. I know how hard it is to diagnose and fix intermittent bugs, so I am not hopeful that this will be resolved. It could even have been an issue on the Yamaha receiver side.

I am on 0.91.1 now, and I have intermittently seen this in all versions between 0.89.2 and 0.91.1.

I am seeing issues that seem to have started with 0.92 where 1 of my 2 Yamaha receivers isn't showing up consistently as a device.

This continues to happen intermittently. Would it be possible to catch the exception and re-try? When the bug happens, the only current remedy is to restart HASS. If the component would re-try instead, that'd be a step up.


Please release 3.1.7

Due to a regression, we can't pickup fixed under 3.1.6.  But 3.1.7-SNAPSHOT works for us

Dudes, I've done that.
2018-03-29 11:23 GMT+08:00 Andrew B<EMAIL_ADDRESS>
@kongchen https://github.com/kongchen We should release 3.1.7-SNAPSHOT
and 3.1.7
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kongchen/swagger-maven-plugin/issues/594#issuecomment-377108738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABar6O_H8KS9y4nn4hG97AlA8-UR-IUrks5tjFOfgaJpZM4SkslM
.

--
Regards,
Kong

Sorry @kongchen , I hadn't realized that I was commenting on an older ticket. Thanks for releasing!


Remove python version upper bound

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Remove python version upper bound.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

Thanks, Brendt!


fix Check query status when iterating through rowsets and segments #41363

cherry pick from #41363

run buildall

already merged


Fixes "AttributeError: module 'xmanager.cloud.vertex' has no attribute 'client'"

Hi Geoffrey,
Unfortunately we are not accepting pull requests at the moment (https://github.com/deepmind/xmanager/blob/main/CONTRIBUTING.md), but I think the changes you're proposing are already in 🙂


arrow trails are not showing up when this mod is loaded

yeah so idk why youd wanna put show projectile trails to false in the config of a sound mod but whatever smd i fixed it <3.

Hmm, this is the problem, projectile trails must be enabled by default
Will be fixed in next version


Generate Timing Models

Add function to generate lib files based on OpenSTA's new write_timing_model command
Implement lib saving for both single and multi-corner STA
Add multi-corner SDF saving
~ Arrange RCX extraction and STA outputs under folders

Resolves #171

@donn it is essential that the end users know that they must perform model QA on this model as compared to the netlist before they trust it. If the netlist from which the model was generated is poorly buffered the model will not be accurate.

@tspyrou Agreed- what do you believe would be a good place for this information?


Create a wrapper function for aux and node

that calls them both. Would hopefully be an easier way for people to learn node

implemented in the development branch


License?

What license is this code under?

The code is under MIT license, I've just uploaded LICENSE file to make it clear.


Make database URL tests work in parallel.

There was a collision on the name of the environment variable "foo"
between two tests. One would set it (extract_database_url_returns_env_vars) and other (extract_database_url_errors_if_env_var_is_unset) would unset it.
As Cargo runs tests in parallel this would lead to this set of test
having intermittent failures.
Changed the names of the environment variables used in the tests to make
them unique between tests, hence able to run in parallel.
Should close #475

These were the only vars used in tests for that file. Haven't search for all vars in all tests though, maybe worth making a separate issue to do just that  - not sure here.

Thanks again for doing this!
(And so quickly! When I say "I'll look into it on the weekend" I always end up doing it two weeks later…)

Thanks ! Same here, I just had a bit of unexpected "can't go to work today" time, so why not spend it pushing a PR ? :D


Can anyone help me installing the dependencies?

I was installing the dependencies of this project by following the instructions given here. But seems like my laptop has hang there. Can anyone tell me what could be the problem here?

Hi Rahul,
Sometimes gatsby starter site does not open in your default browser automatically. I think there is no problem with your installation. Try copy pasting the link and it should work fine.
Happy Coding!!
Satya


add message of the day from the mySQL database OR hardcode it and add more in future releases.

this will be closed along the saying that the database has been canceled.


interaction manifest updates

Codecov Report

Merging #684 into master will increase coverage by 0.01%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master     #684      +/-   ##
==========================================
+ Coverage   80.95%   80.96%   +0.01%
==========================================
  Files         116      116
  Lines        4000     4019      +19
  Branches       95       94       -1
==========================================
+ Hits         3238     3254      +16
- Misses        762      765       +3

Impacted Files
Coverage Δ

.../bakery/interaction/RemoteInteractionService.scala
78.57% <33.33%> (-13.10%)
:arrow_down:

...controller/controllers/InteractionController.scala
88.96% <100.00%> (+1.55%)
:arrow_up:

...g/bakery/interaction/RemoteInteractionClient.scala
100.00% <100.00%> (ø)

...com/ing/bakery/protocol/InteractionExecution.scala
100.00% <100.00%> (ø)

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 c75d163...daba300. Read the comment docs.


[1.18.2] New tools for vanilla materials not there?

Sorry, I just couldn't find any info on this.
The mod page says there's new tools for vanilla materials (gold, iron, diamond, etc), but none of them show up, only the other materials (emerald, obsidian, etc).
Is this something that has to be enabled in the config? If so, I couldn't figure out how.
Or is this something only available for 1.19+?
Thanks in advance, and sorry for the silly question.

Sorry, those  were added in 1.19.x

Ah, thank you ^^


python version

Hello,
I am having issues with ZSH and python version.  when i search in bash python version it comes back with: Python 3.6.3 :: Anaconda custom (64-bit)
once i switch to zsh it comes back with python 2.7
here are my parameter with in ZSH
  1 # If you come from bash you might have to change your $PATH.
  2 # export PATH=$HOME/bin:/usr/local/bin:$PATH
  3
  4 # Path to your oh-my-zsh installation.
  5 export ZSH=/Users/tomasespina/.oh-my-zsh
  6
  7 # Set name of the theme to load. Optionally, if you set this to "random"
  8 # it'll load a random theme each time that oh-my-zsh is loaded.
  9 # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
 10 ZSH_THEME="robbyrussell"
 11
 12 # Set list of themes to load
 13 # Setting this variable when ZSH_THEME=random
 14 # cause zsh load theme from this variable instead of
 15 # looking in ~/.oh-my-zsh/themes/
 16 # An empty array have no effect
 17 # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
 18
 19 # Uncomment the following line to use case-sensitive completion.
 20 # CASE_SENSITIVE="true"
 21
 22 # Uncomment the following line to use hyphen-insensitive completion.  Follow the instructions in the documentation.
but when i first installed it, python v was coming as 3.6 .
Thanks for the help

Your $PATH is probably different. See what your PATH is in bash (run echo $PATH) and set it accordingly in zsh (you can modify the first line of your zshrc file):
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH


Add STM32 to platforms

Close #9

@bettio I opened this as a WIP so you can start to have a look, what I think is missing is:

[ ] - Implement the two functions that are still stubbed
[ ] - Enrich the README with full instructions to run the hello world example

And probably

[ ] - Implement a GPIO driver so I can flash a LED

But this last one could probably go in a separate PR if needed.
Let me know if you see anything else that is missing.

@bettio the MR should be GTG after review, the only thing missing is sys_platform_periodic_tasks but I would implement it in a separate MR when I handle GPIO input


[feat]: voice to prompt using browser api

merge to voice-prompt
added voice to prompt feature.

I have used the browser api does the work simple and effective the focus should be more on enhancing the tools rather than skipping some keystrokes but none the less added two hooks using browser speech recognizer api

Read #275 and #281.
There is already an implementation, and we plan on enhancing it right away it's merged.

I will close this as duplicate
@zaberazaber thanks for your efforts but do check previous PRs and their state.
May be your PR has something to add to voice input is now in main.
If so create new PR with just those changes.


Enabling scapegoat

Enabling Scapegoat static analysis tool as something you can optionally run with scapegoat in sbt

The only failure I see is due to #113 in Scala 2.13


Force recreation of existing files

I am having trouble with managing configuration files for a program (Syncthing) that forcefully deletes and recreates configuration files instead of updating them in-place, thus breaking the symbolic link to the nix store. When regenerating the environment, home-manager (rightfully) complains about conflicting files.
Is there a way of forcefully recreating these files? I know that this is sub-optimal, and I am open to alternative solutions.

I would in such a case make an custom activation block to force copy or link the files into place. I.e., adding something like
home.activation.copyMyFiles = config.lib.dag.entryAfter ["writeBoundary"] ''
  install -D ${./path/to/my/file} $HOME/where/i/want/it
'';

to your configuration.

@Kipari Did this fix your issue?

What you posted solves my problem, but I'd prefer to have something to add to the Synthing-derivation itself; I'm trying to extend it to generate config files, which it currently does not. Is there anything like this, that can be added to the derivation itself, or should the derivation just generate the config file to some auxillary path, from which users can use install to copy the file? (That seems a bit sub-optimal)
(Sorry for not responding earlier!)


"Distinct Group" option

For most of imports it's actually ideal for them to be bunched together. However there are a few cases where you want to split them apart for clarity. It would be nice if there was an option that essentially said:
"Any import types specified in this list should have a newline before them if there is another different group before them and a newline after if there is another different group after. No newline before if it's the first group. No newline after if it's the last group."
eg.
"typescript.extension.sortImports.distinctGroups": [
  "package"
]

If it's not on the list then obviously they just get bunched togheter.
I would also add, just to re-emphasize, making everything be a distinct group all the time (ie. not having the option to select which have this rule) is bad and undesirable.

Not sure if related, but it would be nice to create blocks in such a way that the most common imports (i.e React por react apps) could be sorted as the first set of imports regardless of the selected pattern.
Say you have 20 imports, you may want to sort them by path alphabetically, but it doesn't make sense to have React or any core dependency jumping positions from file to file. I much rather have it always at the top and then have the rest sorted.

With the release of Typescript 2.8 over a year ago, the ability to organize imports comes bundled with Typescript, in a better implementation than this one made for a hack week. As such, I have no further plans to maintain this project.
If for whatever reason you would like to take ownership of this repository, please let me know.


Added car-control functionality to the website

Added functionalities to the admin page so that the car's direction ( moving forward, backward etc) can be controlled through the website.
:ballot_box_with_check: Definition of Done checklist

[x] Meaningful title and valuable description in pull request
[x] Code change tested manually if not covered by automated tests
[x] Pull request linked to one or more issues/stories
[x] Acceptance criteria of the linked stories satisfied
[x] Code change comprehended by those who approved it
[x] State of target branch maintained or improved after the code change

@LabibaKararEshaba
The reason for the Megalinter test failing is that we have two css files with code that are "duplicated", a way to fix this is:
Option 1. remove on of them, and then leave one and use it for the styling of all the html documents. (recommended solution not sure if it will work.)
Option 2 . We could try to separate the css files by putting them in different directories. (Would not recommend doing this tho since we will still have duplicate code)
/ Carl DT


I can't reference any 3rd Part Node.js modules in preload pkg.

Like this, I declare such a global method in preload pkg, but it gives me this error.

It is the first time for me to use electron with Vitejs. I had read many docs and consulted many materials, but I still can't solve this problem. So is this problem related to this template? Or some other common problem? Ask for help 🙏 @cawa-93

First things first read https://github.com/cawa-93/vite-electron-builder#working-with-dependencies. If you did everything according to the documentation, share your demo and I will try to check it ASAP.

@cawa-93
git clone https://github.com/dohooo/vite-electron-builder-reproduce.git
cd vite-electron-builder-reproduce
yarn
yarn watch

Then you will see this error. But I'm not sure it's just the MAC M1

But it doesn't always work. Vite was designed to work with browser-oriented packages. So it is not able to bundle Node built-in modules, or native dependencies, or some Node.js specific packages, or Electron itself.
Modules that Vite is unable to bundle are forced to be supplied as external in vite.config.js. External modules are not optimized and their imports remain during runtime.

THX! I fixed it!

First things first read https://github.com/cawa-93/vite-electron-builder#working-with-dependencies. If you did everything according to the documentation, share your demo and I will try to check it ASAP.

Sorry, I was so careless

Sorry, I found that the module can be introduced normally, but there is still a problem with hot update, so I tried to start from scratch with your template, and found that there is still a problem.

Reproduce steps:

git clone [THIS_TEMPLATE]
yarn add usb ( I didn't try any of the other modules, although I felt the problems were roughly the same )
yarn watch ( The error will come out (may need to be MAC M1 as well) )

I did the following configuration:

packages/preload/vite.config.js

But it still tells me the error above, And the Sourcemap browser tries to find a strange location.
I've been trying to solve this problem for a long time, but I still can't 🙏 @cawa-93

I was unable to reproduce your problem on Windows.
// preload/src/index,ts
import {usb} from 'usb'; // Note named import

contextBridge.exposeInMainWorld('getDeviceList', () => usb.getDeviceList());

// preload/vite.config.js
    rollupOptions: {
      external: [
+       'usb',
        'electron',
        ...builtinModules.flatMap(p => [p, `node:${p}`]),
      ],
      output: {
        entryFileNames: '[name].cjs',
      },
    },

I was unable to reproduce your problem on Windows.
// preload/src/index,ts
import {usb} from 'usb'; // Note named import

contextBridge.exposeInMainWorld('getDeviceList', () => usb.getDeviceList());

// preload/vite.config.js
   rollupOptions: {
     external: [
+       'usb',
       'electron',
       ...builtinModules.flatMap(p => [p, `node:${p}`]),
     ],
     output: {
       entryFileNames: '[name].cjs',
     },
   },

Let me try it

After making the same changes as you did, the problem remains

When I remove it, everything goes back to normal

What is your output? I got
var usb = require("usb");
electron.contextBridge.exposeInMainWorld("getDeviceList", () => usb.usb.getDeviceList());

If you have the same, then the problem is somewhere else. Maybe the usb package does not have native module for macos m1 or something

I got the same, Do you have any other suggestions

However, I can execute the USB package on my M1 directly through the node command，why

I found this https://github.com/node-usb/node-usb-example-electron/issues/1

Is't work if you downgrade electron version <15.0?

I downgrade electron version from 16.x to 14.x it works. I decided to leave it at that, thank you for your help and thanks again to this great lib.
By the way, the preload part written nodejs logic, and then through the packages/preload/index. The ts export is standard practice for?

It's exactly what he said https://github.com/node-usb/node-usb-example-electron/issues/1#issuecomment-1013063461

By the way, for the current default 16.0.7 electron version, M1 cannot be downloaded to the corresponding module, I don't know why, but it will prompt 404.
M1 is fast, but everything else is trouble

Maybe you can add a reminder for M1 users in readme. I have encountered a lot of trouble from MBP M1 in the last two days

It's working fine now, but do you know what this Sourcemap warning is about?

Maybe you can add a reminder for M1 users in readme. I have encountered a lot of trouble from MBP M1 in the last two days

No. It's not template-specific issue but platform-specific. I would like to keep the documentation minimal and focused on things that are specific to the template. In addition, I do not have mac, so I will not be able to track the urgency of this problem. You should ping upstream developers for m1 support


Update UserGuide.md

Remove new line at EOF in UserGuide.md

Codecov Report

Merging #21 (8f27118) into master (4d844b4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #21   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 4d844b4...8f27118. Read the comment docs.


Document Differences From official Kubernetes Dashboard

Thanks for contributing this project to the community!  As a newcomer to k8s, my initial first question was: "how is this different from the official kubernetes dashboard?"  (https://github.com/kubernetes/dashboard) - Might it be possible to include a brief blurb in the README calling out the similarities/differences?

I think the kubernetes dashboard is deprecated because it uses heapster?

(I'm not closing it because we should get this in a FAQ.md)
How does Octant differ from the Kubernetes dashboard?

Octant does not run in your cluster (by default). It runs locally on your workstation and uses your kubeconfig files
Octant has a resource viewer which contains a DAG that can link related objects
Octant supports CRDs
The dashboard functionality of Octant isn't the #1 priority. The tool was created to help give users of Kubernetes more information in an easier fashion than kubectl [get|describe]
Octant can be extended with plugins
Octant is currently being developed
Octant is based on newer web technologies. The Kubernetes dashboard is based on AngularJS that has been superseded by Angular.

Resolved as per PR #314 , details are now in docs/FAQ.md


Create calendar_lang.php

Thank you for doing all the translations. Appreciate your help. I have reviewed and approve all of them.

Thank you for doing all the translations. Appreciate your help. I have reviewed and approve all of them.

Thanks You


support oidc v2

Desired Outcome

Support added for OIDC authenticator for Conjur CLI and UI
Readme updated

Implemented Changes
Describe how the desired outcome above has been achieved with this PR. In
particular, consider:

Support added for OIDC authenticator for Conjur CLI and UI
Readme updated

Connected Issue/Story
Resolves #[relevant GitHub issue(s), e.g. 76]
CyberArk internal issue ID: [insert issue ID]
Definition of Done
At least 1 todo must be completed in the sections below for the PR to be
merged.
Changelog

[x] The CHANGELOG has been updated, or
[ ] This PR does not include user-facing changes and doesn't require a
CHANGELOG update

Test coverage

[ ] This PR includes new unit and integration tests to go with the code
changes, or
[ ] The changes in this PR do not require tests

Documentation

[x] Docs (e.g. READMEs) were updated in this PR
[ ] A follow-up issue to update official docs has been filed here: [insert issue ID]
[ ] This PR does not require updating any documentation

Behavior

[ ] This PR changes product behavior and has been reviewed by a PO, or
[ ] These changes are part of a larger initiative that will be reviewed later, or
[ ] No behavior was changed with this PR

Security

[ ] Security architect has reviewed the changes in this PR,
[ ] These changes are part of a larger initiative with a separate security review, or
[ ] There are no security aspects to these changes

I'm reviewing this week, but please also look at the CodeClimate issues.


undefined: "github.com/pkg/errors for<EMAIL_ADDRESS>

Win 10 20H2 x64
Go 1.15
go: downloading github.com/docker/docker v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible
# github.com/containerd/containerd/errdefs
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:54:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:59:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:65:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:71:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:76:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:81:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:86:9: undefined: "github.com/pkg/errors".Is
C:\GoPath\pkg\mod\github.com\containerd\containerd@v1.4.1\errdefs\errors.go:92:9: undefined: "github.com/pkg/errors".Is

I believe go: downloading github.com/docker/docker v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible is the output from Go, not the input you typed.
What was the command you've tried here? go get ...?

I got same error when I import github.com/moby/moby/client by go get<EMAIL_ADDRESS>(which seems be redirected to v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible) and go build in my go-modules enabled project.
Go-modules seems fetching<EMAIL_ADDRESS>for<EMAIL_ADDRESS>for some reason.
Adding
replace github.com/pkg/errors v0.8.1 => github.com/pkg/errors v0.9.1

to go.mod works around the problem in my case.
(It would be happy if moby and containerd will support go-modules.)

I got same error when I import github.com/moby/moby/client by go get<EMAIL_ADDRESS>(which seems be redirected to v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible)

Make sure to use github.com/docker/docker, which is the name of the package (the github repository was renamed, but it should still be imported as docker/docker)
I suspect go get is pulling in some dependency that does have a go.mod, and that specifies pkg/errors v0.8.1 as (minimal) version. Given that containerd and moby itself use vendoring and a vendor.conf file (no go.mod yet), go modules likely has no "reference" to select specific versions, so instead you may have to manually set versions of dependencies to match https://github.com/moby/moby/blob/v19.03.13/vendor.conf (and/or https://github.com/containerd/containerd/blob/v1.4.3/vendor.conf)


feat: global state lock, async leveldb, etc.

   I normally keep PRs as small/focused as I can.
I started a branch while working on twenty_first storage in order to test those changes in neptune.   As I iterated on storage that led to the AtomicRw lock in twenty-first, which led to tokio AtomicRw in neptune.  At first I was replacing and refactoring (encapsulating) the existing locks and I wanted to be able to log/trace their activity, so I added a facility for that.   As I dug deeper I found that we still couldn't really guarantee concurrent write serialization at the highest level ie across Blockchain, Mempool, Wallet state.  So I experimented with a lock around GlobalState, and it appears to work well and also simplify code in the other State types as well.  Most other changes were sort of incidental along the way, as I was deep into refactoring.
Here are the high level changes:

create GlobalStateLock and use it for all state locking.
remove other locks (except those in storage layer, still a todo)
add tokio AtomicRw and AtomicMutex async lock types.
trace (log) all lock events (TryAcquire, Acquire, Release)
use tokio Builder when spawning tasks to provide a task name for tracing.
add RustyLevelDbAsync async-friendly DB wrapper
simplify LightState, now just a type alias for Block
add enum BlockChainState to distinguish Archival vs Light mode
use twenty_first storage iterators where appropriate
improve some doc-comments, cargo doc runs without warnings
general cleanups and refactors
log timestamp of each mined block, converted to localtime
display date fields using user's localtime in neptune-dashboard

Many of these changes are inter-related.  However, if requested I could pull out some things into smaller, easier to review PRs.
The GlobalState lock is the most significant architectural change and so may need the most justification.  Here's a comment from the code that describes and makes a case for it:
`GlobalStateLock` holds a [`tokio::AtomicRw`] ([`RwLock`]) over [`GlobalState`].

Conceptually** all reads and writes of application state
require acuiring this lock.

Having a single lock is useful for a few reasons:
 1. Enables write serialization over all application state.
    (blockchain, mempool, wallet, global flags)
 2. Readers see a consistent view of data.
 3. makes it easy to reason about locking.
 4. simplifies the codebase.

The primary drawback is that long write operations can
block readers.  As such, every effort should be made to keep
write operations as short as possible, though
correctness/atomicity have first priority.

Using an `RwLock` is beneficial for concurrency vs using a `Mutex`.
Readers do not block eachother.  Only a writer blocks readers.
See [`RwLock`](std::sync::RwLock) docs for details.

** At the present time, storage types in twenty_first::storage
implement their own locking, which means they can be mutated
without acquiring the `GlobalStateLock`.  This may change in
the future.

Usage conventions:

// property naming:
struct Foo {
    global_state_lock: GlobalStateLock
}

// read guard naming:
let global_state = foo.global_state_lock.lock_guard().await;

// write guard naming:
let global_state_mut = foo.global_state_lock.lock_guard_mut().await;

These conventions make it easy to distinguish read access from write
access when reading and reviewing code.

When using a read-guard or write-guard, always drop it as soon as possible.
Failure to do so can result in poor concurrency or deadlock.

Deadlocks are generally not hard to track down.  Lock events are traced.
The app log records each `TryAcquire`, `Acquire` and `Release` event
when run with `RUST_LOG='info,neptune_core=trace'`.

If a deadlock has occurred, the log will end with a `TryAcquire` event
(read or write) and just scroll up to find the previous `Acquire` for
write event to see which thread is holding the lock.

So yeah I think the GlobalStateLock is a good change.  If nothing else, it makes a lot of code easier to read/maintain without all the interior locks.   But if others don't agree, I am willing to do some more work to inform and hopefully justify it, such as creating/running some perf benchmarks... (though that would take time that could be spent on other things).     Alternatively, some of the other changes could be split out into separate PRs.   I also have some older code from the branch that encapsulates existing locks rather than using GlobalStateLock.
Notes:

I have squashed the 70+ original commits since early December into a single commit because rebasing all of those onto present tip would have taken ages.
I had some twenty-first dep difficulties:

This relies on some twenty-first changes made after 0.36.0.   So there is a Cargo.toml patch section.   The patches are in branch 0_36_backports in twenty-first repo.
I couldn't just use twenty-first master because it appears to contain some changes that are incompatible with triton-vm and/or tasm.
triton-vm now exports twenty_first (yay!) but tasm does not yet export triton-vm.   If/when that happens, we could/should change all use statements in neptune-core, and that would enable mixed versions of twenty-first for times like this.    But for now the 0_36_backports branch is a workaround.
If twenty-first::storage and twenty-first::sync were in their own crates, that would have solved this issue also.  Perhaps eventually.

Testing:

ran two nodes on local subnet overnight, each starting with no wallet or blockchain, connected only to eachother, with dashboard running.   Both found blocks and reported no significant errors.
synced with alphanet-v5 peers.
passes all unit tests and doc tests
cargo doc generates docs without warnings.
fmt and cargo are clean, including tests

I just pushed a fix for the prune_abandoned_monitored_utxos() issue discovered in testing.
Here are my notes about the investigation.
debug_prune_abandoned.txt

Regarding that commit 9b9ff2c that solves the deadlock issue in prune_abandoned_monitored_utxos, I found this comment to be helpful:

I see the issue. You shouldn’t be using futures::executor alongside with Tokio as neither executor (Tokio or futures) are aware of one another, which explains the blocking behavior you’re seeing.

I’ll also note that #[tokio::main] expands into tokio::Runtime::block_on, which means this code has two nested block_ons.
Good job solving this problem! It's been a thorn side for quite a while.

I can get my node running this version to crash like so:
...

I reset the node, with prunable UTXOs, and could not reproduce the problem. This is likely due to a corrupted database, and I'm not sure we should pursue this further for now.

LGTM


iCloud3_Device object has no attribute 'interval_secs' Prerelease 1.4

After updating to Prerelease 1.4 the followig error pops up:
Logger: icloud3
Source: custom_components/icloud3/support/determine_interval.py:680
Integration: iCloud3 v3 (documentation, issues)
First occurred: 15:32:00 (54 occurrences)
Last logged: 15:36:20
'iCloud3_Device' object has no attribute 'interval_secs'
Traceback (most recent call last):
File "/config/custom_components/icloud3/support/determine_interval.py", line 680, in determine_interval_after_error
threshold_msg = ''  if interval_secs == Device.interval_secs
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'iCloud3_Device' object has no attribute 'interval_secs'

Fixed. Will be in pr1.5


Data file text updates

First update to get consistency with Display and Service names in same files and across files.

I'm converting to draft because I want to get more consistency in Display Name and Service Name across old and new.

FYI I had to fix some spring links in https://github.com/Azure/azure-sdk/pull/1979 so you will need to pull those changes directly.

@weshaggard - Could you do a PR to this PR that includes the changes to take the new "New" field into account?
Client = "New = true, Type = client"
Mgmt = "New = true, Type = mgmt"
All = "No New or Type filter"


Some container stats are n/a but docker stats has data

Docker stats shows:

However rancher shows the container as n/a for stats in the hosts view:

If I click through to the container, we can see the stats ok:

Rancher versions:
rancher/server: 1.6.10
Docker version: (docker version,docker info preferred)
17.03.0-ce
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
AWS
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
Does not occur with all container services, but usually most.

I'm seeing the same thing using docker 17.06.2-ce with the default kubernetes template

Thanks for your report!
With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.
If you think we should keep this issue open, please let me know.


TPLink Tapo sluggish, unresponsive and not working

Describe The Bug
Hi,
I am experiencing a couple of issues which I do not know if they are related or not.

When I start the "Home" app all the Tapo bulbs and LEDs in my home says "Updating..." for about 20-25 seconds..
When "Updating..." is finally done a good number (about 25-75%) of the Tapo devices says "No response". This appears to be more or less random as a device may work one minute and the next time I load the Tapo app it will not work. All the devices work 100% in the official Tapo app so it is not a connectivity or network issue. All Tapo devices have static/reserved IP addresses in the router to make sure the IP addresses never change.
I get very strange logs from the Tapo plugin in Homebridge and it uses quite a lot of CPU power as well.

Expected behavior
It should work at not be 50/50 whether the lights will turn on or not in HomeKit.
Logs
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
Plugin Config
{
"bridge": {
"name": "Homebridge 4348",
"username": "XXX",
"port": 51080,
"pin": "XXX",
"advertiser": "avahi"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"platform": "config"
},
{
"options": {
"email": "XXX,
"password": "XXX"
},
"name": "Dreo Platform",
"platform": "DreoPlatform",
"_bridge": {
"username": "XXX",
"port": 32227
}
},
{
"addresses": [
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>"
],
"name": "Homebridge TPLink Tapo",
"email": "XXX,
"password": "XXX",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "XXX",
"port": 59970
}
},
{
"name": "TplinkSmarthome ",
"addCustomCharacteristics": true,
"deviceTypes": [
"plug",
"bulb"
],
"platform": "TplinkSmarthome",
"_bridge": {
"username": "XXX",
"port": 55003
}
},
{
"name": "Levoit Air Purifiers",
"email": "XXX,
"password": "XXX",
"experimentalFeatures": [
"DeviceDisplay"
],
"platform": "LevoitAirPurifiers",
"_bridge": {
"username": "XXX",
"port": 59963
}
}
],
"disabledPlugins": []
}
Plugin Version
homebridge-tp-link-tapo v4.0.0
Homebridge Version
1.6.1
Node.js Version
18.18.2
NPM Version
10.2.1
Operating System
Ubuntu 22.04.3 LTS

Would appreciate any feedback and help on getting this resolved as it is now I cannot rely on HomeKit for Tapo devices. It is totally unreliable.
Thanks!

What devices do you have? Usually the high cpu should be if you have a Hub cause it has to check for updates

Now I got this message in the log as well:. The IP address it is referring to is a L530 build.
[10/23/2023, 2:53:51 PM] [Homebridge TPLink Tapo] Error sending command: deviceInfo AxiosError: read ETIMEDOUT
at Function.AxiosError.from (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:593:25)
at RedirectableRequest.emit (node:events:517:28)
at ClientRequest.eventHandlers. (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:517:28)
at Socket.socketErrorListener (node:_http_client:501:9)
at Socket.emit (node:events:517:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
syscall: 'read',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: 'http',
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
validateStatus: [Function: validateStatus],
headers: Object [AxiosHeaders] {
Accept: '/',
'Content-Type': 'application/octet-stream',
Host: '<IP_ADDRESS>',
Cookie: 'TP_SESSIONID=78A71F1AE758951F9897901AD7A81518',
'User-Agent': 'axios/1.5.0',
'Content-Length': '80',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
responseType: 'arraybuffer',
params: { seq: '-1806665351' },
httpAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 80,
protocol: 'http:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype],
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
[Symbol(kCapture)]: false
},
method: 'post',
url: 'http://<IP_ADDRESS>/app/request',
data: <Buffer 8e 92 f3 ee 02 ea f1 bf 4c 13 c0 34 ce 88 c9 ca a9 8e ba 32 83 80 cd da 0a a6 d4 6f de db cb a2 86 0e 5d bd 39 ee 66 01 28 54 fa b4 1f e5 f3 9b 84 4e ... 30 more bytes>
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app/request?seq=-1806665351',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
family: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '<IP_ADDRESS>',
port: '',
agent: [Agent],
nativeProtocols: [Object],
pathname: '/app/request',
search: '?seq=-1806665351'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 80,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '80',
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app/request?seq=-1806665351 HTTP/1.1\r\n' +
'Accept: /\r\n' +
'Content-Type: application/octet-stream\r\n' +
'Host: <IP_ADDRESS>\r\n' +
'Cookie: TP_SESSIONID=78A71F1AE758951F9897901AD7A81518\r\n' +
'User-Agent: axios/1.5.0\r\n' +
'Content-Length: 80\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/app/request?seq=-1806665351',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '<IP_ADDRESS>',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://<IP_ADDRESS>/app/request?seq=-1806665351',
[Symbol(kCapture)]: false
},
cause: Error: read ETIMEDOUT
at TCP.onStreamRead (node:internal/stream_base_commons:217:20) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'read'
}
}

Getting the same issue with a bunch of L360 spotlight bulbs

Do your routers have IPMG V3 ? if yes, disabled it

I don't think my router has that? How can I tell?

I'm having the same issue with L630 light bulbs and HB. Anyone found a solution to this yet? The error log states:
'This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.'

I get a similar problem if my lightbulb is switched off at the wall. A restart of the homebridge solves it.

I've also found that restarting Homebridge helps. I currently have a crontab job restarting Homebridge every 8 hours and it seems to have mitigated a lot of the issues I was experiencing.


SOLR-15438: Simplify SolrDispatchFilter.destroy

and JettySolrRunner.stop.
CoreContainer.shutdown should no-op if already shut down.
Don't null out things; not needed.
closeOnDestroy not needed
Use FilterHolder.stop; simplifies our logic.
Remove unused ThreadPool.
https://issues.apache.org/jira/browse/SOLR-15438
Tests passed.
My original scope was to remove the cores==null checks in SDF as well because I assumed it was only for the shutdown scenario but it's actually also there for initialization, which shocked me because I assumed init() must complete before doFilter is called.  Mikhail in SOLR-10615 discovered the contrary; I'm still in disbelief but I'll not pursue that further right now.

@gus-asf you may be interested in this fairly recent PR.  It kinda stalled; I'm not sure how to reconcile some of Mark's feedback.  Actually I responded to him so maybe it's in his court.

Closing as mostly duplicated from my #2474 today and Gus's #416


Simon Game

Aim

To create Simon Game in html,css and js

Details

The user can play Simon Game on this website.
Basically it will have 4 boxes of different colors.
As the Game starts the boxes will start blinking and the player has to keep in mind which color blinked.
The player has to click on that box only and he will get a point .

Assign me this issue under hssoc


runserver is confusing

This isn't particularly a bug but I found it confusing to use runserver and a bit foreign for typical aiohttp apps.
First of all, it seems standard to expose aiohttp.web.Application instance as "app" instead of creating a factory (a practice came from flask, I suppose). Application has call method for compatibility but it doesn't accept any other arguments so it doesn't work with create_main_app() which tries to pass loop to the factory.
Ok, let's assume I made a factory that accepts loop parameter, I'm trying to run it, aaaand stuff breaks because you explicitly create a loop https://github.com/samuelcolvin/aiohttp-devtools/blob/c06eb95d052200b2f3a2d93ca55470048e9d7a20/aiohttp_devtools/runserver/serve.py#L72
Why not use default loop (or at least set it)? some functions like asyncio.ensure_task relies on it.
Thanks!

Have you written unit tests yet?
aiohttp-devtools assumes a function which takes loop as an argument so you can easily write tests that use that function. All the test fixture stuff for pytest (much the easiest way of writing tests for aiohttp code) creates a new event loop for every test (or at least every async def test, which accounts for 99% of aiohttp application tests) and explicitly removes the default loop so you're forced to use the loop which is created for the test and pass a reference to that loop around.
That said, it wouldn't be too hard (as far as i can see right now with a stinking hangover) to modify runserver to accept an app instance instead of a method, however I would still recommend using a function with signature def create_app(loop): -> app to make testing easier.

Should be fixed in #36, @szastupov please review and let me know if you think that's easier.
Looking back on this I think part of the reason app_factory had to be a method with that signature was to make testing aiohttp-devtools easier which is clearly the tail wagging the dog.

Yeah, works as expected 👍 Thanks a lot 🙏

new version 0.2 deployed with the fix.


Mana circles should deduct materials

Currently mana circles don't check or deduct any materials. The mechanism by which the materials are calculated seems unclear, with several masterasset tables possibly involved:

ManaMaterial

Appears to be a listing of orbs/scales for each element

ManaPieceElement

Potentially references quantities of items from ManaMaterial

ManaPieceMaterial

Potentially contains 'nonstandard' materials for particular circles

fixed by #284


Feature: Allow styling when selection is collapsed

In all other text editors you can set the font size,color, etc when the selection is collapsed and when you type the styles get applied.
https://user-images.githubusercontent.com/69976884/217268463-91391d32-0f61-4b4c-ad35-eb440179b543.mov

Hey i am new here and want to contribute,my skills is all basic concepts of react and good knowledge of javascript,
What skills you need to contribute in good first issue?

I would like to fix this issue can someone assign this to me?

hey can someone assign me this

Fixed by #3863


std.format: give a proper message when a floating point value is not given a compatible format character

Currently when a floating point argument to format is not provided a compatible format character i.e. one of fgFGaAeEs, then it throws an exception whose message is just "floating", which is vague, to say the least. I have made it now give a meaningful message.
I'm not sure why this can't be detected at compile time, though, since I seem to remember Clang warning me of incompatible specifiers in case of C fprintf... Even dmd -wi doesn't give any warning.

LGTM.
Format specifier validation by C compilers is a hack. The language itself has no provision for such checks; the compiler merely hard-codes format checking and either assumes anything named printf uses that syntax, or has vendor-specific attributes for triggering that check. If your function takes formats with a different syntax, you're out of luck and the compiler can't help you.
As for D, compile-time format string checking is in the works, so it will happen one day. We're just not quite there yet.

Auto-merge toggled on


Need a place to store test files.

Test files (*.nc) are too large to be stored in GitHub.   We need a place to store example (test) files:

EPA file,
CAMS file,
CMIP file,
FINN file
test Grid Files:
MPAS
CAM-SE-RR
And lastly the expected output from those tests
EPA_MPAS
-...

This group (@lkemmons and @tilmes  ) seems uninterested in having a test suite.  They plan to move to the online-regridding tools. Thanks for setting this up @dattilo.  But it seems as if we are not going to use this space.


NoValueOfOnStringType removes necessary call to String#valueOf in string concatenation

Discovered on OpenCyclos

@murdos I've put a test reproducing it in https://github.com/openrewrite/rewrite/commit/80198bb979b82fb964625bbcc0367660b27f5bf0 -- we'll fix this up. Thanks for going to the trouble of reporting it, good catch 👍

@murdos this should be fixed up in latest snapshot, I've tested this against OpenCyclos; this should be fixed up. @-me or feel free to open up other issues if something else does not look right. But in any case, this should be good to go.
Thanks again for logging this, I/we genuinely appreciate it 👍


Confused about classic mode

I inherited an Azure Devops pipeline in classic mode.  If I go to the Variables tab and type in some variables, how do I access these in classic mode?  Is it $(Parameters.NameOfParameter) or is it just $(NameOfParameter) or neither?  What do I do about the "Scope" in the Release part of the pipeline?  I have the same task to deploy several different host bindings to IIS, and I would like to scope a $(Host) variable to each task.  Is it $(Parameters.Host)?  Is it $(Parameters.Scope.Host) or some such thing?  I tried setting it up as a variable for an IIS binding, and it deployed literally as "http:\$(Parameters.Host)" into IIS.  Would love more documentation about the Variables tab in classic mode, complete with some pictures.

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

ID: 9ffebdc8-521c-44b5-cde4-4abdc1bd6f18
Version Independent ID: dc0effda-6d93-62aa-64c5-4e6f283b0826
Content: Predefined variables - Azure Pipelines
Content Source: docs/pipelines/build/variables.md
Product: devops
Technology: devops-cicd-build
GitHub Login: @juliakm
Microsoft Alias: jukullam

@unionthugface I apologize for the delay in responding. There is more information on using classic variables in the Classic release and artifacts variables article.


Can not set values using references for dictionaries with value type of Action/Func.

The anonymous lambda function for the key 0 in the ActionMap can be invoked as expected. However the action at key 1, which is passed as a references, can not be invoked. It looks like the problems is that the value can not be retrieved from the dictonary.
I tested this for Dictionary<int, Func<bool>> as well and it produces the same error.
Steps To Reproduce
https://deck.net/7bbecf7a0fbb1019452b9869855e4bd0
public class Program
{
    public static Dictionary<int, Action> ActionMap = new Dictionary<int, Action>(){
        {0, () => Console.WriteLine("Invoked Action at index 0.")},
        {1, MyAction}
    };

    private static Action MyAction = () => Console.WriteLine("Invoked Action at index 1.");

    public static void Main()
    {
        ActionMap[0]();
        ActionMap[1]();
    }
}

Expected Result
> Invoked Action at index 0.
> Invoked Action at index 1.

Actual Result
> Invoked Action at index 0.
> System.Exception: TypeError: Demo.Program.ActionMap.get(...) is not a function
    at Function.Main (https://deck.net/RunHandler.ashx?h=-1355312566:10:42)
    at https://deck.net/resources/js/bridge/bridge.min.js?17.3.0:7:42613
    at HTMLDocument.i (https://deck.net/resources/js/bridge/bridge.min.js?17.3.0:7:6515)
    at i (https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js:2:27151)
    at Object.add [as done] (https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js:2:27450)
    at n.fn.init.n.fn.ready (https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js:2:29515)
    at new n.fn.init (https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js:2:24945)
    at n (https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js:2:405)
    at Object.ready (https://deck.net/resources/js/bridge/bridge.min.js?17.3.0:7:6578)
    at https://deck.net/resources/js/bridge/bridge.min.js?17.3.0:7:42586

I don't think the deck the way you shared works at all... Tried it on dotnet fiddle and it breaks in a similar way, with the first assertion being run.

Dotnet fiddle trying to run the test case

Some time ago dotnet fiddle used to have issues with some C#7.x language syntax, but this seems not to be the case here.


Hoodie Hive Sync

Should sync the MOR ingested data into 2 tables. ROTable and WOTable.
Schema sync should happen based on the last compaction commit for ROTable and last delta commit for WOTable.

Revamp Hoo

PR #181 fixes this


SWS-203: Navigate to ServiceDetails page when onClick from Graph

Pull Request Test Coverage Report for Build 188

2 of 7 (28.57%) changed or added relevant lines in 1 file are covered.
16 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 25.991%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/CytoscapeLayout/CytoscapeLayout.tsx
2
7
28.57%

Files with Coverage Reduction
New Missed Lines
%

src/components/CytoscapeLayout/CytoscapeLayout.tsx
16
27.78%

Totals

Change from base Build 187:
-0.1%

Covered Lines:
190

Relevant Lines:
585

💛  - Coveralls


Equipment failing to activate

Was using Royal Capacitor and while it was off cooldown, I was only sometimes able to use it. I would press the bottom button on my left controller and it would not activate about half of the time I would try. I was unable to figure out why, it seemed to be random. I was using the Oculus Rift S, I had the mod in Oculus mode and I was on Vanilla, no other mods. Did not seem to have this issue with other equipment, it may be an issue with equipments that target something.

Please report potential bugs in the discord server instead of opening an issue. I need to make sure there is indeed a bug and if there is an easy way to reproduce it. https://discord.gg/ZFSCSDe


infer models from ORM / AiiDA DB layer

Reimplementing the entity models (node, user, ...) from scratch is quite straightforward with pydantic, and probably the quickest way to start.
Ideally, at some point however we should try to infer the models, either from AiiDA's public ORM interface or from the underlying django/sqlalchemy DB models.
Note: An intermediate solution may be to embed the pydantic models in the ORM in some way in order to at least keep these two close together.

As noted in https://github.com/aiidateam/aiida-restapi/issues/26#issuecomment-861421127,
technically, we should maybe be getting this information from subclasses of aiida/orm/implementation/entities.py::BackendEntity or aiida/orm/entities.py:Entity.
But neither of these really provides an easy (programmatic) way to retrieve the "fields" required either to instantiate an entity (their name, type and description), or the "fields" that can be used with the QueryBuilder.
This is compounded by the fact you have these disconnects with the QueryBuilder, like name -> label for computers.


VoiceOver does not recognize indeterminate progress status

When using VoiceOver on both progress-bar and process-circle, the screen-reader does not pick up the "indeterminate" state when mode is set to indeterminate. Instead, it simply reads "0 percent, progress indicator".
It does work for md-spinner, which sets the mode in the constructor, where it reads "indeterminate, progress indicator".

This should have been fixed by #640


feat: Client close and default EF close

Closes #179

#180  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


Improve transaction pattern

Try-with-resources is a nicer idiom. Fixes issue #23.

Coverage remained the same at 94.26% when pulling 33503385decad8a62b92f972ee5171675104417b on phraktle:phrak-tx-closeable into 3400a43865d27d31b698cdd6f3c8376d1478e37c on deephacks:master.

The abort on close is actually a no-op, if a commit was performed previously (since self is zero).

Coverage remained the same at 94.26% when pulling beba00c81e8ba6485329584e6a9f315019176de3 on phraktle:phrak-tx-closeable into 3400a43865d27d31b698cdd6f3c8376d1478e37c on deephacks:master.

Coverage remained the same at 94.26% when pulling 90c159a4d89b9b784c36fff580fc7ddcc86a3af7 on phraktle:phrak-tx-closeable into 3400a43865d27d31b698cdd6f3c8376d1478e37c on deephacks:master.


Add Bolt tasks

There are several bolt tasks that would be useful:

Manage events (resolve, delete) #1141
Manage silencing #1141
Execute checks
List outdated assets - unable to use until upstream issue resolved https://github.com/sensu/sensu-go/issues/3269

And above all - use Bolt to deploy the agent, minimally configuring the backend(s) the agent should connect to, the namespace it should join, and the subscriptions it should subscribe to. 👍

Looks like might be possible to define bolt inventory using external sources so in theory could set bolt inventory to be pulled from sensuctl: https://groups.google.com/forum/#!topic/puppet-users/cDYbir1JlgQ


Store font's Unicode ranges

Hello @RazrFalcon, is there any news on this? I am looking for a pure Rust library to use for font fallback, and identifying supported ranges will be critical. By the way, I really love rustybuzz!

Well, it's "simply" a matter of adding this feature to ttf-parser first. I haven't looked into it much.
See https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
Will look tomorrow.

By the way, I really love rustybuzz!

Yeah, 8 months well spent... It's a bit dead now, though it should work just fine.

Thanks for looking in to this, it looks to me like a u128 bitflag will cover all ranges. If you need help implementing this, I could take it on as well.

I'm not sure how portable u128 is. Will see.
I'll try to look into it today. Doesn't seems to be that complex.

As someone who also interested in font fallback library, it seems like OS/2 Unicode ranges property is not enough. One would have to support the meta table as well, since it supports more ranges.
See OS/2 comment:

All available bits were exhausted as of Unicode 5.1. The bit assignments were last updated for OS/2 version 4 in OpenType 1.5. There are many additional ranges supported in the current version of Unicode that are not supported by these fields in the OS/2 table. See the 'dlng' and 'slng' tags in the 'meta' table for an alternate mechanism to declare what scripts or languages that a font can support or is designed for.

And meta uses comma-separated BCP 47 language tags.
So while I can implement contains_char for OS/2 fairly easily, doing so for meta would be way harder. Mainly because one would have to use BCP 47 library for parsing/conversion.
PS: I do have a rudimentary font fallback algorithm in one of my libraries, but it simply checks if a font has a glyph for the specified character. Which is obviously a bit slow.

Checkout https://github.com/RazrFalcon/ttf-parser/commit/2b0e0e5157a8a87c97bfc0cc99b282d46d217d8f
Currently, the only API available is face.unicode_ranges().contains_char('A')
If you're looking for something else, let me know.

Awesome, looking good so far! I am hoping to be able to use fontdb to query for fonts that support a range, for fallback.

What do you mean by range? Range<char> or a named Unicode range (like Latin-1 Supplement).
I can add ttf_parser::UnicodeRange to fontdb::FaceInfo, but I'm worry it would blow up the memory usage. Its u128 after all. But I don't see another way.
There are also Unicode blocks, which have 327 variants instead of 123 in OS/2.
So I would repeat my question again: what exactly do you want. The problem is not in implementing it, but actually understating what information is required.
And I assume that looping through all fonts and calling fontdb::Source::with_data is not an option for performance reasons.

Storing the u128 for every font is probably necessary to fully implement font fallback. An alternative would be to only store a single font id for the first detected font that inplements that range. I don't really have opinions on the implementation, other than to say, it is nice to be able to search for a font that provides a specific unicode codepoint for font fallback.

The only real way to do so is to call ttf_parser::Face::glyph_index. Everything else is just a hint.
So after checking the Unicode range, you would have to test for glyph ID anyway.
fontdb intentionally doesn't provide a font fallback. Mainly because this is a very complex, expensive and unspecified task. It can be implemented in way too many ways.
My suggestion would be to handle it on your side. Call fontdb::Source::with_data for each font you have. Collect Unicode ranges. Maybe even characters themselves via ttf_parser::cmap::Subtable::codepoints. Then query the character manually, caching the result. Everything else would be way too slow.
Not to mentions one would have to check for font styles as well. Like if you're looking a fallback for a bold font, you have to skip non-bold font on the first run or altogether.
And the list goes forever...

I will give that a try.

Would there be interest in fontdb being able to return multiple fonts from a query?

I implemented basic font fallback in kas-text. The problems are a little more complicated than just querying supported glyphs:

Assemble a list of fallback fonts per style. Fontdb is useful but didn't provide the functionality I needed, so I wrote a wrapper.
Match possible font face(s) per character, attempting to avoid frequent changes (e.g. don't change back to the first font when reaching space or punctuation).
Make this fast, which probably involves multiple levels of caches.
Break text into runs of a single font and feed into a shaper (Harfbuzz or whatever).

There is a lot more complexity, but you get the idea. If I were to start over, I would take a closer look at swash.

@jackpot51 Which query? The current one should return just one font. That's the point. Maybe you want some sort of filtering instead?

@dhardy I haven't looked into how swash handles fallback yet. But it has a completely different ideology to my libraries. It is strictly a monolith, while my libraries are quite independent/modular. There are pros and cons to both designes.
As for fontdb, it's just the code I've extracted from resvg. It's minimal by design. As per readme.
I do plan on implementing a proper text layout library eventually, but I simply don't have the time.

@RazrFalcon I believe he is talking about the equivalent of this query (i.e. given font family, weight etc., return a listing of all possible matches). Note though that this does not use the raw font list of all available fonts on the system, but a (badly) curated list of a few fonts in a preferred order.
I'm not sure myself if this functionality should be in fontdb. Maybe another small library.

It is strictly a monolith, while my libraries are quite independent/modular.

:+1:

Oh, I see. Yes, as mentioned above, the reason fontdb is so spartan, is because all other features can be implemented in way too many ways.
Sure, fontdb can provide the list fonts with the specified char function. But as you said, one may want to use their own list of fonts. Others would want to cache it in some way. And so on.
Honestly, forking fontdb is the solution in most cases.

I have decided to use fontdb for loading a list of system fonts, but then implement my own fallback on top of that. It will require no changes to fontdb.


fix(core): :bug: coreForm data driven from props in CoreDataTableDeta…

…ilsPane
coreForm data driven from props in CoreDataTableDetailsPane
Ref: #258

Merging since stale over 24hrs.


Duplicate Tranche name from deal library run

database is not clean. fix by data
the tricks is that bond name as key, but in the bond object also has a bond name as field.


@3.8.0 -<EMAIL_ADDRESS>devdeps

close #713

coverage: 99.245%. remained the same
when pulling da29a142c33ba3a57ccdc5daacbfd78bf007d6f6 on rc-3.8.0
into e96954da0ec6cb098216265d683f2e22017ec48f on master.


Drag & Drop using Mouse or touch

Hi,
I am bloody newbie to ECS but I want to rewrite my Unity prototype using Entitas which seems to be a good architecture for my project.
In my game I want to drag & drop entities using touch commands. I found no example using drag commands and I am not sure what would be the best way to implement this behaviour in Entitas...
Can someone please help me with this issue?

You can't really get away from touch commands like "Input.GetTouch(0)" cause that how Unity works. What you can do, however, is to look at the Physics example in the Entitas Shmup example, which adds some physics collision input to some entity. In case of drag-n-drop however you can basically adds an input component to some entity, say DragComponent with some position and some kind of an ID or reference to a draggable object. Then, every touch move you replace this component with a new one with new position and use some system to update the "Draggable" object.
To recap -

Listen to touches in some Unity-aware script that has Update method,
Check whether you press on something draggable and create an Entity with a DragComponent (or use some singleton Entity, it's up to you really).
Write a system that processes those entities (or entity) with the DragComponent to achieve the behaviour you want


vine: glob imports

Perhaps a more general "vine: module system" issue is in order as well?

Vine has a module system already. Is there a more specific issue you have in mind?

A few things:

allowing import specifiers to have prefixes that denote custom loaders
3rd party modules
inferred relationships between files and directories (such as my_thing.vi corresponding to a directory of my_thing/*.vis).

allowing import specifiers to have prefixes that denote custom loaders

I don't think having import specifiers / loaders is really the way I want to go with the module system; something more like cargo's handling, where that kind of information is out-of-band of the source code proper is IMO a better fit.

3rd party modules

You can already have 3rd party modules by passing --lib path/to/3rd/party/module.vi. It's not the most ergonomic, I'll agree, but improving that is more a question of the build system / package manager than the module system itself.

inferred relationships between files and directories (such as my_thing.vi corresponding to a directory of my_thing/*.vis).

#19 :)


instructions for installing entab-r on mac os x

I wrote some instructions for getting Rust to play nicely with R Studio on Mac OS X. Took me a little while to figure out, so it's probably worth mentioning somewhere. Feel free to modify the actual text.

Hey, thanks so much for putting this together! I think the documentation is great, but I'm not sure the Makefile changes would work on Linux too? They might also conflict with the Makevars file; does R Studio not work with that? If so, I futzed a little and I think we can replace Makevars with a Makefile that contains:
TARGET_DIR = ../target
LIBDIR = $(TARGET_DIR)/release
STATLIB = libentab.so
PKG_LIBS = -L$(LIBDIR) -lentab
ifeq ($(shell uname -s),Darwin)
	PLATFORM_STATLIB = libentab.dylib
else
	PLATFORM_STATLIB = libentab.so
endif

all: $(STATLIB) clean_working

$(SHLIB): $(STATLIB)

$(STATLIB):
	cargo build --release --manifest-path=../Cargo.toml --target-dir $(TARGET_DIR)
	mv ./$(LIBDIR)/$(PLATFORM_STATLIB) ./$(STATLIB)

clean_working:
	rm -Rf $(OBJECTS) $(TARGET_DIR)

clean:
	rm -Rf $(SHLIB) $(STATLIB) $(OBJECTS) $(TARGET_DIR)

Let me know either way and then we can merge this.

Hi,
Sorry for the confusion. The makefile was a relic from when I was messing around trying to get entab to install in OS X back in March. I think the solution you came up with is good. I only meant to push the update to the read me.

I think you might have to also modify the .Rprofile to use entab-R in RStudio on Windows (and possibly linux as well I don't know). Do you use Windows at all or only Linux? I was going to try to write instructions for Windows as well but I got side-tracked with other things. I don't have a Linux system so I don't know how it works on Linux.

It would be nice if R could just find the path to Cargo on its own. I saw there's been some discussion about this on the extendr github page: https://github.com/extendr/rextendr/issues/100

No problems!
I only have Linux installed right now. :/ I'm not surprised about Windows not finding it in PATH either. I think for Windows support you can create a separate Makevars.win so theoretically that could just link to wherever rustup installs to.

Codecov Report

Merging #35 (d59a70b) into master (b82f1e3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #35   +/-   ##
=======================================
  Coverage   73.17%   73.17%
=======================================
  Files          32       32
  Lines        3489     3489
=======================================
  Hits         2553     2553
  Misses        936      936

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

I'm going to merge this for now, but happy to revisit and add Windows documentation in the future (feel free to make an issue there too if you want).

Sounds good! 👍 I'm very busy right now trying to finish up some summer
project, but if I have a few extra minutes in the lab i'll try to figure
out how to get it to install on windows.
On Wed, Jul 27, 2022 at 11:43 PM Roderick Bovee @.***>
wrote:

I'm going to merge this for now, but happy to revisit and add Windows
documentation in the future (feel free to make an issue there too if you
want).
—
Reply to this email directly, view it on GitHub
https://github.com/bovee/entab/pull/35#issuecomment-1197620310, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZEBO3PNNH4DQIBS4HSA7DVWH6VXANCNFSM54TXBVTQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


[ Sample 0 ] CanvasControl wrong logic?

I am playing around with sample 0, there are something wrong while player x/y pos and layer.move (or applayFocus): sometimes it first move the player, then the layer (or something) causing the player to move twice.

figured out myself that input method return also true/false, but the sample just take care of the pressed key, the switch stm should be wrapper by a conditional or every if inside the case stm should contain one more condition: the pressed callback value.

It has to do with

It has to do with repeating keystrokes and operating system key speeds. Better off making draw call an update function and checking key presses there so it stays in sync with the game loop and not some external event


Docker build cache improvements

Additional improvements based on the original pull request to make the final image smaller (~164MB).
Tested and works on my machine.

lgtm


Update scalafmt-core to 3.0.2

Updates org.scalameta:scalafmt-core from 3.0.1 to 3.0.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, semver-patch

Codecov Report

Merging #238 (d10ac95) into master (e57a8b7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #238   +/-   ##
=======================================
  Coverage   96.19%   96.19%
=======================================
  Files           4        4
  Lines         105      105
  Branches        4        4
=======================================
  Hits          101      101
  Misses          4        4

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 e57a8b7...d10ac95. Read the comment docs.


The monorepo is hostile towards backports

During recent io backports I've realized we have a problem with our monorepo: it's really hard to backport things if we have different branches for individual crates. So unless we want to make a single branch for every major version of bitcoin (I think doing it for a bottom crate makes most sense) we might want to look into git submodules.

Yeah I've thought this before too, I have no opinion/idea on the suggested solution though.

I really really hate submodules. If we want to do this we can use git subtrees, which at least use normal git structures instead of a weird flat-file based thing that requires magic invocations to manipulate (and leaves your repo in a totally broken state if you don't).
Having said that, I can live with the current messy situation where we have a gazillion branches that fork off of master at weird points and are labeled with specific subcrates.

In either case though, the implication is that the other crates live in their own repos and then this one is just an "aggregator". So we would want to split up issue tracking etc. Possibly we would even want to disable the issue tracker here? And do we want to PR directly to this repo or just have a system of scripts which updates the subtrees and runs CI?
If we are doing that do we even need the monorepo, or can we just have some synthetic repo off to the side whose job it is to integration-test rust-bitcoin with master of all the other repos.

I can live with the current messy situation where we have a gazillion branches that fork off of master at weird points and are labeled with specific subcrates.

That is what actually doesn't work here. If you need to backport things to io and hashes and both have their separate branches then there's no way to depend on both from bitcoin.

So we would want to split up issue tracking etc.

No idea, I was just pointing out the problem. I'm too tired to figure it out rn.

That is what actually doesn't work here. If you need to backport things to io and hashes and both have their separate branches then there's no way to depend on both from bitcoin.

I don't think we ever need bitcoin to depend on the backported fixes. If we did, then presumably we'd have noticed the bugs when they were current and fixed them in master, rather than noticing much later and needing to backport. And when we backport, we have copies of the fixed code on master, so bitcoin can depend on that.

No idea, I was just pointing out the problem. I'm too tired to figure it out rn.

Fair.

presumably we'd have noticed the bugs

We don't in case of API holes.

And when we backport, we have copies of the fixed code on master, so bitcoin can depend on that.

If we remove patches then it's harder to demonstrate that a filled API hole is fixed - one needs to make two PRs. That may be acceptable.

I'm going to close this. Yes its suboptimal but its currently workable and no obviously better solution exists (to my knowledge). Also @apoelstra does most of the releases and I do most of the backports.


Throwing error while running test cases from DevStudio if home directory contain spaces

The following error occur while running test cases if DevStudio home path contains spaces for a directory name (ex C://Users/example/micro integrator/IntegrationStudio/runtime).
"Unknown lifecycle phase "integrator\IntegrationStudio\runtime\microesb\bin\micro-integrator.bat". You must specify a valid lifecycle phase or a goal in the format"

Fixed https://github.com/wso2/devstudio-tooling-esb/pull/1180 and works in MacOs. Need to test and verify in Linux and Windows platforms.


Added Java port of minecli for Windows compatability

@chamburr @xcb-xwii Can merge?
I tested this. It works, but address has to be inserted in "hostname:port" format. Might fix that someday

This is great work! However, I don't think having the program in two environments would benefit much. It would make maintenance work harder in future.
For Windows, you could look into Windows Subsystems for Linux (WSL). The program is really just intended to run under a Linux environment, since it requires a UNIX shell and journalctl for logs. Without logs, nothing much sets us apart from the alternatives.

I understand. I could try adding logging, but I agree with you. Doing this was fun, though!