Changes for Submissions update

use .view()
no rendering on privateContainer

See: https://github.com/nodes-vapor/submissions/pull/29

@steffendsommer could you check again?

Should this be merged or cancelled?

I believe we want this in, but it probably need to be updated with the latest change. @siemensikkema

@rasmusebbesen @steffendsommer This is outdated. I will close it.


Migrate all applets to the generic clock/strobe generator

This includes applets:

[ ] audio-dac
[x] audio-yamaha-opl
[ ] debug-arm-swd
[ ] display-hd44780
[ ] display-pdi
[ ] i2c-master
[ ] jtag-probe
[x] spi-master
[ ] memory-floppy
[ ] program-avr-spi
[x] uart
[ ] video-rgb-input

Important note: when the applet includes an FSM, it's necessary to adjust min_cyc to account for the maximum amount of FSM states, such that a strobe is never missed. This is pretty much the only tricky part of this.

It can actually be quite annoying to do this, and it's less relevant with the SERDES+sideband design I would like to move towards. So I think perhaps it's only warranted to migrate to applet.derive_clock but not necessarily to the clock generator.


Simplify nested anonymous classes, when creating instance of them

I have this line in C program:
const VARIANT VARIANT_VAL = { {{VT_NULL, 0}} };

Converted to pywin32-more:
from win32more.Windows.Win32.System.Variant import VARIANT, VT_NULL

VARIANT_VAL = VARIANT(VARIANT._Anonymous_e__Union(VARIANT._Anonymous_e__Union._Anonymous_e__Struct(VT_NULL, 0)))

Could it be smaller?
For example:
# Auto Converts Tuple to calling argument types classes if they are Struct or Union.
VARIANT_VAL = VARIANT( ( (VT_NULL, 0), ) )

VARIANT( ( (VT_NULL, 0), ) ) will work.
I think it is good way.
I would rather prefer VARIANT(vt=VT_NULL).

VARIANT( ( (VT_NULL, 0), ) ) will work.

:) Yes, Works

I would rather prefer VARIANT(vt=VT_NULL).

Nice!


Support for Okteto Cloud

Now all vars are mandatory, right?
Everyone have to fill these vars? Isn't?
Deploying on Okteto Cloud is too long now, it should be very easy to deploy so that someone who has very little knowledge can also deploy.

no all vars are not mandatory we add all vars because if anyone wants to add extra vars so thats why we mention all config cars but it is not compulsory i need to work on one more thing which is always awake okteto server


custom objects and activities

Adds support for the custom objects and custom activities API

@knieber looks like circle failed because of the PHP version? Assuming that wasn't anything I messed up hopefully.

🔥 🚒


Add unit tests for webhook validations

What this PR does / Why we need it
Added unit tests for webhook validations. Thank you for your review!
Which issue(s) this PR fixes

None

https://github.com/mercari/spanner-autoscaler/blob/1aacf8fd5c50e2261bbaf046a327c76e1cf095c9/api/v1beta1/spannerautoscaler_webhook.go#L195-L201
This part is not reachable since it is guaranteed that max and min are multiple of 100 so I didn't add any tests for the validation.
https://github.com/mercari/spanner-autoscaler/blob/1aacf8fd5c50e2261bbaf046a327c76e1cf095c9/api/v1beta1/spannerautoscaler_types.go#L108-L114


How to Use Regex

Could you supply an example for a field working with regex? I have tried your demo Signing v4, and even that does not work properly (even on your site). Can you please advise?

Hi
I am using URL Regex in my code
While validate the form empty filed

is working fine but I Given the Correct web address "http://www.google.com" it will throw the error once again given the wrong Web address ""htsdftp://www.google.com"" This will accept so how to solve the problem.
data-validation="[NOTEMPTY]"
data-validation-message="Link cannot be empty"
data-validation-regex="/^(https?://)?((([a-z0-9]-)[a-z0-9]+.?)([a-z0-9]+))(/[\w?=.-])*$/"
data-validation-regex-message="Enter a valid Web Address"

Fixed in 1.5.0


cannot open webapp or phoscon app

Hi,
Im new with deconz, just order the stick and could make a connection to the device. Im using synology docker.
Im connecting with vnc, is there another way? I dont think so... not sure do
Whatever i do i cannot click on phoscon app or webapp, when i click, i excpect a window but nothing happens. if i know where i can find more logs please let me know:

EDIT: i did found this in the logs:

so should there be a webbrowser included in the dock?
EDIT2: so i found out that i am able to launch the webbrowser from my pc instead:
http://<IP_ADDRESS>:8090/pwa/login.html
lets put this in the documentation ?

There is no web browser included in this image and there won’t be. Phoscon is a web app and must be accessed from a web browser on a pc on your network.


Only increment total_deposit_count for 32 ETH deposits from PoW chain

fixes #152

Are we leaving this as more generic for top ups?

I believe that was @JustinDrake's goal. Preserve optionality for possible future changes.

Right now, if someone submits a non-32ETH deposit, it will go through in the contract, but then hang as a DEPOSIT into the beacon chain.

I would go ahead and implement sub-32ETH deposits on the beacon chain. It's just a few lines of code and unlocks emergency smaller-than-32ETH top-ups that may come in handy. As suggested here I'd set the minimum deposit to be 1 ETH to mitigate spam on the beacon chain.
I don't care so much about larger-than-32ETH deposits. Certainly disallowing huge deposits to protect users may be wise (e.g. no deposits larger 64ETH).

The 1 ETH mitigation doesn't prevent the early chain start spam.
I think we should still do the following regardless. Otherwise our min validator count can be bypassed for the cost of 1 * min_val ETH
if msg.value >= as_wei_value(DEPOSIT_SIZE, "ether"):
    self.total_deposit_count += 1

updated the contract so that it actually builds in vyper

Don't we want the minimum deposit to be equal to the MIN_ONLINE_DEPOSIT_SIZE ideally plus a safety margin?
Really we have three parameters:

EVICTION_BALANCE (currently 16 ETH)
MIN_DEPOSIT_SIZE (currently 32 ETH)
MAX_EFFECTIVE_DEPOSIT (currently 32 ETH)

MIN_DEPOSIT_SIZE > EVICTION_BALANCE seems sensible. I could see MIN_DEPOSIT_SIZE < MAX_EFFECTIVE_DEPOSIT being reasonable too.

I'd like to differentiate between the "balance" (the current amount of ETH associated with a validator) and a "deposit" (an amount by which a balance is increased). For balances I'd suggest three parameters:

INDUCTION_BALANCE—the minimum balance to be inducted (e.g. 32 ETH)
EVICTION_BALANCE—the threshold balance under which a validator is automatically exited (e.g. 16 ETH)
MAX_EFFECTIVE_BALANCE—the maximum balance at risk (e.g. 32 ETH)

For deposits I'd suggest two parameters:

MIN_DEPOSIT (e.g. 1 ETH)
MAX_DEPOSIT (e.g. 32 ETH)

To simplify things I'm happy with INDUCTION_BALANCE == MAX_EFFECTIVE_BALANCE == MAX_DEPOSIT.


[FLINK-35910][table] Add the built-in function BTRIM

What is the purpose of the change
Add BTRIM function.
Examples:
> SELECT BTRIM('  test  ');
test
> SELECT BTRIM('test', 't');
es

Brief change log
FLINK-35910
Verifying this change
StringFunctionsITCase#bTrimTestCases
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs)

@flinkbot run azure

@flinkbot run azure

@dylanhz Can you help resolve the conflict and rebase the master branch?

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure


Add support for custom wine prefixes

Currently, ludusavi only supports creating backups of wine/proton saves for steam games. Since there are many games that aren't available through steam/available for free somewhere else, adding support for different/custom wine prefixes is very desirable for integration in third party launchers & normal usage.
I'm looking into adding backup support to steam-buddy for gamer-os, which will add support for EGS games in the next release, while using steams shortcut system for the proton integration with predictably generated game ids.
For this purpose, calling ludusavi separately for each game is alright, so a CLI option would suffice, with the mapping (wine prefix <-> game) handled by steam-buddy

Integration with Steam Buddy sounds like a great idea!
Could you tell me a little bit more about the functionality you would need for your use case? I assume you're mainly interested in these Windows -> Proton mappings, but without the associated Steam assumptions:
https://github.com/mtkennerly/ludusavi/blob/23ab8165279edb09419118267d82f6f22d16e607/src/prelude.rs#L275-L305
I'm not sure which of those mappings are accurate for Wine and Proton when used without Steam, and some like <home> = {prefix}/users/steamuser definitely aren't. Do you happen to have any info about the mappings you'd need?

