Updated to vs.net 2017 and readme revised

LGTM
@kalyankrishna1 : I've made additional passes on the Readme.md (see the additional commits in this branch / PR)


ModuleNotFoundError: No module named 'pyidaungsu.model.lib.fasttext_pybind'

Hi! Thank you very much for your great work.
I have just installed and tested it in Python Version 3.6 in the Anaconda environment (Ubuntu 18.04.4 LTS). I got the ModuleNotFoundError. Please help.
Here's the error details:
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-04e0d58c0486> in <module>
----> 1 import pyidaungsu as pds
~/anaconda3/envs/py36/lib/python3.6/site-packages/pyidaungsu-0.0.9-py3.6.egg/pyidaungsu/__init__.py in <module>
1 from pyidaungsu.tokenize import Tokenize
2 import emoji
----> 3 import pyidaungsu.model.lib.fasttext_pybind as fasttext
4 import re, os
5 import numpy as np
ModuleNotFoundError: No module named 'pyidaungsu.model.lib.fasttext_pybind'

I suspect it might be because of the conda environment. Try reinstalling it with virtualenv instead of anaconda

Thanks @kaunghtetsan275 . Now it works on the pure Python 3.8 of Ubuntu.


HTS221 Sensor: Fix a warning and nxstyle

Summary
Forward reference i2c_master_s to avoid declaring it inside the parameters' list.
Impact
Fix a warning
Testing
An ESP32 board with an HTS221 sensor.

LGTM


On new route push the animation is slow when having a MapView

Hi there,
Probably not strictly related to this, but I am pushing a new Screen with two MapViews, and the transition to that screen is not smooth at all, I am not sure in which other cases this may happen, anyone has faced the same issue?
Regards

Hi! Personally I think it's not related to subj component, but trying to help you with your issue I recommend you to visit reactiflux channel on slack, thread #react-native.
And before I can close this issue, just to be sure: can you try remove component and do the same interaction again? Would you experience the same issue?

Hi Kureev, yep, when there are no MapView's the transition is completely smooth.

So in this case I recommend you to ask this question at reactiflux channel. Unfortunately, I've never experienced this bug before and don't know how to solve it.
Just a quick tip from my mind: maybe it's possible to use the same map without redrawing it? :wink:

Ok cool!, anyway I will look further into it myself.

Well, the problem was that the animations don't go smooth while there is some heavy task being performed such as rendering a MapView, what was I thinking posting this issue on here, anyway!.
The way to go around it seems to be to use InteractionManager API.


updated documentation and new function to support serfor

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


New release

Hello @yurishkuro,
Could you please release a new version of this library or create some milestone in order to increase the transparency of when it can be released?
Thank you!

@Jamim could you help reviewing #84  and #86? We could include them in the released.

Sure, I'll review these PRs.

Hi @yurishkuro,
I've reviewed both PRs, so I suppose that

#86 is ready to be merged
#84 requires some additional effort

@Jamim Something broke in the release process #92, do you have time to have a look?
sdist actually complains that we should be using twine, but I never tried it.
WARNING: Uploading via this command is deprecated, use twine to upload instead (https://pypi.org/p/twine/)

@Jamim please check 3.1.1 released via Travis deploy.
https://pypi.org/project/opentracing-instrumentation/


Bump minimum node version to 16

Node 10 and 12 are already EOL, Node 14 will be EOL in April. Bumping the minimum version to 16 will help us avoid problems in the future.
Signed-off-by: Pedro Henrique Kopper<EMAIL_ADDRESS>

@rcooke-warwick I've raised the node version as per https://balena.zulipchat.com/#narrow/stream/345882-_help/topic/Node.2012.20support, please take note of this in case anything breaks

@balena-ci I self-certify!


Fix: "Ensure Solvable" not saved

I have noticed that the "Ensure Solvable" setting is not saved. Here's the fix in case this is unintentional. Hopefully; I have not tested the code.

@portasynthinca3 Hello, thank you for the pull request and thank you for playing!
Please take a look at this issue that was submitted about this problem. My rationale for not saving the "ensure solvable" variable was that if the user has a large board and it is enabled it could take a while to generate a valid board leading to a freeze up when continuing pas the start screen of the app, and therefore a reduced quality of experience.
This is something that I want to avoid in general for QOL reasons. It is very amateur and not something I am proud of at the moment.. Some ideas that were given was to set a default number of tries/time limit before the board generation fails; I have also thought about adding some separate functionality to allow the user to stop the board validation algorithm whenever they would like in the case of a long wait time.
I would need to slightly restructure things to implement one of these changes and haven't gotten around to it yet, but it is definitely needed as multiple people have brought it up now.
I will test out your fork and see how the experience is on boards like 32x32, 32x8, 32x16 with the hard setting, which seem to be the boards that take a while to randomly generate a solvable board. I would appreciate if you try your branch and can also give some input as to if it lags up a lot past the start screen, or if it doesn't really affect it that much.
Again I appreciate the contribution! If it works out well enough I can merge it, or I can get around to finding a more elegant solution.
Thank you,
Alex R

Thank you for your detailed response! Sure, I'll test it. Just from experience, with my favorite settings of 24x18 in Hard mode, the board usually takes no more than a couple of seconds to generate, which I personally think is acceptable. As you said, a proper solution of this problem would probably be to fix the board generation algorithm. I'll look into it


Scale down not smart

have a 3 node cluster running 1 service.
I've scaled the service up from 1 to 3.
Tasks were scheduled on each node.
On node 1 there is a bug being hit causing the container for the task to not be able to start.
All other tasks were fine.
Scaling down to two instances and it killed off a good, running task meanwhile the task in "Starting" state was left.
Scaling down to 1, again the good task was killed off, leaving only the "Starting" task which is in an endless loop trying to start the container.

Or maybe it's too smart and seeing that the task is Starting and so not killing that one.

This is related to https://github.com/docker/swarmkit/pull/1051, but that PR does not address this particular case. It would not be difficult to prioritize scale down of "starting" tasks ahead of "running" tasks once that PR is merged.


How to distribute stylecop.json ?

Relates to NuGet/Home#8867
I want to create package like MyAnalyzers which contains settings file for stylecop. I managed to do this, but I came across a transitive copy of the settings file to other packages (libraries, apps, etc). I do not want the settings file to fall into the target packages. How to do it?
Honestly, I would prefer to set stylecop settings through properties, for example
<Project>
  <PropertyGroup>
    <StyleCopDocumentationCulture>bla-bla</StyleCopDocumentationCulture>
    <StyleCopExcludeFromPunctuationCheck>example</StyleCopExcludeFromPunctuationCheck>
  </PropertyGroup>
</Project>

Is this method supported?
In general, how do you think it is better to configure projects if my scenario is about a hundred different microservices? My goal is to centralize the analyzers configuration. I thought of doing this through a nuget package, so that it would be enough for services to write 1 line in their csproj without copying the parameter file. Also, all changes to the settings can be versioned and distributed through this package.

I have been struggling with this issue for quite some time. Either I don’t understand how msbuild works, or I’m not doing what I really need.

@sharwell could you please give some advice?

@sungam3r Add PrivateAssets="all" to your <PackageReference> where you import the custom settings.

@sharwell I did that and that's what happened - https://github.com/NuGet/Home/issues/8867#issue-531559318 . I could not achieve the desired behavior with PrivateAssets="all". Am I doing something wrong?

You need to include the stylecop.json file in the build section of the NuGet package, and not as content. This distribution strategy is not one I generally recommend, so I don't have an up-to-date guide for using it. I think #3043 covers this the best of what I've seen so far.


Fix flakey AT Ibft2ProposeRpcAcceptanceTest.validatorsCanBeAddedAndThenRemoved

Logs here:
https://zh-file.s3.amazonaws.com/206414745/b24bc7f8-cf24-45fa-8f4f-c45b7581c0be?Expires=1591112583&AWSAccessKeyId=AKIAI5X57DET3FHKSALA&Signature=Jmhuiww93RfmTPUeNh5%2BWF4yYF8%3D

@rain-on So once I got the out of memory issue fixed, it turns out that it's failing for real now. Because of the dreaded git blame, I assigned this to you but feel free to find whoever else you think is better suited to it.

6.txt

From a review of the log file, it appears that Validator1 stops importing blocks after #37 - which I believe is the first block to contain a proposal for "non-validator" - #38 would contain the second proposal.
Because Validator-1 stopped importing blocks, its internal tracking of validators would have also stopped - thus the failure we see (which is that Validator1 does not see a change in the validator pool).
The log file does not give any hints as to why Validator1 stopped importing blocks - but the node must still be running otherwise the JSON RPC requests to validator1 would fail with a socket error.
Final intersting point (red-herring) - at the end of the test, it can be seen that the validator1 process has already terminated.


Sentimental analysis on a women's clothing database using NLTK

So in these project, a sentiment-based dataset related to women's clothing typically consists of textual data such as reviews, comments, or product descriptions, along with corresponding sentiment labels indicating whether the sentiment expressed in each text is positive, negative, or neutral.

Hi, i got busy with leaderboard launch, assigned this issue to you

I can help with this issue,you can assign it to me under GSSoC'24.

pls assign me the issue,i will make sure the task is done,I have prior experience with the model too.

please assign this issue to me


⚠ Bofrost.fr has degraded performance

In cf96696, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1602 ms

Resolved: Bofrost.fr performance has improved in f3bc18f after 13 minutes.


edit MD file to right word

Hello @yagyadeepahirwar, the branch is showing conflict because you didn't update your branch before making your contribution.


Updated a few incorrect EE links

Proposed changes
Updating a few incorrect EE urls
Fixes: https://github.com/docker/docker.github.io/issues/9144
Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 0df0774dc39b473ace890357cb86037730dde1e1
https://deploy-preview-9158--docsdocker.netlify.com


Mouse can click but not move

Installed xfce,xiwi,extension,keyboard on an ASUS Chromebox with a Bluetooth keyboard and mouse. Inside the chroot, the mouse can click (both left and right) but not move. The keyboard works completely fine.
Any ideas on how to debug this problem? It makes the chroot basically unusable.

Got the same problem with a Chromebook Asus C200 and a Logitech T630 bluetooth mouse.  Mouse running fine in ChromeOS and don't move in the chrrot.  Running the Dev channel on ChromeOS and installed the trusty chroot with crouton.

Glad to know I'm not the only one. Seems like it's related to Bluetooth, obviously, but it's strange because my Bluetooth keyboard works fine even though the mouse doesn't.

What kind of mouse is it?  Have you updated recently, and could you post the full output of croutonversion?  If you're actually running xiwi, I don't see how a mouse couldn't work, since we're just using Chromium's mouse events.  If you haven't updated in a while and you're actually using xorg (not in a window), then it could be a touch mouse like in #713

Oops, reading comprehension.  Yes, you're probably on xorg (not xiwi), and updating will change that.  And yes, this is the same issue and I should re-open the other bug.

I'm using a Logitech T630 and I'm running on Xorg.   Moving to xiwi fixed the mouse problem. My problem is xiwi disable hardware acceleration.   Is it possible to make the mouse work in xorg?  Or is it possible to have hardware acceleration in xiwi?   Thank for the support

See the other bug.

Watch This Fix!
Latest & Quick Method 2017
For Mouse Movements Not Happening But Clicks DOes!
https://www.youtube.com/watch?v=3u2rEFJ3MMU

Hmm didn't know we also supported windows chroots on crouton, must have missed something :)


Suddenly "ERROR: Challenge is invalid!"

Hi, i've been using dehydrated from the very beginning and never had any trouble with it, so huge thanks for that right upfront!
When wildcard certs came around, i switched to dns-01 and used the PowerDNS API to handle the validation records in my zones, which also worked like a charm.
But since a couple of days/weeks, i'm having big issues getting all certs for all domains renewed.
Sometimes it happens to cert with ~10 SANs, sometimes it happens to just the domain + wildcard. Then i retry some time later, or the next day, and suddenly that domain works, but there's another one failing then.
An example looks like this:
Processing jan.fm with alternative names: *.jan.fm
 + Checking domain name(s) of existing cert... unchanged.
 + Checking expire date of existing cert...
 + Valid till Jun 15 22:02:11 2019 GMT Certificate will expire
(Less than 30 days). Renewing!
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for jan.fm
 + Handling authorization for jan.fm
 + 2 pending challenge(s)
 + Deploying challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Responding to challenge for jan.fm authorization...
 + Challenge is valid!
 + Responding to challenge for jan.fm authorization...
 + Cleaning challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Challenge validation has failed :(
ERROR: Challenge is invalid! (returned: invalid) (result: {
  "type": "dns-01",
  "status": "invalid",
  "error": {
    "type": "urn:ietf:params:acme:error:unauthorized",
    "detail": "Incorrect TXT record \"v=spf1 mx -all\" found at _acme-challenge.jan.fm",
    "status": 403
  },
  "url": "https://acme-v02.api.letsencrypt.org/acme/challenge/pKf5xsCABcSTs6XTp76RWIh5McGgy0FI4IpgzhbVaQU/16081324213",
  "token": "6k-SwHqTmePrdlo0TUFw7DDPVkuPlV2g4jRCmstNK54"
})
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh

The only thing all domains have in common is that they always include the wildcard cert.
I also noticed that this happens pretty much always if the scripts also said:
 + X pending challenge(s)

Here's another example of a domain that failed a couple of minutes ago, but now worked flawlessly (and also saying that challenges are pending, but still working fine):
Processing faked.im with alternative names: *.faked.im
 + Checking domain name(s) of existing cert... unchanged.
 + Checking expire date of existing cert...
 + Valid till Jun 15 22:03:00 2019 GMT Certificate will expire
(Less than 30 days). Renewing!
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for faked.im
 + Found valid authorization for faked.im
 + Handling authorization for faked.im
 + 1 pending challenge(s)
 + Deploying challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Responding to challenge for faked.im authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!

And another example where it seems to fail on exactly the "pending challenge" for which it didn't mention that it "Found valid authorization" for:
Processing jangrewe.com with alternative names: *.jangrewe.com jangrewe.name *.jangrewe.name jangrewe.me *.jangrewe.me jangrewe.name *.jangrewe.name jangrewe.net *.jangrewe.net jangrewe.org *.jangrewe.org
 + Checking domain name(s) of existing cert... changed!
 + Domain name(s) are not matching!
 + Names in old certificate: *.jangrewe.com jangrewe.com *.jangrewe.me jangrewe.me *.jangrewe.name jan.grewe.name jangrewe.name *.jangrewe.net jangrewe.net *.jangrewe.org jangrewe.org *.ngrewe.com ngrewe.com *.ngrewe.name ngrewe.name
 + Configured names: *.jangrewe.com jangrewe.com *.jangrewe.me jangrewe.me *.jangrewe.name jangrewe.name *.jangrewe.net jangrewe.net *.jangrewe.org jangrewe.org
 + Forcing renew.
 + Checking expire date of existing cert...
 + Valid till Jun 15 22:01:55 2019 GMT Certificate will expire
(Less than 30 days). Renewing!
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 10 authorizations URLs from the CA
 + Handling authorization for jangrewe.com
 + Found valid authorization for jangrewe.com
 + Handling authorization for jangrewe.me
 + Found valid authorization for jangrewe.me
 + Handling authorization for jangrewe.name
 + Found valid authorization for jangrewe.name
 + Handling authorization for jangrewe.net
 + Found valid authorization for jangrewe.net
 + Handling authorization for jangrewe.org
 + Found valid authorization for jangrewe.org
 + Handling authorization for jangrewe.me
 + Found valid authorization for jangrewe.me
 + Handling authorization for jangrewe.name
 + Found valid authorization for jangrewe.name
 + Handling authorization for jangrewe.net
 + Found valid authorization for jangrewe.net
 + Handling authorization for jangrewe.org
 + Handling authorization for jangrewe.com
 + 2 pending challenge(s)
 + Deploying challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Responding to challenge for jangrewe.org authorization...
 + Cleaning challenge tokens...
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh
 + Challenge validation has failed :(
ERROR: Challenge is invalid! (returned: invalid) (result: {
  "type": "dns-01",
  "status": "invalid",
  "error": {
    "type": "urn:ietf:params:acme:error:unauthorized",
    "detail": "Incorrect TXT record \"v=spf1 mx -all\" found at _acme-challenge.jangrewe.org",
    "status": 403
  },
  "url": "https://acme-v02.api.letsencrypt.org/acme/challenge/a33xa0QPlIqpiccMD6lDnCUbxHnZEn31qzc9a2QEk98/16081585754",
  "token": "tB-T1GYNhDO5uhA7hnia1GCYbCi_Ujl91PF3DZpH90Q"
})
# INFO: Using additional config file /etc/letsencrypt/conf.d/pdns.sh

This is not an issue with dehydrated, but rather with your DNS zone.
The ACME server can't finde the challenges DNS record on the _acme-challenge subdomain, only an spf record, and it clearly gives you an error message containing the spf string.
On that subdomain there should not be any spf record. Maybe it can work with it present, in that case it's probably an issue with the real record not being provisioned when the ACME server does its lookup. You may want to check your hook scripts for provisioning the zone correctly, and maybe erase the spf record from the subdomain if possible.


Add support for more characters in links

This PR allows additional characters to be part of a link.
It excludes support for both ) and ] out of concern that parenthesized URLs would fail to parse.
In that case, users are recommended to make use of the link function.

Correct URL parsing is notoriously complex, which is why I only added some remaining characters found in URLs.
However, here you go: https://url.spec.whatwg.org/#infrastructure

This will also allow direct links to IPs, etc. We generally aim to keep automatic link recognition narrow to avoid false positives. You can always use the link function explicitly! Do you think it's worth it to keep all of these extra characters in here or should this PR be narrowed down in that respect?

Good points! I think I will tweak the behaviour to be in line with your suggestion if the "heuristic" approach isn't chosen. Regarding that, what's your opinion on it?

The heuristic should probably be fine?
Theory states that lexers should use regular grammars, which is good for simple regex-based syntax highlighters. Though block_comment() already supports nested comments, so typst's lexing is context-free instead of regular anyway.
I quickly checked, and the VS code terminal recognizes closing parens in links if there was at least one open paren, but doesn't check for proper nesting. gnome-terminal checks for proper nesting. MS Word tries to be smart with editing, and ends up being confusing, so no idea what its precise rules are.

Checking paren nesting seems sensible to me.

I have now implemented bracket-nesting respecting behavior.

Thanks!


failed to finalise content install : 0xD8E0806A

Hi there,
Was told to post this on here. Happens on all titles I've tried so far. After download is complete it says failed to finalise content install : 0xD8E0806A.
Is this a known issue? If you want I can provide screenshots.
Thanks

Sorry, this is posted in the wrong area.


Add support for css

Is this sufficient to fix #22?

I think this is a good fix. Merging this to master despite CI failing, as I have a couple of additional bits (mostly adding testing) to be applied over this.

There is probably an argument that all unknown filetypes should use this by default, but I need to think about that more before I implement it.


Mobile Scanner Overlay

This package support mobile overlay? I check on example mobile_scanner_overlay but it's not work.

For me also. I need also an overlay like "qr_code_scanner". Please provide some examples.

https://github.com/juliansteenbakker/mobile_scanner/tree/feature/scan-window

do we know if there are any plans for this feature to be released? looks like the branch hasn't been updated in awhile

Up

With version 3.0.0-beta.4 you can use an custom scanning area like shown in the example app: https://github.com/juliansteenbakker/mobile_scanner/blob/master/example/lib/barcode_scanner_window.dart
Please note that this is still a beta so there can be breaking changes in the near future.


Fix "addr" -> "address" in the default Trunk.toml

The "addr" field is not working and is silently ignored - the field is actually named "address"

Checklist

[x] Updated CHANGELOG.md describing pertinent changes.
[ ] Updated README.md with pertinent info (may not always apply).
[ ] Updated site content with pertinent info (may not always apply).
[ ] Squash down commits to one or two logical commits which clearly describe the work you've done. If you don't, then Dodd will 🤓.

Fixes #374


Add fixed_p_std_sgt.

This was missing from a previous CL I believe, since fixed_p_std_gt is supported.

LGTM!


SUGGESTION: add maps.eox.at to the list

Add free EOxCloudless Sentinel-2 (and other layers) global map tiles. Noncommercial usage is ok here. If you have questions feel free to reach me here or via<EMAIL_ADDRESS>The WMTS or WMS should be quite easy to add.

Website: https://maps.eox.at/
WMTS URL: https://tiles.maps.eox.at/wmts/1.0.0/WMTSCapabilities.xml
WMS URL: https://tiles.maps.eox.at/wms?service=wms&request=getcapabilities
(EOX company URL: https://eox.at)

Thank you for the suggestion. EOX maps have been added.


doc README improve

Add empty lines after headers. Simplify/format text.
Mention version 0.13 explicitly, doesn't work with 0.12.

Good changes, makes it more readable


var no more

Please don't use "var" in tutorials.

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

ID: 17d27a0d-c072-8c9f-7e31-3de60bee9ae8
Version Independent ID: e0c09794-e712-19ff-cb9f-12648d60d4f6
Content: Asynchronous programming in C#
Content Source: docs/csharp/programming-guide/concepts/async/index.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

We use var in our samples when the context should make it clear the type of variables.
In this tutorial, we've met that standard. The use of var starts only later in the tutorial when the concepts have been discussed.
I'll close this.


Allow custom icons for apps

It would be great if Station would allow users to use custom icons for each app.
Is this possible to implement?
Thank you.

#328


Fixing ill scraper to handle non-standard formatting

The ill court recently posted opinions that have non-standard formatting (excluded precedential status strings, and docket numbers broken over multiple lines), which was causing the scraper to fail.  This commit fixes the parsing to handle these cases, and includes a new test html file to test against them.

Deployed, thanks!


Test restoring zeroed data

This PR adds a test similar to one we already had: returns_mutable_static. This time is for zero-initialized memory.

Why is it important that the memory is an array and not only a single primitive? Shouldn't all zero initialized memory be located in the bss? I am asking because you only access a single element of the array.

It's not important. I started with ptr::null() but then for some reason switched to an array.

Can you to just using a primitive?
Then it would be consistent with the non-BSS test.
static mut MUTABLE_STATIC_BSS: u32 = 0;

bot merge


SQL Batch query

OrientDB Version: 2.2.35
Java Version: 1.8
Hello,
my current situation is the following: I searching over the graph.command() command with sql a specific vertex and from this vertex i traverse over all outgoing edges, using the GremlinPipeline. Now I tried to use a SQL Batch query, but from here I don't know how I can get the returned objects to but them into the Gremlinpipeline. So this is my approach without the batch query:
    OrientDynaElementIterable orientDynaElementIterable = graph.command(new OCommandSQL("select from #18:0")).execute();
    GremlinPipeline pipe = new GremlinPipeline();
    pipe.start(orientDynaElementIterable);

The confusing here is that the orientDynaElementIterable object contains an ODocument object, but I first thought the GremlinPipeline needs Vertex objects. But for whatever reason it works and returns Vertex objects. Maybe it does an other query in the background to get a Vertex object?
An this is my approach with the batch query:
    String cmd = "begin\n";
    cmd += "let a = select from #18:0;";
    cmd += "let b = select from #18:1;";
    cmd += "let e = select from #18:2;";
    cmd += "COMMIT;";
    cmd += "return [ $a, $b ];";

    OrientDynaElementIterable orientDynaElementIterableBatch  = graph.command(new OCommandScript("sql", cmd)).execute();
    GremlinPipeline pipe = new GremlinPipeline();
    pipe.start(orientDynaElementIterableBatch);

Here I get the following exception:
Exception in thread "main" java.lang.ClassCastException:  com.orientechnologies.orient.core.db.record.ORecordLazyList cannot be cast to com.tinkerpop.blueprints.Vertex 	at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:85) 	at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart(VertexQueryPipe.java:19) 	at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) 	at com.tinkerpop.pipes.util.Pipeline.next(Pipeline.java:115) 	at com.tinkerpop.pipes.util.PipeHelper.fillCollection(PipeHelper.java:52) 	at com.tinkerpop.gremlin.java.GremlinPipeline.toList(GremlinPipeline.java:1564) 	at App.main(App.java:97)
So I don't understand the connection between the OrientDynaElementIterable object and the GremlinPipeline, or is it not provided to to start a GremlinPipeline after a batch?
Kind regards
Sedir Mohammed

