Add battery status for BT-WS

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
Currently battery status for BT-WS is missing
Describe the solution you'd like
Add "BT-WS" in BATTERY_POWERED_DEVICES in file const.py
"""Constants for the Livisi Smart Home integration."""
import logging
from typing import Final
LOGGER = logging.getLogger(package)
DOMAIN = "livisi"
LIVISI_EVENT = f"{DOMAIN}_event"
CONF_HOST = "host"
CONF_PASSWORD: Final = "password"
CONF_SUBTYPE: Final = "subtype"
DEVICE_POLLING_DELAY: Final = 60
LIVISI_STATE_CHANGE: Final = "livisi_state_change"
LIVISI_REACHABILITY_CHANGE: Final = "livisi_reachability_change"
BUTTON_COUNT: Final = {"BRC8": 8, "ISC2": 2, "ISS2": 2, "WSC2": 2, "ISR2": 2, "ISD2": 2}
BUTTON_DEVICE_TYPES: Final = list(BUTTON_COUNT.keys())
DIMMING_DEVICE_TYPES: Final = ["PSD", "ISD2"]
MOTION_DEVICE_TYPES: Final = ["WMD", "WMDO"]
SHUTTER_DEVICE_TYPES: Final = ["ISR2"]
SIREN_DEVICE_TYPES: Final = ["SIR"]
SMOKE_DETECTOR_DEVICE_TYPES: Final = ["WSD", "WSD2"]
SWITCH_DEVICE_TYPES: Final = ["ISS2", "PSS", "PSSO", "BT-PSS"]
VARIABLE_DEVICE_TYPES: Final = ["VariableActuator"]
VRCC_DEVICE_TYPES: Final = ["VRCC"]
WDS_DEVICE_TYPES: Final = ["WDS", "BT-WDS"]
BATTERY_POWERED_DEVICES = [
"BRC8",
"ISC2",
"RST",
"RST2",
"WDS",
"WMD",
"WMDO",
"WSD",
"WSD2",
"SIR",
"BT-WS",
]
CAPABILITY_LUMINANCE_SENSOR: Final = "LuminanceSensor"
LUMINANCE: Final = "luminance"
CAPABILITY_TEMPERATURE_SENSOR: Final = "TemperatureSensor"
CAPABILITY_ROOM_TEMPERATURE: Final = "RoomTemperature"
TEMPERATURE: Final = "temperature"
CAPABILITY_HUMIDITY_SENSOR: Final = "HumiditySensor"
CAPABILITY_ROOM_HUMIDITY: Final = "RoomHumidity"
HUMIDITY: Final = "humidity"
CAPABILITY_POWER_SENSOR: Final = "PowerConsumptionSensor"
POWER_CONSUMPTION: Final = "powerConsumptionWatt"
ON_STATE: Final = "onState"
SHUTTER_LEVEL: Final = "shutterLevel"
DIM_LEVEL: Final = "dimLevel"
VALUE: Final = "value"
POINT_TEMPERATURE: Final = "pointTemperature"
SET_POINT_TEMPERATURE: Final = "setpointTemperature"
IS_OPEN: Final = "isOpen"
IS_SMOKE_ALARM: Final = "isSmokeAlarm"
MAX_TEMPERATURE: Final = 30.0
MIN_TEMPERATURE: Final = 6.0
STATE_PROPERTIES = [
ON_STATE,
VALUE,
POINT_TEMPERATURE,
SET_POINT_TEMPERATURE,
TEMPERATURE,
HUMIDITY,
LUMINANCE,
IS_OPEN,
IS_SMOKE_ALARM,
POWER_CONSUMPTION,
SHUTTER_LEVEL,
DIM_LEVEL,
]
EVENT_BUTTON_PRESSED = "button_pressed"
EVENT_BUTTON_LONG_PRESSED = "button_long_pressed"
EVENT_MOTION_DETECTED = "motion_detected"
Describe alternatives you've considered
No Alternatives. Described solution is easy and tested
Additional context

What is BT-WS? I don't have any of these BT-* devices but curerntly only BT-WDS is supported by this integration

What is BT-WS? I don't have any of these BT-* devices but curerntly only BT-WDS is supported by this integration

It is a Bluetooth LE room thermostat which was provided by Medion and can be integrated into the livisi climate control.
It provideds temperature and humidity.
The thermostat has already been supported by the integration. Only the battery status is missing.
Thanks a lot for implementing it :-)

Is there a reason why you have closed this without adding the device?

It has been added. See the linked commit.

You added in line 44 a device called BT-WDS instead of the device I meant BT-WS

I see - my bad... Added in 6491177

Klasse. Vielen Dank :-)


Uniform and Laplace distributions

Issue #, if available:
Description of changes:
Uniform and Laplace distributions + tests
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #90 into develop will decrease coverage by 0.46%.
The diff coverage is 69.29%.

@@             Coverage Diff             @@
##           develop      #90      +/-   ##
===========================================
- Coverage    83.57%   83.11%   -0.47%
===========================================
  Files           73       75       +2
  Lines         3958     4081     +123
  Branches       721      733      +12
===========================================
+ Hits          3308     3392      +84
- Misses         425      458      +33
- Partials       225      231       +6

Impacted Files
Coverage Δ

mxfusion/components/distributions/__init__.py
100% <100%> (ø)
:arrow_up:

mxfusion/components/distributions/beta.py
88.88% <100%> (ø)
:arrow_up:

mxfusion/util/testutils.py
55.08% <23.68%> (-15.29%)
:arrow_down:

mxfusion/components/distributions/random_gen.py
81.53% <75%> (-3.83%)
:arrow_down:

mxfusion/components/distributions/laplace.py
93.1% <93.1%> (ø)

mxfusion/components/distributions/uniform.py
93.54% <93.54%> (ø)

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 7ba3da9...c5f09e3. Read the comment docs.

@tdiethe Are you planning to finish up this and the Wishart PR? No hurry, just checking in.

Sorry thought they were all done ages ago!


choice extra_info_text is not being submitted

No value is submitted when entering text into extra_info_text on a radio or checkbox choice.

The conditionals (that being the term for extra_info_text and ChoiceOptions) are still very WIP, I had to stop work on them midday through implementation

I'm going to remove all the WIP conditionals stuff today -

closed via https://github.com/project-callisto/django-wizard-builder/pull/205


Added support for UTC and DateTimeOffsets in VEVENT generator

Summary
Inspired by issue #458 and the discussion there, this PR extends the CalendarEvent payload generator with a UTC DateTime functionality.
This PR fixes the following problems:

[X] CalendarEvent took DateTime objects for start and end of event, but didn't care about DateTime.Kind or any offset

Details

If plain DateTime objects (with DateTime.Kind.Unspecified) are passed to the payload generator nothing change, to avoid breaking changes
If DateTime objects with DateTime.Kind.Utc are handed over, the payload generator will respect the UTC and save the dates as "UTC" in the iCal calendar event
Another constructor overload is added that accepts DateTimeOffset instead of DateTime objects. Those will be converted to DateTime objects with Kind.Utc internally by use of the offset defined in the DateTimeOffset objects.

Test plan
Test cases were added to the PayloadGeneratorTests.cs
Closing issues
Fixes #458

@Shane32 I would be happy if you could review the changes. I'm not sure if I got all of your points from our discussion in #458.
Offtopic: Once more I think timezones are madness... https://www.youtube.com/watch?v=-5wpm-gesOY

Reminder: The wiki should be updated after the merge: https://github.com/codebude/QRCoder/wiki/Advanced-usage---Payload-generators#34-calendar-events-icalvevent

Updated wiki:
https://github.com/codebude/QRCoder/wiki/Advanced-usage---Payload-generators/_compare/974b418e8ed73f14178fb2f7a11460f418ca23f6...dc841758a5891733d79f85858c133b19b76c7f53


add more redis commands to the readme. Fix some incorrect commands

Adds documentation for the redis commands being executed to more of the examples in the README.
Updates the documented commands where is did not match the logged commands from running in the console.
Fixes the order of the elements  in the final value for the unique list to match the observed behaviour (LPUSH appears to reverse the order of the elements as it pushes them onto the list).
Fixes the documented key name when using attributes to use the plural of the model name, not the singular form.

Also - the datetime example wasn't working for me because DateTime.tomorrow and DateTime.yesterday are returning Dates instead of DateTimes which are not able to be deserialized when read out of redis.
I am not sure if this should be fixed by having DateTime.tomorrow return a DateTime, allowing Dates to be serialized in a DateTime redis store - or update the example to not have methods that are returning dates.


Docs Feature Request: OfflineUserDataJobService

v2.9.0 client library
4.5.2 .NET framework
Win 10
Services.V3.OfflineUserDataJobService has been added to the latest release. There appears to be no documentation or sample code for use uploading Store Sales conversions (except some gRPC definitions), can someone provide a pointer if there is? I created an uploading app based on a best guess, but it hangs indefinitely on RunOfflineUserDataJob. Is there a release date for docs/samples using OfflineUserDataJobService with SSD? Thanks so much!

Hi Brook,
If you have an example that you tried, but didn't work, then feel free to drop an email to<EMAIL_ADDRESS>and addressed to me. I'll take a look.
Right now, I don't think there's a code example planned for this feature, but I'll try to get it into the team's list of TODOs for the next quarter.

A code example for the OfflineUserDataJobService to upload conversion data is currently in internal development. I will update when it is live.

Fixed in v4.0.0.


Support dynamically choosing a guideId based on the GS-08

For X12 HIPAA Guides, there are multiple "types" of transaction sets. For example, the 837 has a "professional" and "institutional" 837. These are indicated in the GS-08:
GS-08 for professional = "005010X222"
GS-08 for institutional = "005010X223"
The bootstrap repo currently determines which guide to use based on 1) the ISA sender ID, 2) the release (e.g. 5010), and 3) the transaction set (e.g. 837). However, it cannot dynamically choose which guide to use based on the release extension (e.g. X223).

[ ] Allow customer to add the release in partnership config in Stash when they want to select a guide for a specific release

CC @RossWilliams

This is amazing, thank you <3


Outline Display

Hi, does your extension have OUTLINE display capability?
If it does, I have no idea how to make it work, my VS Code just says 'The active editor cannot provide outline information'
Thnx
Jonathan

Hi. Sorry for the late response.
It should work properly.
Perhaps the configuration file is incorrect.
If it's still a problem, please leave a comment.

Thanks for coming back to me,
Yes it does give an outline, for:
PROCEDURE, as long as the statement is on one line and terminates with a period
FUNCTION, as long as the whole statement is one one line
METHOD - nothing show at all.
Unfortunately have to his Reload Developer window, each time I change files via the TAB, else it will NOT show the OUTLINE, at all.
The syntax highlighting works great, thanks.
Jonathan


[BEAM-5068] switch mobile gaming input file to a public storage

Please add a meaningful description for your change here

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
 I'll merge now, but I've left one comment. Can you answer that?


zero-btc-screen -- Change Candle timeframe

Hi - Thank you for the awesome project!!
I'd like to set my candle timeframe for 1hr.
It looks like DATA_SLICE_DAYS = 1 is should be 1hr increments? Is this the correct?

我使用简体中文回复你,附带谷歌翻译. 作者是根据每个屏幕的大小来决定显示多少K线的数量,然后 把获取到的数据的多少除以这个数量组成了k线图, 不是常规的15分钟 1小时K线图,我也琢磨了好久才明白. 比如3.7寸屏幕作者定义了显示45根k线.
I reply to you in Simplified Chinese, with Google translation attached. The author decides how many K-lines to display based on the size of each screen, and then divides the obtained data by this number to form a K-line chart, not the regular 15 It took me a long time to figure out the minute-1-hour K-line chart. For example, the author of the 3.7-inch screen has defined 45 K-lines to be displayed.

I reply to you in Simplified Chinese, with Google translation attached. The author decides how many K-lines to display based on the size of each screen, and then divides the obtained data by this number to form a K-line chart, not the regular 15 It took me a long time to figure out the minute-1-hour K-line chart. For example, the author of the 3.7-inch screen has defined 45 K-lines to be displayed.


[WIP] Troubleshooting doc

@3scale/support Can you please add any other troubleshooting steps/gotchas that you have seen when testing?

should cover #169 once it's finished

@3scale/support @3scale/documentation feel free to reopen and complete the PR. But closing it as it is WIP since January and no one is working on it.


ECO:0005026 and ECO:0005006 are missing from the Ontology

I have found some old usages of ECO:0005026 "gel electrophoresis evidence" and ECO:0005006 "direct assay evidence", but I noticed that in the ontology, these were not subclasses of ECO:0000000 "evidence". When I checked in Ontobee, these IDs didn't exist. I could only find references to these here: ECO:0005026 and ECO:0005006.
These classes should still exist in the ontology in their original structural place and searchable in ontobee, but obsoleted, or with synonyms, or both. This ensures that old terms from the past are still usable in ontologies today even if changed now.
Thanks!

Hi @dougli1sqrd (and @cmungall) -
I checked the release published 2017-03-28 and 2017-03-03 (as the email from Chris indicated that these IDs were checked in on 3/28) and these IDs didn't exist in ECO then, either. That said, I went back to the 2015-07-03 release and the following terms existed:
ECO:0005026 - gel electrophoresis evidence (ECO:0000337)
ECO:0005006 - direct assay evidence(ECO:0000002) (as a deprecated term)
In the next release on 2015-11-24, these terms were gone. It looks like this was a restructuring project that somehow got incorporated into the main release, as ECO:0000337 (gel electrophoresis evidence) existed as a separate term at the same time as ECO:0005026. And, ECO:0000002 (direct assay evidence) existed as a separate term from ECO:0005006 (which was deprecated in the release).
Here is a list of terms that had duplicate entries with different IDs in this release on 2015-11-24:

ECO:0005001 - enzyme assay evidence(ECO:0000005)
ECO:0005023 - experimental evidence (ECO:000006)
ECO:0005017 - experimental phenotypic evidence(ECO:0000014)
ECO:0005024 - imaging assay evidence(ECO:0000324)
ECO:0005018 - immunological assay evidence(ECO:0000040)
ECO:0005013 - in vitro assay evidence (ECO:0000181)
ECO:0005025 - physical interaction evidence(ECO:0000021)
ECO:0005022 - protein assay evidence (ECO:0000039)

There are also a handful of terms with the flag "(new)" in their label that do not appear to exist in ECO currently, such as ECO:0005000 (posttranslational modification assay evidence (new)). It seems that most of them have been officially added, such as ECO:0005034 (apoptosis assay evidence (new) -> 'apoptotic assay evidence' in current release).
All of these were under what seems to be a placeholder class: 'isb-sib evidence' (ECO:0000091), which does not even exist as a deprecated class currently.
As these classes were separate from the actual classes (as indicated by the IDs in the label), I wonder if it would make sense to add these as alt. IDs or to add them back into ECO as deprecated classes? It seems to me that this release was not a finalized release, but this was back in 2015, so it's hard to tell what was going on. It was the first release on GitHub, so it may have had something to do with transferring over from the previous version control system. I apologize that this is such a long reply, and hopefully this all makes a bit of sense.
@nsuvarnaiari had added these terms, do you have any more info on this?

Hi again @dougli1sqrd & @cmungall -
I spoke with Michelle, and we would like to go ahead and merge these missing terms into the existing terms, rather than re-adding and deprecating them.
I will do so for all the terms listed above. Hopefully this will solve any problems with these annotations, but let me know if there is anything else we need to do.

Following up - does this need any more work done, or is it safe to close?


Implement user action emulation using Firefox Marionette protocol

May I kindly  ask if there are any plans to move this forward. Thx :)

Thank you for your interest. We tried to implement it a year ago: https://github.com/DevExpress/testcafe/pull/2626. Unfortunately, we found that built-in actions don't cover some scenarios that was brought to us by customers and saved as functional tests.


Add single quotes to --scope arg value in lerna list command

Fixes an error on the ci process when running the build script that prevents the firebase-frameworks release to be published.

merging to unblock the firebase-frameworks release


More event props improvements

@cornerman Thanks for working on this! I've just released v0.4

Great! I think, it should be ready now for outwatch. Thank you so much for all your effort!


Validate Config Sync components health in the e2e test

The resource-group-controller crashed on GKE Autopilot clusters with the
current default memory request. The e2e-test should be able to capture
the issue. This commit adds health validation for CS components in the
e2e test.

/lgtm

/hold

/retest

/unhold

This has been incorporated in https://github.com/GoogleContainerTools/kpt-config-sync/pull/65. Closing now


Ios drawer renders weird

When using a custom drawer ios does not handle the constraints the same.

@jeffreymendez1993 i am experiencing a weird overhang where my drawer is spillin onto screen ui. how did you fix this?

@temitope   height: Dimensions.width() + 100,
width: null,
position:'absolute',
left:0,
right:0,
bottom:0,
top:-7
for my image background style


Implement IDataReader

I have to use CsvHelper's CsvDataReader for now as Sep's reader doesn't implement IDataReader. This allows me to read ~3 million rows of csv with streaming into DataTable and use SqlBulkCopy to get my data into the database table without reading it all into memory first. I have tried to use Sep as a backbone for implementing IDataReader myself but seems that Sep is built much different and doesn't even allow to derive from it's sealed SepReader class. Is this at all possible to do or is it a lost cause? I could try to do it but not sure if I'd waste my time doing so. Maybe someone has done this and has a class like that to share? By princimple it would be very simple forward-only reading as it just reads in data and passes on to mssql table.

You can't inherit from SepReader nor would I recommend that, you should wrap a SepReader in your own SepDataReader : IDataReader. I don't have any experience with IDataReader so cannot say if there would be any issues related to that, but wouldn't think so. I appreciate trying out Sep, but why not use Sylvan it's plenty fast too?

Closing as stale and answered. :)

@sirWest I think Sylvan CSV library implements IDataReader and the performance is also very good, you could maybe check that out.


Autocomplete for custom singletons not working

Godot version:
Tested with both 3.1 Stable and 1d9233c38
OS/device including version:
Windows 10
Issue description:
Autocomplete for the parameters of custom singletons is not working. For example:
If i have a singleton named Global and i try to call a function from it in another script called execute_app that has a parameter called p_app, then i will get autocomplete as far as Global.execute_app(). It does not show me the parameters i can pass and their types.
Steps to reproduce:
I'm not sure if this is expected behavior. If not, i will try to recreate it and attach a project.

Closing in favor of #40537, which has more information about the issue at hand.


Revise “Container runtimes” page in Getting Started section

Revise https://kubernetes.io/docs/setup/production-environment/container-runtimes/:

Reword page introduction;

remove feature-state shortcode, as Kubernetes' CRI support is now very much stable.

Match headings to contents; before, headings were sometimes followed
first by unrelated text and then, with no clear divider, text that did
not relate to the heading..
apt lets you write GPG keyrings into a file per trusted source, inside /etc/apt/trusted.gpg.d. Recommend that approach.
List container runtimes in alphabetical order;

add warning about 3rd party content.

Remove Fracti link (not in line with content guide).

3rd party warning might be relevant to issues such as #24658

@irvifa @sftim If I am not mistaken this PR removed some previous content changes that fixed outdated instructions. For example the changes made in #24605 are no longer in the master version of this file. Were the changes in this PR maybe done against an older version and not HEAD, i.e. not rebased on master?
Let me know how to proceed, I can also create a PR to add #24605 again. :)

Ah, I think I missed a bit when fixing a merge conflict. Sorry about that. :facepalm:
If fixing this, please consider also changing the fragment identifier for https://kubernetes.io/docs/setup/production-environment/container-runtimes/#systemd (eg to #containerd-systemd). I'll be happy to review.

No worries, thanks for the fast reply. I'm on it and will also add some newer instructions for Ubuntu 18.04/20.04 in a separate PR. :)

@sftim Done, see #24687


fix odometry delta calculation

I am not sure you intentionally have new -> old delta.

This was intentional. We also use it for the translational part and the way the code is written we can only easily extrapolate the tracking frame orientation at the newer odometry time. The time delta is then also swapped so that we do not have to invert the value.

ok. thanks for the explanation


Jkralik/feature/improve go pool

Codecov Report

Merging #404 (dcc7042) into v3 (b2e91ea) will decrease coverage by 0.31%.
The diff coverage is 75.88%.

@@            Coverage Diff             @@
##               v3     #404      +/-   ##
==========================================
- Coverage   70.45%   70.13%   -0.32%
==========================================
  Files          68       68
  Lines        5195     5220      +25
==========================================
+ Hits         3660     3661       +1
- Misses       1149     1177      +28
+ Partials      386      382       -4

Impacted Files
Coverage Δ

message/options.go
75.13% <ø> (ø)

message/status/status.go
0.00% <0.00%> (ø)

options/commonOptions.go
42.06% <46.15%> (-1.02%)
:arrow_down:

net/blockwise/blockwise.go
68.75% <76.92%> (+0.25%)
:arrow_up:

udp/client/conn.go
71.94% <78.04%> (-0.74%)
:arrow_down:

dtls/server/config.go
64.28% <100.00%> (ø)

message/pool/message.go
75.63% <100.00%> (+0.07%)
:arrow_up:

message/pool/pool.go
92.00% <100.00%> (ø)

net/conn.go
85.93% <100.00%> (-3.13%)
:arrow_down:

net/connUDP.go
60.54% <100.00%> (-1.57%)
:arrow_down:

... and 24 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

We need to wait for PR: https://github.com/actions/go-versions/pull/60


Linter doesn't seem to be receiving options from package.json

For example, let's say I have this in my package.json file:
{
  "standard": {
    "ignore": ["src/tests"]
  }
}

If I run standard in the command line, I don't get any errors. However, when I open the file in my editor, I still have the errors displayed:

I'm on Atom v1.20.0 and using linter-js-standard v4.0.1. Let me know if I can provide any other info.

Thank you, I was able to reproduce this.
The issue is that minimatch doesn’t match directories (like e.g. .gitignore does). Coincidentally, ESLint had the same issue three years ago. I’ll probably fix this using ignore in the next patch version.

Should be fixed in v4.0.2.


thread.kill() gets stuck endlessly

Hello,
I hope I am not simply making a mistake but I have noticed that when I create a pthread inside a  new goroutine(not the main), and I try to call thread.kill(), it does not always work. Sometimes I does, other times it just gets stuck.
It would be very kind of you to investigate this in your free time.
Thank you

Can you provide an isolated test case for this? I cannot begin debugging without it as the behavior is inconsistent, and I cannot be sure that it's not due to something specific to your application. It's a potentially endless time-sink.
You can try wrapping your calls to go-pthreads functions with runtime.LockOsThread() and runtime.UnlockOsThread(). This will ensure that the calls to pthreads occur in the main OS thread. I'm unsure if this will have any impact.
https://golang.org/pkg/runtime/#LockOSThread

Here's an example at what I'm trying to do, as mention in the gist's description. Apologies for horrible coding if you think so. I'm learning. So...
https://gist.github.com/kryptodev/6e88224e54466a266e849470c6bb0a75
Kindly take a look.
Thank you.

Hi,
This is an example program I wrote to demonstrate that threads don't exit properly, and sometimes do.
It's a very rough code and I'm new to go but here's hoping you can tell me what I'm doing wrong.
https://gist.github.com/kryptodev/b2479035cc09f0d90a6a16b8709b7abb
Thank you

I stripped out all the Python stuff to make sure that the problem actually exists in this library and isn't some python.h logic that dislikes multithreading.
It looks like the deadlock appears in pthread.Create(). I'm also creating and destroying the threads serially, so there couldn't be any overlap (eg, killing the wrong thread). Sometimes, the thread doesn't start. C.pthread_create returns status 0 (no error), but it just never runs. If I remove the call to thread.Kill(), my attached script works correctly.[1]
However, it appears to be happening if thread.Kill() is called before the thread actually exists. A secondary channel can be used to prevent this by sending a value down this channel before any call to thread.Kill()[2]
I've got no idea why this is happening. I don't know the internal details of how pthread operates, and I don't have time to dig too deep in this at the moment.
[1] https://gist.github.com/liamzdenek/864b327bc660f4ab445f3729238f038b
[2] https://gist.github.com/liamzdenek/afa4f4b5d8b1e8ce1df8ca2756d13d69


Standalone version of 7z

7za is more widely handled than 7z, this seems quite important when acess to package install is not available (eg. distant server)

This seems reasonable to me. What do you think @halfak?

hey folks.  I didn't catch this one when it originally came by.  I think the best solution is to just create an alias for 7z.  I'm honestly not clear on why 7za/7zr/etc. don't just do that by default.


Dual exceptions for 'IRkernel' and 'pbdzmq'

Was writing a sample R script when pyCharm threw these exceptions:
java.lang.Throwable: Failed to generate skeleton for 'IRkernel'. The error was:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at:
/Library/Developer/CommandLineTools/usr/bin/xcrun
Error: package or namespace load failed for ‘IRkernel’:
.onLoad failed in loadNamespace() for 'pbdZMQ', details:
 call: if (id[2] != fn.dylib) {
 error: missing value where TRUE/FALSE needed
In addition: Warning message:
In system(paste(cmd.ot, " -D ", fn.dylib, sep = ""), intern = TRUE) :
running command '/usr/bin/otool -D /Users/Shiv/Library/R/3.5/library/pbdZMQ/libs/libzmq.5.dylib'
had status 1
Execution halted

If you think this issue with plugin and not your R installation, please file a ticket under
https://github.com/holgerbrandl/r4intellij/issues

at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
at com.r4intellij.packages.RSkeletonGenerator.lambda$updateSkeletons$1(RSkeletonGenerator.java:236)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Similar exceptions for modules 'pbdZMQ' as well as 'tcltk' that I'm including in the below txt file instead of pasting the whole message.
error.txt

Thanks for reporting the issue.

Looks like the problem appears after the OS update and caused by the license agreement in Xcode.
Open the Terminal App and enter:
xcode-select --install

See more information here -- https://apple.stackexchange.com/questions/254380/macos-mojave-invalid-active-developer-path


✨ Add option to use original commit message

There are a lot of edge cases to consider for this feature, and I hope I covered all of them. The following are the once I tested:
With COMMIT_EACH_FILE set to true:

Test
Original Message used
Commit(s)
Action Run(s)
opened PR

Simple file change
✅
Link
Link
Link

Remove file
✅
Link
Link
Link

Add file
✅
Link
Link
Link

Change to sync config
❌
Link
Link
Link

Change of file with different destination name
✅
Link
Link
Link

Change of file in syncronized folder
✅
Link
Link
Link

Change of multiple files in syncronized folder
✅
Link
Link
Link

Change of files in different syncronized groups
✅ / ✅
Link
Link
Link

Change file together with non-syncronized file
✅
Link
Link
Link

Triggered by manually running the workflow
❌
In target repo
Link
Link

Push two commits up at once, changing same file
❌
1 2
Link
Link

Push two commits up at once, changing different file
❌
1 2
Link
Link

Previous PR not merged different file
❌ / ✅
1 2
1 2
Link

Previous PR not merged same file
❌
1 2
1 2
Link

With COMMIT_EACH_FILE set to false:

Test
Original Message used
Commit(s)
Action Run(s)
opened PR

Simple file change
✅
Link
Link
Link

Remove file
✅
Link
Link
Link

Add file
✅
Link
Link
Link

Change to sync config
❌
Link
Link
Link

Change of file with different destination name
✅
Link
Link
Link

Change of file in syncronized folder
✅
Link
Link
Link

Change of multiple files in syncronized folder
✅
Link
Link
Link

Change of files in different syncronized groups
✅
Link
Link
Link

Change file together with non-syncronized file
✅
Link
Link
Link

Triggered by manually running the workflow
❌
In target repo
Link
Link

Push two commits up at once, changing same file
❌
1 2
Link
Link

Push two commits up at once, changing different file
❌
1 2
Link
Link

Previous PR not merged different file
❌
1 2
1 2
Link

Previous PR not merged same file
❌
1 2
1 2
Link

Awesome, thanks for this great PR! Really appreciate the amount of work you put into this, especially for the testing!

Manually creating/running all those tests for each change we introduce takes a lot of time, maybe we need to think about automating it with some kind of unit tests in the future. Probably not so easy to test as other actions since we are not only interacting with the GitHub API but also performing git operations.
What do you think?

:tada: This PR is included in version 1.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

Yes, definitely agree - when I started I did not think that there were this many cases to consider, otherwise I would have probably automated something from the beginning.
There are two parts: We should have some unit tests for the functions e.g. parseGitDiffOutput should be simple to test. As you did not have any tests yet, I did not wanted to go go ahead and set everything up (testing framework, changes to action workflows, ...)
But the bigger part is probably having proper integration tests. It might be some work but it roughly could work like this:

You have two dedicated repos, just like I used for my manual tests.
The tests would need access with a GitHub app to interact with them. (As a the default GitHub token would not trigger workflows)
Create a dedicated branch on the second repo to run tests agains
Than you can create a branch on the first repo and configure it to use the action version from the PR branch, targeting the new branch from above
You check out the repo
Do the changes (like I did) and push them up
Wait for the PR to be created, check the message (and maybe content?) via the GitHub API
Merge PR and repeat from step 6

With this setup you can probably tests all feature of this action.


add host service iam role

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

FYI @tokle WIP here.

LGTM 👍


Additional options to pass when executing writable job

Q
A

Issue Type
Feature Request

Deployer Version
5.0.1

Local Machine OS
MacOS Sierra

Remote Machine OS
Ubuntu 16.04

Description
When setting writable on directories on remote server i used chmod/chgrp but i was getting following error:
chgrp: cannot dereference 'sugar-deployment/vendor/bin/phpunit': No such file or directory
I solved it by adding additional option to chmod or chgrp
-h   affect  each  symbolic link instead of any referenced file
(useful only on systems that can change the ownership of a symlink)
run("$sudo chown -RLh $httpUser $dirs");
Which resulted in link to shared as well as shared content to be properly set.
Maybe there should be an easy way to add additional options to pass when executing writable commands ?

Maybe it's better to include this option to main code? Is it supported on debian, centos, macos?

It could be, -h option is part of chmod and chown command on all unix like systems. To me it does make sense to have writable job change ownership of the link itself and the linked files.

I was thinking about this today and decided locally for myself to convert set('writable_mode', into an array of parameters and just iterate over array in already existing writable job logic.
Let me know if you want me to submit a pull request for this.
Thanks!

@eitrix i was thinking of splitting task into few: #1237


Nodes never receive ok-to-reboot

Running v0.7.0 with Kubernetes v1.7.16. Containers are in kube-system instead of reboot-coordinator due to internal security policy. Logs below, should be self-explanatory:
update-operator
I0912 22:49:20.767914       7 main.go:82] /bin/update-operator running
I0912 22:49:20.768335       7 leaderelection.go:174] attempting to acquire leader lease...
I0912 22:51:24.598115       7 leaderelection.go:184] successfully acquired lease kube-system/container-linux-update-operator-lock
I0912 22:52:01.662455       7 operator.go:537] Found 0 rebooted nodes
I0912 22:52:02.863635       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:52:02.863671       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion
I0912 22:53:10.267939       7 operator.go:537] Found 0 rebooted nodes
I0912 22:53:11.267125       7 operator.go:504] Found 1 nodes that need a reboot
I0912 22:53:11.746733       7 operator.go:511] Waiting for before-reboot annotations on node "<NODE>": [container-linux-update.v1.coreos.com/before-reboot-ready]
I0912 22:54:17.967210       7 operator.go:537] Found 0 rebooted nodes
I0912 22:54:18.968796       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:54:18.968832       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion
I0912 22:55:26.566616       7 operator.go:537] Found 0 rebooted nodes
I0912 22:55:27.464321       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:55:27.464353       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion
I0912 22:56:34.866901       7 operator.go:537] Found 0 rebooted nodes
I0912 22:56:36.161546       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:56:36.161579       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion
I0912 22:57:43.264264       7 operator.go:537] Found 0 rebooted nodes
I0912 22:57:44.467460       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:57:44.467499       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion
I0912 22:58:53.262647       7 operator.go:537] Found 0 rebooted nodes
I0912 22:58:54.461834       7 operator.go:479] Found node "<NODE>" still rebooting, waiting
I0912 22:58:54.461873       7 operator.go:481] Found 1 (of max 1) rebooting nodes; waiting for completion

update-agent
I0912 22:45:12.166367       7 main.go:45] /bin/update-agent running
I0912 22:45:12.166719       7 agent.go:84] Setting info labels
I0912 22:45:28.484271       7 agent.go:89] Checking annotations
I0912 22:45:28.702324       7 agent.go:109] Setting annotations map[string]string{"container-linux-update.v1.coreos.com/reboot-in-progress":"false", "container-linux-update.v1.coreos.com/reboot-needed":"false"}
I0912 22:45:29.429884       7 agent.go:144] Waiting for ok-to-reboot from controller...
I0912 22:45:29.430020       7 agent.go:285] Beginning to watch update_engine status
I0912 22:45:29.430647       7 agent.go:237] Updating status
I0912 22:45:29.430666       7 agent.go:249] Indicating a reboot is needed

Node Labels
container-linux-update.v1.coreos.com/before-reboot=true
container-linux-update.v1.coreos.com/group=stable
container-linux-update.v1.coreos.com/id=coreos
container-linux-update.v1.coreos.com/reboot-needed=true
container-linux-update.v1.coreos.com/version=1800.7.0

Node Annotations
container-linux-update.v1.coreos.com/before-reboot-ready="true"
container-linux-update.v1.coreos.com/last-checked-time=1536745054
container-linux-update.v1.coreos.com/new-version=1855.4.0
container-linux-update.v1.coreos.com/reboot-in-progress=false
container-linux-update.v1.coreos.com/reboot-needed=true
container-linux-update.v1.coreos.com/status=UPDATE_STATUS_UPDATED_NEED_REBOOT

Does closing the issue mean that it's solved? For what it's worth, a quick scan through your logs, it seems like the operator is waiting for a before-reboot hook to run before it triggers a reboot on the machine. Do you have one of those configured in the operator deployment?

It is solved. After typing the whole thing out, just realized I made a silly mistake with the quotes arou d true.

Awesome! Feel free to open another issue if you run into any other problems.


Feature/typings class exports

This change is needed because when you need to ensure that the type of the parameter being passed to functions is actually what you expect. when you do:
const requestQueue = await Apify.openRequestQueue();
await requestQueue.addRequest({...});

you get an instance of RequestQueue on requestQueue, but if you try to do this:
const doSomethingWithRQ = async (rq: Apify.RequestQueue) => { // errors
}

you can't, because RequestQueue is "internal" and not exported by main.js, but as a type, it's important to have this (same goes for KeyValueStore, SessionPool and Dataset)

TBH, the best would to actually export those classes from the main.js, like happens with RequestList and Session, for example. I know the idea is to make the preferable ways of doing this, through the Apify,open* functions, but if someone tries to instantiate the declaration (because it's available in the typings) it will fail at runtime

Can we export the types without affecting the API in any way?

yes, that's what this PR does, only the types. but if people try to
const requestQueue = new RequestQueue();

it will fail on runtime.

Cool, thanks Paulo.


Upgrade to API v3

Hi,
I just started using your module to link an IRC channel and I noticed that it still use the v2 API that will soon be stopped. Do you plan to move to the v3 ?
Using the api_url to point to the new URL does not work when trying to get information about hero (first query I guess).

Yeah, it's on my plate. I hope to get around to it next week :)

Cool :smile:
Off topic:

Are the api_user and api_key variables optional? Since we have to use .hero add.
The bot is supposed to read for new messages in the habitica chat and post them to IRC? I only manage to post messages from IRC to habitica with .say.

No, they are not optional. They are for reading the chat and when users haven't added their API key
Have you added api_user and api_key to your config file? Because that's where they are used 😉

Had I known people would actually use this, I'd have put more effort into the documentation 😥

Yes I have them, I also added a channels variable with the same value as the one in the [core] section, otherwise (if I remove the channels from the [core]) the bot does not connect at all.
I totally understand that documentation isn't your main focus. I know the feel  :laughing:

Hmm. Can you paste me your config file (minus passwords and API keys, of course)?

[core]
nick = botname
host = ircserver
use_ssl = false
port = 6667
owner = mynick
channels = #chan

[habitica]
api_user = user-id
api_key = key-id
channels = #chan
chats = group-ip

I tried with the enable option but this way I have all the default modules and habitica.

Well, you've completely anonymized that, so I can't tell anything for sure.
Does the .hero command work?
If not, are you sure the bot has voice in your channel?

Sorry about that, what information do you need? The server ones are correct since the bot joined the IRC channel and the habitica also because .hero gives me my current health/exp/mana and .say post in the right habitica group chat.  I used it with sopel v 6.3.1.
I tried with only habitica enabled and there's no error in the logs.

Just chining in that version 2 of the Habitica API will be officially deactivated on July 15th.
Here is a migration guide for upgrading to version 3. If you have any questions, feel free to reach out on Github or the Aspiring Comrades Guild.


Pulling beta 7 changes to the West Rail PIDS branch

Changes are too complex, sorry. It would be easier to write it again from scratch.

So is it just too complex to merge/catch up all the commits, or the code itself is too complex?
Either way I'll see what I can do when I got time

Actually, if you look at the network graph, it seems like this is just an old fork of a merged branch so I don't think I need to merge it again.

So do I need to do anything with this?
Sorry, not familiar with how PR works here (Normally I juat create my branch, work on it, then request to merge to the latest code)

Yeah I don't think there's anything you need to do. Good work on the ticket machines, I merged that in today!

Still not sure what is this suppose to mean, it's merged into a new branch called "west-rail-pids"
Then this is suppose to pull all the latest change to the "west-rail-pids" branch, but is closed so changes were not made.
Then the branch just disappears? I don't see any indication of the code being merged to the "beta-7" branch

It's not merged because the pull request is closed. The code is too out of date so there were too many merge conflicts.

So if the West Rail PIDS has to be implemented, does that mean I have to rewrite it again on the latest commit?

Unfortunately yes, sorry about that. The depot update changed a lot of the PIDS mechanics, so it might need to be rewritten.


typo in the doc: horrizontally -> horizontally

Short description of what this resolves:
It fixes a typo. I did not create an issue as suggested by the guidelines, I thought it would not be useful.

Thanks for the PR!


C-dot-validator

Corrected issue in pull request #78

@NathanJPlummer,
I also added the author and category properties to the showcase file. I hope that's okay with you?

@jmatembu
That's excellent.  Thank you for that.


Bookmark - Save Bookmark

Select an existing Bookmark to edit.
Clear input field, ensure the input field is empty.
Click save.
Expected Result:  Clicking Save button should not commit, but should instead display a toaster message similar to that when pressing enter when the input field is empty.

Passed on develop.  Was able to bookmark all queries except uploaded files.  The Save to Bookmark option was greyed out for those.


add main-container

add main-container to application.html.erb
edit index.html.erb & application.html.erb & custom.css
propose: avoid main-container from appearing repeatedly in multiple html.erb

Please describe the changes and propose in the PR message

avoid main-container from appearing repeatedly in multiple html.erb

LGTM

@IanWen103026 @ckeisc43rd-cjtsai Check the solved conflict
is it correct?

Correct.


skip commits with no description

per the second bullet of my request #75
i see the complexity of skipping whole sections per your initial response to my first bullet, but still wondering if something like this would work for skipping individual items?
if that works - probably best to make optional via additional configuration boolean?

Yes, that is not unreasonable, but I think it would also need to be wired in for changesets/commits (as TFVC can have changesets with no comments) for consistency. Also I agree that it all needs to wired in as an option, so there is a good deal of 'wiring' to do to enable that.
It will be a little while before I get a chance look at that, bit busy with VS2017 launch event related work for a couple of  weeks.

Testing with with PR #105


New extension "Screen resolution"

also, sorry for being karen last time)

Those blocks could belong in Navigator.

Those blocks could belong in Navigator.

@shreder95ua These blocks are already in this extension #708

I like it!

Those blocks could belong in Navigator.

@shreder95ua These blocks are already in this extension #708

@CubesterYT Well, I didn't knew about it :/

Those blocks could belong in Navigator.

Hm... Maybe...? Because I think of adding a lot of features to my extension soon.

Made redundant by #708


 The name "/swarm-agent" is already in use by container 5b6d8cc08a44dc6d862f1b4d13a77f7de8617dd0eaaa3872d636f22cdcd2547d. You have to remove (or rename) that container to be able to reuse that name.

Found it.  Failed to change docker environment back to default when starting the cluster.

Great! I'm glad it worked. Please let me know what you think of the project. Feel free to contact me if you have any questions or you need help.

Ya wanna know what I think about the project, okay here goes!
**Your workflow is the first automated docker reverse proxy system that I've used that actually functions as advertised.  **
I think it's utterly fantastic, because it does everything you claim it does, and nothing more.  Youve done very well with this one, @vfarcic

Thank you. It feels great hearing something like that and motivates me to proceed.
Proxy failover feature is coming soon.

Nice!  How will/does the fail over feature work?  I spotted the branch, but haven't played with it at all.

I merged the branch into the main yesterday. The feature is now part of the release 1.0.
When the proxy is started, it loads all the data from Consul and creates HAProxy configurations. That way as long as at least one Consul instance is running, data is always available and the proxy can be started or moved anywhere. If, for example, the whole server with the proxy dies, all you have to do is bring it up somewhere else and it will continue where it left. You can find more information in Proxy Failover section of the project README. Soon I'll write a more detailed article on the subject.
Try it out and let me know what you think. Please note that you'll have to upgrade the proxy container.


WFLY-9870 Intermittent failure in InterDeploymentDependenciesEarTestCase

https://issues.jboss.org/browse/WFLY-9870

Retest this please

Retest this please

Adding hold label as there have been some failures in the elytron run I have not seen before

Retest this please

Failures appear to have been unrelated


mac 电脑集成碰到的问题  No such file or directory

[INFO] preparing for tasks...
[-][read_project_info_task] failed. in 0.0s
[-][generate_file_stat_task] finished. in 0.2s
[-][gradle_clean_build_task] failed. in 0s
[-][clean_all_cache_task] failed. in 0s
[-][install_apk_task] failed. in 0s
[-][build_base_resource_task] failed. in 0s
[-][generate_project_info_task] failed. in 0s
[-][generate_apt_files_task] failed. in 0s
[-][append_file_stat_task] failed. in 0s
[ERROR] --------------------------------------------------------
[ERROR] Freeline ERROR
[ERROR] --------------------------------------------------------
Traceback (most recent call last):
File "/Users/berlin/Downloads/Android/project/freeline/freeline_core/task.py", line 123, in execute
self.task.execute()
File "/Users/berlin/Downloads/Android/project/freeline/freeline_core/gradle_clean_build.py", line 74, in execute
output, err, code = cexec(command.split(' '), callback=None)
File "/Users/berlin/Downloads/Android/project/freeline/freeline_core/utils.py", line 28, in cexec
p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, env=env, cwd=cwd)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
上面是命令行输入:python freeline.py -f之后输出的结果，不知道哪里出问题了，麻烦看一下，不甚感激

@mcdonaldLiu 复制一个 gradlew 文件过来即可，或者配置成使用系统的gradle命令，自己添加 buildScript

I encounter the problem too ,thx very much


Fix comparison

Current behavior: generate_block_comparison compares everything. This means fields like block_num, transaction_hash, etc. are reduced to "Same" as a result of the comparison.
What we want: Keep the actual structure of the results in tact and compare only the parts we want.

Solved in #53 & #57


📝 Docs: Standardize slogan as something without "simple"

Documentation Request Checklist

[X] I have read and agree to Mocha's Code of Conduct and Contributing Guidelines
[X] I have searched for related issues and issues with the faq label, but none matched my issue.
[X] I want to provide a PR to resolve this

Overview
Words like "easy" and "simple" are often used in writing to convey that something doesn't require extra complications or tooling. But they also mean in English that something should be literally "easy" or "simple" - which often isn't the case for devs new to a technology. It's good writing practice to use more precise adjectives instead.
Right now the Mocha slogan is "Simple, flexible, fun JavaScript test framework for Node.js & The Browser": https://github.com/mochajs/mocha/blob/645469e1920e2e86458ff068e74eef2e2915083e/README.md?plain=1#L5
Let's use a slogan that doesn't say "simple". Maybe just "flexible and fun" is enough?
Additional Info
https://justsimply.dev is a good resource that goes into more detail and has examples.

Food for thought, folks occasionally express a need for cross-JS-runtime tests. Example from  https://twitter.com/_nicojs/status/1762508703863894472:

Nicholas C. Zakas @slicknet
What I want: To write JavaScript tests once and be able to run them across Node.js, Bun, and Deno.
Problem: Bun and Deno have built-in test runners you have to import from to run tests. I use Mocha. This doesn't work.
Solution: ???

Maybe:

Classic reliable spec-style JavaScript test framework for Node.js & The Browser ☕

Or more cheeky:

The classic spec-style JavaScript test framework for Node.js & The Browser ☕

Simple, flexible, fun were all mantras in the beginning, now I think the focus should be more on being a reliable, trusted, no-thrills classic spec-style test runner – to maintain what works, not to push the boundaries.

I like the idea on focusing on reliable and trusted. Maybe those can become part of the mantra?
"spec-style" is -1 from me because many devs these don't know or care about assertion styles. This isn't a phrase many newer devs know of.
How about:

The classic reliable and trusted JavaScript test framework for Node.js & the Browser ☕

Maybe instead of cross-runtime, you could use runtime-agnostic? Though I guess agnostic is more syllables!


fix(oui-datagrid): prevent scroll from displaying inside the datagrid

Prevent scroll from displaying inside the datagrid
Description of the Change
Prevent a vertical scroll from being displayed
Applicable Issues
When adding a oui-clipboard the hidden tooltip makes the datagrid container overflow with a scroll. this scroll doesn't apply on all datagrid, it excludes the oui-action-menu
Example : MSB-31

You sure there are no situation where the scroll would be useful ?

@marie-j I'll merge this fix, but don't forget to migrate it on the v3 too :)

You sure there are no situation where the scroll would be useful ?

@FredericEspiau sure it could be useful but it has to be on the whole datagrid and shouldn't exclude oui-action-menu


dummy driver

Is there any such thing as a dummy driver that just returns a result without going to a database?  I was thinking of using it to see whether I have any performance limitations on the ycsb side without even getting a database involved.

I think you are looking for the BasicDB which is called 'basic' on the command line.
https://github.com/brianfrankcooper/YCSB/blob/master/core/src/main/java/com/yahoo/ycsb/BasicDB.java
For testing the YCSB overhead you will want to set basicdb.verbose to false (it defaults to true).

@tdeneau did that answer your question sufficiently?

closed as stale. please reopen if you have follow-on questions.


Google Compute Engine: unsupported YUM repos

I'm getting the following errors about the elevate upgrade running on a Google Cloud GCE instance.  These are the packages that Google installs on their CENTOS 7 base images to support working with GCP resources. Also I have Docker installed on this host.
# sudo /scripts/elevate-cpanel --check
* 2023-01-25 16:35:31 [ERROR] 5 package(s) installed from unsupported YUM repo 'google-compute-engine' from /etc/yum.repos.d/google-cloud.repo
* 2023-01-25 16:35:31 [ERROR] 1 package(s) installed from unsupported YUM repo 'google-cloud-sdk' from /etc/yum.repos.d/google-cloud.repo
* 2023-01-25 16:35:31 [ERROR] 1 package(s) installed from unsupported YUM repo 'google-cloud-ops-agent' from /etc/yum.repos.d/google-cloud-ops-agent.repo
* 2023-01-25 16:35:31 [ERROR] 6 package(s) installed from unsupported YUM repo 'docker-ce-stable' from /etc/yum.repos.d/docker-ce.repo
* 2023-01-25 16:35:31 [WARN] Unsupported YUM repo enabled 'google-cloud-logging' without packages installed from /etc/yum.repos.d/google-cloud-logging.repo
* 2023-01-25 16:35:31 [WARN] Unsupported YUM repo enabled 'google-cloud-monitoring' without packages installed from /etc/yum.repos.d/google-cloud-monitoring.repo
* 2023-01-25 16:35:31 [WARN] *** Elevation Blocker detected: ***
  One or more enabled YUM repo are currently unsupported.
  You should disable these repositories and remove packages installed from them
  before continuing the update.

Problematic repos:

google-compute-engine
google-cloud-sdk
google-cloud-ops-agent
docker-ce-stable
google-cloud-logging
google-cloud-monitoring

I don't know if anyone has tried doing an in-place os upgrade on a GCE-hosted cpanel instance before, but I'm willing to try it with this test instance I have.

We recommend you remove those repos and their related RPMs, if possible, and then re-run the upgrade. My one caution to you will be that you be sure there is no data loss associated with the packages before you begin. At which point, you can re-install them when you're done. This is essentially how elevate-cpanel works on stuff we support.

@lukwam did this solve your issue?

Thanks for your help! I haven't gone the route of trying the in-place upgrade yet.  I still have until 2024 to get off centos7. So I spent a little time trying out some of the newer Linuxen, such as ArchLinux and Rocky Linux. One I figure out the best option for me to use on GCP, I'll do a blog post about it.  But we can close this issue in the meantime!


indicate which node is missing agenix and agenix-rekey modules

Note: This is just error enhancement.
When running agenix rekey, if a node (typically a host) doesn't have both agenix and agenix-rekey included as modules, you will see an error like this:
       error: attribute 'age' missing
       at /nix/store/zy9vgszqqqh51wmk8cjj6hghx6fydwbi-source/apps/rekey.nix:41:43:
           40|
           41|   nodesWithDerivationStorage = filter (x: x.config.age.rekey.storageMode == "derivation") (attrValues nodes);
             |                                           ^
           42|

This error doesn't tell you which host is missing the modules, let alone that the modules should be included.  The agenix rekey tool has this information available and can provide it upon encountering this issue.  These changes will detect the missing keys and halt with an error indicating which node is causing the problem and that the required modules (agenix and agenix-rekey) must be included.  The user will still encounter the error in the same place and there is no change in actual functionality.  Now this is what they will see:
       error: Node "my-host" is missing the agenix module.
       agenix-rekey cannot continue until all nodes include the agenix module.

When only agenix-rekey is missing:
       error: Node "my-host" is missing the agenix-rekey module.
       agenix-rekey cannot continue until all nodes include the agenix-rekey module.

Looks like the branch build is failing on account of a formatting issue.  I was originally working on this from an older version where the formatting was different.  I thought the new formatting got picked up (there were changes made).  Computers are hard to use 😅
I'll get it addressed next time I'm behind my machine.

I think I misread my email.  Looks like it's passing here!  Must've been one of my earlier commits before I'd rebased things.

I am not an author or maintainer, but just wanted to thank you for this PR - I spent several hours trying to troubleshoot this error and triple checking the steps executed against the project's README. It never occurred to me that both agenix and agenix-rekey have to be imported to ALL of the hosts, even if they are used only in one...
The error: attribute 'age' missing message is absolutely useless and this PR pointed me in the right direction, thanks!

Thanks, this is a great addition :)


button visible depending on whether or not you have permission to delete

Title
button visible depending on whether or not you have permission to delete
Type of Change

[ ] New feature
[ ] Bug fix
[ ] Documentation update
[ ] Example update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[ ] UI/UX improvement

Issue
[Linked issues]
Description
[Provide a detailed explanation of the changes you have made. Include the reasons behind these changes and any relevant context. Link any related issues.]
Screenshots
[Add screenshot of the changes you have made]
Testing
[Detail the testing you have performed to ensure that these changes function as intended. Include information about any added tests.]
Impact
[Discuss the impact of your changes on the project. This might include effects on performance, new dependencies, or changes in behaviour.]
Additional Information
[Any additional information that reviewers should be aware of.]

Hey,
Thanks for the oversight 🙏
Can you please add a changeset file to your pull request ? You can run yarn changeset to add this file. For more explanation on the release workflow, see CONTRIBUTING

I checked and applied it. Thank you


Rationalize and rename classes across receiver and client

We have lots of duplicated code across ZscriptField and ZscriptExpression, in the receiver and client code. Some of it was consolidated, but let's finish it. Changes here should also be reflected to the C++ core.

Renamed:

ZscriptCommandOutStream -> CommandOutStream
OutStream -> SequenceOutStream, OutStream becomes new common interface
ZscriptField -> ZscriptTokenField, and new ZscriptField interface added to tokenizer


Scroll Problem on a Scrollable Screen

When I add a web view inside a screen that is scrollable, the mouse wheel actions are recognized by both the web view and the screen. Take the following case as an example:
I have a chart on a scrollable screen. Normally, the chart should zoom in/out when the mouse wheel is scrolled and the screen should NOT scroll. However, the screen is also scrolling while using this package. I am also using flutter_inappwebview package for the web platform. When I run the app on a desktop web, it does not have this issue. What can be the reason and how to fix it? @SinyimZhi Thanks from now on.

@bahricanyesil I think it is caused we didn't prevent the onPointerSignal event passed to the parent widget. Can you try to find webview.dart line 460 and change the code like this

the code is here  if (p is PointerScrollEvent) {                 _controller._setScrollDelta(p.localPosition,                     p.scrollDelta.dx.round(), p.scrollDelta.dy.round());               }

Thanks for your quick response @SinyimZhi. I found and updated the related section in the webview.dart file as follows:
 onPointerSignal: (signal) {
            GestureBinding.instance.pointerSignalResolver.register(signal, (p) {
              if (p is PointerScrollEvent) {
                _controller._setScrollDelta(p.localPosition,
                    p.scrollDelta.dx.round(), p.scrollDelta.dy.round());
              }
            });
          },

The issue has gone and now we can scroll inside webview by preventing the passing to the parent.
Thank you so much @SinyimZhi 🙏  🥳

@SinyimZhi How to achieve the same thing for the hold and move action with the left click? I also want to disable parent actions for that type of event and only handle them inside the webview. Those events are types of onPointerMove/onPointerUp/onPointerDown instead of onPointerSignal. How to determine which widget handles those events, can you help?


Unable to connect until next restart after bad handshake

If you attempt to connect via the dolos socket with an incorrect network magic, you will get an HandshakeProtocol(Plexer(AgentDequeue)) error.
However, even after correcting the network magic, subsequent connections will fail with connection refused:
ConnectFailure(Os { code: 61, kind: ConnectionRefused, message: "Connection refused" })

Note that, much like #293, the only indication that something is wrong comes when you shut down the node
2024-07-13T20:46:59.257467Z  INFO stage{stage="ledger"}: gasket::runtime: switching stage phase prev_phase=Teardown next_phase=Ended
Error:   × serve thread
  ├─▶ serving Ouroboros
  ╰─▶ server error: handshake version not accepted

fixed by #297


[Bug report]: Failed To Update To Firefly 2.0

Platform
Desktop
Version
1.7.5
Description
After successfully logging in, I receive a toast notification that Something went wrong.

And then on the main dashboard, there is a notification to update the app. I clicked to update from within the menu and received an error that the update failed; An error occurred during the update. Please try again.

Expected behaviour
Firefly to have successfully updated to version 2.0
Actual behaviour
Firefly failed to update to version 2.0 from 1.7.5
Can the issue reliably be reproduced?
Yes
Steps to reproduce the issue

Login
See initial error message; Something went wrong
Click to update version from menu
During the download process, received message An error occurred during the update. Please try again

Operating System
Mac
Diagnostics
Nothing new reported in the Error log.

Diagnostics:

Version 1.7.5
Language: en
Currency: GBP
Node selection: Manual
Platform: macOS
Platform Version: 13.4
Platform Architecture: x64
CPU Count: 8
Total Memory: 16384.0 MB
Free Memory: 286.4 MB

Developer Profile
No
Profile Type
Software (Stronghold)
Staking
None
Crash Status
None of the above
Error Messages
See description
Error Logs
None generated for when the error occurred. Last error output was in 2022.

Duplicate declaration

[X] I have searched the issues tracker this issue and there is none

Code of Conduct

[X] I agree to follow this project's Code of Conduct

We are investigating, please update from the official website https://firefly.iota.org/

The issue has been fixed, we had a wrong appId which made the auto update fail. Please download the latest version 2.0.2, and the issue should be solved from now on 🙏🏼 apologies for the troubles


CLI v10 Failed to decode downloaded font (OTS parsing error: incorrect entrySelector for table directory)

🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[x] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: 9.1.0
Description

Angular CLI 10 doest not parse custom font correctly.
🔬 Minimal Reproduction

ng new appTest --style=scss
import fonts into style.scss
ng serve

and see developer tool
Minimal repo for reproduction: https://github.com/billyjov/ng-bug-font-decode
🔥 Exception or Error

localhost/:1 Failed to decode downloaded font: http://localhost:4200/MaterialIcons-Regular.woff2
localhost/:1 OTS parsing error: Size of decompressed WOFF 2.0 is less than compressed size
localhost/:1 Failed to decode downloaded font: http://localhost:4200/MaterialIcons-Regular.woff
localhost/:1 OTS parsing error: incorrect file size in WOFF header
localhost/:1 Failed to decode downloaded font: http://localhost:4200/MaterialIcons-Regular.ttf
localhost/:1 OTS parsing error: incorrect entrySelector for table directory

🌍 Your Environment

Angular Core: 10.0.9
Angular CLI: 10.0.6
OS: Windows 10
Browsers: Chrome latest & Firefox latest

Anything else relevant?

Hi @billyjov,
Thanks for reporting this issue, however this is not caused by the Angular CLI. Loading the fonts in a plan CSS and HTMl without the Angular CLI yields the same results. It's likely that your font is corrupted.

Hi @alan-agius4 Thanks. You're right. my files was corrupted due to automtatic files migrations. Thanks!


Extending another project's configuration uses current project's configuration instead

Creating a configuration for moduleB that extends a configuration from moduleA uses the dependencies from moduleB's configuration instead of moduleA's.
Expected Behavior

The dependencies for moduleB's configuration should be those of the extended configuration in moduleA.
Current Behavior

The dependencies for moduleB's configuration are the ones declared in moduleB, not the ones from moduleA (even if moduleB does not have a configuration by the same name).
Context

We use a multi-project build and many projects depend on a central API project that includes many external dependencies.  We produce separate, semi-portable jar files for each project and each of these jar files includes the external jars that it depends on.  However, we want to eliminate the jar files that are already included in the API project to reduce the size of the jar files we build.
We had been doing this by referencing the API project and then getting the appropriate configuration to do the deduplication (e.g., project.project(":api").configurations.external).  Since upgrading to Gradle 5.0, we are seeing warning messages like so
The configuration :server:api:external was resolved without accessing the project in a safe manner. This may happen when a configuration is resolved from a thread not managed by Gradle or from a different project. See https://docs.gradle.org/5.0/userguide/troubleshooting_dependency_resolution.html#configuration_resolution_constraints for more details. This behaviour has been deprecated and is scheduled to be removed in Gradle 6.0.
The referenced documentation provides a good suggestion for how to resolve it:

In most cases, the deprecation warning can be fixed by defining a configuration in the project where the resolution is occurring and setting it to extend from the configuration in the other project.

This does not work, unfortunately unless I'm misunderstanding what is being suggested.
Steps to Reproduce (for bugs)

The attached example is a simple two-project build with a single task "showDedupes" that illustrates the problem.
gradleCrossConfig.zip
Your Environment

Gradle 5.1.1
Java 11

Is there any chance this problem will get addressed for Gradle 6.0?  (I've just tried with my simple example project provided here and Gradle 5.6.2 but the problem persists.) We will likely need to switch to 6.0 soon after it is released in order to get Java 13 support, so I'm trying to understand if I need to find an approach other than the one suggested in the docs to be able to do our dependency subtraction.
If you have suggestions for a different approach, that would also be appreciated.

This is not going to be fixed in 6.0 because extending another project configuration is unsafe. Instead, we have updated the documentation to reflect this: https://docs.gradle.org/release-nightly/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors

Note that you can easily share dependencies using, for example, the Java Platform plugin, which is safer.

Closing as documentation has been updated and there is no plan to allow extending configurations across project boundaries.


Hi eros only to let you know I'm working on the layer system here is a preview

This is TypeScript working on the UI and logic > next integration in comfyui.
https://github.com/user-attachments/assets/c8aa8ae0-e9a1-4748-93c7-7566c67ad8e1

if you write it without specific frameworks (vanilla js) we can try to see how to integrate it.

in comfy ui we can a so called "dom widget" which basically is a way to say some html that provides a custom gui and one (or more) values. the "hard" part (but just because I don't know) is how to apply the clipping mask the way photoshop does (I will have to apply regardless of transforms or have a way to manipulate it iinside the canvas) next week if i find time I will make some experiments for easy parts of the widget that will some "advanced" canvas interaction (preliminary work for clipping"
-keep in mind there is a powerful extension called layer style that might already do something similar or what you want to achieve

I'm using react typeScript with some frameworks using some frameworks I have basic knowledge in HTML, CSS and Java Script, looks like the new ComfyUI version are using TypeScript after finishing all the UI part I will furter investigate how to properly integrate it in ComfyUI and let you know.

I'm using Cursor code editor with Claude to help me with part of the code I don't know how to implement learning a lot in the process specially dealing with Library's and addressing bugs first time in my life doing this.

archiving the discussion


Libinput renaming

You said feel free, so here it is! Hopefully won't get too much in the way of anyone, might be a pain if they have changes pending in libinput.
Also sneaked in a change that makes wayland backend not hog CPU needlessly, happy to resubmit that separately if you think it is worth discussing.
copy/paste from commit message for summary:
- backend state's 'libinput' to li_context
- libinput_device ('device') to li_dev
- wlr_device ('dev') to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists

I don't like shortening libinput to li, but device -> dev is fine.
wlr_device should not become wlr_dev (I considered and rejected this, reason being that wlr_device is more exposed to the public API and should be clearer (and not that long anyway))
Please separate that wayland backend commit into another PR.

@Timidger we've missed you in the IRC, you gonna come hang out and help us work on wlroots?

I don't like shortening libinput to li, but device -> dev is fine.

I was hesitant about it, re-changed to use libinput as full prefix all the time

wlr_device should not become wlr_dev (I considered and rejected this, reason being that wlr_device is more exposed to the public API and should be clearer (and not that long anyway))

I'm not talking about any exposed wlr_device (no struct or function argument were changed), but the 'dev' variables inside our functions.
Happy to go with full wlr_device but I do not think there is a problem there.

Please separate that wayland backend commit into another PR.

Done. I just can't get used to github PR and thought I could get away with that, won't try again :P

Thanks!

If you are not satisfied with libinput -> li, I would also merge libinput_ctx.


Add SARIF support

Add support for output in SARIF format.
About SARIF format:
https://sarifweb.azurewebsites.net/

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

@yongyan-gh
@eddynaka

@ekohl
SARIF format need to have a description of the rule (beside the message that is very specific the the error found which we already have now),
and a help uri if it is available.
I can see in each rule it do have this info but in the comments.
I will go ahead and modify each rule and also expose them in the object properties so I can get in the code,
let me know if that sounds good?

@ekohl
SARIF format need to have a description of the rule (beside the message that is very specific the the error found which we already have now), and a help uri if it is available.
I can see in each rule it do have this info but in the comments. I will go ahead and modify each rule and also expose them in the object properties so I can get in the code,
let me know if that sounds good?

the above example is not a good example, the message do not have any extra data so it looks like it can be directly used as description as well, but we have rules like this: :message => "indentation of => is not properly aligned (expected in column #{arrow_column[level_idx]}, but found it in column #{arrow_tok.column})",
the rule description we are looking for, is static for a rule.

I have done making this change and updated the PR.
fyi the new data will be visible in SARIF viewer UI like below:

I have verified running with plugins don't have those 2 new properties, will not throw any error and will just have those 2 sarif properties not populated.
I found this file lib/puppet-lint/checkplugin.rb has some description, I added the 2 new properties.

In reply to: 930112225

At this point I think this looks good, but someone who actually has access on this module needs to step in and do a review. I can't even approve CI to run.

@binford2k Can I nominate @ekohl for trusted contributor access to this repo? :)

I've kicked off the CI run 👍

Thanks for looking and triggering the CI! let me know.
(The plan is after the support for SARIF output is added to the tool, I will work on creating a starter workflow in the GitHub code scanner starter workflow repo to make it available as a GitHub code scanner. I have added more information in the description of this PR at the top. )

@shaopeng-gh This looks fine and it looks like you have addressed all of the comments from @ekohl.
My only question is do we need the scan.yml in this repo? If it is an example, would it be better to include in in the README?
Thanks!

@chelnak your are correct, I have removed this file form the pr. It is just an example I will be submitting it to GitHub code scanner starter workflow repo, and user will be able to use it.
After that is done we can add a few lines in the readme mentioning there is a GitHub starter workflows available.

A gentle ping, after this is merged and a new version created I will work on the GitHub code scanner starter workflow. Thanks!

@shaopeng-gh Thanks for putting in the work :)

@shaopeng-gh I'm really looking forward to seeing what happens with this.
Thank you 🙏

@chelnak
thanks, not familiar with how Ruby Gems are updated, can a new version to be published so that in the workflow I can use below command to install and have the --sarif support:
gem install puppet-lint
https://rubygems.org/gems/puppet-lint/versions I see last version is 2.5.2 - September 14, 2021


Change CMakeLists.txt in toolsrc to allow compiling with llvm toolset

a few other minor fixes due to warnings compiling with clang

@Neumann-A, thanks for contributing to vcpkg!
All triplets build successfully:
Processing arm-uwp                        403 vs 403
Processing arm64-windows                  452 vs 452
Processing x64-linux                      585 vs 585
Processing x64-osx                        577 vs 577
Processing x64-uwp                        431 vs 431
Processing x64-windows                    856 vs 856
Processing x64-windows-static             759 vs 759
Processing x86-windows                    841 vs 841

Hi @Neumann-A
We want to avoid requiring CMake version higher than 3.5.

@vicroms: I read somewhere that is due to Ubuntu 16.04. Considering that compiler flag c++1z is c++17 and 16.04 only comes with gcc 5.4 which does not support all c++17 features we either reduce c++ to 14 or we bump up the cmake version and drop support for Ubuntu 16.04. (I think std::filesystem is already a killer for c++14 and gcc 5.4)

Hi @Neumann-A
My hands are tied here, it is not for me to call whether we drop Ubuntu 16.04 or downgrade to C++ 14.
And personally, I don't think we should.
And that change seems to be orthogonal to getting rid of the llvm warnings.

Hi @Neumann-A
After some developments we think it is OK to proceed with these changes.

We require at least g++-6 to be installed and provide instructions to acquire it in Ubuntu.
We download CMake 3.14 during the bootstrap script. This means we can move forward with upgrading the required CMake version.
On Alpine Linux, g++-8 and CMake 3.14 are available from the system package manager apk.
This is not a concern for supporting Visual Studio 2015 because we build with MSBuild.

Can you rebase this PR on top of the latest master?
Also you might want to join efforts with @ubsan in #7638.

Tested and confirmed working on Ubuntu 16.04 and on an Alpine Linux image in docker


Allow custom logging implementations

Kafka-node should be easier to integrate into larger applications. A
large part of this is log handling. Debug's log output configuration is
not really usable for application developers and does not allow
filtering of log messages by level.
This PR adds the ability to set logger providers while retaining the
current default logging strategy: debug.
Fixes #595

I kept the majority of the log statements at the debug level as I am not sure how important they truly are. Those statements which log an error have been set to error.

Thanks @bripkens !


Update to 1.12.2

I am sorry to post this here, but computercraft has been updated to 1.12.2 so i would like this to be ported to 1.12.2, along with the other openperipheral mods.

Plethora covers a lot of the functionality OpenPeripherals implemented.

@apemanzilla Sorry, but how this information relates to THIS mod?
Anyway, I'm naturally aware that this mod is not ported, so this is something that does not have to be reported.

thank you

@boq I was suggesting an alternative for the time being, since it supports 1.12 and has much of the same functionality.

I saw what you did. Anyway, that was irrelevant to this issue. Answer to "I have Windows issue" is not "Use Linux".

I'd argue that a more apt comparison is Windows XP (or some other unsupported version) and Linux


Titan db_bench fillrandom slower than rocksdb

The write patch of Titan is mostly the same as rocksdb (except for the TitanDB wrapper), so their performance should be similar. However titandb_bench show Titan is slower than rocksdb in fillrandom benchmark.
db_bench command:
/titandb_bench_6.4 --db=/data2/yiwu/db_bench --use_existing_db=false --benchmarks=fillrandom --num=10000000 --duration=300 --use_titan=true|false

with rocksdb 5.18 (commit 19ea115)
with titan
fillrandom   :       6.627 micros/op 150901 ops/sec;   16.7 MB/s

without titan
fillrandom   :       3.978 micros/op 251408 ops/sec;   27.8 MB/s

with rocksdb 6.4 (commit c99cf9d)
with titan
fillrandom   :       4.684 micros/op 213505 ops/sec;   23.6 MB/s

without titan
fillrandom   :       4.011 micros/op 249314 ops/sec;   27.6 MB/s

Need to check if other benchmarks (e.g. read path) has similar perf regression compare to rocksdb.

after disabling GC titan is on par with vanilla rocksdb:
titan with rocksdb 6.4 (commit c99cf9d), disable GC:
fillrandom   :       4.020 micros/op 248783 ops/sec;   27.5 MB/s

It is known issue running GC will slow down user writes, so the above result is expected. The remaining issue is why 6.4 perform better than 5.18 in this case.

Using the db_bench from commit c99cf9d with 5.18 (with necessary modification) end up with similar result as 6.4.
fillrandom   :       4.632 micros/op 215911 ops/sec;   23.9 MB/s

Suspecting the performance difference comes from db_bench change.

Bisecting to find out what cause the performance difference. The change seems to be between 5.18 (tikv-3.0 branch) and rocksdb commit b1ad6ebba.


Suppress warnings on stream_socket_client

When calling stream_socket_client and gnatsd is not running, stream_socket_client throws warnings , not exceptions. So I have added void error handler that suppresses just this call end then pops out of an error handler stack.
And if stream handle does not exist, now exception is thrown before trying to call stream_set_timeout.
Tests are added by using hopefully non used port in travis.

Coverage increased (+0.6%) to 88.832% when pulling 6890b6a10eabb869358dfc6de6a22fee1df8c954 on Rentlio:develop into d1fc1dace5e1037cd4d0d26b7b527c73231caaa3 on repejota:develop.

Coverage increased (+0.6%) to 88.832% when pulling 6890b6a10eabb869358dfc6de6a22fee1df8c954 on Rentlio:develop into d1fc1dace5e1037cd4d0d26b7b527c73231caaa3 on repejota:develop.

Coverage increased (+0.6%) to 88.832% when pulling 6890b6a10eabb869358dfc6de6a22fee1df8c954 on Rentlio:develop into d1fc1dace5e1037cd4d0d26b7b527c73231caaa3 on repejota:develop.

Thanks! 👍


"Open Millennium" button doesn't always appear in the "Interface" category in Steam Settings

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by the Millennium interface inside Steam (Themes, Plugins & Update Panel). If it is, make a issue report in this repo.
[X] My issue is not caused by a theme

Describe the Bug
The title really says it all. Under the "Interface" category in Steam settings, the "Open Millennium" button doesn't always appear. So this basically means that, sometimes, I can't change my theme.
Expected Behavior
I expected the "Open Millennium" button to always appear.
Steps To Reproduce

Select the Steam menu at the top left
Select "Settings"
Select "Interface"
The button isn't always there

Operating System
Windows
Anything else?
No response

Switch to Millenniums beta, it has a plethora of fixes for stuff like this!
https://docs.steambrew.app/users/installing


error message on boot when cgroup v2 is used

If rc_cgroup_mode="unified" is set in /etc/rc.conf, during boot following error message is present:
 * Mounting /sys ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting SELinux filesystem ... [ ok ]
mkdir: cannot create directory '/sys/fs/cgroup/cgroups': No such file or directory
 * Remounting devtmpfs on /dev ... [ ok ]

It looks like it's related to cgroups service and following lines:
https://github.com/OpenRC/openrc/blob/229692cc3424e95d8185e6c681b76c0dc88899f9/sh/rc-cgroup.sh#L185-L186
Reproduces every time.
No such errors are present for any other service.
Expected behaviour: no error messages during boot.
OS: Gentoo Linux amd64
openrc version: 0.42.1
Kernel without any initramfs is used.

I am experiencing the same

I am experiencing the same

This should be fixed in 0.43.
https://github.com/OpenRC/openrc/commit/4fb4674374931be2fa279692800185078f350d9f


[#37] Explicitly handle transactions in the runner

Closes #37 .

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

Project coverage is 97.37%. Comparing base (0c55577) to head (a971f55).
Report is 49 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   96.89%   97.37%   +0.48%
==========================================
  Files           8       24      +16
  Lines         193      991     +798
==========================================
+ Hits          187      965     +778
- Misses          6       26      +20

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


Cannot upload files bigger than 1MB in FileBrowser

Hello,
I have deployed Hue using official docker image but I do have an issue when using the FileBrowser.
The upload process works well if file is smaller than exactly 1MB, otherwise I get an error returned by Nginx : 413 Request Entity Too Large
No logs on Hue Server logs.
Am I the only one and how can I change this limit ?
Hue version 4.7.1 deployed on k8s.

Please note that I have no problem uploading big files using Ambari File view or CLI, which means that the error is linked to Hue only.
Thanks

Could be related to Nginx limitation : https://www.tecmint.com/limit-file-upload-size-in-nginx/
I guess I am not the only one to have the issue ? Everyone using docker image should be concerned ?!

Could be related to Nginx limitation : https://www.tecmint.com/limit-file-upload-size-in-nginx/
I guess I am not the only one to have the issue ? Everyone using docker image should be concerned ?!

Could put 100MB or 0 for client_max_body_size 100M; in deed.
The nginx config for the Docker image is https://github.com/cloudera/hue/blob/master/tools/docker/nginx/nginx.conf#L10
Would you like to patch it, rebuild and confirm?

Could put 100MB or 0 for client_max_body_size 100M; in deed.
The nginx config for the Docker image is https://github.com/cloudera/hue/blob/master/tools/docker/nginx/nginx.conf#L10
Would you like to patch it, rebuild and confirm?

Sorry for the late update but it was actually a bad configuration on Ingress side (hue was deployed on a Rancher cluster). Not a hue issue.

Sorry for the late update but it was actually a bad configuration on Ingress side (hue was deployed on a Rancher cluster). Not a hue issue.


If an error happens, the original file is reduced to zero bytes!

I'm trying to shrink this 2.5M image, and I get the error below, but at the same time my file is reduced to zero bytes, although the "Add .min sufffix" is enabled!

Image Shrinker version: 1.5.0
macOS version: 10.14.6

It must be an error in execFile here: https://github.com/stefansl/image-shrinker/blob/66fcf0b1f5a89f96ddda863b0cf4457fa99ef9f0/main.js#L246
If it thows an error (which it does in your case) the error will be logged in your native log of macOS (check your Console.app). Can you find any entries here?

The error in the Console is:
nw_path_close_fd Failed to close guarded necp fd 31 [9: Bad file descriptor]

I just tried to use mozjpeg's cjpeg bin in the commandline and it worked, but only if the -outfile is different than the input file, e.g. cjpeg -outfile test.jpg test.jpg fails with a zero-byte file.
Also, have you considered using imagemin-mozjpeg as mentioned in the README of the lib you use?

Yes, I did. But the problem with imagemin is, you can't control the output. Means, I didn't find any possibility to change the filename to .min. But in the end imagemin is just a wrapper ...
The problem is now, it's not reproducable. The only thing I could do is to create a tmp copy from the original image, so that this will not be destroyed in case of an error.

But since the output should be another file ending with .min.jpg, why is it writing on the original file anyway? (the .min option is on in my settings)

That's should not happen, of course. Is it a fresh install or did you update?
Maybe you can try the develop branch: https://github.com/stefansl/image-shrinker/tree/develop

Just tried it with the develop branch:

Thanks for your help, @antoinerousseau !
So now it makes sense according to this issue: https://github.com/mozilla/mozjpeg/issues/248
The only thing I ask myself, why the Shrinker does ignore the "add .min" setting. Please try to change the settings and then change it back. Maybe it works then?

Indeed, switching the setting off and on again worked!

Ok, I will check the initial settings. Thx for your help!

Fixed in 09e5d89210c2b4c9d5c0c0735c1f79a4ed42384b

Can you please release an update?
version 1.5.0 still empties jpg files
Thanks


knex.schema.createTable does not work

Hello! this code does not create table in my local DB. No error throwened and no console output. What's wrong with it?
var knex = require('knex')({
    client: 'pg',
    connection: {
        host     : '<IP_ADDRESS>',
        user     : 'postgres',
        password : '***',
        database : 'kp-bookshelf',
        charset  : 'utf8'
    }
});

knex.schema.createTable('user', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.string('role').defaultTo('admin');
    table.string('password');
    table.timestamps();
});

@alexey2baranov You need to call .then or .asCallback

@wubzz
where ? after createTable()? if so, nothing changed

oh sorry table was created! i was surprised. why should i use then()???

@alexey2baranov Knex is a query-building library, so simply calling createTable will do nothing except generate the SQL string.
This will show you the generated SQL:
console.log(knex.schema.createTable('user', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.string('role').defaultTo('admin');
    table.string('password');
    table.timestamps();
}).toString());

To have knex run the SQL, you need to call .then or .asCallback as an execution function. This can also be chained with other promises.

yes it works but anyway i can't understand why I should use then()?? as I can see when working with promises Promise body function always executed not matter with then() or without then()

@wubzz
yes it works but anyway i can't understand why I should use then()?? as I can see when working with promises Promise body function always executed not matter with then() or without then()

Because in knex a promise isn't actually created internally until .then is called, for historical reasons (and which is something I'm looking to change eventually). The reason is that you can chain several schema building calls:
knex.schema
  .createTable('user', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.string('role').defaultTo('admin');
    table.string('password');
    table.timestamps();
  })
  .createTable('account', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.timestamps();
  })

And then you call .then when you want to execute.
So the issue is because it's not actually coerced into a promise until then, catch, asCallback, etc. are called - which happens internally when working within the up/down migration methods.
I'm looking into different approaches to make this more obvious, such as marking when a chain is only used for string building purposes, and then checking if any unmarked builders are not turned into promises on process.exit, as this is a pretty common issue that folks run into when starting to use knex.
For the schema builder, I'm also considering just a process.nextTick which would automatically execute the chain if toString / toSQL etc weren't called.

@tgriesser
Thank you for full reply.  Now i know internal logic i can understand this behavior. I think as this behavior is not intuitive have to be documented in manual.

@alexey2baranov it is documented in http://knexjs.org/#Interfaces any pull requests for improvements to docuementation are welcome.
In addition to Tim's explication: Query builder object in knex is something that Promise A+ spec calls thenable https://promisesaplus.com/#point-7 . Thenable is an object that implements .then function to make object to interact with promises nicely. Indeed as Tim said this seems to be less obvious functionality to many developers.

Actually if you execute:
let knex = require('knex')({});

console.log(knex.schema.createTable('user', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.string('role').defaultTo('admin');
    table.string('password');
    table.timestamps();
}).toString());

You'll get
/Users/<username>/Projects/<name>/node_modules/knex/lib/schema/columncompiler.js:96
    for (var i = 0, l = this.modifiers.length; i < l; i++) {
                                      ^

TypeError: Cannot read property 'length' of undefined
    at ColumnCompiler.getModifiers (/Users/<username>/Projects/<name>/node_modules/knex/lib/schema/columncompiler.js:96:39)
    at ColumnCompiler.compileColumn (/Users/<username>/Projects/<name>/node_modules/knex/lib/schema/columncompiler.js:74:88)
    at ColumnCompiler.toSQL (/Users/<username>/Projects/<name>/node_modules/knex/lib/schema/columncompiler.js:65:23)
    at /Users/<username>/Projects/<name>/node_modules/knex/lib/schema/tablecompiler.js:170:65

Any idea why .toString() doesn't work on createTable?

@amir-s The reason is because you are not specifying which dialect you are trying to use knex for, which matters a lot even for mere query building purposes.  Change let knex = require('knex')({}); to let knex = require('knex')({client: 'pg'}) or which ever dialect you prefer.
This is technically a bug because the base columncompiler does not have the property modifiers which is instead assigned on every single individual columncompiler on a per-dialect basis. But still, I would rather see the client option being mandatory than anything else, which would also solve the bug.
Even in this case specifying the client matters, since different dialects have different modifiers. For example mysql has unsigned while postgres does not.

@wubzz You're absolutely right.
I agree that this is a bug. The client option should be mandatory, or it should throw a meaningful and proper exception in these kind of cases.
Thanks.

It seems it is documented as required but is not actually required.. I'll make a PR for this.

thanks a lot guys,
I spent a whole day triyng to make it work, and THEN it was the fu**ing 'then()'

Where do you put then .then() ???

Thanks a lot guys,  also a whole day with it.

Where do you put then .then() ???

knex.schema.createTable('user', function(table) {
    table.increments();
    table.string('name');
    table.string('email', 128);
    table.string('role').defaultTo('admin');
    table.string('password');
    table.timestamps();
})**.then()**;

Sorry for coming back here... I have this but it does not work, I am using SQlite3.
import { app } from 'electron';
import knex from 'knex';
import { isNightly } from '../../config';
const dataPath = app.getPath('appData') + (!isNightly ? '\\believers-sword' : '\\believers-sword-nightly');
const filePath = dataPath + `\\StoreDB\\Store.db`;
const StoreDB = knex({
    client: 'sqlite3',
    useNullAsDefault: false,
    connection: {
        filename: filePath,
    },
});

export default () => {
    // setup clip_notes
    StoreDB.schema.hasTable('clip_notes').then((exists) => {
        if (!exists) {
            return StoreDB.schema
                .createTable('clip_notes', (table) => {
                    table.increments('id').primary();
                    table.integer('book_number');
                    table.integer('chapter');
                    table.integer('verse');
                    table.string('content');
                    table.timestamps();
                })
                .then((response) => {
                    console.log('created');
                    console.log(response);
                });
        }
    });
};


Suggestion: european as the primary culture in XEU

When becoming XEU, the primary culture should be changed to "european" and previous primary culture should be added as accepted.
I think this makes sense, as the United Europe would promote pan-europeism instead of local traditions. Besides what's the point of having distinct european culture when even a unified Europe in 2100 ends up with less than 1M pops.

Agree. Set to enhancement.

Also, joining country's primary and accepted cultures should be added as accepted for the union.

the problem is that that is not mod-able. There is no mod command to access culture, the only way is hard-coding. So the solution would be for all superstate hard code primary/accepted cultures.


Fix possible wrong autocorrection in namespace on Style/PerlBackrefs

Inserting constants in the code without :: prefix may cause problems in situations where Module.nesting is not empty, as the test case I added describes.
In order to eliminate the possibility of such unsafe autocorrection, it would be better to prepend ::, even if it looks a bit verbose.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Fine by me. Thanks!


impl Display for de::Type

Fixes #425.

You could also implement the debug impl to forward to the display impl, but if you think that's not helpful, this PR lgtm.

I subscribe to this philosophy from the docs:

Generally speaking, you should just derive a Debug implementation.


[TFL] tfl.svdf needs a stateful decomposition to other TFLite operations

Sample IR of an SVDF. We can't lower to TOSA. We could use a decomposition from TFLite to TFLite that handles this decomposition.
func @main(%arg0) : (tensor<1x3xf32>) -> tensor<1x3xf32> {
  %0 = arith.constant dense<0xDEADBEEF> : tensor<2x3xf32>
  %1 = arith.constant dense<0xDEADBEEF> : tensor<2x1xf32>
  %2 = arith.constant dense<0xDEADBEEF> : tensor<2xf32>
  %3 = arith.constant dense<0xDEADBEEF> : tensor<1x4xf32>
  %4 = arith.constant dense<0xDEADBEEF> : tensor<1x4xf32>
  %5 = "tfl.svdf"(%0, %1, %2, %3, %4) : (tensor<1x3xf32>, tensor<2x3xf32>, tensor<2x1xf32>, tensor<2xf32>, tensor<1x4xf32>, tensor<1x4xf32>) -> tensor<1x3xf32>
  return %5 : tensor<1x3xf32>
}

@rsuderman Bumping this up as a stale P1. Please update or deprioritize as needed!

@rsuderman Still open? Still P1?