Automatically index fk columns on an empty table

Fixes #4134, #4177.
Summary of changes:

Update ADD CONSTRAINT doc's section on adding foreign key constraints
to remove the "you must create an index" language and add some
"indexes are created for you" language

Update tables in ADD CONSTRAINT to use new style

A few small link and copy edits

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/5922b9b8f24ae1e9bc107b463dc5467ef45c1f27/

Direct link to updated section:

ADD CONSTRAINT > Add the foreign key constraint with CASCADE

This looks fine as is, but I wonder if we should be more explicit that adding a foreign key for a non-empty non-indexed table will fail. Do we say that anywhere else?

I think it's implied on the Foreign key constraint page where we say among other things that

Foreign key columns must be indexed

and

To meet the index requirement when adding the Foreign Key constraint to an existing table, if the columns you want to constraint are not already indexed, use CREATE INDEX to index them and only then use the ADD CONSTRAINT statement to add the Foreign Key constraint to the columns.

To make it explicit, I've updated this PR in 2 places:

Added a small not to the ADD CONSTRAINT page saying

Adding a foreign key for a non-empty, non-indexed table will fail, since foreign key columns must be indexed. For more information about the requirements for creating foreign keys, see Rules for creating foreign keys.

Updated the 'Foreign Keys' page list of requirements for creating FKs to note that we generate the index for you when you add the FK constraint to an empty table.  Looking at it prompted me to do so.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/ceccea069ce408e6280f77045fc31d03150e2546/

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/bceec9d5c263e3684d5bda68a727b87bfd2d3728/
Edited pages:

v19.1/add-constraint.md
v19.1/foreign-key.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/5d739e929831939bb8039fd12d0810c6d205548e/
Edited pages:

v19.1/add-constraint.md
v19.1/foreign-key.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/3f9f34e380848f56ab3012f2e734064221a4e49d/
Edited pages:

v19.1/add-constraint.md
v19.1/foreign-key.md


add copy and show hide buttons for API token

#814

This looks really good! Thanks @wlsquid.
Code wise I think we should try to figure out how to extract this part into an anonymous view component instead of putting it in the language file.


feedback

I may get roasted for this comment, but i think a turtle module
along the lines of what you have here would better serve the stdlib.
The current implementation is great, but the whole purpose of turtle
is to help children or non-programmers get a feel of the language in a
very, very, simple and fun way. Your app is presented in much the same
way as any over-the-counter windows app any non-programmer has seen
before making them feel a little more comfortable.
[warning wild speculations ahead!!]
I just guessing here, but i'll bet many of these noobs have found
the current turtle just a wee-bit more advanced than they can handle,
and some have been scared off. I would also venture to say a key-map
of sorts that is available thru the help menu where one could push an
"Up" button, or a "rotate" button, and have the proper command
inserted in the prompt, and then have the command execute, may also
help make the connections here, a sort of real Visual Basic
programming -- sorry Microsoft :P

Closing this issue as going away from typing Python code is clearly not the idea of PythonTurtle.
For "don't let copy+paste" sneak in there's issue #30.


Test cross-browser

Chrome
Edge
Firefox
Safari (somewhat of an emulation of Mac) - 5.1.7 (as Apple stopped support for windows)

actually, scratch that, safari doesn't support SSL properly

Edge browser not loading pages with unicode in their URL. I tried fixing it by encoding the URL / slug, but then these pages do not load on other browsers, so I gave up on that.


Unable to run Enigmatica 6 Server

I have tried different docker-compose files and every time it gets stuck with its last lines being
Running FTB /data/FeedTheBeast/mods/ServerStart.sh in /data/FeedTheBeast/mods ...
minecraft_e6 | no main manifest attribute, in forge-1.16.5-geckolib-3.0.7.jar
minecraft_e6 | 2021-02-18T15:53:34.815Z INFO    mc-server-runner        Done

A weird thing I have noticed is that for some reason the server and properties files are placed inside the /mods folder. I have tried to run the docker-compose with DEBUG: "true" but I am not getting any significant output. I have also tried the env USE_MODPACK_START_SCRIPT: "false".
My docker-compose.yml looks like this now:
version: '3'
# Other docker-compose examples in /examples

services:
  minecraft:
    image: itzg/minecraft-server
    container_name: minecraft_e6
    ports:
      - "25567:25565"
    volumes:
      - "./data:/data"
      - "./modpacks:/modpacks:ro"
    environment:
      EULA: "TRUE"
      TYPE: CURSEFORGE
      CF_SERVER_MOD: /modpacks/Enigmatica6Server-0.3.13.zip
#      USE_MODPACK_START_SCRIPT: "false"
      CONSOLE: "false"
      ENABLE_RCON: "true"
      RCON_PASSWORD: "Str0ngA5St33l"
      RCON_PORT: 28016
      INIT_MEMORY: 1G
      MAX_MEMORY: 6G
      ENABLE_AUTOPAUSE: "true"
      AUTOPAUSE_TIMEOUT_EST: 600
      DEBUG: "true"
    restart: unless-stopped
  rcon:
    image: itzg/rcon
    container_name: rcon_e6
    ports:
      - "4340:4326"
      - "4341:4327"
    volumes:
      - "rcon:/opt/rcon-web-admin/db"

volumes:
  rcon:

It sounds like there's something broken in that modpack since the container is not responsible for how the modpacks startup script does it's downloading. Perhaps see if the modpack has a way to discuss issues.

With USE_MODPACK_START_SCRIPT: "false" I enhanced the modpack handling to lookup the installer URL from the modpack's config file. Re-pull the image and see if that works for you now.

I also ran into this issue with GreedyCraft from CurseForge and after disabling the pack's start script, I still couldn't launch. I found that the launch script is picking up multiple forge-*.jar files due to the geckolib mod who's file name is like forge-1.12.2-geckolib-3.0.0-beta.7.jar in the /mods/ directory. I solved the issue by renaming that mod's jar to something that didn't start with "forge-"
Here is some of the debug output around where the script locates forge before I renamed the jar:
+ export 'SERVER=/data/FeedTheBeast/mods/forge-1.12.2-geckolib-3.0.0-beta.7.jar
/data/FeedTheBeast/forge-1.12.2-<IP_ADDRESS>55.jar'
+ SERVER='/data/FeedTheBeast/mods/forge-1.12.2-geckolib-3.0.0-beta.7.jar
/data/FeedTheBeast/forge-1.12.2-<IP_ADDRESS>55.jar'
+ [[ -z /data/FeedTheBeast/mods/forge-1.12.2-geckolib-3.0.0-beta.7.jar
/data/FeedTheBeast/forge-1.12.2-<IP_ADDRESS>55.jar ]]
+ [[ ! -f /data/FeedTheBeast/mods/forge-1.12.2-geckolib-3.0.0-beta.7.jar
/data/FeedTheBeast/forge-1.12.2-<IP_ADDRESS>55.jar ]]

@zachcheatham make sure to re-pull the image you are using. The debug output looks like it doesn't include the latest fix.


EC2 instance not needed for SSM setup?

The SSM setup guide (section 2) currently guides users to set up SSM Advanced Tier by first creating a minimal EC2 instance...
But from my tests, I don't think this is mandatory, at least in all cases?
I was able to enable Advanced Tier simply by opening Systems Manager > Fleet Manager in the Console and opening Account Management > Instance Tier settings. The below screenshot was taken after I'd already created an SSH Helper training job, but I could access the same screen beforehand too by clicking the orange "Get started" button if you navigate to Fleet Manager before any instances are set up.

I've been able to connect to the training job instance no problem, so pretty sure that at least in some cases users can just skip straight to step 2h? It would be nice to streamline the setup instructions if possible and maybe just give the EC2 option for troubleshooting problems?
The specific account I tested all the way through on is a management account in its AWS Organization (but the org only contains that one account).

Yes. The EC2 involvement is purely for verification purposes. We thought that it's better to bother a bit more during the setup process, than to continue on without verification, perhaps failing later on, when there are more moving making troubleshooting more complex.
@ivan-khvostishkov I think to make it more clear that the EC2 part is optional, okay?  2a. currently say (you need it for successful setup and for verification).

Very good observation! I'll make another round of tests to simplify the procedure and update the docs accordingly.

IAM/SSM setup instructions now have a minimal set or required steps and do not require EC2 instance.


How do you disable it after enabling?

What happens if you try the preview and then decide you dislike it? How do you disable it?

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

ID: 77f273ec-aed5-1f65-0b6d-87240765d3e0
Version Independent ID: d195959f-5742-7d94-f4f5-e70c0f0581e7
Content: Azure SQL Analytics solution in Log Analytics
Content Source: articles/azure-monitor/insights/azure-sql.md
Service: log-analytics
GitHub Login: @danimir
Microsoft Alias: danil

@bjmassie Thanks for the Comment. We are actively investigating and will get back to you soon.

@bjmassie You would remove it as any other Azure resource. This is standardized for all resources on Azure - click on a resource, delete, confirm.
@femsulu #please-close

We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Where I can find weights for Inception ResNet v2?

README.md says that @tfriedel trained weights for Inception ResNet v2, but I can't find it. Is that weights available for downloading anywhere?

https://github.com/titu1994/neural-image-assessment/releases


Add Bandcamp.com

Bandcamp.com support would be great! I've been reading through their JS for the last hour or so but I haven't been able to tap into it. The most reliable method seems to be just simulating clicks on the play/pause and next/previous elements on the page:
// Click play / pause
document.querySelector('.playbutton').click()

// Click next / previous
document.querySelector('.nextbutton').click()
document.querySelector('. prevbutton').click()

This works fine on album pages (e.g. https://cascaderecords.bandcamp.com/album/1001-nights-ep) but doesn't work well on any other page as .playbutton either doesn't exist or can match more than one element.

Would you like to make pull request for this feature?

Even though this won't work with custom URLs for Bandcamp sites (a shame, but at least with how the extension is currently written, it's not possible to detect such sites), it looks like this service has already been added.  Just updated the readme with #208!