Hey @luigidellaquila ,
thank you for your approach, but it doesn't help. The GremlinPipeLine object returns nothing. If I turn on the debugger to illustrate the structure of the orientDynaElementIterableBatch object it shows me the following:

To you have an idea for this problem?
Kind regards
Sedir Mohammed


Move slack notifier to it's own gem

[x] Move slack notifier to its own gem
[x] Solve autoload issue
[ ] Fill gemspec metadata
[ ] Move slack tests to gem
[ ] Tests tests tests
[ ] Write gem's README.md

Autoload seems to be working, had to find out why...


Mac build for 0.6

mscHack-0.6.0-mac.zip
thanks for the plugs!

thanks

Hi, thanks for the plugins. I am having problem with the 3*16 sequencer in vcv 0.6. I was working in a patch with it (vcv 0.5) and now everything breaks with the new version. Any suggestion? Thanks

To be specific it only breaks everything when i try to modulate the global change of the sequencer.


How to update url params when refreshing the partial.

Hi, I have a page with a couple of divs rendering content asynchronously in the initial page load.
I also have a filter at the top of the page that when clicked is supposed to refresh the contents.
= render 'shared/filter'

= render_async scores_path(filter: "overall"), container_class: "filterable_report" do
     = render partial: 'loader'

= render_async metrics_path(filter: "overall"), container_class: "filterable_report" do
     = render partial: 'loader'

When a different filter is selected, I would like to refresh the partial by making call to the url with the updated filter param. I think the best way to go about this is by refreshing the partials perhaps. But I am confused on how to update the params value itself. I am aware, I can pass the params like this as well.
= render_async scores_path, data: { filter: 'overall' } do
   = render partial: 'loader'

So, is there a way to update the data or even the url when dispatching the refresh event? Thanks!

Not sure how to go about this. I gave it a shot in #155. The idea is to set the data attributes before we trigger the refresh event which we will then merge with the existing data attributes.
So refreshing the partial with filters should work like this
<%= render_async comments_path,
                 container_id: 'refresh-me',
                 replace_container: false %>

<button id="refresh-button">Refresh comments</button>

<script>
  var button = document.getElementById('refresh-button')
  var container = document.getElementById('refresh-me');

  button.addEventListener('click', function() {
    var event = new Event('refresh');

    // Set the data attributes on the container
    container.setAttribute('data-filter_name', "happy");

    // Dispatch 'refresh' on the render_async container
    container.dispatchEvent(event)
  })
</script>

Hey @ravibhusal, thanks for opening the issue and the PR.
I'll check this in the coming weeks and come back to you.
I think that it might be better to pass the data on to the 'refresh' event somehow. I'll check it out.


⚠ Bofrost.es has degraded performance

In deaaa50, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1587 ms

Resolved: Bofrost.es performance has improved in 63e2390 after 14 minutes.


With the latest version column names cannot be retrieved in Vertica

System information:

macOS Big Sur
DBeaver version <IP_ADDRESS>104181339

Connection specification:

Vertica
Driver Vertica 10.1.0

Describe the problem you're observing:
In object explorer when retrieving column list from a table drop down following error occurs:

Steps to reproduce:
Connect to VerticaDB and try getting columns names from a drop down list in object explorer

This affects autocomplete object name as well

Hello @isak-kaz
Thanks for the bug report.
We already fixed this problem here https://github.com/dbeaver/dbeaver/issues/12127 , I hope.
Can you please test Early Access version?

Hi thanks, I don’t see a mac early access on the list in dmg form.
On Tue, 27 Apr 2021 at 18:20, Anastasiya @.***> wrote:

Hello @isak-kaz https://github.com/isak-kaz
Thanks for the bug report.
We already fixed this problem here #12127
https://github.com/dbeaver/dbeaver/issues/12127 , I hope.
Can you please test Early Access version https://dbeaver.io/files/ea/?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dbeaver/dbeaver/issues/12260#issuecomment-827737809,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOOMMHNIN7346XYMNM2A4J3TK3P6PANCNFSM43VCJVBA
.

Hello @isak-kaz
Thanks for the bug report.
We already fixed this problem here #12127 , I hope.
Can you please test Early Access version?

I can confirm with that with Version <IP_ADDRESS>105021514 this issue has not been resolved.

I can also confirm that the issue has not been resolved as of <IP_ADDRESS>105021514.
I'm on Windows 10, using vertica-jdbc-9.3.1-0 driver.
SQL Error [2656] [42703]: [Vertica]VJDBC ERROR: Column com.child_object does not exist
[Vertica]VJDBC ERROR: Column com.child_object does not exist
[Vertica]VJDBC ERROR: Column com.child_object does not exist
Error pops up when you go to the Properties tab, and no columns are listed.
In the Data tab, the columns are present. However, it's no longer possible to add/delete rows or edit existing data.


The last version which gradle can download is 5.3.1

If I write a later version of line sdk, gradle is downloading pom file forever. Also you can see here https://mvnrepository.com/artifact/com.linecorp/linesdk that the last version available is 5.3.1

Hi, @contrudar
Please use jcenter() now for importing line-sdk as stated in Readme. It's available on jcenter: https://bintray.com/search?query=com.linecorp.linsdk

jcenter() is now deprecated.
Is there any alternative repository for 5.6.0?

Oh! I found that 5.6.2 exists and can be downloaded from mavenCentral().
I didn't notice it because release is not created.
https://github.com/line/line-sdk-android/releases
Thanks!


Sprites with parenthesis fail to rename without warning

Report: https://forum.unity.com/threads/mulligan-renamer.532182/#post-7880896
Repro:

Create a spritesheet with a Sprite with a name that includes parenthesis. Ex: "Sprite_Jump(0)"
Add it to Bulk Renamer
Add a rule so to rename part of it. Ex: "Sprite" -> "Pic"
Rename
Notice the Sprite is not renamed

The issue is the regex to find these characters in the renamer. Since it doesn't escape the original name, it will fail to replace it in the meta as it won't be able to find it with the invalid regex as the old name.
The fix is to escape the original name.

All special characters that we ban are actually allowed. We can go ahead and remove all characters from the invalid list for Sprites.


Progress bar for larger file does not move

I am on Windows. I uploaded a 350MB file and 14MB file successfully. When I download the 14MB the progress bar fills up correctly and the file downloads successfully. When I try to download the 350MB  file the progress bar does not show any movement. The file shows up on the desktop but stays at 0 bytes even after a while. However, if after a while I choose to download the smaller 14MB file which of course it does successfully, it seems to trigger the previous 350MB file to show as completed and sure enough on the desktop the file now says 350MB and is completed.

Thanks for reporting this, we will look into the problem.

My hunch is that this is caused by the "duplicate download" bug, or something similar.

@lukechampine has this been resolved?

The downloading algorithm has changed significantly, so this can be closed for now. If a similar problem presents itself under the new algorithm, we can open a separate issue.


Documentation: add block device docs

Document how to use block devices inside a rkt container.
Add examples for sshfs, CUDA, and formatting disks.
Fixes #3170

So far Documentation/block-devices.md is not linked from anywhere, so it's difficult to find.

[ ] add link from security.md#volumes

[ ] say it's generally not recommended?

[ ] add link from run.md#host-volumes

It could be interesting to explain the limitation of loop mounts (mount -o loop file ...) but that could be for later

Thanks! Updated.


FIFO in Calyx

This is a first step towards the work we've sketched out in #1496.
The plan may have drifted a little from the producer/consumer example laid out right up top in the issue. I'd love to chat about getting it back to where we wanted. Regardless, this is a quick proof of concept of FIFOs realized using circular queues.
It's rather janky Calyx, so thoughts about style are much appreciated. If there's a feature that you think should be used but I seem not to have used it, it's likely not an opinionated choice! It's probably because I don't know about the feature.
The way to run/test it also pretty janky: you only really get to look into the state of affairs via the memories ans and err, so you need to comment out later invoke statements if you want a look into the status at a particular point in time.
I've been running it with
fud e --from calyx --to jq --through verilog --through dat -s verilog.data fifo.data -s jq.expr ".memories" -q fifo.futil

I'm just surfacing this for your comments, and meanwhile I'll start writing eDSL code that generates this same handwritten Calyx!
Update: now that the handwritten version is gone, run this with:
python3 fifo.py > fifo.futil
fud e --from calyx --to jq --through verilog --through dat -s verilog.data fifo.data -s jq.expr ".memories" -q fifo.futil

Update: over the day, I have gone ahead and also written eDSL code that generates the same stuff as the handwritten code. It is not pretty, and will likely change a lot as the Calyx code itself changes, but I just wanted a working framework going.

This is looking really cool to me! @paili0628 would something like this be useful for the HiSparse implementation?

And yeah, the eDSL seems like a good idea, especially if it lets us stress test the FIFO implementation and make sure it works for all corner cases?

Thanks for taking a look! I'm away from my work computer now, but for the next steps I propose:

Drop the handwritten version.
Tweak the eDSL version to take your suggestion re: eq-cell names.
Rework the I/O interface a little so that it is not quite so janky. For instance, the .data file could contain an input memory such as [100, 101, -1, 102], which is read as "push 100, push 101, pop, push 102". The output memory cells would be used to show the pops, in order, until the first time we hit an error. In the "normal" case the output will be the same as the input, but see below.

After this I'd like to move on to PIFOs. There the output will begin to become interesting: a permutation, possibly the identity permutation, of the input.

I've done some cleanup since you both last saw this. There remain some issues that I have thrashed about on a bit, and for those I'm seeking slightly more hands-on help.
Using seq_mem correctly.
I've tried to replace the mem_d1 cells with seq_mem_d1 cells, and figured out that some other groups' done signals need to rely on read_done and write_done, not just done. However, this led to:
1. strange blocking behavior when I tried to make the groups rely on multiple done conditions, using the (cell1.done & cell2.read_done ) @ 1 syntax.
2. no writes being registered to the seq_mem when I dropped this careful done signal. That is, my answer memory was just coming out as it went in: all zeroes.
Getting my main loop to run.
Let me write out the goal straightforwardly.
The FIFO component listens for the commands push and pop.

If pop is called on it successfully, it returns the popped value in ans.
If push is called, it expects a value in payload, and it tries to push it in.
The fifo method can raise an err flag in case of error.

I just want my main loop to run from 0 to 15, pulling commands off a 15-long command memory and passing them to the FIFO component. If the command is pop and it succeeds, it writes the popped value to an answer memory. If the FIFO component ever has an error, I want the loop to break. The command and answer memories are external, and they are how we communicate with the user.
Right now I have the loop running contingent on the err flag being low. This err flag is passed by reference to the FIFO component, and the FIFO component may raise it during its work. So far so good! Indeed, if an error is raised before we run out of commands, everything seems fine.
However, what about the "normal" case where there is no error? I wanted to set things up so that, if the command index ever became 15, we would raise the very same error flag. This is proving very tricky. Note that, since you reviewed the PR, the flag has gone from being a 1-cell memory to a register.
Another small thing is that, when pop fails, we should not be writing its answer into the memory. This issue is what we discussed above, but in the code that is currently checked in, this issue is somewhat suppressed: I just got the FIFO component to zero out the ans register in case of an error.
Both of these issues are marked with "AM" in the code I've checked in.

Quick update: I noticed that passing cells around by reference was a workaround to the issue of combinational groups blocking off cells, so I leaned into it. It's a super duper hack, and I would love to massage it away.
I just have a further group whose whole job is to raise the err flag if i=15. It takes err by reference as i as just a plain input. This is run as the last step in the loop body every time. This works for now.

@anshumanmohan not sure if the seq_mem issue was resolved or not but here is the general guideline to using a seq_mem:

The read_en interface implements a sequential reads which takes a cycle to return the value. In order to get the right value, you need to depend on read_done. I think you're already doing this.
The is latched after a read_done operation which means it is available outside the group that did the read as long as another read_en or write_en is not triggered.

So, if you want to perform a read from the memory, you can write the following:
group do_read {
  mem.addr0 = ...
  mem.read_en = ...
  do_read[done] = mem.read_done
}
group write_reg {
  reg.in = mem.out;
  reg.write_en = 1'd1
  write_reg[done] = reg.done
}

control {
  seq { do_read; write_reg; }
}

Many thanks! I didn't fully realize that I should just make two groups and orchestrate them in sequence. It works now, and I've moved over to seq_mem. I've also added asserts to enforce the type of the memory.
This PR now suffers no fatal flaws, except that its main loop is a little janky. Both of these are marked with "AM" in the code.

If a pop fails, we should not write the popped value to the answer list.
After we hit i=15, we should break the loop more elegantly than we do now.

These issues are both suppressed right now in hacky ways:

When the fifo component returns an error, it zeroes out its answer cell. So, although the main loop does write an invalid answer to its answer list, that invalid answer is 0 and therefore does not cause confusion.
I just have a bespoke component raise_err_if_i_eq_15 whose whole job is to potentially raise the err flag. This works fine, it's just overkill and there probably exists a nicer way.


add download-labels button to download pages

Added a button to the "File Downloader" card that downloads a file containing serialized Label objects. Django's ModelSerializer supports query parameters "format=json" (default) or "format=xml".
Adds a labels/download api endpoint:
http://localhost:8080/v1/projects/1/labels/download?format=json
http://localhost:8080/v1/projects/1/labels/download?format=xml
Adds a “Download Labels” button:

Resolved in https://github.com/chakki-works/doccano/pull/443.
After ver 1.0.0, UI was significantly changed. I'm so sorry.

Hi Hiromi, no problem. I'm glad to see the project moving forward so quickly. I'll keep looking for ways to help.


Add ReducerReader for building reducers out of state and action

Let's consider adding a reducer that builds itself from the current state and action. We've experimented with the concept before and called it _Observe, but decided to wait a bit before shipping such a thing. More and more community members have built their own versions of _Observe, though, calling them StateReader and ActionReader, etc., which nicely evokes ScrollViewReader and GeometryReader, and we've also found more and more uses, so let's consider shipping this tool as a first-class citizen, and let's consider calling it ReducerReader.
We think a single ReducerReader entity is the way to go vs. three reducers, one for reading state and action (ReducerReader), and then one for just reading state (StateReader) and one for just reading actions (ActionReader), since you can simply ignore the value you don't need to read:
// Instead of:
StateReader { state in /* ... */ }
// Do:
ReducerReader { state, _ in /* ... */ }

// Instead of:
ActionReader { action in /* ... */ }
// Do:
ReducerReader { _, action in /* ... */ }

A couple example uses:
Exhaustively handling enum state:
var body: some ReducerProtocol<State, Action> {
  ReducerReader { state, _ in
    switch state {  // Compile-time failure if new cases are added
    case .loggedIn:
      Scope(state: /AppFeature.loggedIn, action: /AppFeature.loggedIn) {
        LoggedInFeature()
      }
    case .loggedOut:
      Scope(state: /AppFeature.loggedOut, action: /AppFeature.loggedOut) {
        LoggedOutFeature()
      }
    }
  }
}

Filtering:
var body: some ReducerProtocol<State, Action> {
  ReducerReader { state, action in
    if state.isAdmin && action.isAdmin {
      AdminFeature()
    }
  }
}

Feedback, please!
We'd love any feedback the community may have, especially from those that have used this kind of reducer in their applications.

AFAICT this is a key component in reducers which inject a projection of their state or action as dependencies for their children, so a much needed building block. Yes please!

As much as I like the more scoped StateReader and ActionReader, I admit that having three reducers with one of them being pluripotent wouldn't make a lot of sense, so it looks good to me!

I'd definitely like to hear others say how they've used this kind of functionality, since I'm having trouble seeing how I can use ReducerReader in my own codebase right now.

I'd definitely like to hear how others have used this kind of functionality, since I'm having trouble seeing how I can use ReducerReader in my own codebase right now.

In addition to the 2 quick examples I give in the PR body, you could also use this do inject dependencies based on the current state:
var body: some ReducerProtocol<State, Action> {
  ReducerReader { state, _ in
    Feature()
      .dependency(\.apiClient, state.isOnboarding ? .onboarding : .liveValue)
  }
}

@stephencelis @pyrtsa oh I see! That is REALLY interesting. I haven't found instances where this is needed because my Reducers comprise very straightforward Scope functions and the classic Reduce<State, Action>.
This PR however would give developers even more control as to what child reducers should be generated based on the state of parent reducer. While this kind of behavior already exists with optional child states and ifLet, we don't have it for non-optional states. It will probably will make reducers like this much easier to read: https://github.com/pointfreeco/isowords/blob/main/Sources/AppFeature/AppView.swift#L87. Or am I still missing something :)

If this is a ReducerReader, it can makes sense to want to read its dependencies in case where .transformDependencies would be too late to decide. Here is an example of a StateProxy where we can access the dependencies using a subscript, in the same fashion we can resolve anchors using a subscript on GeometryProxy.

@tgrapperon Can you access the dependencies using @Dependency on the reducer? Eg. self.someDependency.isActive

I'd definitely like to hear how others have used this kind of functionality, since I'm having trouble seeing how I can use ReducerReader in my own codebase right now.

One good use case is sharing some state across all of your features as a dependency. For example, imagine once logged in you have some kind of persistent session data that contains some information about the logged in user - this might include profile data, or their user ID etc. which you need to use throughout your features (you might need the user ID to include in API requests).
Rather than passing this down from feature to feature, you can take a similar approach to SwiftUI (where you could use the environment to pass data down to deeply nested views) and use a dependency key to pass that data around. In order to set this on all of your features you need to set the dependency at the highest point within your reducer tree that has access to the data.
For example:
struct LoggedInReducer: ReducerProtocol {
  var body: some ReducerProtocol<State, Action> {
    ReducerReader { state, _ in
      CombineReducers { // using this like `Group` so we only need to set the dependency once
        ChildFeatureOne()
        ChildFeatureTwo()
      }
      .dependency(\.sessionData, state.sessionData)
    }
  }
}

WOW that is a neat example for sure. Thanks! Can't wait to eventually use it when my app gets a little more complex ;)

@iampatbrown It's not clear if the potential ReducerProxy (or StateProxy) should escape dependencies on creation, or resolve locally. Both are possible simultaneously BTW and we could use this to compare dependencies across reducers' boundaries, which would be something new I guess.

[Edit: Here is a branch with a ReducerProxy]

Interesting thoughts, @tgrapperon! I think I'd need more concrete examples to wrap my head around it, so such a change might take another period of time to consider (like the period of time between _Observe and this PR).
Luckily I think we could make ReducerProxy additive if it gets motivated in the future, since a closure with a single parameter will resolve to it, and a closure with two can resolve to the existing interface.

I know that the name is already been used for the @ReducerBuilder @resultBuilder but ReducerBuilder instead of ReducerReader just makes much more sense for me and you even documented the ReduceReader as such:
/// A reducer that builds a reducer from the current state and action.
It actually took me a while to understand what this ReducerReader is used for until I finally understood that it is a Builder.
Since the name is already taken by the @resultBuilder a synonym could take place instead, I just can't think of a good alternative, but Reader definitely sound like its purpose is different.

I know that the name is already been used for the @ReducerBuilder @resultBuilder but ReducerBuilder instead of ReducerReader just makes much more sense for me and you even documented the ReducerReader as such: /// A reducer that builds a reducer from the current state and action. It actually took me a while to understand what this ReducerReader is used for until I finally understood that it is a Builder.

That doc could easily be changed to:
/// A reducer that builds a reducer by reading the current state and action.

Does that make the "reading" aspect more compelling?

Since the name is already taken by the @resultBuilder a synonym could take place instead, I just can't think of a good alternative, but Reader definitely sound like it has a different purpose.

The Reader naming fits in well with ScrollViewReader and GeometryReader:

ScrollViewReader: Read information about the current scroll view (e.g., its scroll position).
GeometryReader: Read information about the current geometry (e.g., its dimensions).
ReducerReader: Read information about the current reducer (e.g., its current state and action).

Does that make the "reading" aspect more compelling?

Again, IMO it doesn't has anything to do with reading as the regular Reducer.

The Reader naming fits in well with ScrollViewReader and GeometryReader:

ScrollViewReader: Read information about the current scroll view (e.g., its scroll position).
GeometryReader: Read information about the current geometry (e.g., its dimensions).
ReducerReader: Read information about the current reducer (e.g., its current state and action).

Although I vouch for everything else you've mirrored from SwiftUI syntax like body, @dependency (environment) and others, the ScrollViewReader and GeometryReader have a totally different purpose than ReducerReader as they give you a specific lens as to what's going on inside their content which you could not get otherwise, while ReducerReader just gives you the same information you'll get with normal Reducer but its reduce function is returning @ReducerBuilder instead of Effect that's all.

[…] ScrollViewReader and GeometryReader have a totally different purpose than ReducerReader as they give you a specific lens as to what's going on inside their content which you could not get otherwise […]

Nevertheless, I think these are more similarities than differences:

ScrollViewReader provides to its body a proxy handle to the surrounding scroll view component (mind you: not the SwiftUI.ScrollView, which is just a declarative description of what's seen in the UI, but its actual visible counterpart in the view graph, such as—but not necessarily—UIScrollView).
GeometryReader provides to its body access to the geometry of its surrounding container view for layout computation.
Yes, you're correct that you can express all of ReducerReader by making use of an ordinary Reduce reducer and its child's reduce(into:action:) function, but I'm guessing you would have equivalent abilities in SwiftUI if it made its view graph API public (which it's very unlikely to do of course).

If we didn't have access to func reduce and had to express everything in terms of var body, then ReducerReader would be the only way to read the current state or action from the enclosing reducer before giving control to scoped child reducers.

This might be a bit out there, but why not one of these:

ReducerFrom { state, action in ...
ReducerWith { state, action in ...

Or even simpler:

From { state, action in ...
With { state, action in ...

This might be a bit out there, but why not one of these:

ReducerFrom { state, action in ...
ReducerWith { state, action in ...

My first impression of these is that they're a little more vague and general than ReducerReader. It's not as clear that ReducerFrom or ReducerWith distinguish themselves from Reduce with a builder context.

Or even simpler:

From { state, action in ...
With { state, action in ... <- personally fond of this one

I think these names are unfortunately a bit too general beyond even the library, and likely to collide with other types. That could force folks to qualify as ComposableArchitecture.From and ComposableArchitecture.With, which don't read as nicely. If Swift ever gets abbreviated type resolution for types defined inside builders (something that's been proposed on the forums) we could revisit, but for now I think we need something a bit more unique.

Although I vouch for everything else you've mirrored from SwiftUI syntax like body, @dependency (environment) and others, the ScrollViewReader and GeometryReader have a totally different purpose than ReducerReader as they give you a specific lens as to what's going on inside their content which you could not get otherwise, while ReducerReader just gives you the same information you'll get with normal Reducer but its reduce function is returning @ReducerBuilder instead of Effect that's all.

@oronbz While we're not entirely opposed to the idea, there do seem to be some roadblocks. Now using builders as anything more than the @resultBuilder itself doesn't seem to have a precedent in the Apple ecosystem that I'm aware of, but in this case it also doesn't seem possible:
ReducerBuilder { (state, action) -> SomeReducer in
  …
}

ReducerBuilder is generic over State and Action, but whatever type is used to build these reducers must also be generic over the SomeReducer returned by the builder:
-@resultBuilder enum ReducerBuilder<State, Action> {
+@resultBuilder struct ReducerBuilder<State, Action, Content: ReducerProtocol>: ReducerProtocol
+where Content.State == State, Content.Action == Action {

This generic would break the existing builder. So I think we definitely need a unique type and name.
Reusing Reduce might be a nice alternative, as we could technically introduce another generic there (and even default it to a ClosureReducer or something when using the non-builder initializer), but:

I'm not sure the builder and non-builder initializers can be disambiguated easily by Swift.

Even if they can be disambiguated, there's a Swift diagnostics bug that currently pushes us to encourage folks to specify the generics of Reduce when working in builders with multiple lines in order to restore autocomplete:
-Reduce { state, action in
+Reduce<State, Action> { state, action in

We'd need to start encouraging the following, instead:
Reduce<State, Action, _> { state, action in

This is not only a breaking change, but kinda messy.
Now, whenever the Swift bug is fixed we could revisit using Reduce for both styles, but we'd still need an alternative for swift(<5.8) or 9.

We would naively expect ReducerReader { reducer in … }, but a raw Reducer wouldn't make a lot of sense here.

Doesn't that expectation depend on knowledge/use of StateReader and ActionReader? Since we've never employed those in the library I think we're hopefully in the clear there.
And as far as SwiftUI's readers go, they don't expose the raw ScrollView, etc., and instead surface proxies, as you mention:

Thats one of the reasons I'm currently experimenting with a ReducerProxy. In this case, we'd have ReducerReader { proxy in … } and the parallel with SwiftUI would be even more striking.

I kinda think of the state and value passed as a proxy to the current state and value that can more conveniently be destructured. And I'm definitely not opposed to ReducerProxy, especially if there's more than state and action to motivate. But even then it seems the current destructuring shorthand of state, action would still be nice to support. I think we could additively consider adding the proxy later if we can't motivate it yet right now, and instead we could start with the API surface area of this PR.

ActionStateReducer seems like an obvious, if inelegant, name for exactly what's being reduced here. It also echoes the original names of the separate reducers. Technically it could be StateActionReducer to match the parameter order, but that feels wrong, likely due to some English-ism I can't name. There's also a slight risk of users confusing ActionState with the other types of state in the library, but seems easily clarified in the docs and at point of use.

@stephencelis I totally agree with the name clashes as I mentioned them in my original comment. And hopefully Swift will evolve enough someday to allow more stability in its disambiguity (not a word). Until then, I'm fine with whatever way this is going, as it really a useful tool in moderate+ complexity apps.

@stephencelis. I agree with the fact that ReducerReader { reducer in … } is probably related to the knowledge of State/Action reader. The point I wanted to make is that StateReader { state in … } function is immediately clear its sole signature. ReducerReader { state, action in … } feels less natural and the discussion above shows that the expectations there are not univocal. This is originally what motivated me to bundle them into a "proxy" type that wouldn't take a stance. In SwiftUI, GeometryProxy is something very versatile that can help many different situations, so I'm indeed trying to see how we can expand this hypothetical ReducerProxy with additional informations/utilities.
I'm currently experimenting with a ReducerProxy that exposes .state, .action and .dependencies, as well as a .run method where we can potentially produce an Effect using the state and action, at any point in the ReducerReader stack. For example:
ReducerReader { proxy in
  proxy.run {
    print("State before: ", proxy.state)
  }
  Animations()
  proxy.run {
    print("State after: ", proxy.state)
  }
}

(I've pushed it on my reader-reducer-proxy branch BTW).
There is some TaskLocal magic to make it work and it probably has a few edge-cases implemented like it is. I'm just trying to see if it offers novel ways to write reducers on the spot.
Going back to the ReducerReader naming question and forgetting ReducerProxy for a moment, we can also imagine providing only StateReader and ActionReader, and let the user nest them in the less common cases where they need both informations:
StateReader { state in
  ActionReader { action in
    …
  }
}

I've read this a couple of times, but I still can't figure out how this differs from a normal reducer, is there a short explanation of that?

I've read this a couple of times, but I still can't figure out how this differs from a normal reducer, is there a short explanation of that?

It gives us a ReducerBuilder with (State, Action) as parameters. Contrast that with an ordinary body of a reducer which takes no parameter; or the reduce(into:action:) functtion which does take those two arguments but returns the EffectTask already instead of another reducer.

In other words:
Reduce { state, action in
  // You produce an `EffectTask` here (or `Effect` soon)
}

ReducerReader { state, action in
  // You produce a `ReducerProtocol` here (or `Reducer` soon)
}

Ah alright, so it's if you already have a reducer and you want to reuse it in a way that depends on state or action.

Hi @stephencelis ,
We've been using a "relay" reducer since the beginning and I'm curious if this ReaderReader could be its replacement (which means less things we have to maintain ^^).
Our use case is to integrate TCA with other parts of the app (typical UIKit navigation coordinators). What we do is in the coordinator, when creating the screen with the TCA store we hook a relay that let's us inspect the actions and call to coordinator methods.
let store = Store(
            initialState: .init(...),
            reducer: FeatureReducer()
                .relay {
                    switch $0 {
                    case .action(.closeTapped):
                        onCloseButtonTapped()
                    case .action(.getStartedTapped):
                        onCloseButtonTapped()
                    default:
                        break
                    }
                }
        )

This is hugely beneficial since it let's us keep the TCA features "pure" int he sense that they don't know they are integrated in a non-tca app. And if tomorrow we want to switch from coordinator to root level TCA the features don't have to change :)
Do you guys think that using this new Reader is a good replacement? On the surface it seems like a good replacement but right now it's not really fitted. Since the closure needs to build a reducer, but the reducer doesn't really depend on the state/action (which I think is why this doesn't really fit our use case) you need to let _ for it to compile, which feels awkward.
            reducer: ReducerReader { _, action in
                switch action {
                case .action(.closeTapped):
                    let _ = onCloseButtonTapped()
                case .action(.getStartedTapped):
                    let _ = onCloseButtonTapped()
                default:
                    let _ = ()
                }
                CinemasWalkthroughScreen()
            }

I'm just curious what you guys think :) is fine if this is a different use case than the one being tackled here ^^

@alexito4 Cool! I think relay as you've written is probably great, and I think ReducerReader is not appropriate for the task given the issues you've highlighted. I'll just note that your relay implementation should probably be executing its work inside an Effect and not directly inside the reducer it wraps (though because relay is invoked in the view/controller, this may not be a big issue). I think you've highlighted that there's a gap in the library for bridging actions from TCA back into the broader world, though, so it's something we'll think more about for 1.0.
One alternative to relay to consider, that would get you test coverage on this integration, is if you pushed onCloseButtonTapped into a dependency. This may be more work than necessary, though!

Thanks for the reply @stephencelis !

@alexito4 Cool! I think relay as you've written is probably great, and I think ReducerReader is not appropriate for the task given the issues you've highlighted.

That's totally fair 👍🏻 thanks for confirming it ^^

I'll just note that your relay implementation should probably be executing its work inside an Effect and not directly inside the reducer it wraps (though because relay is invoked in the view/controller, this may not be a big issue). I think you've highlighted that there's a gap in the library for bridging actions from TCA back into the broader world, though, so it's something we'll think more about for 1.0.

Yes exactly ^^ We are aware that side effects in the reducer are not ideal but we only use this relay outside the TCA, just to integrate with our coordinator, so at that point we didn't mind sacrificing purity for ease of use. We just needed a way to get actions :)

One alternative to relay to consider, that would get you test coverage on this integration, is if you pushed onCloseButtonTapped into a dependency. This may be more work than necessary, though!

We considered the different options and ultimately opted for pretending that the feature was integrated in a full TCA app. So from the feature perspective it just has actions (delegate actions recently) that the parent hooks into. From that domain perspective the parent could be TCA or anything else; allowing us in the future to move features around and maybe get rid of the coordinator system we have (although is nice because it gives a split between features and workarounds possible issues of structs becoming to big for the stack).
I'm aware is not ideal and testing is a bit of a PITA but the tradeoffs are worth it for us.
Now if you guys come up with a better tool in 1.0... ❤ 😜

@alexito4 might share the relay operator? It might be beneficial for us as well (: love the idea

I just remembered I wrote about it here https://alejandromp.com/blog/observe-actions-in-the-composable-architecture/ with link to the repo, although we haven't kept up with updates on that repo. Still you should be able to take the relay method easily 🙏

@alexito4 might share the relay operator? It might be beneficial for us as well (: love the idea

I just remembered I wrote about it here https://alejandromp.com/blog/observe-actions-in-the-composable-architecture/ with link to the repo, although we haven't kept up with updates on that repo. Still you should be able to take the relay method easily 🙏

Thanks for the inspiration, that really helped me come up with the following:
public extension Reducer {
    /// Delegate actions sent trough this reducer.
    @ReducerBuilder<State, Action>
    func delegate(
        destination: @escaping (Action.Delegate) async -> Void
    ) -> some ReducerOf<Self> where Action: Delegating {
        self
        Reduce<State, Action> { _, action in
            guard let delegateAction = (/Action.delegate).extract(from: action) else { return .none }

            return .fireAndForget {
                await destination(delegateAction)
            }
        }
    }
}

public protocol Delegating {
  associatedtype Delegate

  static func delegate(_ action: Delegate) -> Self
}

    enum Action: Equatable, BindableAction, Delegating {
...
        case delegate(Delegate)

        enum Delegate: Equatable {
            case challengeReceived(Challenge)
            case supportedCountryChanged(CountryInformation)
        }
    }

Then, on the coordinator:
       let store = Store(initialState: LoginFeature.State(),
                          reducer: LoginFeature()
            .delegate { @MainActor [weak self] action in
                switch action {
                case .challengeReceived(let challenge):
                    self?.challenge.accept(challenge)
                case .supportedCountryChanged(let country):
                    self?.supportedCountry.accept(country)
                }
            })

@stephencelis I haven't read all the discussion here, but before I do, I just have to give this concept TWO HUGE THUMBS UP! We need this so bad right now, I think it'll help us unify our two root TCA stores, one that handles the logged out situation and one that handles the logged in situation.
We still have issues with @Dependency though, because it's a single static namespace, but we've just had to avoid using @Dependency for dependencies that depend on things like user session access tokens. :(

I love the idea!
I use ReducerReader to pass a nodeID dependency from the parent to all child reducers which allows me vastly more modularity. I want the app to crash when I accidentally forgot to override the nodeID since a default does not make sense. Haven't tried it in tests, but it works in my small example.
Example:
ReducerReader { state, action in
  Item()
    .dependency(\.nodeID, { (state.id })
}

private struct NodeIDDepdendency {}

extension NodeIDDepdendency: DependencyKey {

  public static let liveValue: () -> NodeID = {
    fatalError("no nodeID is set")
  }

}

extension DependencyValues {
  public var nodeID: () -> NodeID {
    get { self[NodeIDDepdendency.self] }
    set { self[NodeIDDepdendency.self] = newValue }
  }
}

This looks like a useful tool that I didn't know I was missing yet. For the naming, it did remind me very much of flatMap, but I am not 100% sure it maps conceptually.
The examples would then work out to something like this.
Exhaustively handling enum state:
var body: some Reducer<State, Action> {
  EmptyReducer()
  .flatMap { state, _ in
    switch state {  // Compile-time failure if new cases are added
    case .loggedIn:
      Scope(state: /AppFeature.loggedIn, action: /AppFeature.loggedIn) {
        LoggedInFeature()
      }
    case .loggedOut:
      Scope(state: /AppFeature.loggedOut, action: /AppFeature.loggedOut) {
        LoggedOutFeature()
      }
    case .foo:
      EmptyReducer()
    }
  }
}

Filtering:
var body: some ReducerProtocol<State, Action> {
  Reducer { state, action in
    ...
  }
  .flatMap  { state, action in
    if state.isAdmin && action.isAdmin {
      AdminFeature()
    } else {
      EmptyReducer()
    }
  }
}

This looks really great and I would definitely love to see it in the library.
My use case would be to reuse a reducer to be able to run different actions.
I have a generic code verification feature that I would like to reuse for different use cases, e.g. email verification, password reset confirmation etc.
@Reducer
struct CodeVerificationFeature: Sendable {
    typealias VerifyCodeAction = @Sendable (String) async throws -> Void

    let verifyCode: VerifyCodeAction

    init(verifyCode: @escaping VerifyCodeAction,) {
        self.verifyCode = verifyCode
    }

    // ...
}

And then inject an appropriate action like this
    @Dependency(\.authService) private var authService

    var body: some ReducerOf<Self> {
        ReducerReader { state, action in
            Scope(state: \.codeVerification, action: \.codeVerification) {
                CodeVerificationFeature(
                    verifyCode: { @Sendable code in
                        try await authService.verifyEmail(email: state.email, confirmationCode: code)
                    }
                )
            }
        }
    }

It needs a piece of information from the parent state so this is a perfect tool for my use case. I've just tried it and it works like a charm.
Are there any plans to include it in the library?


[coap] Fix CoAP option data type in C/C++ API

Hi all! In a recent pull request (#4396) new methods have been added to parse CoAP options using an option's number. The type these new functions receive as parameter is otCoapOptionType, which is an enumeration found in coap.h:
/**
 * CoAP Option Numbers
 */
typedef enum otCoapOptionType
{
    OT_COAP_OPTION_IF_MATCH       = 1,  ///< If-Match
    OT_COAP_OPTION_URI_HOST       = 3,  ///< Uri-Host
    ...
    OT_COAP_OPTION_PROXY_SCHEME   = 39, ///< Proxy-Scheme
    OT_COAP_OPTION_SIZE1          = 60, ///< Size1
} otCoapOptionType;

This makes impossible to use vendor-specific options since the underlying type of the enum is implementation-defined, and in my particular case the option number gets casted to an 8 bit integer. I simply replaced the argument type in all protoypes with uint16_t.

@googlebot I signed it!

@googlebot I fixed it.

@sjlongland, can you review and provide your thoughts? Thanks.

Hi, yeah I guess I should have looked closer at otCoapMessageAppendUintOption.
The use of that type is more a hint to the developer about what values should be used, but if you want to use your own I was thinking static casting to otCoapOptionType was doable.
No gripe with making it a generic uint16_t on the parameters.  It shouldn't make much difference.
https://travis-ci.org/openthread/openthread/jobs/657332818?utm_medium=notification&utm_source=github_status might need to be given a kick though as that build seems to have fallen off the perch prematurely.


Can't start the Web UI on another machine

Describe the bug

I would want to start the locust Web UI as a service on my host which runs the docker image of Locust stored in another machine, with a URL something like this
https://service-website:30001/studio/projects/recommender/services/icrs-stress-test/8089/
Expected behavior

When I initiate and run the service, I should be able to get the Web UI of Locust in the above mentioned URL
Actual behavior

Getting an exception as below
[2021-06-01 09:17:16,035] a8094620894d/INFO/locust.main: Starting web interface at http://<IP_ADDRESS>:8089 (accepting connections from all network interfaces) [2021-06-01 09:17:16,043] a8094620894d/INFO/locust.main: Starting Locust 1.5.3 Traceback (most recent call last): File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run File "/usr/local/lib/python3.8/site-packages/locust/web.py", line 339, in start_server self.server.serve_forever() File "/usr/local/lib/python3.8/site-packages/gevent/baseserver.py", line 398, in serve_forever self.start() File "/usr/local/lib/python3.8/site-packages/gevent/baseserver.py", line 336, in start self.init_socket() File "/usr/local/lib/python3.8/site-packages/gevent/pywsgi.py", line 1545, in init_socket StreamServer.init_socket(self) File "/usr/local/lib/python3.8/site-packages/gevent/server.py", line 180, in init_socket self.socket = self.get_listener(self.address, self.backlog, self.family) File "/usr/local/lib/python3.8/site-packages/gevent/server.py", line 192, in get_listener return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family) File "/usr/local/lib/python3.8/site-packages/gevent/server.py", line 284, in _tcp_listener sock = GeventSocket(family=family) File "/usr/local/lib/python3.8/site-packages/gevent/_socket3.py", line 133, in __init__ self._sock = self._gevent_sock_class(family, type, proto, fileno) OSError: [Errno 97] Address family not supported by protocol 2021-06-01T09:17:16Z <Greenlet at 0x7fb0dc1177b0: <bound method WebUI.start_server of <locust.web.WebUI object at 0x7fb0dc09ab80>>> failed with OSError
I see in the Locust on AWS tutorials, that invoking the Web UI was happening with http://*:8089 in earlier version of Locust. That could easily connect to the host on AWS. But now, the Web UI is starting with http://<IP_ADDRESS>:8089. Is this by any chance the reason I am not able to run the Web UI in an external system?
Environment

Python version: 3.8
Locust version: latest

Can you try launching it with --web-host localhost or maybe --web-host <actual ip of your machine>?
I think the change is only in what is printed, but I guess it is possible...

@cyberw Both localhost and IP are not working in the latest version.
However, the older versions like 1.1 is able to connect to a system when I explicitly specify the LOCUST_WEB_HOST=<IP_ADDRESS>

Ok, hmm. Sounds like something specific to your environment. Sorry, I dont have any ideas...

Hello. The fix for this issue is a bit strange. I replaced the locust 'latest' to '1.5.3' and it completely works fine now. The issue can be closed.


feat: Add "Start with template" option and refactor template components

Description
This pull request adds the "Start with template" option to the workspace action menu and refactors several template components to improve code organization and maintainability.
PR fixes following issue(s)
Fixes #30860

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Chore (housekeeping or task changes that don't impact user perception)
This change requires a documentation update

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[ ] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit
Summary by CodeRabbit

New Features

Introduced the ability to create new applications from templates.
Added a feature flag to toggle the visibility of the "Create App from Template" option.

Enhancements

Updated text constants for workspace actions and new app creation for clarity.
Improved UI and UX for template selection and application creation from templates.

Refactor

Refined template handling functions and components for better maintainability.

Bug Fixes

Fixed issues related to template forking and application creation flow.

Documentation

Enhanced analytics by adding a new event type for template dropdown interactions.

/build-deploy-preview

/ok-to-test<EMAIL_ADDRESS>

/build-deploy-preview skip-tests=true recreate=false

/build-deploy-preview skip-tests=true recreate=false

/build-deploy-preview skip-tests=true recreate=false

/build-deploy-preview skip-tests=true recreate=false

/build-deploy-preview skip-tests=true recreate=false

/deploy-build-preview

/build-deploy-preview

/build-deploy-preview

/ok-to-test<EMAIL_ADDRESS>

/build-deploy-preview

/build-deploy-preview

/build-deploy-preview


Set up autodeployment

LGTM :+1:

thanks @nibalizer! i'll merge this in, then cleanup the travis.yml in general…


Hotfix/1.0.1

What It Does 🔎

After Albert review updated the following:

Sources definition
Only build wasm transformation, no static asset in gettting_started repository
Fixed portation command

Documentation Updates 📘

N/A
How To Test ✔

N/A
Linked Issues 🎫

N/A
Related Pull Requests 🔀

N/A

The RFC has been merged here https://github.com/polyphene/docs.holium.org/pull/17/commits/5b7080e4d08929299ac740a151c08f0f9032740e


Component event strategy

Is your feature request related to a problem? Please describe.
It's tricky listening to component events in React. Sometimes inline handlers work (e.g. onInput), and sometimes you have to have to attach event listeners using a ref. Because of React's synthetic event system, you can only use inline handlers if the event is a native DOM event. If it's a custom event, you have to use a ref.
auro-radio is tricky. The input event emitted from the component is from the inner input. This is because input is a composed event -- it propagates across shadow DOM boundaries. Because it's native, you can listen to it using onInput. change is different. The native change event is not composed, so we re-dispatch it as a custom event. Because of this, you can't listen to the change event using onChange in React and you have to use a ref.
This is confusing, and it's not clear to the consumer that there's a difference.
Describe the solution you'd like
We should distinguish custom component events from native ones so that it's clear there's a difference.
Instead of dispatching a change event, we dispatch an auro-change event instead. This makes it clear that this is a custom event instead of a native event. It's also similar to how other component libraries name their events.
I'm still thinking through whether we'd want to name all component events like this. The escaping input event is really a leaky abstraction -- should the consumer care how the component is implemented under the hood? Or do we tell them what events to listen to? For instance, Shoelace makes heavy usage of custom events.
Either way, by prefixing our custom events, we make it clear to consumers that they are custom events. If the event begins with auro-, they should assume that they need to use a React ref to set up event listeners instead of an inline listener.
Some related thoughts from Westbrook: composed: true considered harmful?.
Describe alternatives you've considered
Instead of changing component behavior, we simply document the difference between the events and what it means for React.

Meeting to review this feature request has been scheduled.

100% agree with the idea that we are creating custom elements and by extension creating custom events are expected but embraced in this community.
A couple of things.

This element, as well as auro-checkbox, are up for massive functional and feature updates. It would be best to kick this can down the road and coordinate a MAJOR release that addresses this concern.
See https://github.com/AlaskaAirlines/WC-Generator/issues/155

Either way, by prefixing our custom events, we make it clear to consumers that they are custom events. If the event begins with auro-, they should assume that they need to use a React ref to set up event listeners instead of an inline listener.

I really like the clarity of this versus trying to get events to appear as native HTML, which we are not using.
In regard to the React Ref, I am hoping we can obscure that with the future migration to Lit2.0 and React wrappers.

@geoffrich so that we are on the same page, what is it in THIS repo that you specifically want to see updated? Assuming that we are talking about the following lines? https://github.com/AlaskaAirlines/auro-radio/blob/master/src/auro-radio.js#L60-L82
While we agree conceptually, this issue does not have an expectation and/or exit criteria.

The existing custom events are renamed and become the preferred way to interact with the component.

old event
new event

change
auro-change

toggleSelected
auro-input

focusSelected
auro-focus

This will be a breaking change.

This issue is bound to https://github.com/AlaskaAirlines/WC-Generator/issues/224

Had a conversation with @geoffrich and while there is an opportunity to update this API, it's not a critical issue to address. Teams who have consumed this element in React have engineered wrappers that address this shortcoming. There is also the opportunity that updates in React will nullify the need for this as well ¯_(ツ)_/¯
The concept of hijacking native events has been a decision that was made when this all started... that being said, had we not done that, there are things that would have been a lot easier to do as well (auro-input and the webkit cursor issue).
While we agree that there is something that can be done here, I'd like to take into consideration all the other issues around events and reactive code and propose that there is a concentrated effort to update all the form elements with new form support in the browser pertaining to web components.

https://github.com/AlaskaAirlines/WC-Generator/issues/224

I want to get this back into the rotation so that we can discuss this update and how it related to the larger goal of more reactive form elements with the new formData API opportunities.


helm dep list report missing for subcharts downloaded with version matching

If a subchart's version is defined implicitly, helm dep list would still report missing after a subchart is downloaded via helm dep update or helm dep build. This is because helm dep list does not consider implicit version when checking existence of a subchart.
Implicit version is like: 0.5.x, >=0.5.0, etc.
A fix to this could be loading version information from requirements.lock instead of requirements.yaml.

That's a good idea. There might be an edge case where the requirements.lock does not exist, but it would be easy enough to just generate that lock file on-the-fly.

On a second thought, generating the lock file on-the-fly could also have inconsistent version information when the repo has been updated recently - a new version comes out while the existing subchart in the charts folder still has an old one.
Maybe just using version matching is the most intuitive way to solve it.


Create maricopa

Adding the Maricopa Community Colleges

@RationalSolutions This domain is in the black list, please see https://github.com/JetBrains/swot/blob/master/CONTRIBUTING.md for more details. I can not satisfy this request, I am sorry.


rancher-save-images.sh/rancher-load-images.sh don't use the rancher-images.txt file.

Rancher versions:
rancher/rancher: v2.0.8
Looks like these scripts are generated and have hard-coded lists of images in them.  I would like to change them to read from the rancher-images.txt file and streamline the image publishing process for private registry and air gap installs.

Re-asaigned to @bmdepesa as he is going through HA upgrade testing and will be using these scripts

rancher/rancher:v2.1.0-rc9
Used the new scripts to successfully populate a private registry with 2.0.8, 2.1.0, and custom images for airgapped HA upgrade testing.


Multi-thumb option

Describe the Feature
Right now we only have one "grip" option. It would be nice to have multiple grips. Two would be a good start.
Possible Implementations
For Android probably this one - https://github.com/apptik/MultiSlider
For iOS probably this one - https://github.com/yonat/MultiSlider
Related Issues

That's the reason why I'm not using this library

@hecontreraso which library are you using?

I'm really interested by this one.

Thanks for the vote of support @jonathangreco !

Hi, @michalchudziak what're your thoughts on this??

Add libs as dependencies and write RN wrappers
implement/take some good chunks step by step from the libs??

+1

+1

+1

@wojteg1337 sry for adding to this issue, just want to know your thought??

+1

+1

+1

really need this feature. need to filter values in between a selected min and max

really need this feature. need to filter values in between a selected min and max

+1

+1

+1

@tragicmj Thanks for asking!
This is a very tricky feature to be implemented, as this has to be exposed from the native side on three different platforms. So all of them has to expose the API that will allow multithumb, which is not trivial to implement.
I got this planned and will tackle this, as soon as I face all important defects. But I cannot give any estimation of probable time to deliver this.

@hecontreraso which library are you using?

This one does the trick. Until BartoszKlonowski finishes his work.

Is this implemented? How can I put it on my Slider?
<Slider                         style={{ width: 200, height: 40 }}                         onSlidingComplete={(value) => setSelectedValue(value)}                         minimumValue={0}                         maximumValue={1}                         minimumTrackTintColor="#f8a60f"                         maximumTrackTintColor="#000000"                         thumbTintColor="#f8a60f"                     />

+1

+1

In the meantime, you can use https://github.com/Sharcoux/slider which works flawless on iOS, Android & Web.


feat: allow version constraints and tag, branch, remote versions for plugin installs [APE-225]

What I did

fixes: #896
Fixes: APE-225
was there a ticket for allowing version constraints like >= and stuff? i cant find it
How I did it

How to verify it

Checklist

[x] All changes are completed
[x] New test cases have been added
[x] Documentation has been updated

[ ] allow cmd line to install git+ style, will need the github action... maybe ape plugins install vyper@git+https:/// ?

getting these changes in my coverage branch will help me test codecov support!


CPLEX solving with "integer optimal, tolerance"

Hello,
When using PyPSA, sometimes I will get the following solution message when solving with CPLEX:
WARNING:linopy.solvers:Solution status unknown. Trying to parse solution.
WARNING:linopy.solvers:Dual values of MILP couldn't be parsed
WARNING:linopy.constants:Optimization failed:
Status: unknown
Termination condition: unknown
Solution: 149574 primals, 0 duals
Objective: 8.00e+08
Solver model: available
Solver message: integer optimal, tolerance

Solved Year 2021, UC Period 0 ((2021, Timestamp('2021-01-01 00:00:00')) to (2021, Timestamp('2021-01-18 04:00:00'))). Runtime: 141 seconds
INFO:pypsa.io:Exported network output_2021 has loads, lines, storage_units, buses, links, generators, carriers, line_types

The message output integer optimal, tolerance but this status isn't recognized within linopy so the status becomes unknown. For the moment, I am fixing this issue by changing the following dictionary values within the linopy/solvers.py:
Original version (Line 422):
    CONDITION_MAP = {"integer optimal solution": "optimal"}

    if io_api is not None and io_api not in ["lp", "mps"]:
        logger.warning(
            f"IO setting '{io_api}' not available for cplex solver. "
            "Falling back to `lp`."
        )

Temporary fix:
    CONDITION_MAP = {"integer optimal solution": "optimal", "integer optimal, tolerance": "optimal"}
    if io_api is not None and io_api not in ["lp", "mps"]:
        logger.warning(
            f"IO setting '{io_api}' not available for cplex solver. "
            "Falling back to `lp`."
        )

Maybe, it is not the best solution but that's what I came up with for the moment. I am not too familiar what's the difference between "integer optimal, tolerance" versus "integer optimal solution" but maybe a better approach can be defined also.
Cheers!

Hey @BuiMCanmet, thanks for raising this. Your approach looks totally reasonable. Would you like to suggest a PR? Otherwise I can do it :)


can't resolve packages

I'm on node v8.4.0, macOS 10.13.3. After cloning the repo and running yarn the following error is thrown:
yarn install v1.0.0
[1/6] 🔍  Validating package.json...
[2/6] 🔍  Resolving packages...
error "/whatever/RAN/<EMAIL_ADDRESS>doesn't exist.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

hey @adekbadek, can you try again please? I updated packages and now It should work. I didn't get any problem with same conf.

Worked, but only after upgrading yarn to v.1.3.2

aaah I see. I didn't see your yarn version :) thanks for the info @adekbadek


Feature Request: Add number at the end of slug if entry isn't unique

Similar to how Wordpress will just create a "hello-world-1" if "hello-world" already exists. Do you think this would be possible.
My use case is that I have many artists with artworks with the same title, so I get "artist/necklace" then if they have another necklace I need to add a number at the end to differentiate it. Though I don't know what the number is, it would be better if it was just automatically generated based on the existing slug names.

Hi @dwainetrain , thanks for flagging, I'll check

Hi @dwainetrain , thanks for flagging, I'll check

Thanks @dwainetrain , but I don't plan to implement this feature as is not straightforward to do and will not scale properly, in other systems like wordpress its a bit different because you access directly the BD, here it's required to leverage the API to get all entries that start with the slug and extract the last numeric value after the last "-", that would result in a bit messy implementation. Happy to review a PR if you find a better solution.

Thanks @dwainetrain , but I don't plan to implement this feature as is not straightforward to do and will not scale properly, in other systems like wordpress its a bit different because you access directly the BD, here it's required to leverage the API to get all entries that start with the slug and extract the last numeric value after the last "-", that would result in a bit messy implementation. Happy to review a PR if you find a better solution.


[Bug] Blade Flurry more doesn't double dip

Or at least it doesn't seem like it unless I've missed something. Setting Skill Part to 6 instead of 1 updates MH Total More correctly, but Poison & Bleed Total More doesn't seem to change.

Working as intended. "More" multipliers that are attached to the skill never double dip, as they only apply to the damage dealt by the skill itself, and not any secondary effects like poison.


Consider dropping support for old GHC versions

It's fairly annoying to work with pre-AMP versions of base. How important is it that we continue to do so?

I'm in favor of only supporting the last three releases of GHC. So, at this point, anything before 7.10, I could care less about. In practice, I only ever use the most recent two versions of GHC, so I don't even really ever use 7.10.

I didn't even think about the biggest benefit: more expressive types! For example, if the Monad constraint on expand is weakened to Functor, it becomes immediately obvious that it does not duplicate effects.

Argh... That example is potentially problematic because FreeT needs an Applicative constraint just to get pure, but the presence of the (unused!) <*> opens up the effect duplication can of worms.

The streaming-<IP_ADDRESS> hackage release no longer supports pre-AMP base.


Add Nightwatch.js end-to-end tests

This adds some E2E/Integration tests using Nightwatch.js and selenium.
Run them with the following commands while the app (both front and backends) is already running:
cd frontend
npm run e2e

They run using selenium hub in a Docker Compose setup, and hit the app running at localhost:3000. For now I added a single test that adds a new patient, more can be added, the sky is the limit!
Screenshot:

Excited about this change!

please run  prettier -c ./src --write and commit the changes to get the linter CI to pass

can you add yarn e2e to https://github.com/CDCgov/prime-simplereport/blob/main/.github/workflows/smoketest.yml so this runs in CI


Auto corrected by following Lint Ruby Style/PercentLiteralDelimiters

Auto corrected by following Lint Ruby Style/PercentLiteralDelimiters
Click here to configure it on awesomecode.io

Coverage remained the same at 78.296% when pulling 5bc0110a11da0b48d9ca847613af54e387a5f4d5 on awesomecode-lint-ruby-style-percentliteraldelimiters-48360 into b1acda382e323b4bb6fadd743286f6bc8fcf22f8 on master.


Visual bug Windows 7 by Nenad

Mails from Nenad:

I have an issue to report: when I scroll down black footer stripe moves up and covers the content. Windows 7, Chrome. Screen shot attached.

I don't use privacy badger or ad blocker (as far as I know). In Chrome incognito window footers stays at the bottom when I scroll.
I just checked it in Microsoft Explorer - there the footer stays at the bottom but there is lot of blank space between budget and footer with message "An unexpected error has occurred." See attached screen shot.

user didn't report this again