So, proton currently (see https://github.com/ValveSoftware/Proton/issues/605) always uses "steamuser" as the wine username (https://github.com/ValveSoftware/wine/blob/2409bd1f74be116172688a25df725290637c255a/dlls/advapi32/advapi.c#L87), so if we only support proton for now, we can keep that.
When not using steam games with proton, we need to adjust the prefix.
Since steam-buddy currently uses steams shortcut system with predictable steamids/app ids, it would suffice to be able to supply this app id for a given game (https://github.com/gamer-os/steam-tweaks/blob/ce2b0f13efbd61ec4325e8f6b287e4f270b9fb42/steam-shortcuts#L11). Even if it's the same game, the app id won't match the steamid if bought from steam.
AFAIK, most launchers (lutris & gamehub, maybe playonlinux, legendary) don't use steam for that purpose, so the prefixes depend on the launcher/user settings. For example:

Legendary uses the system wine & system prefix per default (although configurable), which means it's ~/.wine or ~/.wine/pfx when using proton.
Gamehub places it alongside the game, for example ~/Games/GOG/Serious_Sam_The_First_Encounter/_gamehub/compat/proton_latest/pfx (but this is probably configurable, can't check right now)

So doing it automatically for most cases is probably impossible without a huge amount of effort, so I'd just add a command line option --prefix to set it for non-steam windows games. I'm not sure how to combine with multiple games in different places, but I can just call ludusavi separately for each game.
We can probably ignore wine for now & leave the username hardcoded.

Got it, so when the CLI option is passed, it would check the configured roots (as it already does) plus check the additional prefix folder. For Wine, I might just have it check all user folders since I'm assuming there would typically only be one per prefix anyway.
Roughly what kind of timeline are you looking at for the integration? I could make a devcut for you to try out, probably this or next weekend.

Got it, so when the CLI option is passed, it would check the configured roots (as it already does) plus check the additional prefix folder.

Sound good!

Roughly what kind of timeline are you looking at for the integration?

There's really no set timeline, it's ready when it's ready.

@kourm Took a little longer than I expected to get back to this, but I have a build ready for you to try out with a --wine-prefix option:
ludusavi-v0.9.0-post.3+9e84355-linux.zip
Let me know if you need an OpenGL build instead. For references, these are the mappings it uses: https://github.com/mtkennerly/ludusavi/blob/9e84355f5f4f415369561bfbf9acd86ab311e130/src/prelude.rs#L306-L326

Thank you very much!
I need to test it a bit more, but it seems to pick up at least some games (although I'm running into issues with Pikuniku, but that may be because of wrong data in the wiki or some weird steam/windows path mangling).

Ah, looks like Pikuniku stores saves in the registry, and I forgot to add registry handling in the Wine prefix code. Does it work like Steam/Proton where there are *.reg files directly inside of the prefix folder?

I tested it with proton, via the proton support for steam shortcuts.
Seems like it's (at least also) saved on the filesystem directly, but there's also stuff in the registry
[gamer@gameros ~]$ find -name Pikuniku
./.local/share/Steam/steamapps/compatdata/2153646982/pfx/drive_c/users/steamuser/AppData/LocalLow/Sectordub/Pikuniku
./.local/share/steam-buddy/content/epic-store/Pikuniku
[gamer@gameros ~]$ ls -lah ./.local/share/Steam/steamapps/compatdata/2153646982/pfx/drive_c/users/steamuser/AppData/LocalLow/Sectordub/Pikuniku/saves/
total 44K
drwxr-xr-x 1 gamer gamer  42 Dec 16 21:01 .
drwxr-xr-x 1 gamer gamer  40 Dec 16 21:01 ..
-rw-r--r-- 1 gamer gamer 41K Dec 16 21:22 PikunikuSaveFile_Epic
[gamer@gameros ~]$ ~/devel/backup/ludusavi-v0.9.0-post.3+9e84355-linux/ludusavi backup --wine-prefix ./.local/share/Steam/steamapps/compatdata/2153646982/pfx/ --preview | grep Pikuniku
[gamer@gameros ~]$ ls -lah ./.local/share/Steam/steamapps/compatdata/2153646982/pfx/
dosdevices/        drive_c/           system.reg         .update-timestamp  userdef.reg        user.reg
[gamer@gameros ~]$ ls -lah ./.local/share/Steam/steamapps/compatdata/2153646982/pfx/
total 2.5M
drwxr-xr-x 1 gamer gamer  126 Dec 16 21:01 .
drwxr-xr-x 1 gamer gamer   62 Dec 16 21:01 ..
drwxr-xr-x 1 gamer gamer   40 Dec 16 21:01 dosdevices
drwxr-xr-x 1 gamer gamer  126 Dec 16 21:01 drive_c
-rw-r--r-- 1 gamer gamer 2.5M Dec 16 21:01 system.reg
-rw-r--r-- 1 gamer gamer   12 Dec 16 21:01 .update-timestamp
-rw-r--r-- 1 gamer gamer 3.3K Dec 16 21:01 userdef.reg
-rw-r--r-- 1 gamer gamer  27K Dec 16 21:01 user.reg
[..]
[gamer@gameros pfx]$ cat user.reg | grep Pikuniku
[Software\\Sectordub\\Pikuniku]<PHONE_NUMBER>

After some saving, it seems like the data in pcgamingwiki is wrong, as the registry mtime gets updated at the start, but the PikunikuSaveFile_Epic mtime gets updated when saving.
But TLDR: registry handling is the same as proton in wine (although for my usecase it's also just proton), checked separately

Since the functionality is complete now with the touch-up commits above, I'm going to close this for tracking purposes. It's just waiting for the next release, which should be pretty soon. Here's the work remaining before the release: https://github.com/mtkennerly/ludusavi/milestone/8

You could mention this feature in readme.
(I was looking for issue asking about this, and it appeared already resolved :) )

It's covered under GUI > Backup mode, but it's collapsed by default. After expanding the section, look for For a Wine prefix root. I'd be happy to expand the info if anything's unclear.


[BUG] Can't Start on MacOS

Describe the bug
When i execute make start after build success, it's throw a below error. seems it's try to connect pg database somewhere?
I only change the default database to mysql.

To Reproduce
Steps to reproduce the behavior:

change the database to mysql in database.json file.
fsh api new FSH.Starter
make build
make run

Screenshots

Desktop (please complete the following information):

OS: MacOS , M2 Pro.

close by william.
This is because ConnectionString in hangfire.json is not set.

Sloved, This is because ConnectionString in hangfire.json is not set.


[Usability]A11y_PowerShellEditorServices_Terminal_Usability : After hitting on the "kill terminal" button error messege appears in pop up but screen reader does not takes focus of the controls of the popup it announce error messege dynamically.

Environment Details:
VSCode Version : 1.28.2
OS Version : Win10
Additional information : Usability issue
Repro Steps:
1.Launch Visual Studio code desktop application.
2.Navigate to "View" item of menu bar and select "Integrated Terminal"->Navigate to "Terminal" tab and select "PowerShell Integrated Console" from combo box.
3.Navigate "Terminal panel" & press enter
4.Navigate to" Kill button " & press enter.
5.Start NVDA & check whether it is reading proper error message or not.
Actual:
After hitting on the "kill terminal" button error message appears in pop up but screen reader does not takes focus of the controls of the popup it announce error message dynamically.
Expected:
After hitting on the "kill terminal" button error message appears in pop up but screen reader should takes focus of the controls of the popup it announce error message dynamically
User Impact:
Screen reader users finds difficult to understand the functionality as well unable to navigate on controls of the error popup
Does this issue occur when all extensions are disabled?: Yes
Attachment:
A11y_PowerShellEditorServices_Terminal_Usability11.pptx

@bpasero possibly a problem with the notification? How does it alert when popped up?

Using the alert role:
https://github.com/Microsoft/vscode/blob/57d85c2667e8e66140e0f7edfb8b6e636c6a4876/src/vs/workbench/browser/parts/notifications/notificationsAlerts.ts#L70
We cannot give focus to the notification obviously when it appears.


Add .gitignore to ignore standard XCode user files and data.

When working on issue #48 I was surprised that git added some xcuserdata files. These should be ignored through a .gitignore file.
http://stackoverflow.com/questions/18939421/what-should-xcode-6-gitignore-file-include

@coderReview, do you agree with this assessment?

@rsial2 I see no problem in ignoring these files. They are user related and recreated when the Xcode project is open.

Thanks, I've approved the merge request and will test.


The following assertion was thrown during performLayout(): 'package:flutter/src/painting/alignment.dart': Failed assertion: line 528 pos 12: 'direction != null': is not true.

Steps to Reproduce

This is my code:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Image.asset('images/bg.jpg',
        height: 100,
        width: 100,
        ),
        //Text('hi')
      ],
    );
    }
}

Expected results:
Expected to see an image of dimensions 100*100 on the screen.
Actual results:
The screen had no image and was completely blacked out

Logs

[  +21 ms] I/flutter (24820): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY
╞═════════════════════════════════════════════════════════
[  +11 ms] I/flutter (24820): The following assertion was thrown during performLayout():
[   +3 ms] I/flutter (24820): 'package:flutter/src/painting/alignment.dart': Failed assertion: line 528 pos 12:
'direction !=
[  +10 ms] I/flutter (24820): null': is not true.
[   +3 ms] I/flutter (24820):
[   +6 ms] I/flutter (24820): Either the assertion indicates an error in the framework itself, or we should provide
substantially
[   +5 ms] I/flutter (24820): more information in this error message to help you determine and fix the underlying cause.
[   +6 ms] I/flutter (24820): In either case, please report this assertion by filing a bug on GitHub:
[   +4 ms] I/flutter (24820):   https://github.com/flutter/flutter/issues/new?template=BUG.md
[   +6 ms] I/flutter (24820):
[   +3 ms] I/flutter (24820): The relevant error-causing widget was:
[   +3 ms] I/flutter (24820):   Stack file:///F:/flutter_training_codes/stackOp/lib/main.dart:10:12
[   +7 ms] I/flutter (24820):
[   +3 ms] I/flutter (24820): When the exception was thrown, this was the stack:
[   +8 ms] I/flutter (24820): #2      AlignmentDirectional.resolve (package:flutter/src/painting/alignment.dart:528:12)
[   +6 ms] I/flutter (24820): #3      RenderStack._resolve (package:flutter/src/rendering/stack.dart:353:36)
[   +5 ms] I/flutter (24820): #4      RenderStack.performLayout (package:flutter/src/rendering/stack.dart:521:5)
[   +4 ms] I/flutter (24820): #5      RenderObject.layout (package:flutter/src/rendering/object.dart:1767:7)
[   +7 ms] I/flutter (24820): #6      RenderView.performLayout (package:flutter/src/rendering/view.dart:167:13)
[   +4 ms] I/flutter (24820): #7      RenderObject._layoutWithoutResize
(package:flutter/src/rendering/object.dart:1630:7)
[   +4 ms] I/flutter (24820): #8      PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:887:18)
[   +9 ms] I/flutter (24820): #9      RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:402:19)
[   +7 ms] I/flutter (24820): #10     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:884:13)
[   +6 ms] I/flutter (24820): #11     RendererBinding._handlePersistentFrameCallback
(package:flutter/src/rendering/binding.dart:284:5)
[   +6 ms] I/flutter (24820): #12     SchedulerBinding._invokeFrameCallback
(package:flutter/src/scheduler/binding.dart:1113:15)
[   +4 ms] I/flutter (24820): #13     SchedulerBinding.handleDrawFrame
(package:flutter/src/scheduler/binding.dart:1052:9)
[   +8 ms] I/flutter (24820): #14     SchedulerBinding.scheduleWarmUpFrame.
(package:flutter/src/scheduler/binding.dart:861:7)
[   +5 ms] I/flutter (24820): (elided 13 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer,
dart:async, and dart:async-patch)
[  +10 ms] I/flutter (24820):
[   +5 ms] I/flutter (24820): The following RenderObject was being processed when the exception was fired:
RenderStack#0f2cf NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
[   +6 ms] I/flutter (24820):   creator: Stack ← MyApp ← [root]
[   +7 ms] I/flutter (24820):   parentData:
[   +3 ms] I/flutter (24820):   constraints: BoxConstraints(w=429.9, h=931.3)
[   +6 ms] I/flutter (24820):   size: MISSING
[   +3 ms] I/flutter (24820):   alignment: AlignmentDirectional.topStart
[   +3 ms] I/flutter (24820):   textDirection: null
[   +6 ms] I/flutter (24820):   fit: loose
[   +4 ms] I/flutter (24820):   overflow: clip
[   +5 ms] I/flutter (24820): This RenderObject had the following descendants (showing up to depth 5):
[   +4 ms] I/flutter (24820):     child 1: RenderSemanticsAnnotations#54671 NEEDS-LAYOUT NEEDS-PAINT
NEEDS-COMPOSITING-BITS-UPDATE
[   +7 ms] I/flutter (24820):       child: RenderImage#a0eaf NEEDS-LAYOUT NEEDS-PAINT
[   +4 ms] I/flutter (24820):
════════════════════════════════════════════════════════════════════════════════════════════════════