Released in 0.8.1.


"System.Drawing.Common is not supported on non-Windows platforms" exception on MacOS environments

Describe the bug
I'm using a dotnet core 6.0 application that I'll run mostly on Windows and Linux environments. Recently I got an MacBook Pro and I tried to run my app on this computer and I received this exception System.Drawing.Common is not supported on non-Windows platforms at running app.UseFastReport(); onProgram.cs.
To Reproduce
Steps to reproduce the behavior:

Create a new dotnet core application in a Mac OS environment
Install FastReport.Opensource and some related libs to render it's reports
Add app.UseFastReport(); on Program.cs
Run the app

Expected behavior
This app must run without problems and exceptions.
Stacktrace
System.TypeInitializationException: The type initializer for 'FastReport.Utils.Config' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'FastReport.TypeConverters.FontConverter' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.PlatformNotSupportedException: System.Drawing.Common is not supported on non-Windows platforms. See https://aka.ms/systemdrawingnonwindows for more information.
   at System.Drawing.LibraryResolver.EnsureRegistered()
   at System.Drawing.SafeNativeMethods.Gdip.PlatformInitialize()
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipNewPrivateFontCollection(IntPtr& fontCollection)
   at System.Drawing.Text.PrivateFontCollection..ctor()
   at FastReport.TypeConverters.FontConverter..cctor()
   --- End of inner exception stack trace ---
   at FastReport.TypeConverters.FontConverter.get_PrivateFontCollection()
   at FastReport.Utils.FRPrivateFontCollection..ctor()
   at FastReport.Utils.Config..cctor()
   --- End of inner exception stack trace ---
   at FastReport.Utils.Config.set_WebMode(Boolean value)
   at Microsoft.AspNetCore.Builder.FastReportBuilderExtensions.UseFastReport(IApplicationBuilder app, Action`1 setupAction)
   at Program.<Main>$(String[] args) in /my/program/Program.cs:line 64

Device (please complete the following information):

OS: MacOs Monterey (12.6)
Browser: Any Browser (app crashes before start its web server)

Thanks in advance.

Try to set System.Drawing.EnableUnixSupport = true in the runtimeconfig.json file
https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

Hello, @victorvilella !
FastReport.Opensource does not support development for macOS. System.Drawing.Common, starting with version 7.0, will completely stop supporting non-Windows systems, so the examples of libgdiplus given above will soon not work at all.
Only the commercial version of FastReport.Core.Skia has support.
See here:
https://www.fast-report.com/en/blog/show/fastreport-core-skia/


Telegraf 1.21.0

Release Announcement draft - still in progress
Estimated GA release date: December 15, 2021

Closed via #3497


Added additional test cases for resource limits

As Yfatch's PR covers all three of our efforts, we may be able to close this PR once it merges.


Add a notebook with BakLLaVA inference from Python

Also add notebooks directory in the root of this repo

You can preview the notebook here: https://colab.research.google.com/drive/1yn-25Np_6OiJ7IDBBcuPOsPF9vqWBjzt
@nisten
@Sentdex
@pharaouk
@marianna13
Guys, could you please review and merge?

Hey @kopyl, I'm having trouble with the notebook -- getting this error when running the last cell:
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-9-b3405b5fe08b> in <cell line: 1>()
      1 with torch.inference_mode():
----> 2     output_ids = model.generate(
      3         input_ids=input_ids,
      4         images=image_tensor,
      5         do_sample=True,

2 frames
/usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py in sample(self, input_ids, logits_processor, stopping_criteria, logits_warper, max_length, pad_token_id, eos_token_id, output_attentions, output_hidden_states, output_scores, return_dict_in_generate, synced_gpus, streamer, **model_kwargs)
   2768             # sample
   2769             probs = nn.functional.softmax(next_token_scores, dim=-1)
-> 2770             next_tokens = torch.multinomial(probs, num_samples=1).squeeze(1)
   2771
   2772             # finished sentences should have their next token be a padding token

RuntimeError: probability tensor contains either `inf`, `nan` or element < 0

Any ideas as to how this can be fixed?

@mshumer try Runpod. Google Colab sometimes has issues.


User-defined decorator annotations

Currently, a user has to define a class with a default constructor to specify a decorator on an annotated service:
public class MyService {
    @Decorator(MyDecorator.class)
    @Get(...)
    public HttpResponse someMethod(...) { ... }
}

It would be great if a user can define his or her own decorator annotation, e.g.
@Decorator(MyDecoratorFactory.class)
@interface MyDecorator {
    String foo();
    String bar();
}

public class MyService {
    @MyDecorator(foo = "f", bar = "b")
    @Get(..)
    public HttpResponse ...
}

public class MyDecoratorFactory implements Supplier<Function<Service<..>, Service<..>>> {
    public MyDecoratorFactory(MyDecorator annotation) {
        ...
    }
}

Armeria itself could also make use of this feature to provide an easy access to its decorators such as LoggingService and ThrottlingService.
/cc @hyangtack

I think it's good idea but it has some limitation because Java annotations only accept primitive types, String, Class, Enum, .. as its member. How about this?

Introduce a factory to instantiate a new decorator with the given 'delegate' (e.g. a factory method like Function<Service<..>, Service<..>>)
Pre-create a factory map via ServerBuilder with a name as its key and a factory instance as its value
A user write their annotated http service class as follows:

public class MyService {
    @DecoratorFactory("myDecoratorFactory1")
    @Get(..)
    public HttpResponse ...
}

Decorate the service method with a decorator created by the specified factory "myDecoratorFactory1"

Doesn't it defeat the original purpose of this issue - ability to define a custom annotation? How can a user create a custom annotation and pass parameters to his/her decorators in an annotated service class?

I thought you filed this issue to find a way of reusing our existing decorator like LoggingService. Also, I thought that a custom annotation is one of the way to do it. So I focused on how to use the existing decorators in annotated service easily. If the original purpose of this issue is to define a custom annotation, we need to implement your suggestion first. :-)

I think we can implement like below:
    @Decorator(MyDecoratorFactory.class)
    @interface MyDecorator {
        String foo();
        String boo();
    }

    interface DecoratorFactoryFunction<T> {
        Function<Service<HttpRequest, HttpResponse>,
                Service<HttpRequest, HttpResponse>> newDecorator(T arg);
    }

    class MyDecoratorFactory implements DecoratorFactoryFunction<MyDecorator> {
        @Override
        public Function<Service<HttpRequest, HttpResponse>,
                Service<HttpRequest, HttpResponse>> newDecorator(MyDecorator arg) {
            return null;
        }
    }

Also I think that it would be better to have pre-defined factory instance pool because a user may want to inject their other object to be used in the decorator. WDYT?

SGTM :-)


MWPW-148050: auto merge stage to main

Description
Merge PRs from stage->main automatically given 4 sign-offs, as long as it's monday-thursday 8AM UTC to 8PM UTC
Resolves: MWPW-148050
Test URLs:

Before: https://main--milo--mokimo.hlx.page/?martech=off
After: https://merge-process--milo--mokimo.hlx.live/?martech=off

@overmyheadandbody No specific timeline, I figured I can open the PR at any point, so this doesn't get lost and gives people the chance to give input.
Since this is the 2nd week with the stage automation, unless we see any big issues this should be good to be ready next week. This would also nicely fall in place with the milo deep dives on the 29th of May, where we can present all the changes to the process as a whole.

https://github.com/adobecom/milo/pull/2362

Permissions are working, SOT labels are accounted for, this should be good to go


Comments are always on a page instead of just at the bottom of the post.

I added giscus to my hugo site and the comments section just kind of stays overlayed on top of my post instead of only being at the bottom like this:

It's something to do with your site's template, make sure you place the script tag where you want the comments to be, or use an element with a giscus class on it so the script knows to put it there.
I cannot help you without a link to your website and the source code.


Add timeout for taking screenshots

Script will load forever if some certain hostnames are entered.
I should add a timeout for this script

timeouts are now handled by goroutines and can be changed by using the --timeout flag


Proper Null Handling

Problem Statement
Currently, query resolution may sometimes drop rows depending on query path selected due to the requirement to merge CTEs on keys. If the keys have null values, this can result in unexpected loss of data.
This can be mitigated at the definition layer by adding a rawsql coalesce to any column with tainted values, but it would be ideal to support resolution on columns with nulls.
Proposed Solution
Add a concept level metadata flag for if it is nullable or not. (maybe copy type syntax?)
eg
key concept_id int | null;
When resolving queries with this, if the concept is used in a join, the join condition must be
[a.x = b.x OR a.x is null and b.x is null]
Alternatives Considered
Please briefly describe which alternatives, if any, have been considered, including merits of alternate approaches and
tradeoffs being made.
Additional Context
Please provide any other information that may be relevant.

Implemented as  ?, can update in future.
 key concept_id int?


Material Box is not working properly in Internet Explorer 11

Material Box component is not working properly in Internet Explorer 11. The content in the material box should have been placed in the centre of the viewport, but actually, it's not. It seems even the example in materializecss official website next.materializecss.com/media.html is not working properly

either. Please help to solve that issue.

I am using this workaround to enable the Material Box in every browser except IE 11:
document.addEventListener('DOMContentLoaded', function () {
    if(!document.documentMode) { // https://github.com/Dogfalo/materialize/issues/5801
        M.Materialbox.init(document.querySelectorAll('.materialboxed'));
    }
});

@acburst do you have any updates on this issue? :)


Support maintenance api in YDB CLI: doc

Main help
$ ydb --help
YDB client

Usage: ydb [options...] <subcommand>

Subcommands:
ydb
├─ auth                     Auth service operations
├─ config                   Manage YDB CLI configuration
├─ discovery                Discovery service operations
├─ export                   Export service operations
├─ import                   Import service operations
├─ init                     YDB CLI initialization
├─ maintenance              Maintenance service operations
├─ monitoring               Monitoring service operations (aliases: mon)
├─ operation                Operation service operations
├─ scheme                   Scheme service operations
├─ scripting                Scripting service operations
├─ table                    Table service operations
├─ tools                    YDB tools service
├─ topic                    TopicService operations
├─ workload                 YDB workload service
└─ yql                      Execute YQL script (streaming)

Service help
$ ydb maintenance --help
Usage: ydb [global options...] maintenance [options...] <subcommand>

Description: Maintenance service operations

Subcommands:
maintenance                 Maintenance service operations
├─ node                     Show information about node maintenance
└─ task                     Manage maintenance tasks

Node commands
$ ydb maintenance node --help
Usage: ydb [global options...] maintenance node [options...] <subcommand>

Description: Show information about node maintenance

Subcommands:
node                        Show information about node maintenance
└─ list                     List cluster nodes

Example
$ ydb -e my-host-0000.domain.net maintenance node list

Task commands
$ ydb maintenance task --help
Usage: ydb [global options...] maintenance task [options...] <subcommand>

Description: Manage maintenance tasks

Subcommands:
task                        Manage maintenance tasks
├─ complete                 Mark action within maintenance task as completed
├─ create                   Create new maintenance task
├─ drop                     Drop specified maintenance task
├─ get                      Get detailed information about specified maintenance task
├─ list                     List maintenance tasks
└─ refresh                  Try to perform maintenance task's actions (polling)

Create
$ ydb maintenance task create --help
Usage: ydb [global options...] maintenance task create [options...] <task-uid>

Description: Create new maintenance task

Options:
  {-?|-h|--help}             Print usage
  --availability-mode STRING Avaliablity mode [strong, weak, force] (default: "strong")
  --description STRING       Description of task
  --dry-run                  Do not really perform actions, only check that it is possible
  --duration VAL             Duration of every action in task (default: "10m")
  --lock STRING              Host or Node ID to acquire lock on
  --priority INT             Priority of task (default: 0)

Free args: min: 1, max: 1
  <task-uid>  Task UID

Example:
$ ydb -e my-host-0000.domain.net maintenance task create --lock 50002 --duration 10m my-task-1

Complete
$ ydb maintenance task complete --help
Usage: ydb [global options...] maintenance task complete [options...] <task-uid> <action-id>

Description: Mark action within maintenance task as completed

Options:
  {-?|-h|--help} Print usage

Free args: min: 3, max: 3
  <task-uid>  Task UID
  <action-id> Action ID within task

Example:
$ ydb -e my-host-0000.domain.net maintenance task complete my-task-1 action-1

Drop
$ ydb maintenance task drop --help
Usage: ydb [global options...] maintenance task drop [options...] <task-uid>

Description: Drop specified maintenance task

Options:
  {-?|-h|--help} Print usage

Free args: min: 1, max: 1
  <task-uid>  Task UID

Example:
$ ydb -e my-host-0000.domain.net maintenance task drop my-task-1

Get
$ ydb maintenance task get --help
Usage: ydb [global options...] maintenance task get [options...] <task-uid>

Description: Get detailed information about specified maintenance task

Options:
  {-?|-h|--help} Print usage

Free args: min: 1, max: 1
  <task-uid>  Task UID

Example:
$ ydb -e my-host-0000.domain.net maintenance task get my-task-1

Refresh
$ ydb maintenance task refresh --help
Usage: ydb [global options...] maintenance task refresh [options...] <task-uid>

Description: Try to perform maintenance task's actions (polling)

Options:
  {-?|-h|--help} Print usage

Free args: min: 1, max: 1
  <task-uid>  Task UID

Example:
$ ydb -e my-host-0000.domain.net maintenance task refresh my-task-1

List
$ ydb maintenance task list --help
Usage: ydb [global options...] maintenance task list [options...]

Description: List maintenance tasks

Options:
  {-?|-h|--help} Print usage
  --user NAME    List tasks created by specified user

Example:
$ ydb -e my-host-0000.domain.net maintenance task list

$ ydb -e my-host-0000.domain.net maintenance task list --user pixcc

Flow example
$ ydb -e ... maintenance node list

$ ydb -e ... maintenance task create --lock my-host-0000.domain.net --duration 10m my-task-1

-- can't acquire lock now, wait --

$ ydb -e ... maintenance task refresh my-task-1

-- doing maintenance --

$ ydb -e ... maintenance task complete my-task-1 <action-id>

$ ydb -e ... maintenance task drop my-task-1

Same but more high-level command is going to be implemented in ydbops tool, so don't need it in `ydb`` CLI


Set Background Color of a Column

Hi there,
I see the examples to color rows in the excel sheet, is there a way to set the background Color of a Column?
best regards
jtuttas

Try this
$p = ps | select Company, Handles | Export-Excel c:\temp\testBackgroundColor.xlsx -ClearSheet -KillExcel -PassThru

$ws        = $p.Workbook.WorkSheets[1]
$totalRows = $ws.Dimension.Rows

Set-Format -Address $ws.Cells["B2:B$($totalRows)"] -BackgroundColor LightBlue

Export-Excel -ExcelPackage $p -show


Balance not updated after LNURL withdraw

Description
After a succesful lnurl-withdraw, the balance on the home screen is not updated.
Expected Behavior
Balance on the home screen reflecting the new balance after lnurl withdraw.
Actual Behavior
Balance on the home screen reflecting outdated balance after lnurl-witdhraw
Possible Fix

Steps to Reproduce

LNURL withdraw.
Inspect balance on home screen

Context

Your Environment

Zap version: 0.4.1-beta

@kiwiidb
Thanks for the issue report. I will have a look at it for the next version.

@kiwiidb
hi I just tested it and it updated automatically. It took about 1 or 2 seconds after the success screen though. This is because the success screen depends on the answer of the communication between the lnurl service and your node, while the actual updating of the balance is constrained to the actual htlc taking place.
Which version of LND are you running? The automated updating based on htlcs in Zap Android is only available on LND 11.0 and later.

I cannot reproduce it and I didn't get an answer which lnd version you used. I am closing the issue now.
If you still have that problem, feel free to reopen the issue.


Delay in rendering modus date-picker and modus-autocomplete web components

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have read the contributing guidelines

Describe the issue
In our 'Field Data' application, inside filter panel, we are using modus-autocomplete and modus date-picker components. On initial rendering of filter panel, all other components got rendered but these 2 components appear only after few seconds. This happens only initial rendering.

Reduced test cases
No response
What operating system(s) are you seeing the problem on?
No response
What browser(s) are you seeing the problem on?
No response
What is the issue regarding ?
@trimble-oss/modus-web-components
What version of npm package are you using ?
No response
Priority
High
What product/project are you using Modus Components for ?
Field Data
What is your team/division name ?
Geospatial - CPD
Are you willing to contribute ?
None
Are you using Modus Web Components in production ?
No response

This has been resolved after we have updated modus package to 0.41.1v


no compile error when debugging

if I fire up ammonite as standalone, it will report back compilation errors, but when debugging, it just fail silently.

Can't repro. Could you provide a standalone project and a console trace?


Intellisense is messed up. Function information and type checking is useless for matplotlib (and other modules like numpy)

Environment data

Language Server version: v2021.1.1
OS and version: WSL2 with Ubuntu
Python version (& distribution if applicable, e.g. Anaconda): Python 3.8.5 with Anaconda

Problem / Questions
Somehow using Pylance made my Intellisense way worse (compared to Jedi or Microsoft language servers):
Before switching to Pylance I got useful information about functions, classes, etc. (default values for parameters and the docstring)
Now I only get cryptic information and no docstrings.
Type checking worked sometimes and I could actually see which methods are in a class. (see Axes)
Now I get no list of the methods, because in most stub files no information is given. Only ...
I could Ctrl+Click on a function,module,class,... and got redirected to the source code. (very helpful)
Now I only get redirected to these stub files with no useful information in it.
Is it possible to use Pylance but use only the source code of modules? It seems to me that those stub files are far from being complete and are the cause of those problems. (I wonder why stub files are nessecary if a good docstring is provided and typing information is implemented)
I like some Pylance features like the syntax highlighting, but Pylance really messes with my intellisense.
Edit:
I've tried figuring more out about this issue by reading somewhat related issues, but I still don't understand why this happens and what I can do to have a better experience using pylance.
I can't figure out what stubs are and why they are being used as default if they are totally incomplete.
Why aren't stubs being used complementary to the source code? I guess they are useful to give additional type hinting information, but then the rest of the information is lost or has to be added manually?
Why is Jedi and Pythlon Language Server getting it right but pylance isn't?
I think an entry in the documentation that talks about stubs, the differences to jedi and pls  might be helpful.
I primarily use the autocomplete and viewing definitions feature of the Python extension and for this Pylance seems not fitted at the moment. I can't understand why Pylance is recommended in VSCode if it's worse than Jedi and pls in this regards.
Before and after comparisons of a few examples
Before: Clean definition with default values presented and the documentation string being shown. After: less readable definition without default values and not documentation string.

Even for numpy the information displayed before was much more readable than afterwards. (And sometimes more complete)

Before: List of methods and variables inside of a class. (instances of these classes are recognized) After: only standard methods of the object class are shown.

Ctrl+Click :  Before: redirected to the actual definition in the souce code. After: redirected to incomplete stub files.

You're unfortunately hitting quite a mix of different issues. The stubs we have for matplotlib are a little outdated and need to be updated (I wrote them many months ago), and numpy doesn't yet have type information either (#150). It's also the case that the docstring is missing entirely due to some source mapping issue; matplotlib creates its docstrings at runtime by copying __doc__ from one place to another, a dynamic behavior we can't exactly handle, due to the way pyplot vs axes work (the former wraps the latter). You're also hitting a difference in the way stubs work versus real code, in that default values aren't there (because while the type info for a library may be constant, a different version of the library may change some default).
Is it the case that all of your screenshots that are not Pylance are from jedi? Or is some of this MPLS?

You're unfortunately hitting quite a mix of different issues. The stubs we have for matplotlib are a little outdated and need to be updated (I wrote them many months ago), and numpy doesn't yet have type information either (#150). It's also the case that the docstring is missing entirely due to some source mapping issue; matplotlib creates its docstrings at runtime by copying __doc__ from one place to another, a dynamic behavior we can't exactly handle, due to the way pyplot vs axes work (the former wraps the latter). You're also hitting a difference in the way stubs work versus real code, in that default values aren't there (because while the type info for a library may be constant, a different version of the library may change some default).
Is it the case that all of your screenshots that are not Pylance are from jedi? Or is some of this MPLS?

Is it the case that all of your screenshots that are not Pylance are from jedi? Or is some of this MPLS?
To be honest: I'm not sure. I think they all come from MPLS.
For me it was just important to show, that both language servers do a better job at presenting information.

I wonder why you decided to use these stub files.
It's almost impossible to deliver good quality stubs for every popular library.
From one version to the next, the only thing that can be ensured is that the source code reflects the correct information.
Couldn't it be possible to have stub files extend the information given in the source code?
E.g. if there exists a stub file and it holds the information of the return type of a function use this information and get all the other information from the source code. (docstring, default values, ...)

The stubs we have for matplotlib are a little outdated and need to be updated
It's also the case that the docstring is missing entirely due to some source mapping issue; ...
You're also hitting a difference in the way stubs work versus real code, in that default values aren't there

But if I navigate to the source files (via Ctrl+Click), the information is presented to me.
The docstring is there, the default values, all different methods...
So It would be better to extract the information out of the source code instead of using outdated and incomplete stubs.
I still don't know if I'm just using Pylance the wrong way or if it's just not the language server that's good for me at the moment.
I appreciate the work you put into Pylance, but it just seems to not fit my usecase. That is getting information about the functions/methods/classes/modules... I want to use, so I don't have to memorize those or look it up in their documentation.

Is it the case that all of your screenshots that are not Pylance are from jedi? Or is some of this MPLS?
To be honest: I'm not sure. I think they all come from MPLS.
For me it was just important to show, that both language servers do a better job at presenting information.

I wonder why you decided to use these stub files.
It's almost impossible to deliver good quality stubs for every popular library.
From one version to the next, the only thing that can be ensured is that the source code reflects the correct information.
Couldn't it be possible to have stub files extend the information given in the source code?
E.g. if there exists a stub file and it holds the information of the return type of a function use this information and get all the other information from the source code. (docstring, default values, ...)

The stubs we have for matplotlib are a little outdated and need to be updated
It's also the case that the docstring is missing entirely due to some source mapping issue; ...
You're also hitting a difference in the way stubs work versus real code, in that default values aren't there

But if I navigate to the source files (via Ctrl+Click), the information is presented to me.
The docstring is there, the default values, all different methods...
So It would be better to extract the information out of the source code instead of using outdated and incomplete stubs.
I still don't know if I'm just using Pylance the wrong way or if it's just not the language server that's good for me at the moment.
I appreciate the work you put into Pylance, but it just seems to not fit my usecase. That is getting information about the functions/methods/classes/modules... I want to use, so I don't have to memorize those or look it up in their documentation.

@NicoJG I can totally relate to this.
I installed vscode insider today and by its recommendation, I installed the pylance. The speed is so much better compared to others, but to me, usage comes first. It goes to stabs instead of the definitions and everything is type None. I switched back to Microsoft. I will definitely give pylance a shot in the future when these are fixed and these issues are critical.

@jahaniam Just wanted to share that we have an improvement for go to definition and go to declaration behaviour planned (see #65) which I think will alleviate some of the pain points you're referring to.

Also of note here is that, similarly to the dynamic docstring case, any native extension module docstrings won't be shown as pylance doesn't import modules to extract information from them, under a false assumption IMHO that the docstring will be available in the type stubs, which they very rarely, or even never, are.

we now go to source by default if we can. (there are cases we can't such as no source files, or source is compiled module) but also provide option to go to stubs if user wants to.

things like

merging stub and source information for better IDE experience or
better presentation on completion/hover/signature help tooltip (such as showing default value, better signature presentation, better doc string support and etc) or
handling of compiled module

will need have discussion since all these will be expensive for perf and implementation.
but, we might be able to support default value in signature like how we do doc string.

Yes

We've made some improvements in this area. Closing issue. If you would like to see more done here, please reopen.


Resharper compatibility

Such 'complex' property access shown as error in Resharper:
<Setter Property="IsEnabled" Value="{c:Binding !DataContext.IsRemoved}"/>
! pointed as not expected token.
And I can not ignore this line something like
<!-- ReSharper disable Xaml.BindingWithContextNotResolved -->
Only was is Disable Resharper Daemon for all file, but i don't like it much.
Is there some workaround?

Hi, arteny!
I'm surprised for such problem with resharper. Some workaround for this doesn't exists yet, but I think it will be possible to add for operator '!' alias 'not' like it was made for '&&' and '||' operators. In principle, it is quick to do and write tests. In the near future I will do it.
So, for examle, your xaml code will be:
<Setter Property="IsEnabled" Value="{c:Binding not DataContext.IsRemoved}"/>
Just do not forget to comment on the issues you have already created

Thank you for kind support!
Yes, I saw those issues have updates and will check them ASAP.
Ñ óâàæåíèåì,
Àëåêñåé Áàðêàëîâ
Best regards,
Alexey Barkalov
Date: Thu, 2 Apr 2015 08:41:15 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [CalcBinding] Resharper compatibility (#13)
Hi, arteny!
I'm surprised for such problem with resharper. Some workaround for this doesn't exists yet, but I think it will be possible to add for operator '!' alias 'not' like it was made for '&&' and '||' operators. In principle, it is quick to do and write tests. In the near future I will do it.
So, for examle, your xaml code will be:

Just do not forget to comment on the issues you have already created
—
Reply to this email directly or view it on GitHub.

version <IP_ADDRESS> with that feature is released

It doesn't solve this issue. If change ! for not, Resharper error message changed to:
No constructor with 2 parameters found

And it is not related "complex" field, but anyway:

or

Arteny, unfortunately I don't use Resharper, so as I undestand from your issue description, Resharper doesn't like special symbol '!' and that is the reason of error. Therefore I have added operator 'not' in a hope that resharper will not show error.
As I know resharper can't affect on compilation process, so even if you have that "resharper error" you can still compile and launch your project. Can you just turn off messages about these kinds of errors in resharper options?
If you other good solutions, please write about it.

Seems I found workaround, it is necessary to include path to single quotes like
 <Setter Property="ShowCloseButton" Value="{c:Binding '!IsAddButton'}" />

And resharper don't show error?

yes, it is


[BUG] async grpc  *** was never awaited

Describe the bug
The example comes from the official example of grpc.
git clone https://github.com/grpc/grpc.git
cd grpc/examples/python/helloworld
python setup.py build_ext
cd build/lib*
python  asyncio_server.py
python asyncio_client.py

Code to reproduce the behaviour:
# setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
    name="pyos",
    ext_modules=cythonize("./*.py"),
)

# async_server.py
import asyncio
from async_greeter_server import serve
asyncio.run(serve())

# async_client.py
from async_greeter_client import run
import asyncio
asyncio.run(run())

Expected behaviour
No response
OS
Linux
Python version
3.8
Cython version
3.0.7
Additional context
No response

That looks like a grpc bug not a Cython bug. It looks like it tries to serialise something that it doesn't know how to serialise.

That looks like a grpc bug not a Cython bug. It looks like it tries to serialise something that it doesn't know how to serialise.

It can't be serialized because there is no await after cython compiles, which leads to a future, but I don't use cython to compile, and I don't use the original python example directly.

gprc needs to understand how to handle a Cython compiled function. Failures like this are often due to incorrect type checks. Please report the problem over there to make them adapt their code.


Added labels for username and password input in idp service

Description

Related Issue

Fixes https://jira.owncloud.com/browse/WEB-105

Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[x] Documentation ticket raised:

TDB aria

:) :+1: resolved

Also fixes https://jira.owncloud.com/browse/WEB-107

@kulmann
Added red borders on error state
Changed transplation texts


Simplify Command Matching

The Problem
The main.rs file gets pretty bulky. Yes, things can be split apart into simpler chunks, and that's what I'm proposing - I just think Tauri can assist with some "sugar".
This probably isn't a priority. I just think of how much simpler it could be, especially for beginners to Rust.
Specifically I'd like to point out:

deserializing the command from a string
matching commands inline
move ||
destructuring and passing along Tauri-specific values like the callback and error fields

Link to code
Preferred Solution
Describe the solution you'd like
A clear and concise description of what you want to happen.
I see a few options:

Create a macro that converts all variant matches into methods of the same name, like GetAllTodos into get_all_todos(). The problem then becomes passing the value into the method. If there are multiple fields in the variant, would they be passed in order? That doesn't seem right. It would be cleanest to pass the command itself, but enum variants aren't real types, so the value can't be destructured and passed in. Here's a playground example of how the command can be passed, but it still needs to be matched on the other end, which detracts from the desired cleanliness.
Deserialize the command into a tuple variant. I think the syntax is quite ugly and confusing, but all of the RFCs have been closed or slow moving. See https://github.com/rust-lang/rfcs/pull/1450 and https://github.com/rust-lang/rfcs/pull/2593. Also see this Stack Overflow post for clarification on why this is ugly. Serde has some great features that may be able to deserialize this, like flatten. This way would probably be pretty simple.

Both of these together could look like:
#[derive(Deserialize)]
struct GetAllTodos {
    callback: String,
    error: String,
}

#[derive(Deserialize)]
struct CreateTodo {
    title: String,
    callback: String,
    error: String,
}

// some type of flatten?
#[derive(Deserialize)]
#[serde(tag = "cmd", rename_all = "camelCase", flatten)]
pub enum Cmd {
    GetAllTodos(GetAllTodos),

    CreateTodo(CreateTodo),

    // .. more
}

And then potentially an attribute or macro to generate this, if desired:
match command {
    Cmd::GetAllTodos(cmd) => get_all_todos(cmd),
    Cmd::CreateTodo(cmd) => create_todo(cmd),
}

And the usage could look like:
fn get_all_todos(cmd: GetAllTodos) {
    // stuff here
}

Another thing to think about here would be handling responses and return types like via tauri::execute_promise(). Is there any way for these methods and params to be abstracted or hidden as well (like success and error callbacks)? Perhaps the commands or functions could have an attribute like #[tauri(type = "execute_promise")] which acts like a decorator?
Conclusion
This is all to hopefully help simplify how people use it - not necessarily code cleanliness. If there is a "cleaner" structure that can be done without any API changes, perhaps it's worth showcasing that in the examples instead of the very straightforward examples that are there currently.

Here's a potential implementation moving the match into the Cmd enum: Playground Link

Here's a potential implementation moving the match into the Cmd enum: Playground Link

This is a great idea, and would love to see this mainline before beta release. @lucasfernog - what do you think?

This is a great idea, and would love to see this mainline before beta release. @lucasfernog - what do you think?

Question: What are the use cases for accessing the webview? Perhaps that could be passed into the command execution function - maybe even as dependency injection?
Because arg could be abstracted and potentially webview, that makes me think that people could utilize this new API by using something similar to invoke_handler like invoke_enum or bind_commands that takes the enum as a parameter.

Question: What are the use cases for accessing the webview? Perhaps that could be passed into the command execution function - maybe even as dependency injection?
Because arg could be abstracted and potentially webview, that makes me think that people could utilize this new API by using something similar to invoke_handler like invoke_enum or bind_commands that takes the enum as a parameter.

I had another idea. I'll keep spitballing them here until something sounds good. 😄
The machine crate has a great API that I think could be copied here for some great benefit.

So essentially the API could be expressed how it currently is, but with a macro scoping it. Each of the structs generated would need to implement some Command trait (just a function) which is where the user would put what they normally put in the big match statement.
The generated match statement could potentially wrap the execute_promise/etc callbacks so the user only has to specify them via an attribute in the enum definition or something.

That sounds perfect! Nice finding @parker-codes you have no idea how excited I was to read that.

What if we do the reverse operation of the machine crate? The user writes the structs  and the macro generates the enum with the pattern matching to call the structs Command impl

That would certainly give the users more control, and it probably wouldn't be as confusing/magical.
It would also allow for the API to be extended in the future to more than just a Command impl. Not sure what that could be, but it would be more straightforward.

So the changes I'm seeing:

[ ] a trait that defines a command set (an enum with the method that handles matching each variant)
[ ] a trait that defines a required method on a command struct, like execute(&self)
[ ] a declarative macro to wrap the struct definitions, which produces an enum with variants for each as well as a method that matches each command (plus an error/NoMatch variant?). They will also need a way to specify the name of the new command group/enum for clarity and perhaps because they could have multiple sets?
[ ] a proc macro (as an attribute) to optionally decorate a particular command's execute() method to hide the various API around execute_promise, etc
[ ] a new API method that takes an enum that impls the set trait and calls the method to match when a new event is passed through. This could also house the logic for deserializing so that's hidden as well

A POC could be made without any API changes because this could all technically be done in userland. The macro expansion could also be done by hand until the final API is decided on.

@parker-codes I think you're on the right track with these changes. Do you think you can work on it? This would be amazing for Tauri. I can also see stuff like these extended to the events API, which would simplify stuff like autocomplete event names on JS side.

I'll summarize our Discord discussion here.
We discussed making all communication async. The callback and error flags could be handled by the core layer, simplifying another thing for the end user!
We also talked about having the macro add another property to commands to house the webview so the execute function only needs to have access to &self. To avoid conflicting with user variable names, we could make this property tauri_webview and then access it with a self.webview() method.

@lucasfernog @chippers
If I'm understanding the code properly, context could be a second param, merging the two ideas we've been discussing:

&self would be only the command values, with no overlap/conflict with user-defined properties
the next param, context, could house the webview and any other app state they've set up.

This reminds me of the state pattern that Vuex (with VueJS) uses, as well as some Rust web and game frameworks.
If I misunderstood, I apologize. 😅 This is what I got out of it, which would be pretty cool since people will start adding some "global" stores.

Yeah you're right. I think we can also make the command interface take self instead of &self.

Where would context come from? Wouldn't Tauri need a way to attach this global state? Perhaps it already does?

I think it could be similar to what boscop/web-view does: https://github.com/Boscop/web-view/blob/abb0721829d9764d07d8df08c249de9b27cd7447/src/lib.rs#L236

I finally had some time to get a rough outline of how I envision it, but the code is broken because I'm not that great with type hinting.
https://github.com/parker-codes/tauri-commands-api-poc

I was picturing a way to add multiple command sets, like modules, but I guess just one would work fine?
Since serde_json uses the type as a hint of what to deserialize to, I was trying to find a way to cleanly allow the user to specify the type without instantiating it (via turbofish). This may not be idiomatic though, and would also not allow for adding instances to a vec for multiple command sets.
I tried to think of a way to show proper impl errors and ended up just creating a wrapper function to force it, but there's probably a better way to do this as well.

Hopefully I can get back into fixing this, but it may not be at the pace we're all hoping for.

@parker-codes I made a fork: https://github.com/lucasfernog/tauri-commands-api-poc/

@lucasfernog Thanks! It works great! I added a little more to test utilizing context. Now I can get started on the macro.
I know it's super basic and isn't async, but that wasn't the focus. Neither was naming. I'd like them to be a little more cohesive.
Do you think multiple command sets / modules would be beneficial? That could also be overkill.. If we don't need to worry about multiple, we probably don't even need to specify the type in each command, I'd think. We'd need to somehow pull that type into the generated CommandSet impl.

I think it'll complicate things too much. The user can probably figure something out if they want something like that.

In that case, the generated enum could have a specific name and we probably wouldn't need to pass along types as much..
I can actually remove cmd_set_handler and PhantomData entirely, but this API should be optional, so I'll have to play around with removing stuff.

I'm still trying to think of a way to opt into the CommandSet API. With this POC so far it's required. Same with user data.
This isn't working, but is more user-friendly. I wouldn't want people to have to unwrap, but maybe it's simpler to just keep the Option?

It would be great if we could have this trait have a default so it is optional.

tbh I think it's fine if we enforce this pattern.

It should be possible to strongly type the "Send" and "Receive" types for the user exposed API.  For example in my program I had an enum Action to handle TypeScript => Rust and an enum Message for Rust => TypeScript.  On the Rust side this allowed me to strongly type both incoming and outgoing events.  On the frontend I had a dependency generating TypeScript definitions of the bindings crate. I had the entire Tauri Event pipeline strongly typed.
// bindings/src/lib.rs

#[cfg_attr(feature = "typescript", derive(typescript_definitions::TypeScriptify))]
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase", tag = "tag", content = "action")]
pub enum Action {
    Status(StatusAction),
    Settings(SettingsAction),
}

#[cfg_attr(feature = "typescript", derive(typescript_definitions::TypeScriptify))]
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase", tag = "tag", content = "message")]
pub enum Message<'a> {
    Status(StatusMessage<'a>),
    Settings(SettingsMessage<'a>),
}

// bindings/src/status.rs

#[cfg_attr(feature = "typescript", derive(typescript_definitions::TypeScriptify))]
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum StatusAction {
    FetchStore,
}

#[cfg_attr(feature = "typescript", derive(typescript_definitions::TypeScriptify))]
#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase", tag = "type", content = "data")]
pub enum StatusMessage<'a> {
    Store(&'a StatusStore),
}

#[cfg_attr(feature = "typescript", derive(typescript_definitions::TypeScriptify))]
#[derive(Default, Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct StatusStore {
    pub program: Option<Result<bool, String>>,
    pub existing: Option<Result<bool, String>>,
    pub structure: Option<Result<bool, String>>,
}

// src-tauri/src/events/status.rs

pub fn handle(ctx: Context, action: StatusAction) -> Result<(), Error> {
    use StatusAction::*;

    match action {
        FetchStore => fetch_store(ctx),
    }
}

fn fetch_store(ctx: Context<'_>) -> Result<(), Error> {
    let Context { state, webview, .. } = ctx;
    let state = state.read().map_err(|_| Error::State)?;
    Ok(emit(
        webview,
        Message::Status(StatusMessage::Store(&state.status)),
    )?)
}

// src-tauri/src/events.rs

#[tokio::main]
pub(crate) async fn handler(mut w: WebviewMut, receiver: Receiver<Action>) {
    let state = State::default();
    check(w.clone(), state.clone());

    // `crate::setup` which sets up a thread with this function and loop can be
    // called multiple times. This can result in the sender that was captured in the `FnMut` to be
    // dropped, which will close the channel. The last created channel + thread will still be alive.
    // That is why this `recv()` loop should **ALWAYS** handle closing the channel and (probably)
    // close the thread.
    loop {
        let ctx = Context::new(&mut w, state.clone());
        let res = match receiver.recv() {
            Ok(Action::Status(action)) => status::handle(ctx, action),
            Ok(Action::Settings(action)) => settings::handle(ctx, action),
            Err(_) => break,
        };

        if let Err(e) = res {
            eprintln!("error received in event loop: {:#?}", e);
        }
    }
}

This could probably be handled with two associated types on the CommandSet trait, but I haven't looked into it

So we'd just have to have the template(s) define some basic/blank state and commands for people who don't want to touch Rust at all. So that means the POC works so far, I think.
How do you feel about using a different naming convention then boscop/webview? I want to play around with the names like user_data.

Absolutely :) go ahead and do whatever you want with this

@chippers I haven't looked at your code yet, but I will soon!

It's hard to find time for this and I don't want to slow the team down. 😞 Does anyone else want to pick this up?

We'll see... I'm trying to focus on scholarship applications but coding is just too darn fun :joy:. Chances are I'll sneak in some time to work on this over the next week or so as I've been wanting to build up my macro experience. Thanks for the work you've done so far!

I'll still help out where I can, so l won't just be disappearing, haha. Hopefully the chain above is detailed enough.

Maybe @chippers could also help Noah.. but I guess he's busy right now.

yeah i have limited free time right now, so ill be focusing on the build stuff first, afterwords i can look at this

Thanks @chippers that's perfect :)
I can help Noah for now if he picks this task, this will be fun.

:eyes: #1301


Rotating device causing index out of range.

The following is my implementation of the coachMarksForIndex data source function.
func coachMarksController(coachMarksController: CoachMarksController, coachMarksForIndex index: Int) -> CoachMark {
            let instruction = self.instructions[index]
            return coachMarksController.coachMarkForView(instruction.pointOfInterest)
}

As you can see I am accessing an array to determine the point of interest for each CoachMark.
This works as expected the first time you start the coachMarksController. However, during a rotation of the device (iPad Pro) the data source method fires, passing '-1' as the index. Obviously causing the index out of range exception.
Please note I am rotating the device after the coachMarksController finishes the animation; there are no coachMarks on screen.
I originally thought I was doing something wrong, however I am slightly confused as to why the data source function is firing when there are no coachMarks on screen.
I then realised that after running the coachMarkController once, I was not able to run it again. (I soon saw that you have fixed this #58 but not released it?)
Any ideas?

Hello @GeorgeA93 thanks for reporting the issue! Indeed, #58 hasn't been released yet. Obviously, as you suspect, the dataSource methods aren't supposed to be called if coach marks are not showing. I'll look into it.

Thanks for your reply. For anyone interested I am using the following work around to prevent the error:
func coachMarksController(coachMarksController: CoachMarksController, coachMarksForIndex index: Int) -> CoachMark {
    if index < 0 || index >= self.instructions.count {
            return coachMarksController.coachMarkForView()
    }
    let instruction = self.instructions[index]
    return coachMarksController.coachMarkForView(instruction.pointOfInterest)
}

This issue won't affect most users of this library because they are probably using a switch statement instead of accessing an array by index. (Assuming they have correctly implemented a default case in their switch statement)

Great! 👏
By the way, I've suggested a workaround in the gitter chat for #58. Both issues will be fixed by 0.5.0 which should comme out before the end of august.

Fixed by the big refactoring (c2cd243..7425eb7).


Can't style Card title or content if it contains just the digit 0.

Here's an obscure one!
If the text of a Card is (just) the digit zero (for example using it to display a counter starting at 0), styles from styles: { title: {} } and styles: { content: {} } don't get applied. Any other single or multiple digits are fine.
This only applies if the title or content are supplied through a variable such as props. The workaround is to call .toString() on the variable:
getInitialState() {
    return {
        title: 0
        content: 0
    };
},
render() {
    return (
        <Card title={this.props.title.toString()} {...cardProps}>
            {this.propscontent.toString()}
        </Card>
    );
}

The Title prop is meant to be a string only, so this makes sense actually. Appreciate the report but there should be a warning if you don't use a string, so going to close this.

Yeah, I see that now, although the DRY fanatic in me wants title.toString() or "" + title to be upstream in reapp rather than in the users code. :smile:

I'd accept a PR for that if you submit one.

Hm, no you're right, can't be done as propType will throw a warning before we can intervene to coerce the number to a string. It's not a big deal, just thought it was wacky that only a 0 loses its styling...

You can do:
React.PropTypes.oneOfType([ React.PropTypes.string, ... ])

At this point I could have just added it haha :)

Guess I needed to RTFM some more! :)


Support run_if for SystemConfigs

What problem does this solve or what need does it fill?
Support code like below
.add_systems(
    (
        a_system,
        b_system,
    )
        .in_base_set(CoreSet::PostUpdate)
        .run_if(xxx)
)

2 doesn't work well, since I can't easily implement .run_if for SystemConfigs, as it seems to require cloning Conditions.

From #7634. I want this and looked into implementing it twice, but it's not a completely trivial change.

The issue seems not fixed yet. Below code won't compile
        .add_systems(
            (check_collision, remove_piece_component)
                .in_base_set(CoreSet::PostUpdate)
                .distributive_run_if(state_exists_and_equals(GameState::GamePlaying)),
        )

From rust doc, closures implement both Copy and Clone if all of the captured variables do. Many common conditions can't be used by distributive_run_if. Can you reopen this issue for tracking?

This should be moved into milestone 0.11 .


Tests: Update enum testcase to latest syntax

This updates the enum test case that tries the different supported enum cases and also adds an output file so that the testcase is actually run.

@linusg - good catch. updated


Cannot import name version

I'm setting up a Greaseweazle F7 for the first time. I'm kinda new to this. I'm running Linux Mint (Ubuntu distro) and am having an issue trying to run gw.
The error I get is:
user@computer:~/Downloads/floppy$ python3 Greaseweazle/gw read test.scp
Traceback (most recent call last):
File "Greaseweazle/gw", line 11, in
import gw
File "/home/user/Downloads/floppy/Greaseweazle/scripts/gw.py", line 15, in
from greaseweazle import version
ImportError: cannot import name 'version' from 'greaseweazle' (/home/user/Downloads/floppy/Greaseweazle/scripts/greaseweazle/init.py)
I've tried it without calling python3 too.
I think I have all the prerequisites:
cc is already the newest version (4:9.3.0-1ubuntu2).
python3 is already the newest version (3.8.2-0ubuntu2).
Some output from pip3 and the setup script:
Requirement already satisfied: bitarray in /home/user/.local/lib/python3.8/site-packages (2.0.1)
Requirement already satisfied: crcmod in /home/user/.local/lib/python3.8/site-packages (1.7)
Requirement already satisfied: pyserial in /home/user/.local/lib/python3.8/site-packages (3.5)
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (0.34.2) (tries from another thread with someone having similar issues)
I noticed that the _init.py that the error references is empty, is that normal?
Any suggestions on what I might be doing wrong or what I might be missing?

Should have downloaded the release rather than cloning the repository. However it should work if you make pysetup in the Greaseweazle root folder.


Add unit for all query charts

With this commit we add a proper unit to all time series charts for
queries.

Here's an example chart from our nightlies.
Before:

With this PR:

Note how the y-axis shows the unit now.


[#90] Duplicate Server Name

Warns the user about a name duplication (replication for config is provided in the issue):

It will still run as it did before, but the warning would hopefully encourage users to fix it.

@jesperpedersen PTAL and please let me know if I should let it be a warning or make it a fatal error and exit?

To use pgexporter_log_error() I'll have to make the following change (the change at the bottom is a bit iffy because of the return value if-statement involved).

So I can instead use the common way used in surrounding code.... ie. use warnx() to print the warning on screen, and then use exit(1). I don't think logging is required to be started if the config is not correct, but I think that is just dependent on personal taste.

@jesperpedersen Thank you for the review, but I need to make one more addition that just crossed my mind...the last srv is being copied outside the outermost while loop, so I need to make this addition as well to catch if the last server name provided in the config is a duplicate or not.

So sorry for overlooking this. Should I make a new PR for this? Or will you revert the merge?

Just make a new one


Project Manager: Disable "scroll" on values like FPS when not selected

Describe the bug
When scrolling through the Project Manager (beta) it often happens that the user scrolls and passes an FPS field or Resolution Field. Instead of actually scrolling down in the UI this then means those float values get changed accidentally. And of course this can be very dangerous! :)
Preferably scrolling should not doing anything unless the user is currently editing the value already (and even then, I imagine users would rather be explicit about what value they enter and might not use scrolling).
Additional context

https://stackoverflow.com/questions/5821802/qspinbox-inside-a-qscrollarea-how-to-prevent-spin-box-from-stealing-focus-when

From those examples this works well on my end:
from Qt import QtWidgets, QtCore

class SpinBox(QtWidgets.QSpinBox):
    def __init__(self, *args, **kwargs):
        super(SpinBox, self).__init__(*args, **kwargs)
        self.setFocusPolicy(QtCore.Qt.StrongFocus)

    def wheelEvent(self, event):
        if not self.hasFocus():
            event.ignore()
        else:
            super(SpinBox, self).wheelEvent(event)

widget = SpinBox()
widget.show()

[cuID:OP-2606]

Reopening this since the issue does actually also exist on non double/float values. In particular on the Task Type field.
The Settings UI doesn't suffer from this "scroll changes values" issue. I'm not sure how it's solved there but it might be possible to match settings' behavior?

The Settings UI doesn't suffer from this "scroll changes values" issue. I'm not sure how it's solved there but it might be possible to match settings' behavior?

@iLLiCiTiT do you happen to know more about this? :)

def wheelEvent(self, event):
    if self.hasFocus():
        super(NumberSpinBox, self).wheelEvent(event)
    else:
        event.ignore()

That's what this #2678 did too - are you doing that on the ComboBoxes too?

are you doing that on the ComboBoxes too?

Yes

I believe this issue is resolved with changing the behavior of edit states in the Project Manager.


Realsense-viewer does not run over ssh (i.e headless)

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Linux (Ubuntu 20.04

Kernel Version (Linux Only)
5.4.0

Platform
Raspberry Pi 4 B

SDK Version
2.42.0

Language
ssh

Segment
Robot Turtlebot3 Waffle Pi

Issue Description
I came across this issue where the realsense-viewer does not work over ssh ( i.e. headless) and it does work in desktop mode.
Something similar happened to this user, albeit in a different platform: https://forums.developer.nvidia.com/t/realsense-viewer-wont-run-headless/164149
Thanks in advance if you can provide an insight into this.

Hi @barTRIP   As you are using a Turtlebot3 Waffle Pi wheeled robot according to the header information of your case, can you confirm whether you are performing ssh over a wi-fi connection instead of wired ethernet cable, please?
Also, could you describe the method that you are using for the ssh connection?  For example, is it based on the rs2::net system in Intel's open-source ethernet networking white paper?
https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras

Hi there @MartyG-RealSense, thanks for your quick response.
I'm performing SSH over a wi-fi connection with the robot.
In section 3.4 SDK Examples of the Intel's open-source ethernet networking white paper the author states that "Existing SDK examples and Apps will not work with a network device out of the box since network connection needs to be explicitly established". I failed to explicitly establish said connection using rs2::net.
When trying to execute the instructions to make the connection, they seem a bit ambiguous to me (Maybe I'm missing core knowledge on the subject?)

Add #include <librealsense2-net/rs_net.hpp> to the code

Which code?

Inside CMakeLists.txt add realsense2-net to target_link_libraries

CMakeLists.txt within which directory?

Create network device from IP and add it to a context:

rs2::net_device dev("<IP_ADDRESS>");
rs2::context ctx; dev.add_to(ctx);

Where do I create the network device?

Pass context to pipeline constructor:

rs2::pipeline pipe(ctx);
Where do I find the pipeline constructor?
Once again, thank you very much for your assistance with this issue.
Cheers.

Includes are typically placed at the top of a script.  This is how the RealSense Viewer program implements #include <librealsense2-net/rs_net.hpp>

https://github.com/IntelRealSense/librealsense/blob/master/tools/realsense-viewer/realsense-viewer.cpp#L7

I am not certain about this one.  But as the instructions are talking in the context of adding network support to existing SDK examples and apps, I would make an educated guess that it refers to the CMakeLists.txt file that is in a project's folder alongside the project script.  If you go to the Examples page and look in each example folder at the top of the page, each has a CMakeLists.txt file inside it.

https://github.com/IntelRealSense/librealsense/tree/master/examples
3 and 4.  My understanding is that these instructions go inside your program script.  Here are a couple of example implementations.
https://github.com/IntelRealSense/librealsense/issues/8423#issuecomment-784237527
https://github.com/IntelRealSense/librealsense/issues/6376

Thanks a lot @MartyG-RealSense, I decided to go a different route with this one.
Cheers.

You are very welcome.  Thanks very much @barTRIP  for the update.

Case closed due to no further comments received.


CPU Temperature Wrong

Description
Wrong CPU temperature is reported, for example it shows 54C whereas other apps such as HWiNFO and Corsair iCUE show 74C
What Platform / OS are you running?
Windows
How is System Bridge Being Ran?
Standalone (executable)
What version are you running?
4.1.13
Anything in the logs or a references that might be useful?
No response
Additional information

The temperature is based on one of the values from LibreHardwareMonitor. All these tools report different values, but the values look for k10temp,coretemp,atk0110.
https://github.com/timmo001/system-bridge-backend/blob/master/systembridgebackend/modules/cpu.py#L126-L195
If you can find a similar value in LibreHardwareMonitor and believe the value used is incorrect in System Bridge, please change your log level to debug, restart the application and update the description with the logs for CPU temperature. These will look something like Found CPU temperature: ...

Thanks for the quick reply. It appears to be getting the data from 'CCDs Average (Tdie)' instead of 'Core (Tctl/Tdie)' which is what all the other applications seem to be using.


fix: update bolt11 lib and remove secp256k1 dep

blocked by

https://github.com/lnbits/lnurlp/issues/57
https://github.com/lnbits/nostrclient/issues/29
https://github.com/lnbits/nostrmarket/issues/103
https://github.com/lnbits/nostrrelay/issues/26

maybe we should just update bolt11 for now?

maybe we should just update bolt11 for now?

yes, small steps


Elasticsearch init fails, because it failed to obtain node locks

Elasticsearch starts with this Error:
[2017-07-06T08:11:25,465][INFO ][o.e.n.Node               ] [] initializing ...
[2017-07-06T08:11:25,502][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/share/elasticsearch/data/elasticsearch]] with lock id [0]; maybe these locations are not wr
itable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.4.3.jar:5.4.3]
Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/share/elasticsearch/data/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were start
ed without increasing [node.max_local_storage_nodes] (was [1])?
	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:261) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:262) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:242) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:350) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.3.jar:5.4.3]
	... 6 more
Caused by: java.io.IOException: failed to obtain lock on /usr/share/elasticsearch/data/nodes/0
	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:240) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:262) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:242) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:350) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.3.jar:5.4.3]
	... 6 more
Caused by: java.io.IOException: Mount point not found
	at sun.nio.fs.LinuxFileStore.findMountEntry(LinuxFileStore.java:91) ~[?:?]
	at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:65) ~[?:?]
	at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44) ~[?:?]
	at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51) ~[?:?]
	at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39) ~[?:?]
	at sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368) ~[?:?]
	at java.nio.file.Files.getFileStore(Files.java:1461) ~[?:1.8.0_121]
	at org.elasticsearch.env.ESFileStore.getMatchingFileStore(ESFileStore.java:107) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.env.Environment.getFileStore(Environment.java:351) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.env.NodeEnvironment$NodePath.<init>(NodeEnvironment.java:108) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:227) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:262) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.node.Node.<init>(Node.java:242) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:232) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:350) ~[elasticsearch-5.4.3.jar:5.4.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.3.jar:5.4.3]
	... 6 more

It is started without any volumes so it can't be another instace of elasticsearch creating this node lock.
It ran for month on the same machine. I think an update of docker caused the problem. I will make an downgrade and try again.
This is the current docker version and kernel information:
docker info output:
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 29
Server Version: 17.05.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.11.7-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.727GiB
Name: asiafix
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: *******
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