Analyzing lib...
No issues found! (ran in 53.6s)

[√] Flutter (Channel stable, v1.17.5, on Microsoft Windows [Version 10.0.18362.418], locale en-US)
    • Flutter version 1.17.5 at F:\flutter
    • Framework revision 8af6b2f038 (5 weeks ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\sanka\AppData\Local\Android\sdk
    • Platform android-28, build-tools 28.0.3
    • Java binary at: F:\android studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Android Studio (version 4.0)
    • Android Studio at F:\android studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.47.3)
    • VS Code at C:\Users\sanka\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.13.1

[√] Connected device (1 available)
    • vivo 1951 • b943688 • android-arm64 • Android 10 (API 29)

• No issues found!

Hi @sankalprb,
In the code snippet you provided, you are not using MaterialApp at the root of the app, which provides all the material widget support to the hierarchy. Since you directlly used Stack widget, Flutter wouldn't know where to look for reference, since Stack is part of MaterialApp. To fix this, try below code which shows the image properly on screen:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Stack(
      children: [
        Image.asset('assets/giphy.gif',  // use your own asset here
          height: 100,
          width: 100,
        ),
//Text('hi')
      ],
    ));
  }
}

Also this type of question should be ask in support channels such as Stack Overflow.

Thank you @darshankawar for solving the error, I'll make sure that I'll post such questions on Stack Overflow from next time.


Update ProposalProcedure return address to be a Credential

Description

Closes https://github.com/input-output-hk/cardano-ledger/issues/3594
Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[ ] Self-reviewed the diff

I assume scriptsNeeded doesn't have to be updated for this, please correct me if I'm wrong

I updated it to be a RewardAcnt, however, I haven't used the Network anywhere.
I assume it will be needed (otherwise why have it), but not sure if at this point. Maybe in the way we insert in UMap in Epoch rule?

We'll only need to validate that the NetworkId matches the network we are running. That's all.
See this ticket I created: https://github.com/input-output-hk/cardano-ledger/issues/3603


Cosmos folder restructure

/azp run java - cosmos - tests

You need to update the docsettings file with the updated readme paths.


Experiment: full text search w/ pg_search gem

This PR is not intended to be merged. It's for sharing notes while experimenting with postgres full-text search via the pg_search gem. Indexing and fuzzy search are not included in experiment.

pg_search supports two different techniques for searching, multi-search and search scopes.

Multi-search allows records of many different Active Record classes to be mixed together into one global search index.
Search scopes allow you to do more advanced searching against only one Active Record class.

Searching associations is supported but not recommend because searches cannot be sped up with database indexes. It is supported as a quick way to try out cross-model searching. If you need to search through associations, prefer multi-search over search scopes.

If we end up storing all information into a single table, we will use search scopes, otherwise multi-search.

pg_search provides Active Record callbacks (only for multi-search?) to keep indexes updated. Some AR operations skip callbacks, so better to have trigger on the DB.

A full-text search query for "todo" won't include tickets with status "To Do". We would probably need to enable fuzzy search. It's a more expensive query, so by default a full-text search should not query with fuzzy matching and fallback to fuzzy search if the first query didn't return relevant results.

https://github.com/Casecommons/pg_search#dynamic-search-scopes
Dynamic search scopes allow you to narrow the search scope dynamically.
For example, a search scope against multiple columns on a table would normally look like
Snapshots::Something.search_for("whatever")

But if we allow special syntax in our search form, we can dynamically narrow scope. E.g.
Given the query string "version:abc123", our search can be narrowed down to a single column
Snapshots::Something.search_for(:version, "abc123")

pg_search uses default full-text search, but you can search using other features, e.g.  Trigram search or Double Metaphone search.
https://github.com/Casecommons/pg_search#trigram-trigram-search
Trigram search might be of interest, as it works with typos and misspellings in the query or text.

https://github.com/Casecommons/pg_search#weighting
Each searchable column can be given a weight of "A", "B", "C", or "D", with "A" being the highest weight (most important). Weights determine the order of the returned records. Without query limits, the results will be the same with or without weights, just in different order. When you limit the number of records (and you should), weights will play an important role.
Weighting columns is very simple. In our AR model:
# without weighting
pg_search_scope :search_for, against: [:summary, :status]

# with weighting
pg_search_scope :search_for, against: {
  summary: 'A',
  status: 'D'
}

Because adding weights is so trivial, I suggest we start without weighting. Weights are an optimization, fine tuning the results. We should collect data about searching first, weighting from the start is a premature optimization as we don't yet know what should be weighted and how.

https://github.com/Casecommons/pg_search#prefix-postgresql-84-and-newer-only
Searching for partial words is supported (full-text search only). Note this is not the same as fuzzy search or misspelling search. Searching for partial words does a prefix search instead of the default whole word search.
For example, "ENG" will find results that contain "ENG" but will not find results that contain "EG" (requires fuzzy search) or "EGN" (requires misspelling search).
WEIGHTED_COLUMNS = { summary: 'A', status: 'D' }
pg_search_scope :search_for, against: WEIGHTED_COLUMNS, using: { tsearch: { prefix: true } }

With dynamic scopes, prefix search should be able to be turned on for specific cases (e.g. "ticket:ENG").

https://github.com/Casecommons/pg_search#negation
If negation is turned on for full-text search
using: { tsearch: { negation: true} }

then search terms can easily be excluded from the results, e.g.
Snapshots::Something.search_for("release !shipment_tracker")

https://github.com/Casecommons/pg_search#normalization
Dictionaries eliminate words that should not be considered in a search (stop words) and normalize (aka stem) words so that different derived forms of the same word will match.
For example, the "english" dictionary will normalize "jumping" and "jumped" to a lexeme like "jump".
using: { tsearch: { dictionary: 'english' } }

The default dictionary is "simple", which does not do any normalizing.

https://github.com/Casecommons/pg_search#normalization
A longer document has a greater chance of containing a query term, so it's reasonable to take into account document size, e.g., a hundred-word document with five instances of a search word is probably more relevant than a thousand-word document with five instances.
The :normalization option specifies whether and how a document's length should impact its rank.
using: { tsearch: { normalization: 2 } }

https://github.com/Casecommons/pg_search#any_word
The :any_word option returns multiple records when parts of the search term match across different records.
By default, the following would return a match if all of "one two three" is present in a document.
Snapshots::Something.search_for("one two three")

With any_word, it could for example return 3 records if each record contained one of the words.

https://github.com/Casecommons/pg_search#ignoring-accent-marks-postgresql-90-and-newer-only
Ignoring accents, nice to have if we get users with multi-language keyboards for example.

Boosting performance with tsvector columns
https://github.com/Casecommons/pg_search#using-tsvector-columns
and
https://github.com/Casecommons/pg_search/wiki/Building-indexes#with-activerecord-andor-rails
The :against column would only be used when the tsvector_column is not present for the search type.

See #138


TRUE (on the y ticks 1,2,3,4 ....) are displayed

when showing the units (y axe position=left) the words FALSE (on the 0 position) and  TRUE (on the y ticks 1,2,3,4 ....) are displayed.
Only FALSE and TRUE once should be shown.

Hi @ Bluefox
yeeees, but :-)
I have some booleans that are displayed with small hight, like to show the state of a window, where my main interest is in temperatures and so on.
So I scale the boolean from e.g. 0 to 20 so the line (or area with filled color and line_size=0) only covers a smal part of the chart.
Then it might be an demanding task where to display only ONE y-axis-tick with the work "true". For me this is not so important as booleans as I use them are never with units on the y-axis.
But displaying only one "true" on the hight of the "scaled to max" y-tick is perfect.
Thank You!
cu
Harvey

Still remember my question/enhancment to "rename" booleans to something better fitting, like "true/false" -> "open/closed" or
"true/false" -> "running/stopped"
just if you are on that corner ....
Thank You
cu
Harvey

Still remember my question/enhancment #90 to "rename" booleans to something better fitting, like "true/false" -> "open/closed" or "true/false" -> "running/stopped"
just if you are on that corner .... Thank You cu Harvey

Like this?

Wäre es möglich den Text bei wahr und Text bei falsch auch in der Legende als Wert anzeigen zu lassen ?
Bei mir ist die Klammer in der Legende leer.

seems to me that "true" and its replacement is "stable" displayed, while "false" AND the replacement IS thersometimes, but vanishes ....
cu
Harvey

Hi,
from my idea a boolean is always true or false and not null :-)
Inside the influxdb I only have values of true and false .... never anything else.
But I have the idea that you read the states from the device directly???  This came into my mind with the closed problem, when opening of a windows IMMEDEATELY changed the chart to ok. With influxdb the value is written into db only with a short delay.
But this was immedeately, not with a delay.
I changed too much in the echarts-definition, but I am shure that it was always "from influxdb.0" instance ...

I confirm that I have:
closing a windows gives "[geschlossen]" immedeately
reloading the browser window now shows only empty brakets :-(
data comes from "influxdb.0" not "default"
datapoint inside the database is "false"
If you give me some direction how to see the value inside the program I can try to test, opening, closing windows, reloading firefox seems easy ...
cu
Harvey

repeatable!

when I click on the 3 1/2 lines button right of the datapoint-ID the value shown is correctly "false"

but the legend shows only brakets ....

seems to me that "true" and its replacement is "stable" displayed, while "false" AND the replacement IS there sometimes, but vanishes after some time by mistery.... cu Harvey

The same for me (I use Mariadb database):

"true" and its replacement is "stable" displayed
"false" AND the replacement is displayed only one time, it disappears with the first refresh of the chart

Fixed in 1.4.7 (wait for it)

Bingo. Funktioniert wie vorgesehen.

Hi, working!
small issue: when sizing a boolean, so that the resulting line is relativly small hight the "upper" text is not displayed at the y-axis, although there is plenty of room.
Not really important as y-axis is never used (by me) with booleans, I am happy with the (replacment) text in the hover.
to be closed - Big Thank You to Bluefox

Hi, working!
small issue: when sizing a boolean, so that the resulting line is relativly small hight the "upper" text is not displayed at the y-axis, although there is plenty of room.
Not really important as y-axis is never used (by me) with booleans, I am happy with the (replacment) text in the hover.
to be closed - Big Thank You to Bluefox

Screenshot?

this is with min/max 0-7, text is replaced correct:

with min/max 0/1 the text is in the upper left corner

with min/max 0/7.4 the true-text is displayed (about 8 times textsize above the false-text), with min/max 0/7.5 it is gone.

also with multiple texts, felft is ok with max=7.4, right is missing some texts with max=7.5

after some testing I found that it has to do with the ticks of the y-axis.
I manually set the tick to 14 I get all texts correctly.

So it looks like an 7.5 ticks implicitly if no input in this field

So this is not really a BUG, but strange. The y-ticks are from the first datasource line I assume, so edited ticks from later lines are not visible .... only with this strange side effect.

With a different firrst line the background grid of the chart is take from this line (temperature with no extra input on y-axis ticks).
with manual large number of ticks for the now second line with the enumerations the text is also displayed.
So it is NO BUG IMHO, but some learning about y-axis ticks that are not displyed, but used for the text on the axis.
I learned a lesson, can be closed! Maybe a notice in the documentation ....

My test even work with min/max = 0/60  with y-tixks of 42! text is still ok!

The width of the y-axis is not dynamic for boolean or enum data sources, but for numeric sources (?).
Is a dynamic y-axix width easy to realize with the echart package? It is just a "nice ho have".
May I remember my proposal for an enhancement "multiple y-axis issue #42"? It is useful for diagrams with datasources with more than three different units or scales. Thank you.

HI @ uelpenich
remember there is no "enum" datasource, only boolean and number.
booleans can have units (in the homematic definition), but that makes no sense to me (I did not find any example yet)
booleans are false/true, but boolean variables from homematic can have different (status-)text for "true" "false" (eg. "raining", "no rain")
booleans look like a fixed scale of 7.5 ticks IF not manually overridden (y-axis ticks)
numbers can have units, some dont (eg. UV-Index)
numbers can have status texts, which is declared in the datapoint source. "enum" variables from the homematic are this kind of number, also this implicates integer (the index to the position) and status-texts (eg. "0:off";"1:heating";"3:cooling";"4:defrost")
numbers can autoscale
so sadly there are no real "enums" in echart datapoint :-(
I often have different y-axis, eg temperature and humidity. Than I manually set the min/max of the first datasource to something so I get defined y-axis ticks eg 6 Ticks with temperature from 10°C- 35°C (right unit) and humidity from 0% - 100% (left unit).
Which magically shows units of 0%, 20%, 40%, 60%, 80%, 100% onthe left on the y-gridlines for 10°C, 15°C, 20°C, 25°C, 30°C, 35°C.
I am quite happy with this, altough sometimes it is not so easy to find good min/max an count of ticks.
Many y-axis and many y-grindlines might look ok with 2~3 but tend to look confusing with more IMHO.
So if this a "nice to have " for you may be that my used of coincidently resusing the y-gridlines with left/right units might be easy to use and do not need any programming.
just my idea :-)
cu
Harvey

HI @ Harvey,
thank you for your detailed answer and explanations.

. . .  (in the homematic definition) . . .
for me it looks like that iobroker is build around homematic features. While I don't use homematic but knx, OWFS and vcontrol adapters, I have some difficulties to understand this thread.

Since the vcontrol adapter also delivers some enum information (like Betriebsart, . . .) I would be glad to show them in charts. Unfortunetly the vcontrold together with the viessmann adapter convert the enum information to text strings, and text strings can't be displayed in echarts. I can configure vcontrold to deliver the information as number as it is the original information delivered by the Viessmann heater interface, but the number is not accompanied by state information as it seems to be in some homematic devices. (you described the same problem with some HomematicIP devices (Wandthermostat).

so sadly there are no real "enums" in echart datapoints :-(
Do you see any way to add the state definition to the object description of the data point? I would prefer to use the linked devices adapter to keep the additional state info.

. . . I often have different y-axis, . . .
I do it the same way, but this means I have to remember in my mind some scaling info. That means others than me are not able to understand the chart.
. . . altough sometimes it is not so easy to find good min/max and count of ticks. . .
I know some cases and therefor my request is more than "nice to have".
Few y-axis and few y-grindlines might look ok with 2~3 but tend to look confusing with more IMHO.
You are right.

Thanks
Uelpenich

Hi,
I guess you are noch active in homematic forums, becaus iobroker issues is not the right place.
Some information on how the information is fetched from homematic objects can be found inside examples and please read the objects from iobroker.echarts.
Minimal entry can be:

isboolean: true
truetext
falsetext
status { ..... }
and you can try to edit your non homematic stuf possibly there. Or in the object, that is fed into the history database of your choice. Lines with isnumber....manval, maxval, status ... 0:OFF, 1:ON .... just try. save often and try again.

Just edit thing, save, check the saved objects. Maybe you can find a lot of information. But remember, this is NOT what echarts was made for, so a lot of things can change without any notice, this is no officail api to do so!!!!!
good luck
Harvey

Thank you for your hints, I got it working by adding common.states definitions to a data source object.


Adding Jitpack building support.

This PR adds support for Jitpack so the library can be imported throu Jitpack.io!

Thanks!


add typespec-ts config into tspconfig for mongocluster

/azp run

/azp run

Approve Go and Python breaking as it was approved before.


bugfix: remove space in freq default.

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] HISTORY.rst has been updated

After merging to master and before closing the branch:

[ ] bumpversion (minor / major / patch) has been called on master branch
[ ] Tags have been pushed

What kind of change does this PR introduce?
Bug fix.

Our test suite has a problem if it does not catch that kind of thing. I'll open a ticket.

Pull Request Test Coverage Report for Build 1255

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.77%

Totals

Change from base Build 1254:
0.0%

Covered Lines:
3088

Relevant Lines:
3402

💛  - Coveralls

Ouch. That's an oversight. I think most all of our test show us explicitly calling function with all signatures set, which isn't how users might use the library. Maybe the jupyter notebook approach would be a way of satisfying both showing the use cases and simultaneously testing for use cases that might be employed.

Issue a hotfix?

Yep, again, I need a tag for Finch, and this breaks at "import finch"...


Rename variable used for defining used docker.sock file

https://github.com/docker-library/docker/pull/174 added an experimental "rootless" variant of the DinD service.
While the change itself is simple and should not affect current usages, a DOCKER_HOST variable was used to define which docker.sock path should be used depending on the process owner's ID.
Chosing DOCKER_HOST variable for this is unfortunately not the best option:

It's not the best semantic choice - the code that uses it defines a socket file, not the host. DOCKER_SOCKET just seems to fit better the purpose.

DOCKER_HOST is already a variable, that is used by users to define where the Docker daemon is listening. In case when it's added to the DinD container (which is a common situation for example for GitLab CI jobs that are using DinD as a service), it finally ends with assigning two times the same port, while once it uses <IP_ADDRESS> address, and once some unresolvable domain name (depending on what user defined; most probably docker).

This commit proposes a change of the variable name to DOCKER_SOCKET, which will better match it purpose and additionally it will stop breaking configurations of many of docker:dind image users.
Signed-off-by: Tomasz Maczukin<EMAIL_ADDRESS>This PR should resolve problems reported at #175

@tianon Could I get your attention on this PR?

Hi Tomasz,
I have commented out DOCKER_HOST: tcp://docker:2375 and set docker:18.09.7-dind and it seems to work.
Did not risk going to  19.03.0-dind
  ECR_SCREENING: $ECR_SCREENING
  DOCKER_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
  #DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: ""

services:
  - docker:18.09.7-dind

stages:
  - build
  - test
  - push
  - deploy

build:
  image: docker:18.09.7-dind
  stage: build
  only:
    - merge_requests
    - master
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - docker build -t $DOCKER_IMAGE_TAG .
    - docker push $DOCKER_IMAGE_TAG```

tested with 19.03.0-dind as well and --> is working

Also cc @AkihiroSuda and @yosifkit who were involved in reviewing and merging #174 :)

Ouch, I ran into a related problem last night just before going to bed but hadn't had a chance to dig into it yet. :disappointed:
I agree with changing this variable name, but I think in doing so we should ditch the :- and the export (making this a local script variable instead of an environment variable, since DOCKER_SOCKET doesn't have any meaning outside of here and isn't something we want to create), and we should also check whether DOCKER_HOST is set to something that starts with unix:// and use that value if so (which was the original intention here, since Docker picks up that value, but I obviously forgot the other half :man_facepalming:).
There's also another path where this might get set strangely: docker run ... docker:dind dockerd-entrypoint.sh ... (which has been supported previously -- the updated code turns this into dockerd-entrypoint.sh docker-entrypoint.sh dockerd-entrypoint.sh which sets DOCKER_HOST and causes the same havoc which can be healed in the same way).
Here's my proposed adjustment to this:
diff --git a/dockerd-entrypoint.sh b/dockerd-entrypoint.sh
index 47eee55..cdbea49 100755
--- a/dockerd-entrypoint.sh
+++ b/dockerd-entrypoint.sh
@@ -92,16 +92,16 @@ _tls_generate_certs() {
 # no arguments passed
 # or first arg is `-f` or `--some-option`
 if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
-	# set DOCKER_HOST to the default "--host" value (for both standard or rootless)
+	# set "dockerSocket" to the default "--host" *unix socket* value (for both standard or rootless)
 	uid="$(id -u)"
 	if [ "$uid" = '0' ]; then
-		: "${DOCKER_HOST:=unix:///var/run/docker.sock}"
+		dockerSocket='unix:///var/run/docker.sock'
 	else
 		# if we're not root, we must be trying to run rootless
 		: "${XDG_RUNTIME_DIR:=/run/user/$uid}"
-		: "${DOCKER_HOST:=unix://$XDG_RUNTIME_DIR/docker.sock}"
+		dockerSocket="unix://$XDG_RUNTIME_DIR/docker.sock"
 	fi
-	export DOCKER_HOST
+	case "${DOCKER_HOST:-}" in unix://*) dockerSocket="$DOCKER_HOST" ;; esac

 	# add our default arguments
 	if [ -n "${DOCKER_TLS_CERTDIR:-}" ] \
@@ -112,7 +112,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
 	; then
 		# generate certs and use TLS if requested/possible (default in 19.03+)
 		set -- dockerd \
-			--host="$DOCKER_HOST" \
+			--host="$dockerSocket" \
 			--host=tcp://<IP_ADDRESS>:2376 \
 			--tlsverify \
 			--tlscacert "$DOCKER_TLS_CERTDIR/server/ca.pem" \
@@ -123,7 +123,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
 	else
 		# TLS disabled (-e DOCKER_TLS_CERTDIR='') or missing certs
 		set -- dockerd \
-			--host="$DOCKER_HOST" \
+			--host="$dockerSocket" \
 			--host=tcp://<IP_ADDRESS>:2375 \
 			"$@"
 		DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS="${DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS:-} -p <IP_ADDRESS>:2375:2375/tcp"
@@ -175,8 +175,9 @@ if [ "$1" = 'dockerd' ]; then
 			${DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS:-} \
 			"$@" --userland-proxy-path=rootlesskit-docker-proxy
 	fi
-else
+elif base="$(basename "$1")" && [ "$base" != 'dockerd-entrypoint.sh' ] && [ "$base" != 'docker-entrypoint.sh' ]; then
 	# if it isn't `dockerd` we're trying to run, pass it through `docker-entrypoint.sh` so it gets `DOCKER_HOST` set appropriately too
+	# ("docker run ... docker:dind dockerd-entrypoint.sh ..." is legal, and "DOCKER_HOST" affects dockerd so we don't want to set it there)
 	set -- docker-entrypoint.sh "$@"
 fi

I guess really with the DOCKER_HOST fix, we can skip that second half -- it's purely an optimization at that point (and thus unrelated):
diff --git a/dockerd-entrypoint.sh b/dockerd-entrypoint.sh
index 47eee55..cdbea49 100755
--- a/dockerd-entrypoint.sh
+++ b/dockerd-entrypoint.sh
@@ -92,16 +92,16 @@ _tls_generate_certs() {
 # no arguments passed
 # or first arg is `-f` or `--some-option`
 if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
-	# set DOCKER_HOST to the default "--host" value (for both standard or rootless)
+	# set "dockerSocket" to the default "--host" *unix socket* value (for both standard or rootless)
 	uid="$(id -u)"
 	if [ "$uid" = '0' ]; then
-		: "${DOCKER_HOST:=unix:///var/run/docker.sock}"
+		dockerSocket='unix:///var/run/docker.sock'
 	else
 		# if we're not root, we must be trying to run rootless
 		: "${XDG_RUNTIME_DIR:=/run/user/$uid}"
-		: "${DOCKER_HOST:=unix://$XDG_RUNTIME_DIR/docker.sock}"
+		dockerSocket="unix://$XDG_RUNTIME_DIR/docker.sock"
 	fi
-	export DOCKER_HOST
+	case "${DOCKER_HOST:-}" in unix://*) dockerSocket="$DOCKER_HOST" ;; esac

 	# add our default arguments
 	if [ -n "${DOCKER_TLS_CERTDIR:-}" ] \
@@ -112,7 +112,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
 	; then
 		# generate certs and use TLS if requested/possible (default in 19.03+)
 		set -- dockerd \
-			--host="$DOCKER_HOST" \
+			--host="$dockerSocket" \
 			--host=tcp://<IP_ADDRESS>:2376 \
 			--tlsverify \
 			--tlscacert "$DOCKER_TLS_CERTDIR/server/ca.pem" \
@@ -123,7 +123,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
 	else
 		# TLS disabled (-e DOCKER_TLS_CERTDIR='') or missing certs
 		set -- dockerd \
-			--host="$DOCKER_HOST" \
+			--host="$dockerSocket" \
 			--host=tcp://<IP_ADDRESS>:2375 \
 			"$@"
 		DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS="${DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS:-} -p <IP_ADDRESS>:2375:2375/tcp"

@tianon Thanks for the update. I agree that using the local variable may be a better way. And thanks for pointing the check whether DOCKER_HOST is set to something that starts with unix:// case, since I've totally haven thought about it.
I also think there is no need to change how the last case is handled - in context of this fix. An optimization is a separate issue (and probably it could also get some attention, but it's totally not related to #175 problem).
I've pushed an update, using your second example. What do you think now?

... and Travis is already done :tada:

Thank you for the help @tianon. Looking forward to have this fix released into Docker Hub! :)

Thank you! Feel free to follow along from here over at https://github.com/docker-library/official-images/pull/6403

On behalf of the community and probably tons og gitlab dind users, thanks for the quick delivery and hard work @tmaczukin and @tianon !


Makefile for local development is not built locally

I can’t properly build the library locally and test using the make command. It would be nice to somehow rewrite the assembly for development locally. I only get it when I send it to GithubAction and that’s sad.

Well... https://github.com/emcache/emcache?tab=readme-ov-file#development


Improve homepage a11y

Improve the accessibility of the homepage

improve the a11y of the buttons on the homepage
improve the a11y of the progressbars on the homepage
improve the a11y of the items in the FAQ section on the homepage
improve the a11y of the footer links

References #1211
Motivation and context

Considering we are a platform for everyone, accessibility should be something we take seriously so anyone can access and sufficiently interact with our website!

Within this PR I have used the Google Chrome's DevTools to generate an accessibility analysis and tried to resolve some of the reported issues.

In order to resolve some of those issues I have followed the community standards (defined by WCAG) and applied to following changes:

added "aria-label" attribute to the button which is serving the logo in the top MainNav in order to comply with the a11y standards
added "aria-labeledby" attribute to the progressbars of the campaign cards on the homepage in order to comply with the a11y standards
added "aria-label" attribute to the logo and the social links in the footer in order to comply with the a11y standards
replace "ul" elements with "div" since those items don't contain any "li" elements, which makes it to report issues with the a11y standards

More details:

https://dequeuniversity.com/rules/axe/4.4/link-name
https://dequeuniversity.com/rules/axe/4.4/aria-progressbar-name
https://dequeuniversity.com/rules/axe/4.4/button-name

Screenshots:
As a result of the following changes,  the accessibility score for the homepage have been increased by 14%.

Before
After

The changes introduced within this PR affect the following pages:

elements on the homepage
footer elements which are visible on all pages

Testing
I don't have setup for a screen reader on my local environment, so I checked manually for the presence of the a11y attributes in the code and the accessibility report created by the Lighthouse extension of the Google Chrome's DevTools.
Steps to test

Open Chrome DevTools
Go to "Lighthouse" tab
Generate a new report including "Accessibility" analysys

@ani-kalpachka I managed to resolve the issues with the build and pushed some changes (although I have no idea why it was not failing initially on my local and how I was able to push those changes at all).
But unfortunately there are still some failing steps in the quality gate pipelines. I see that e2e tests are failing due to timeout, but I'm not sure how to debug it. I have issues with those tests on my local even on master branch, so probably there are some missing configurations on my end. Can we try to re-run the tests again and see what will happen? :thinking:

@valkirilov Could you please try to pull the latest changes from master and then rebase it?

Just pulled the latest changes from the master branch but it's still failing. I'll close this PR and open a new one, maybe there is something related with the recent pipeline changes :(


Would you consider switching to a more permissive license?

Hey, just stumbled upon Your library and it looks really polished, kudos!
I would be happy to contribute to the project. Been thinking of the following stuff:

more complete classes for X.509;
full set of classes for OCSP;
perhaps have a parser to generate PHP classes from ASN.1 specifications;

Unfortunately I'm a little bit concerned by the GPLv3 license preventing the use of this library by most commercial endeavors. Would You ever consider something more permissive, say MIT or Apache2?

Hey there, I am always happy about people contributing :)
I just never thought too hard about the whole license thing until this point, so thanks for bringing up the topic. After reading through then differences of MIT, Apache and GPL I made up my mind to switch to the MIT license.

Awesome! Thanks :)

Nice move ! :)


Cannot search or install this plugin anymore through vscodium marketplace

I tried to search and install this plugin through the marketplace integrated editor. It doesn't show up in search results, and ext install zjhmale.Idris doesn't work either.
I could download it and install it over the command line though: codium --install-extension zjhmale.Idris-0.9.8.vsix

Possibly this isn't a problem with this plugin since it occurred for other plugins as well.


NRF5x BOARD IDs are incorrect except for nRF51822

I'm using the unified nRF5x interface firmware in release 0243 on both nRF52840 and nRF52832, and I'm getting a BOARD ID for nRF51822, which is incorrect.
Here are the IDs in the Mbed Web/LS database:

TARGET
BOARD ID
Slug
Vendor

nrf52840_dk
1102
Nordic-nRF52840-DK
Nordic

nrf52_dk
1101
Nordic-nRF52-DK
Nordic

nrf51_dongle
1120
Nordic-nRF51-Dongle
Nordic

nrf51_dk
1100
Nordic-nRF51-DK
Nordic

nrf51822
1070
Nordic-nRF51822
Nordic

Perhaps separate releases can be provided for these where the BOARD ID is hardcoded. Not sure whether a unified firmware can detect the difference between nRF51 DK and nRF51 Dongle for example, as these are the same interface chips and MCUs, just different form factors.
cc @c1728p9

Related to the mbedls oddities as reported in #316

Hi @screamerbg currently the nrf52840 isn't a supported target, which is why the board ID is showing up incorrectly, and why programming doesn't work. The project sam3u2c_mkit_dk_dongle_nrf5x_if builds firmware for the nrf52_dk, nrf51_dongle, nrf51_dk and nrf51822, but not for the nrf52840_dk. Supported for multiple boards running from the same image was added at the request of @gamnes. To get support for the nrf52840_dk Nordic should add this to DAPLink.


Error deleting resources created by multiple CDs

What is version of KubeSphere DevOps has the issue?
v3.3.0-alpha.2
How did you install the Kubernetes? Or what is the Kubernetes distribution?
No response
What happened?
How To Reproduce
Steps to reproduce the behavior:

Create CD 'gitlab-test' in member cluster based on gitlab repo
Create CD 'git-test' in host cluster based on git repo
Delete CD 'git-test'、'gitlab-test' , delete resources created by 'gitlab-test' and 'git-test'
The resource created by 'gitlab-test' in host cluster was not been deleted

/priority medium
/assign @kubesphere/sig-devops
Relevant log output
No response
Additional information
No response

/close


Migrate windows waitlist to navlib

Task/Issue URL: https://app.asana.com/0/488551667048375/1204415151858383/f
Description
Ditto
Steps to test this PR
Smoke test the windows waitlist UX

Current dependencies on/for this PR:

develop

PR #3073   👈

This comment was auto-generated by Graphite.


How to insert Ctrl codes in Snippets

prob very easy, but i am not sure which is best way
eg line breaks
what about ALT codes eg say ALT-135

Beeftext snippets, even though they are plain text, use Unicode text encoding. You should be able to enter any text that can be entered in the combo editor's snippet text field.


fix(version): unpin constructs from specific cdk version

Description of changes:
Constructs should be satisfied with the any version of CDK equal to or greater than the version upon which they were built. This PR restores that by putting the ^ back into the peerDependency version specification.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 642d88928cf2450b7fee54471931525ef8e8c035
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


use poetry

I think it would be helpful to use poetry for dependency management and package building process.

I've seen Poetry in other projects, but I'm not very aware of its advantages over what we already have. What would be different/better with Poetry? (asking from an ignorant perspective, I'm not familiar with it)

Please let me know if this is something that you would like to do: I can send a PR...

I prefer to keep the project as it is in terms of tools for dependency management, package building, etc.
I understand Poetry is helpful. But in our case everything we need is already working so I don't think it is a good time to change it. It implies some work and I don't see the benefits now.

Point taken. I still think poetry would open the door for an easier setup for development purposes, hence more contributors. It is as easy as "poetry install".

I understand. Maybe once I use poetry in another project and understand the benefits we can revisit this issue here.

Even though I'm a poetry fan, the setup is pretty straight forward.
pyenv local 3.9
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test

Docs Build status updates of commit 2ebb21b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-09-29-11-42-43 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-09-29-11-42-43

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


This package and conditional-container in the same class

Can I use those two packages in the same class?
I try to use them and I get the same error as #37
    use HasConditionalContainer;
    use HasMegaFilterTrait;

I try to implement the same workarround, I don't get the error but none of them works.
Is there something that I can do?

hi @codechrisz follow the instructions on this comment: https://github.com/dcasia/nova-json-wrapper/issues/4#issuecomment-559796743


fix(build): bump node core to 5.1.0

:tada: This issue has been resolved in version 0.65.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Close dynamic modal from grandchild component

Hey, thanks again for such an awesome library.
I've been using it with Vue 2 for a while and now I'm upgrading to Vue 3 but a bit stuck on something. Here's some code, hopefully it's not too difficult to understand what I want to achieve:
// Modal.vue, a generic modal component that contains a lot of reused VFM logic and styling

<template>
    <VueFinalModal>
            <slot />
    </VueFinalModal>
</template>

<script>
export default {
    inheritAttrs: false,
}
</script>

// AuthModal.vue, this uses Modal.vue and contains a lot of logic for the auth modal

<template>
    <Modal>
        <template #default>
            <component
                :is="component"
                @close="close" <-- i need this, AuthModalRegister needs to be able to close the modal
            />
        </template>
    </Modal>
</template>

<script setup>
import AuthModalRegister from '~/components/modals/AuthModalRegister'
import Modal from '~/components/modals/Modal.vue'

const props = defineProps({
    component: {
        type: Object,
        default: () => AuthModalRegister,
    },
})
</script>

Please could you help me understand how I can achieve the following:

Open the modal dynamically from another component (I already have ModalsContainer)
Allow closing the modal from inside AuthModal.vue AND inside AuthModalRegister.vue

Here's what i've tried so far:
const registerModal = useModal({
    context: vfm, // what exactly does this do?
    component: AuthModal,
    attrs: {
        component: markRaw(AuthModalRegister),
        close() { // is this the right way to pass a close method down into the components?
            registerModal.close()
        },
        onClosed() {
            registerModal.destroy()
        },
    },
})

registerModal.open()

Hey @bradley-varol
You don't need to wrap Modal.vue with AuthModal.vue, you can use slots.default to bind AuthModalRegister.
Please checkout: https://vue-final-modal.org/api/composables/use-modal#with-component-props-and-events

I recommend to use it like so:

const registerModal = useModal({
    component: VueFinalModal, // This is optional, and the default value is `VueFinalModal`
    slots: {
      default: {
        component: AuthModalRegister,
        attrs: {
          // `close` event inside of AuthModalRegister should be convert to `onClose()`
          onClose: () => { registerModal.close() }
        }
      }
    }
})

registerModal.open()

context: vfm, // what exactly does this do?

context: vfm is also an optional properties, it's an edge usage when you need to use useModal() outside of script setup.
Please checkout here for detail: https://vue-final-modal.org/api/composables/use-modal#edge-usage

AuthModal exists because it handles switching from AuthModalRegister to AuthModalLogin without closing the modal:
<component
                :is="component"
                :email="email"
                @change-component="changeComponent"
                @close="close"
            />

@bradley-varol
My advise is that you should merge these three AuthModalRegister.vue, AuthModalLogin.vue, AuthModalForgotPassword.vue components into one Auth.vue, and handle the onChangeComponent event inside of Auth.vue
// Auth
<script>
import AuthModalRegister from './AuthModalRegister.vue'
import AuthModalLogin from './AuthModalLogin.vue'
import AuthModalForgotPassword from './AuthModalForgotPassword.vue'
</script>

<template>

</template>

const { open, close, patchOptions } = useModal({
    component: VueFinalModal, // This is optional, and the default value is `VueFinalModal`
    slots: {
      default: {
        component: AuthModalRegister,
        attrs: {
          onClose: () => { close() },
          on
        }
      }
    }
})

open()

@bradley-varol
Here is another way to do this, you can to use patchOptions, patchOptions allows you overwrite a part of the modal instance created by useModal().
For example:
const { open, close, patchOptions } = useModal({
    slots: {
      default: {
        component: AuthModalRegister,
        attrs: {
          onClose: () => { close() }
          onChangeComponent: (c) => {
            patchOptions({
              slots: {
                default: {
                  component: c // AuthModalRegister | AuthModalLogin | AuthModalForgotPassword
                }
              }
            })
          }
        }
      }
    }
})

open()

@hunterliu1003 great idea, thanks. If I want to open the modal to a particular type, can I pass that when opening?
const { open, close } = useModal({
    slots: {
      default: {
        component: Auth,
        attrs: {
          type: 'login', <-- like this?
          onClose: () => { close() },
        }
      }
    }
})

A great suggestion. Thank you for your time 🙏🏻

Any reason why authModal.close() doesn't do anything?


Error when checking input: expected lstm_29_input to have shape (None, None, 2) but got array with shape (51, 1, 10)

My code is as follows:
tfidf_matrix=dataset[:0,10]
model = Sequential()
input_shape = tfidf_matrix.shape
model.add(LSTM(32, input_dim=2, return_sequences=True,
input_shape=input_shape))
model.add(LSTM(64, input_dim=2, input_shape=input_shape,
return_sequences=True))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='rmsprop')
model.fit(X_train, Y_train, batch_size=20, nb_epoch=11)
score = model.evaluate(X_test, Y_test, batch_size=20)
a snippet of my dataset is as follows(It is for a binary classification):
197.2468966,210.0796552,0.579310345,899.0698276,721.1689655,95.52396817,90.59689707,2.620225801,80.53794681,152.6919308,0
200.7320616,213.6853999,0.653851798,856.1059428,841.3118122,97.48691388,92.08916212,2.753934571,100.4151651,161.5956683,1
225.5475209,250.124516,0.735856126,878.6098414,924.2562758,110.4606583,101.748855,2.885445826,77.50833011,109.0694556,0
I'm continuously getting an error somewhat like this: "Error when checking input: expected lstm_9_input to have 3 dimensions, but got array with shape (51, 10)" in model.fit() Kindly help

I built a very simple example in https://colab.research.google.com:
# import tensorflow as tf
from keras.models import Sequential
from keras.layers import LSTM

model = Sequential()
model.add(LSTM(32, input_dim=2, input_shape=(3, 10)))
model.compile(loss='mse', optimizer='sgd')
#model.summary()
model.input

This outputs:
/usr/local/lib/python2.7/dist-packages/ipykernel_launcher.py:5: UserWarning: The `input_dim` and `input_length` arguments in recurrent layers are deprecated. Use `input_shape` instead.
  """
/usr/local/lib/python2.7/dist-packages/ipykernel_launcher.py:5: UserWarning: Update your `LSTM` call to the Keras 2 API: `LSTM(32, input_shape=(None, 2))`
  """
<tf.Tensor 'lstm_12_input:0' shape=(?, ?, 2) dtype=float32>

If I understand correctly, input_dim=2 specifies an input of (unknown batch size, unknown time slots, 2). I would follow the warning above an use input_shape only with (time_slots, vector_size).
Then your inputs to fit (X_train) should have the shape (batch size, time_slots, vector_size).
From the example lines above I'm assuming that time_slots is 10 and vector_size=1.


Created automated test TC_ADMIN_1_9:

Follows test steps in test plan PR #4267:

TH1 able to open commissioning window on DUT
TH2 Fails to connect to endpoint for 20 iterations with correct payload but incorrect passcode
TH2 Fails to connect to endpoint due to commissioning window being closed after the 20th failed attempt
TH1 able to open commissioning window on the endpoint again
TH1 able to revoke commissioning window on the endpoint

@j-ororke Could you please put the PR to remove TC-CADMIN-1.9 YAML script. Here is the issue for the same: https://github.com/project-chip/matter-test-scripts/issues/363


unable to iterate over IPNetwork object in python 3.5

>>> net=IPNetwork('<IP_ADDRESS>/24')
>>> for ip in net:
	print(ip)

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    for ip in net:
TypeError: iter() returned non-iterator of type 'IPIter'```

Issue confirmed, and fixed in recent update on GIT repo. Shortly update version and push to pypi etc.

Thanks @vision1983 , working in 0.0.3


Feature : Improve display of error message on AvatarWithImagePicker

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/22069
PROPOSAL: https://github.com/Expensify/App/issues/22069#issuecomment-1648234084
Tests

Test - 1

Go to setting -> Workspace -> Navigate to any workspace -> click on settings
Update the new avatar image with dimensions outside the allowed range or select an image which is greater than 6 Mb
Notice `exceed the maximum upload size should be displayed right under the Avatar logo (it should not open modal)

Test - 2

Go to setting -> Profile
Update the new avatar image with dimensions outside the allowed range or select image which is greater than 6 Mb
Notice `exceed the maximum upload size should be displayed right under the Avatar logo (it should not open modal)

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Test - 1

Go to setting -> Workspace -> Navigate to any workspace -> click on settings
Update the new avatar image with dimensions outside the allowed range or select an image which is greater than 6 Mb
Notice `exceed the maximum upload size should be displayed right under the Avatar logo (it should not open modal)

Test - 2

Go to setting -> Profile
Update the new avatar image with dimensions outside the allowed range or select image which is greater than 6 Mb
Notice `exceed the maximum upload size should be displayed right under the Avatar logo (it should not open modal)

[x] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Screenshots look good to me

@shawnborton Error is being removed when the user moves out of Profile Page. But Should we remove the error when user navigates to internal Profile Page like Display Name, ContactMethod, etc. as well?
https://github.com/Expensify/App/assets/25876548/8208d6a9-6b55-42ce-8b80-58c339a36213
Same question for the following case.
https://github.com/Expensify/App/assets/25876548/c53bd737-cdbc-4df2-a7b6-fe9c63704f26

I think @arosiclair is not assigned as reviewer so tagging for review

This is by design no need to tag engineers at this point. Please work with the C+ first.

@arosiclair @shawnborton What's your thought on this?

Yup, that makes sense to me - remove the error after the user navigates away from the Profile page.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.50-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Support wasm use cases by removing time crate dependency

As discussing in this reqwest issue, the transitive dependency on the time crate causes issues when targeting wasm. The upstream cookie-rs crate has a dependency here as well, so supporting this use case would involve an upstream change as well.

The time crate will support wasm via js-sys soon! There's an open PR.

https://github.com/time-rs/time/pull/491

The PR is up here #27

#27 has been merged; I am leaving this issue open pending feedback that seanmonstar/reqwest#1449 can move forward with this change, at which point I can cut a 0.18.0 release including the change.


Unable to use configuration for multiple clients

According to the documentation

if multiple clients are needed, store the reference that is returned from the configure method.

If I am interpreting the instructions correctly, I take this to mean that, if you need to establish multiple clients in the same application.  The way you are meant to configure those clients and publish to interests through those clients is like so:
client_a = Pusher::PushNotifications.configure do |config|
  config.instance_id = 'client-a-instance-id'
  config.secret_key = 'client-a-secret'
end

client_b = Pusher::PushNotifications.configure do |config|
  config.instance_id = 'client-b-instance-id'
  config.secret_key = 'client-b-secret'
end

and then to publish to an interest through one of those clients, you would do so like this:
 client_a.publish_to_interests(interests: ['interest'], payload: {})

However, I have found that after setting up my application this way, all interests are published through the client that was configured last, and that saving the returned module from configure and using that module to publish push notifications does not seem to determine which client is used.
I am wondering if I am unclear on how multiple clients are meant to be configured and used in a single application.  If that is the case, it may be helpful to make the documentation more clear so other can avoid the same confusion (unless I am just extremely dense, which is a possibility).  However, if what I outlined above is how multiple clients are meant to be used, then there seems to be some issue in how the configuration for those clients are saved.

I get the same, I will see if this is an issue with the lib, or we're just doing it the wrong way.

We might have a potential bug. Looking into fixing it...


Proposal: syntax (sugar?) for flag arguments and arguments with a fixed number of variants

Description
It would be nice to have some way to be able to declare and specify flags, similar to the way command line interfaces use flags without arguments for booleans.
One implementation option is just as syntax sugar for passing booleans to named arguments so that it doesn't need any new support in .with, set-rules, or whatever else. One option which feels reasonable is i.e., fn(..., :arg_name, ...) for arg_name: true (perhaps if arg_name is true by default, this would instead give you false). The other possible syntax is arg_name::, which leads into the more powerful implementation.
A more powerful implementation, though you'd need to answer how exactly it interacts with set rules and .with, is to allow function declaration syntax to look something like let fn(flag: false : true). Then, the absence of the flag resolves to false and flag:: resolves to true, but this would also extend to more general let fn(fmt: x => x : emph) where fn(fmt::) is fn(fmt: emph).
This could even more generally be extended to allowing these variants to be named, e.g., let fn(style:: (plain: 0, pretty: 1, flamboyant: 2)) and then you would invoke it as fn(style::plain) or fn(style::flamboyant) instead of passing strings.
A unified syntax could be that, when a function argument is declared with two colons:

the expression between the two tokens is the default value, used if the argument isn't specified; if it's absent, the named argument is required. If the expression between the two colons is a single identifier or integer, it specifies a default variant instead (if you want the default value to be an expression that happens to just be a single identifier, you can wrap it in parenthesis)
the expression following the second colon is interpreted in one of the following ways

if it is neither array, nor dictionary, nor arguments, it is the "flag value", i.e., the value accessed by doing fmt::
if it is an array that is one element long, that element can also be accessed via arg:: (this case effectively exists to allow "escaping" default arguments of dictionary or array types by wrapping them in another layer, much like if you want to set the value of a state to a function, you could have to do state.update(_ => func) instead of state.update(func))
if it is an array that is more than one element long, this is either an error or its elements are accessed by doing fmt::index
if it is a dictionary, you select a variant with arg::key
if it is arguments, then you can perform either array or dictionary indexing.

Doing arg:: is only valid if there is only a single variant (i.e., the first two cases) and/or is syntax sugar for arg::0.
This allows arguments whose valid values are named or unnamed exhaustive lists. It would probably make sense to forbid normal named argument passing to arguments defined this way (i.e., you must do arg::variant and cannot just do arg:<value of the variant>)
Use Case
Flag arguments and arguments with a finite number of variants are generally common. While named boolean arguments work well enough, they are common enough that it could be worth having dedicated syntax for them. Similarly, arguments where variants belong to a short, exhaustive (or potentially, could also allow for non-exhaustive) list are common and while using string names or whatever is viable, it prevents IDE autocompletion and makes it harder to understand the interface then a list of variants.

I think this would become redundant if enums come to exist in an eventual type rework. That's all you would need to have fixed variants for arguments. And then you could just write
#let func(a: MyEnum = MyEnum.DefaultVariant) = { ... }
// then
#func(a: MyEnum.Something)

I also don't agree that arg:: or :arg would be more readable than arg: true.

From my experience, this isn't that big of a pain point in practice. The bar for adding new syntax is very high, and I think not met here.


EMFLU

EMFLU format needs updating.

[x] Dr Sami to send the needed template
[ ] Download data format fixed.
[ ] Tested for Jordan data

Closed until further notice from Dr Sami. All changes except for those relating to "virus name" incorporated in development branch.


Testing ttw-wrapper from Pypi -  windows-build-release.yml

My bad. I missed this before tweaking the workflow. Still I think something else up.


Sitemap doesn't work in production without SSL configured server-side

Describe the bug
I am running Nuxt within a Docker environment with an Nginx reverse proxy. I do not have a LetsEncrypt certificate or any SSL configured on the reverse proxy, since it is handled by my load balancer in AWS. When I navigate to /sitemap.xml, it is failing with the error:

request to https://website:8080/sitemap/routes.json failed, reason: write EPROTO<PHONE_NUMBER>80944:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:331: (https://website:8080/sitemap/routes.json)

The sitemap is failing to fetch the routes.json file, since it is fetching it server-side on an https connection, when in fact there is no SSL on the server. I took a look at the codebase and I believe it is because the host is resolving to my Docker container named 'website', instead of 'localhost' or '<IP_ADDRESS>', which sets the useHTTP flag to false. This is probably an edge case that hasn't been considered, but wanted to bring it to your attention in case it is a bug or defect.
Reproduction
No response
System / Nuxt Info
No response

As a temporary fix, I renamed my Docker container to 'localhostsite', so the useHTTP flag isn't set. It's not the best solution but works in the meantime, at least until it is addressed.

Hi @cbedwell-dev, previously in h3 is wasn't using the x-forward headers to resolve the real host. This is fixed in 2.6.0, would you mind seeing if this version works?

@harlan-zw This works perfect, thank you so much!


Fix errors creating snapshot and stories files due to multi-bytes test names

Issue: #195
What Changed

In test cases containing multi-byte characters, "name too long" errors were occurring even when the file name was under 255 characters.
This issue arises because, on most platforms, the file name size is determined by the number of bytes rather than the number of characters.
To address this, the logic for truncating snapshot IDs and story file names has been updated to use byte size instead of character count.
This change ensures that test cases with multi-byte characters will no longer trigger "name too long" errors as described above.
Related PR: #175
How to test

See new tests with multi-bytes names failing before the fix:

TODO: 7b6bfb16cc513e6df6c5633e48a64c2960bd7a22 actions result

See all tests pass after the fix

I would like to validate the fix by testing it against the results of the failed action.
Could you please run the action?
The fix I plan to apply is in the following commit: https://github.com/nakker1218/chromatic-e2e/commit/63345889fef31387275cc26c9dc3a46ac9acb74b.

Hello, thank you for contributing! I've pulled your changes into #219 to run the workflow and we're looking good so far.


Spirent.Gateway.API.Client <IP_ADDRESS>202 is missing from packages container

It is available everywhere but packages container.

Duplicate of https://github.com/NuGet/Engineering/issues/1159.


Move CSWinRT to Toolset Dependencies in Version.Details.xml

This allows us to not have an exclude list in the ConvertToVersionDetails powershell script.

/azp run

/azp run


Serialization fails when property is a scala Map

I wasn't sure whether to open this here or on gremlin-scala, but I think this is specific to orient serialization.
If I have a case class Foo with a Map[String, String] field:
case class Foo(m: Map[String, String])

and try to add it to a remote OrientGraph:
val graph: OrientGraph = GraphHelper.getPersistentGraph()  // connect to remote orientdb
graph + Foo(Map("hello" -> "world"))

Orient will spit out a huge stack trace... the relevant bit seems to be
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
  at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:47)
  at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:384)
  ... 13 more
Caused by: java.lang.ClassNotFoundException: scala.collection.immutable.Map$Map1

This looks like the orient client lib is serializing the scala Map to a byte stream, but the remote orient server chokes because it doesn't know about scala...
I can also get it to die client-side if I make a vertex class for Foo and set the field to be an EMBEDDEDMAP, although then it fails because the scala map doesn't implement java.util.Map
I've been working around this with a custom gremlin-scala marshaller, where I pull the m field out of the valueMap and convert to/from a java.util.HashMap
Is this just a fundamental limitation of orient's serializer, or is there a correct way to do this?  The only other workaround I can come up with is just using a java.util.Map as the field type in my case classes, and providing accessors to convert to/from scala collections.
Thanks, and sorry in advance if this is a problem with orient / scala instead of this driver (which is excellent, btw)

You are right, this is related to both gremlin-scala and the orient driver. You see this error because orient doesn't (and shoulnd't) know anything about a scala Map. And you wouldn't get there in the first place if the serialisation macro in gremlin-scala would convert the scala Map to a java Map.
For now you'll have to choose one of the workarounds you describe. I'm currently working on replacing the macro based serialiser with a shapeless based one (see https://github.com/netvl/picopickle/pull/17), and will address this problem there.

right on; I'll close this then :)
I wish I knew enough about shapeless to help out with the new serializer.


TMUX Error When Sourcing Config File

Hi,
I got the following errors when source ~/.tmux.conf file:

'TMUX_PROGRAM="$(LSOF=$(PATH="$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" command -v lsof); $LSOF -b -w -a -d txt -p 50521 -Fn 2>/dev/null | perl -n -e "if (s/^n((?:.(?!dylib$|so$))+)$/\1/g && s/(?:\s+\([^\s]+?\))?$/[0/0]
'"$TMUX_PROGRAM" -S /tmp/tmux-100305/default set-environment -g TMUX_SOCKET "/tmp/tmux-100305/default"' returned 127
'"$TMUX_PROGRAM" set-environment -g TMUX_CONF $(for conf in "$HOME/.tmux.conf" "$XDG_CONFIG_HOME/tmux/tmux.conf" "$HOME/.config/tmux/tmux.conf"; do [ -f "$conf" ] && printf "%s" "$conf" && break; done)' returned 127
'"$TMUX_PROGRAM" set-environment -g TMUX_CONF_LOCAL "$TMUX_CONF.local"' returned 127
'"$TMUX_PROGRAM" source "$TMUX_CONF_LOCAL"' returned 127

I didn't touch the .tmux.conf file and all my tmux.conf.local didn't take effect due to this error.  Here is my local environment:
OS: Linux CentOS 7
Shell: ZSH + oh-my-zsh
Tmux: 3.4
Would appreciate any help to fix this.

Same issue here.
In my case I moved my configuration from ~/ to ~/.config/tmux/.
OS: MacOS Sonoma
SHELL: ZSH + zinit + Oh My Posh
Tmux: 3.4

Hello,
I currently don't have access to CentOS but on macOS Sonoma I have no issue.

I just installed CentOS 7 with Vagrant, then compiled tmux from source and I can't reproduce this.
Do you have Perl installed?

@haohu321 Can you please try the latest commit in the master branch?

I still have this error even on latest commit

@rubiin Can you please open a dedicated issue? Something's failing with the TPM plugins you're using

i deleted the plugins folder and the second issue is gone. now just the first error

@rubiin Please open a dedicated issue: kill all tmux processes, start from the latest version of the master branch, remove the use of TPM plugins, and in the issue please detail your OS, TERM value and your tmux version. Thanks!


Add notification when AR is blocked.

Need to let users know that an AR permission has been denied. I don't think we can specifically identify which one, but should be able to catch this.

Added in v0.20.0


About pointnext-s-c64-enc-dec-sameshape.pt

Hi,
Thank you for your great work! When I ran the code, I met the problem of missing pointnext-s-c64-enc-dec-sameshape.pt. So is this pre-trained weight from original PointNext or from your fine-tuning?
By the way, I think in this line of config, https://github.com/vlc-robot/polarnet/blob/a8f6c624a9f0aad35d602a637253fd48ac267f57/polarnet/config/10tasks.yaml#L58
it should be 10_tasks_var.csv as 10tasks_var.csv does not exist in asset folder.

Hi @rjgpinel,
Thank you for your reply! Very nice work!

Sorry for reopening, I just found that the code uses 1 GPU with DDP, but mutiple GPUs with DP (https://github.com/vlc-robot/polarnet/blob/1f951a4addb47411e32c88de16d8fe1925f7e6f9/polarnet/utils/misc.py#L56).
Are there any reasons for the setting?  Will the DDP influence the training using multiple GPUs?

Hi @TeleeMa,
Let me try to explain what's going on on this part of the code:
For DDP training, we will start many processes where each process uses one GPU and has a unique rank id (or local rank id in the node). So for each process, there is just one GPU with local rank >= 0.
If the local rank is not set, then it will use one process. If there are multiple GPUs in that process, it will use DataParallel to train.
I hope that's clear.

Please, if you have an issue that's unrelated to this issue title "About pointnext-s-c64-enc-dec-sameshape.pt", open a new issue instead of reopening the same issue.
This will help others to find more easily the same issue and faster for me to identify new issues.
Thank you!
Closing this issue as solved.


Method Take iterates over all elements

Problem:
Method Take<TSource>(int count) (line 631) iterates over all elements of
source, because it uses method Where() in implementation: source.Where((item,
i) => i < count). It isn't efficient.

Proposed implementation:
if (count > 0) {
  foreach (var item in source){
    yield return item;
    if (--count == 0) {
      break;
    }
  }
}

[Test]
public void Take_IsLazy()
{
    TakeTestLazy.InstancesCount = 0;
    var taked = TakeTestLazy.GetFiveInstances().Take(0).ToArray();
    CollectionAssert.IsEmpty(taked);
    Assert.AreEqual(0, TakeTestLazy.InstancesCount);
    taked = TakeTestLazy.GetFiveInstances().Take(3).ToArray();
    Assert.AreEqual(3, taked.Length);
    Assert.AreEqual(3, TakeTestLazy.InstancesCount);
}

private class TakeTestLazy {
   [ThreadStatic]
   public static int InstancesCount;

   public TakeTestLazy() {
      InstancesCount++;
   }

   public static IEnumerable<TakeTestLazy> GetFiveInstances() {
      for(int i=0; i<5; i++) { yield return new TakeTestLazy(); }
   }
}

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 17 Nov 2010 at 11:40

The goal of LINQBridge release 1.1 was correctness & coverage over
optimization. Many operators, like Take, are implemented in terms of more basic
operators, like Where, to attain 100% coverage. Since base operators were well
covered, the idea was that if most operators could be implemented in terms of
the base ones then the coverage goal would be attained with fewer tests.
Optimizations are certainly welcome and many operators could be implemented
more efficiently but it would help tremendously if you could submit a patch
with suggested implementation along with tests that guarantee continued full
coverage.

BTW, Take_IsLazy test does not test for laziness. For example, Take could be
written for eager evaluation and Take_IsLazy would still pass. Also, you would
need code and tests to check arguments eagerly but evaluate lazily.

Original comment by azizatif on 18 Nov 2010 at 11:15

Changed state: Accepted
Added labels: Performance

It's not an optimization issue, but the real bug: Take will never complete
enumeration over infinite enumerables.

So, I'm fixing it locally with the following patch.

Original comment by<EMAIL_ADDRESS>on 15 Jan 2011 at 4:16
Attachments:

Enumerable-Take.patch

Skip(count) could also be implemented with SkipWhile passing it inverted
predicate, i.e. i < count.

Original comment by<EMAIL_ADDRESS>on 15 Jan 2011 at 4:27

Original comment by azizatif on 16 Jan 2011 at 11:57

Added labels: Milestone-Release1.3

Fixed in r248.

Original comment by azizatif on 17 Jan 2011 at 6:53

Changed state: Fixed


HASS Automation based on Light Turning on

This is more of a question than a bug; I didn't see where else to ask.
I'm trying to create an automation so that when my bathroom light turns on, the power to the fan is set to on.
I need help determining what value goes in the Value field. It does not let me type letters; I'm still deciding what number value goes there.
I've tried 1-10 as the power levels, but that's not the case.

Thanks for the help and the work on this.

Nevermind I'm retarded,
The option I was looking for is the "Active Mode option," and set to on.