I downgraded docker to version 1.12.6 and systemd to 232. I had to downgrade systemd to make docker work with this old version. I ran into this issue: https://github.com/moby/moby/issues/28109
It seems to work for now. But it's just a workaround.

Did you try -v /sys/fs/cgroup:/sys/fs/cgroup:ro like in this: https://github.com/moby/moby/issues/28109#issuecomment-258703096

I assume you are also using linux? :(. If so that is not good because this image started having issues on Docker for Mac and Docker for Windows a lil while back.  Docker hates running multiple processes in a singke container 😖
See: https://github.com/blacktop/docker-elastic-stack/issues/10 and this: https://github.com/docker/for-mac/issues/1687

I am using Linux (4.11.9-1-ARCH)
It works with -v /sys/fs/cgroup:/sys/fs/cgroup:ro, but maybe it is a better solution to use docker-compose with more containers to solve these issues.
Docker-compose creates a seperate docker-network for all containers in one project. In my opinion it would be great for this project as well.

https://github.com/blacktop/docker-elastic-stack/blob/master/docker-compose.yml

Thank you for pointing me to that moby issue!  I might have an idea that can be the best of both worlds.

this appears to be related to https://github.com/elastic/elasticsearch/issues/23710 and to https://bugs.openjdk.java.net/browse/JDK-8165852

this also https://discuss.elastic.co/t/cant-create-lock-file-when-sharing-data-path-folder-between-docker-and-host/81617/5

It seems to be working on Docker for Mac: edge now docker 17.07.0

For us  (Using docker-compose ) docker-compose down --rmi local  helped https://stackoverflow.com/questions/55361281/when-running-docker-compose-up-whith-elastic-search-image-getting-error/55361282#55361282

warning: docker-compose down --rmi local will remove docker images from your computer


mix-blend-mode causes all kinds of issues

Issues:

lost cursor in the editor (https://github.com/Microsoft/vscode/issues/9029)
lost LCD subpixel anti alias
focus outline coloring turns gray
DND feedback in light theme is gray when it should be blue

I don't think this can be solved simply.
We probably need to do one of the following:

Use rgba colors
Use a nasty and hacky z-index trick on duplicate versions of the tabs that act as the click/keyboard focus targets.  They would have transparent backgrounds and would be opacity: 0 when not in focus or active.  This would basically just be trick to get a colored overlay.
Use JavaScript internally to calculate the colors
Use a library that enables color-mod() function usage from the CSS 4 spec during runtime (#8151).

The best solution is a CSS custom property in my opinion.  On the engineering side, how do you feel about the work to make this happen?

Yeah, there is also the issue that once you set mix-blend-mode, all children seem to inherit this (similar to opacity) and you cannot unset this in a child. This is also the reason why I cannot have my nice blue drop feedback in light theme when dragging over tabs.
If we do something about it, it should not be a hack. Maybe we go back to rgba() in tabs land?

There are more issues with mix-blend: we lost LCS subpixel anti aliasing in the tabs control which will cause it to look blurry for some users.
Marking as important because I would not want to ship July without a fix for this (going back to opacity?).

We agreed in the UX meeting today to remove the mix-blend-mode and instead use rgba colors to avoid issues with anti-aliasing and other color side-effects that we cannot otherwise work around.

:+1: combined with the use of translate3d in rendering the cursors, it causes #9029

I pushed a change to remove mix-blend-mode from the tabs title. I did not introduce rgba() colors though and would like to wait for community feedback before reacting.

@bpasero We still use mixed-blend-mode in the high contrast theme. Unsure about the effects that has?

@jrieken true, I saw that as well and it is probably very old. @bgashler1 do you have an idea why we have it?

@jrieken @bpasero the mix-blend-mode: difference in the high-contrast theme is to enable highlighting the text in white while inverting the text color.  Without it, it would look like this.

It hasn't caused any problems.  The alternative, which is currently not possible, is to instead enable styling the text color of the selection and use black or very dark colors for all tokens.


arm64 support?

If you hit the demonstration server with a client that isn't the expected architecture, you get this sort of error.
The only place it looks like you'd have to tweak in this codebase is at
https://github.com/google/nixery/blob/8dc407cc7490d90ffec6d90ee6ad67f685575d9e/build-registry-image.nix#L132

Hey, thanks for reporting!
The version of the Docker Registry API which is currently implemented by Nixery does not support architectures, meaning that there's no way for Nixery to know which architecture should be returned.
The problem goes a little further in that there are actually more changes needed - the line you pointed out would need to be changed, but it is merely an indicator to the Docker about the architecture used by the image.
To actually make this change, Nixery would need to indicate to Nix that we're using ARM binaries and essentially trigger a cross-compilation process.
If the registry API changes in the future (or Nixery moves to the OCI specification once it's fully supported by Docker), we might want to tackle this again - but for now I'm closing it.

After some discussions at NixCon I decided to add support for this by introducing an arm64 meta-package, thus making it possible to pull ARM64 images like nixery.dev/arm64/shell/git/....
This can be implemented on the back by simply toggling the system parameter used when importing nixpkgs, specifically to get ARM64 binaries something like this works: (import <nixpkgs> { system = "aarch64-linux"; }).hello


fix(package): update marked to version 0.3.19

Closes #84

Coverage remained the same at 100.0% when pulling 1568b36080b6daaf0770add32bccc4cae01f0acb on greenkeeper/marked-0.3.19 into abeee351575d31c466dc399c52e9fef7640752b9 on master.


Change pixel backend name as "TFLite-pixel"

So it could be distinguished with the default TFLite backend.

@freedomtan @ptt2panda PTAL a minor change


core: Correct the conditionals for {cloexec,nonblock}_ioctl

These functions are declared with one set of conditionals in the
header, and defined with another set of conditionals in the c file.
This commit picks the more specific set of conditions and switches
the conditions in the c file to those.
(the aforementioned conditions in the header: https://github.com/libuv/libuv/blob/v1.x/src/unix/internal.h#L169-L182)

Note: This caused an issue when porting to SerenityOS, see this patch.

CI: https://ci.nodejs.org/job/libuv-test-commit/2154/

Sorry for the careless patch, it seems I had missed a use of uv__nonblock_ioctl.
Changes made:

instead of checking for the long list of defined(X)'s, define a boolean macro and check that
conditionally compile the bit that tries to call uv_nonblock_ioctl

CI: https://ci.nodejs.org/job/libuv-test-commit/2164/


New App: Random Slackmojis

Hello Tidbytters! This app uses the slackmojis.com API to fetch a random image and display it on the Tidbyt. Some are animated gifs, some static, some hilarious, and others are head-scratchers. But that randomness is part of what makes this a fun app.
I have some more ideas for the future which I've mentioned in the README

I have read the CLA Document and I hereby sign the CLA

Thanks for the contribution!


Set dev build during analyze stage

Last week we merged #35504
This worked for most of the analyze stage, but I failed to ensure that the stage worked on nightly builds. The packages from the build stage were produced using dev versions, but the analyze stage didn't align with that expectation. As a result, nightly builds were failing because they couldn't find the version of the package that they thought they were looking for.
This was the source of

ERROR:root:Package is missing in prebuilt directory /mnt/vss/_work/1/a for package azure-core-experimental and version 1.0.0b5

Because during a nightly build the package version will be something like 1.0.0a20240524001 instead of 1.0.0b5.
This PR simply updates the local code during the analyze job such that versions being looked for will be identical to those produced from the build job.

The single failing appconfiguration failure is an actual linting error.

/check-enforcer override


Swagger package does not support https URLs

Information

Version: 5.x
Type: Swagger does not support https.

Description
Swagger package does not support https URLs.
Example
import {} from "@tsed/common";

Acceptance criteria

[ ] Swagger should support https port.

@Romakita

@harshkothari410 What do you mean by https support exactly?
Did you have a problem with the swagger-ui or why the route mounted by the server ?

Yes in code base it only supports http URL not https. You cannot configure swagger-ui on https URLs. @Romakita

Hello. It’s just the displayed log in the terminal but the swagger is accessible through https if you change http url by https and if you use https server settings :)

See in code this.configuration.getHttpPort() so its clear that getHttpPort wont return https Port. That is why I have attached screenshot. @Romakita

Ok but I don't understand you're problem on this code and your issue (isn't correctly described)

You want a fix to display the https link in the terminal or 2) the problem is swagger ui isn't accessible in your browser through the https ?

I can said directly, the second point ok. If you configure correctly your server, the swagger ui (and all other endpoints) will be accessible in https.
See the configuration page http://tsed.io/configuration.html#http-https-server
Here a small example:
@ServerSettings({
    httpPort: 8080,
    httpsPort: 8081,
    httpsOptions: {
        key: fs.readFileSync("./ssl/key.pem"),
        cert: fs.readFileSync("./ssl/cert.pem"),
        passphrase: "tsed"
    }
})

With this configuration the server will be accessible in http://localhost:8080 and https://localhost:8081
So by that mean , the swaggerui will be served https://localhost:8081/api-docs/ or http://localhost:8080/api-docs/
Again the code you figured out doesn't mean the swagger ui isn't accessible in https.
See you
Romain

:tada: This issue has been resolved in version 5.34.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add in extension functions useful when working with EmbraceAttributes

Goal

Testing

Release Notes

WHAT:
WHY:
WHO:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#533  👈
#531
#526
#525
#524
master

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

Join @bidetofevil and the rest of your teammates on  Graphite

Merge activity

Mar 11, 11:26 AM EDT: @bidetofevil started a stack merge that includes this pull request via Graphite.


Suggestion: Add database column for source category

The idea is, to filter list of dua based on several categories:

Type of sources - Quran, Hadith, others (maybe dua sahaba, etc.)
Specifics of sources - From Ibn Ahmad, or from Sahih Bukhari, Sahih Muslim, etc. Especially for hadith, one dua can have multiple sources

This will help more scholars to improve the searching in the future. Though we already have sources, we might need to consider this implementation. For example, have another table to store sources info, and need to cater for many-to-many cases, since one source can have multiple duas, and one dua can be found in different sources.
What do you guys think?

Adding @Hazqeel09 and @awakened_sudo to this discussion

Can refer to #15 for full erd, i think this will be a good start for our current sqlite


Allow for partial text searches

Add a partialtext field type to allow for searches starting with the specified text.

Added textcontains and textstarts field types for searches containing or starting with the specified text.


Seq2C concurrency fix, and QualiMap BAM symlink

Avoiding concurrency writing issue when preparing BED for Seq2C. I also moved clean_inputs into sample.py to avoid circular imports.

Small fix in QualiMap running. MultiQC reads the sample name as the base input BAM file name stored in genome_results.txt. Instead making a BAM symlink specifically for QualiMap (which led to uploading the whole BAM file to the final dir), make it sed the genome_results.txt to substitute the file name.

Vlad -- brilliant, thanks so much for these fixes. I got them all merged in with the other upstream changes so should be good to go in development now. Much appreciated.

I noticed the conflict and pushed another commit seconds after you merged. But Tetiana's fix to remove that symlink in qualimap.py works too, so not a big deal. Thank for merging Brad!


add guide to setup system service for masternode

Migrated and merged two guides in the wiki:

https://github.com/firoorg/firo/wiki/Configuring-masternode-with-monit
https://github.com/firoorg/firo/wiki/Configuring-masternode-with-systemd

After this pr is merged, the two wikis above will need to be removed.

Added **Use only one of the two**


Overcome max execution time for crawling site

ie, on shared hosting. Will timeout with large sites/slow servers. Change to polling client-server method

fixed for crawl, github, ftp and bunnycdn.


Update README.md

Please delete after merging.

Features

Updated README.md to include a link to the paper website and shorter link to the paper itself.


[9.4.x] ISPN-10363 LazyInitializingExecutorService is not thread-safe

https://issues.jboss.org/browse/ISPN-10363
Depends on #6807

Merged, thanks


Abandoned project?

Just wanted to check if this lib is abandoned? If so, I'd be happy to take ownership and keep it up to date.

Looking to move the conversation from email to here. CC. @anders94 @premasagar
I'm interested in making quite substantial changes to improve robustness when querying in parallel. My use case is highly multi-market and makes sense to architect as if the API is able to be called in parallel, even though the exchange can't handle it. I've already written a layer over poloniex.js to abstract away the queuing and timing problems, and to handle certain errors/bad responses.
I'll send a PR in the next few days, which will be quite substantial, and the owners can decide if they are happy to go down the path I'm looking to head down, or if I should just make a new module.

When you say "highly multi-market" are you suggesting you are making parallel calls on behalf of multiple accounts at the same time, no one of which violates the call frequency threshold or something else?
I'm not against heavily re-worked architecture if there is a need. In my case, I'm doing the above but via parallel IPs so it doesn't map well to being done within the module.

An API wrapper module should expose the native API without introducing additional processing.
API call queuing, parallel processing, call limits should be handled by the application, rather than by the API wrapper module (which this library is, I guess)

This project looks abandoned. See #12 - the simplest possible issue to fix, with no reply since almost a year ago.
I'd suggest having a look at @dutu's Promise-based wrapper.

Poloniex will not raise my withdrawal limits and I have heard rumors a
wallet was compromised. Everyone else I know says the same thing.
Therefore, I will not be contributing to this project. People should be
using reputable exchanges like Bitstamp and Bittrex.
On Sun, Sep 3, 2017 at 3:22 PM, Dan Dascalescu<EMAIL_ADDRESS>wrote:

This project looks abandoned. See #12
https://github.com/premasagar/poloniex.js/issues/12 - the simplest
possible issue to fix, with no reply since almost a year ago.
I'd suggest having a look at @dutu https://github.com/dutu's
Promise-based wrapper https://github.com/dutu/poloniex-api-node.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/premasagar/poloniex.js/issues/26#issuecomment-326835099,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEVJzm7zt_6NdDPxSZEitNqYaGA2UBloks5seyafgaJpZM4O3jG6
.

--
Peter J Krey III

An API wrapper module should expose the native API without introducing additional processing.
API call queuing, parallel processing, call limits should be handled by the application, rather than by the API wrapper module

I'd agree with @dutu's comment. If the module can help the wrapping process, then it might be modified to do so. Returning a Promise from each async function is something that naturally fits in the core of a module like this. Streaming could also make sense. More complex controls may or may not.
I wrote the module a while back but it was not something I needed or worked on long-term. I reached out for a collaborator and @anders94 stepped in. If someone wishes to further assist by being a collaborator please ask.
Thanks @dandv - I closed that issue.

Closing this as the discussion looks finalized. @dandv I'd be interested to see a PR if you have one.


fix: prevent duplicate warnings on static modules

Problem
Static modules like dependencies are not regenerated on build, and therefore warnings on them can build up.
Changes
Check existing warnings for duplication before adding them.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: