Custom Map Similar to Breath Companion

Sorry if a similar question has been asked already, been at this for a few days now. I wanna preface this question with the fact that this kind of stuff is very new to me, and I'm still trying to figure out how it all works.
Basically what I want to try and do is create something very similar to the Breath Companion app, which uses Mapsui.
I'm struggling real hard to try and figure out how I should approach this, most of the samples I can find are related to using real-world data - mostly available online.
From what I can gather, I should use MBTiles? So the last 2 days I've been trying to figure out a workflow for converting a .PNG map into a MBTiles file using QGIS.
I can't quite get it to work, there are no errors but the map control is just all white. So I'm kind of confused as to what I'm doing wrong and if this is the proper approach?
If you got any pointers in the right direction or some good reference material I can use, that'd be greatly appreciated.
Closest I've been able to find is JC2MapViewer, but it seems to be vastly outdated. Though, FileTileProvider has peeked my interest. So this is currently what I'm trying to get to work.
Thanks in advance!
Edit:
Well, I've made some progress. Currently my tile structure looks like this;

For testing purposes I only made 4 zoom levels (0-3). However the zooming is not working as intended, tiles are misplaced and some missing.
Currently this is what I've got;
string tileDir = (Environment.CurrentDirectory + @"\TestTiles\ZoomLevels");
var fileCache = new FileCache(tileDir, "jpg");
var fileProvider = new FileTileProvider(fileCache);
var tileSchema = new TileSchema();
tileSchema.Extent = new Extent(0, 0, 256, 256);
tileSchema.Resolutions.Add("0", new Resolution("0", 1));
tileSchema.Resolutions.Add("1", new Resolution("1", 4));
tileSchema.Resolutions.Add("2", new Resolution("2", 9));
tileSchema.Resolutions.Add("3", new Resolution("3", 16));
tileSchema.YAxis = YAxis.TMS;
tileSchema.OriginX = 0;
tileSchema.OriginY = 0;

var tileSource = new TileSource(fileProvider, tileSchema);
var tileLayer = new TileLayer(tileSource);

var map = new Map();
map.Layers.Add(tileLayer);

MyMapControl.Map = map;

My immediate assumption is that I'm not setting up the schema correctly. For context all tiles are 256x256 pixels each, they were sliced from a 6144x6144 image.
I sliced them in Photoshop from left to right, top to bottom.

Yes, you have to get the schema right and that is not that simple. I can't just give you a few pointers. You could read up on the specification, that is not very hard but take some effort.
My advice would be to start from the samples and change them in small steps into what you want. You could use the world.mbtiles file as a start which can be seen in the sample under 'Data' -> 'MbTiles'.
There may be tools to help you with this, but I have not used them recently.

Hey thanks for the reply! Yeah I wasn't able to get the FileTileProvider to work yet, not sure if it's supported by Mapsui either since it's part of BruTiles.
I've been experimenting with MBTiles again a bit after I posted this, found a few resources on how to go about making your own MBTiles from an image - though they sadly forgot some of the more important information.
QGIS3 has some new tools for exporting to MBTiles, but last I tried I kept getting an empty 16kb file, so I was certainly doing something wrong.
I've gone through the samples and they were very helpful, just been trying to figure out this MBTile stuff lately - doesn't seem very straight forward because it doesn't seem like this is an intended way for it all to be used.
If I manage to make any progress in the future I'll gladly share it all here in case other people may find it useful. 👍

BruTile.Desktop could be used in a Desktop project like WPF, but not on Android and iOS. There is not a lot of code there though so you could use it as a start.

Experimented a bit more with this and was able to make a decent MBTiles using MapTiler after some trial and error. It shows up properly in MapTiler.
I am however unable to get it to show at all in Mapsui, pretty sure one of the culprits is that I have no idea how to work with the resolutions - can't seem to find any good info on that subject either. Been playing around with small and large numbers, but wasn't able to get the map to display even at all.
Tried using the world.mbtiles from the samples, but it only works on one zoom level. Trying to zoom corrupts the tiling.
I think for what I'm trying to do, going back to the ~5 year old version of BruTile (when it used to have UI.Windows) would be easier. Putting this on the backburner for now, it's taking way too much time and I am making no progress whatsoever, this is the current code I've got;
/*
NW: 0, 0
NE: 30, 0
SW: 0, -23
SE: 30, -23
*/

var map = new Map();

var tileSchema = new TileSchema() { Name = "Base Layer", YAxis = YAxis.TMS, Format = "png", Extent = new Extent(0, -22.998448, 29.998877, 0.000000), OriginX = 0, OriginY = 0};
tileSchema.Resolutions.Add(0, new Resolution(0, 10));
tileSchema.Resolutions.Add(1, new Resolution(1, 20));
tileSchema.Resolutions.Add(2, new Resolution(2, 30));
tileSchema.Resolutions.Add(3, new Resolution(3, 40));
tileSchema.Resolutions.Add(4, new Resolution(4, 50));
tileSchema.Resolutions.Add(5, new Resolution(5, 60));
tileSchema.Resolutions.Add(6, new Resolution(6, 70));
tileSchema.Resolutions.Add(7, new Resolution(7, 80));
var tileSource = new MbTilesTileSource(new SQLiteConnectionString("Teyvat.mbtiles", true), tileSchema, MbTilesType.BaseLayer);
var tileLayer = new TileLayer(tileSource);

map.Layers.Add(tileLayer);

map.Limiter = new ViewportLimiterKeepWithin() { PanLimits = new BoundingBox(SphericalMercator.FromLonLat(0.0, -23.0), SphericalMercator.FromLonLat(30.0, 0.0)) };

MyMapControl.Map = map;

MyMapControl.Navigator.NavigateTo(new BoundingBox(SphericalMercator.FromLonLat(0.0, -23.0), SphericalMercator.FromLonLat(30.0, 0.0)), Mapsui.Utilities.ScaleMethod.Fill);


add benchmarks

This is based on AirSpeedVelocity.jl many thanks to the authors!

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

Project coverage is 94.68%. Comparing base (5f036c3) to head (db1ad19).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #77   +/-   ##
=======================================
  Coverage   94.68%   94.68%
=======================================
  Files          34       34
  Lines        2295     2295
=======================================
  Hits         2173     2173
  Misses        122      122

Flag
Coverage Δ

unittests
94.68% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Albef losses

Summary:
This PR implements the ITC, ITM, and MLM losses used for the ALBEF model

ImageTextContrastiveLoss (ITC) uses image-text similarity from the ALBEF model output to compute the contrastive loss.   (ALBEF repo implementation)
ImageTextMatchingLoss (ITM) uses positive and negative image-text pairs to predict whether an image and a text are matched or not. (ALBEF repo implementation)
MaskedLanguageModelingLoss (MLM) computes the loss by predicting the next token auto-regressively. (ALBEF repo implementation)

Test plan:
Wrote unit tests

Codecov Report

Merging #126 (4790867) into main (358c2b9) will increase coverage by 0.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #126      +/-   ##
==========================================
+ Coverage   90.66%   90.93%   +0.26%
==========================================
  Files          45       46       +1
  Lines        2336     2405      +69
==========================================
+ Hits         2118     2187      +69
  Misses        218      218

Impacted Files
Coverage Δ

torchmultimodal/modules/losses/albef.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 358c2b9...4790867. Read the comment docs.


condor_chirp/crab3 and add stageout reports

Hey,
From crab jobs I see interesting numbers for stageout related failures (local, fallback, direct), but would be better to keep the track of each stageout separate and see the percentage also for prod and crab together,separate.  which now we can't filter easily and it is not possible.
So I have few questions:
Can we move https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WMSpec/Steps/Executor.py#L164-L184 to better place, something like src/python/WMCore/Services/Condor/Condor.py ? Maybe in the future, crab would use the same python function to do chirp for other things or prod.
With one of previous pull requests Stageout module already prepares a stageoutPolicyReport with all tried stageouts and can we do condor_chirp, something like this?
for itemNum in range(len(stageoutPolicyReport)):
    stageOutRow = stageoutPolicyReport[itemNum]
    for reportType in ['PNN', 'Command', 'ExitCode']:
        if reportType in stageOutRow and stageOutRow[reportType] is not None:
            key = Chirp_Stageout_%s_%s_%s" % (stageoutType, itemNum, reportType)
            self.setCondorChirpAttrDelayed(key, stageOutRow[reportType])

@bbockelm is there any penalty for a job on schedd or anything else of doing more condor_chirp commands?

There is effectively no penalty here - there is a limit of 50 attributes that a job can send.  The updates are batched together into a single interaction with the schedd.

Just for my knowledge, what happens after 50? which ones will be skipped? Just randomly I have chosen one job, and it reported already 37. So if report also local, fallback info it will be +6. For analysis  +9, but analysis reports less on CMSSW. So it will be near the max limit.
[1]
$ condor_history 169794.5 -l | grep Chirp
ChirpCMSSWReadVOps = 0
ChirpCMSSWMaxEvents = -1
Chirp_WMCore_cmsRun_ExitCode = 0
ChirpCMSSW_cmsRun2_ReadSegments = 1
ChirpCMSSWLumis = 0
ChirpCMSSW_cmsRun2_ReadBytes =<PHONE_NUMBER>
ChirpCMSSW_cmsRun1_WriteTimeMsecs = 3097
ChirpCMSSWReadOps = 0
ChirpCMSSW_cmsRun1_EventRate = 0.0499193
ChirpCMSSWFiles = 0
ChirpCMSSW_cmsRun1_Done = true
ChirpCMSSW_cmsRun1_ReadTimeMsecs = 7611868
ChirpCMSSW_cmsRun1_Lumis = 9
ChirpCMSSW_cmsRun1_Events = 1091
ChirpCMSSWWriteTimeMsecs = 0
ChirpCMSSW_cmsRun2_Events = 1091
ChirpCMSSW_cmsRun2_ReadVOps = 0
ChirpCMSSW_cmsRun1_Files = 1
ChirpCMSSW_cmsRun2_ReadTimeMsecs = 893
ChirpCMSSW_cmsRun1_ReadBytes =<PHONE_NUMBER>3
Chirp_WMCore_cmsRun1_ExitCode = 0
ChirpCMSSW_cmsRun1_ReadOps = 810374
ChirpCMSSW_cmsRun2_ReadOps = 38091
ChirpCMSSW_cmsRun2_Lumis = 9
ChirpCMSSWRuns = 0
ChirpCMSSW_cmsRun1_MaxLumis = 4
ChirpCMSSW_cmsRun2_Files = 1
ChirpCMSSWReadTimeMsecs = 0
ChirpCMSSW_cmsRun2_Runs = 1
ChirpCMSSW_cmsRun1_MaxFiles = 1
ChirpCMSSW_cmsRun1_WriteBytes =<PHONE_NUMBER>
ChirpCMSSWMaxLumis = -1
ChirpCMSSW_cmsRun1_LastUpdate =<PHONE_NUMBER>
ChirpCMSSWMaxFiles = -1
ChirpCMSSW_cmsRun2_WriteBytes =<PHONE_NUMBER>
ChirpCMSSWEvents = 0
ChirpCMSSWElapsed = 0

Looking at the HTCondor code, there is a hardcoded limit of 50 attributes.  After 50, new attributes will be ignored and a message logged to the StarterLog.  I guess we should bug the HTCondor team to make this configurable and to raise the default.
From your example, I don't think WMCore will advertise the attributes prefixed ChirpCMSSW_cmsRun*_ for analysis.
Could we put this info in the stageout plugin architecture?

Another trick would be to encode the information to use less attributes and perhaps utilize a sub-classad?  Note that some versions of HTCondor have had issues with using condor_chirp with values > =1024 characters; don't know if this has been solved.

not only chirp, i think. we had 1024 chars* issue in CRAB with long list of lumis... I could add this into stageout plugin arch... any disagreement ?

Nope, sounds good!

@juztas , why do you want to move the setCondorChirpAttrDelayed method from where it is now ? This can only be called from within a running job and all the runtime code inherits from the class where the method is implemented now. Doesn't make much sense to have this code in Services, it's runtime code.
Do CRAB3 jobs use a different runtime code model ?

@hufnagel - any chance you could take a look at this?  I think it'd be useful to have systematic statistics about stageout performance at NERSC.

Given that this issue lacks activity for more than 3 years, shall we close it?


Creating .editorconfig file to project

For documentation purposes, what is editorconfig?

EditorConfig is a tool to maintain the code style on project. When a new contributor have the editorconfig plugin on his text editor or the text editor already have the bundle within it will already be configured to maintain the same code style: identation, charset...etc.
More info: http://editorconfig.org/


Question: What's the tool used to show system information on the command line in the screenshot towards the bottom?

it was an alias for ScreenFetch 🙂


Relative order of messages and keywords is not preserved in log

If a keyword has both messages and child keywords, they are always show in logs so that keywords are first. The reason this issue isn't typically seen is that most of the time keywords only have either child keywords or messages, not both. There are, however, at least two cases where both keywords and messages exists:

When using --loglevel trace, all keywords get trace level messages logging arguments and return values. With user keywords both of these messages are listed after child keywords although arguments are logged before executing them.
Wait Until Keyword Succeeds and some other special keywords that execute other keywords also log messages. All these messages are shown after all executed keywords.

Notice that a related problem that Rebot messed up the order when reading output.xml (#1867) has already been fixed. Fixing logs may unfortunately be a lot harder.

No time for this in 3.0. Changes to log aren't backwards incompatible so this can be considered also in 3.0.x minor versions. The main problem is that required changes to Javascript code are quite big and thus need to be tested with various browsers and on various operating systems. Good thing is that we ought to be able to forget about IE 8 at this point.

I added below screenshots to visualize the effect of above described issue.
When a keyword has many nested keywords it can be hard to find the right trace/debug in log.html.  Thus it would be better if debug and trace information in log.html were right below the keyword they belong to instead of at the end of all nested keywords.

Well ... not exactly.
Why not have them at the order they arrived i.e. Arguments first, Return last, and everything else in-between?

Of course kws/msgs should be in the order they occurred, that's what this issue is all about, but it's hard to fix and nobody has done it yet. Changing logic so that msgs are before kws would be trivial.

Changing logic so that msgs are before kws would be trivial.

I guess it could be a workaround; I'd prefer, however, that applying the workaround doesn't mean that this issue is abandoned.

Recent refactoring to the internal model (#3749) has made fixing this problem relatively easy. Tests and keywords nowadays have generic body that contains keywords and control structures (FOR and IF). On the execution result side we can use the same body to store also messages then order of all body items is automatically preserved on the Python side. After that we need to change converting the Python model to JS model so that the whole body is stored in one structure keeping items in order. Then log.html needs to be changed so that it can handle the new model and also draw body items in correct order.
I already have a prototype working locally but it still needs some cleanup work. I'll target this to RF 4.0 scope and hope to get it into beta 2.

Recent refactoring to the internal model (#3749) has made fixing this problem relatively easy. Tests and keywords nowadays have generic body that contains keywords and control structures (FOR and IF). On the execution result side we can use the same body to store also messages then order of all body items is automatically preserved on the Python side. After that we need to change converting the Python model to JS model so that the whole body is stored in one structure keeping items in order. Then log.html needs to be changed so that it can handle the new model and also draw body items in correct order.
I already have a prototype working locally but it still needs some cleanup work. I'll target this to RF 4.0 scope and hope to get it into beta 2.

I wish I could've updated to v4 😕 😞
Thank you for pursuing this anyway 😀

I wish I could've updated to v4 😕 😞
Thank you for pursuing this anyway 😀

RF 4.0 isn't out yet and these changes aren't yet even in any beta. There's still some work left with #3749 but then it's definitely time for RF 4.0 beta 2.

RF 4.0 isn't out yet and these changes aren't yet even in any beta. There's still some work left with #3749 but then it's definitely time for RF 4.0 beta 2.


paginate cache sets in groups of 2000

This update should allow shops with very large inventories to successfully complete the cache setting, avoiding the 256kb size limit for a single cache value.

 Extend "Accept a maximum number of orders per day" for multi-page caching


Version bump

Also bumps the lua version to the latest release, and updates the repo URL for the devel kit per : https://github.com/nginxinc/nginx-wiki/pull/390

Thanks, updated the README.

I'm not seeing it in the changes. Did you git add it?


chore: remove dependency on realpath-native

Summary
We don't need it anymore as node 10 has realpathSync.native

Test plan
Green CI

Yeah... Can stick it in jest-util 😀 I'm heading outside to catch some rays now - if you've got some time, landing this somehow that'd be lovely

@SimenB on it

Thanks @thymikee!


add sorting to conversations

Coverage remained the same at 38.312% when pulling 15f49d2a61e07e3733a49238f5e48c81b320ed71 on alvita:rcint-3839 into 9a96a6544b48c8e15ade0e5635d36c6b2e5d12e8 on ringcentral:master.


Bug: mockComponent of standalone component breaks ngIf

Description of the bug
I have 2 components, 1 standalone component and 1 non standalone component.
My standalone component imports ngIf to show a label based on a value.
My non standalone component also relies on ngIf to show a label.
I've written some tests for my non standalone component to verify the label based on a condition. Everything works fine until I mock out my standalone component with mockComponent. From this point, my ngIf is not working anymore and the label is not being rendered.
I found 3 solutions for this:

Import CommonModule in my test
Import CommonModule instead of NgIf in my standalone component
Mock component by creating a new component in my test class

To me it feels like when using MockComponent it is taking over the imports specified in the mocked component (when it's a standalone component). Not sure if this is the behaviour we want to have since in the end, I do wanna mock my component to not have any dependencies from it.
I've tested this with the latest version of ngMocks as well, but that gave me the same behaviour.
An example of the bug
Here you can find a small project which has 2 components (1 standalone and 1 non standalone) and a spec file with the failure (and possible solutions to comment out)
Link: https://github.softwareag.com/melw/ng-mocks-standalone-component
Expected vs actual behaviour
When using MockComponent I would expect my imports in the standalone component to be ignored so that it doesn't effect my existing tests in my non standalone component. Making sure ngIf still works as expected, no matter what the mocked component looks like.
Thanks for having a look at this!
Kind regards,
Melissa

Hi @warri93,
it looks like, your project doesn't have installation instructions: https://ng-mocks.sudo.eu/extra/install
This part:
// Usually, *ngIf and other declarations from CommonModule aren't expected to be mocked.
// The code below keeps them.
import { CommonModule } from '@angular/common'; // eslint-disable-line import/order
import { ApplicationModule } from '@angular/core'; // eslint-disable-line import/order
import { BrowserModule } from '@angular/platform-browser'; // eslint-disable-line import/order
ngMocks.globalKeep(ApplicationModule, true);
ngMocks.globalKeep(CommonModule, true);
ngMocks.globalKeep(BrowserModule, true);

Hi @satanTime,
Can you give me a bit more details on this?
I understand that adding this to our test setup makes our tests green again but I do not fully understand why we explicitly need to this.
When I do not mock my standalone component through ngmocks all my tests are running fine but when using mockComponent they suddenly start to fail because of the imports in the standalone component (which is exactly the reason why I want to mock this component).
I do not want to think about all the imports in my mocked component since they don't bring any advantages to my test. Meaning I would expect that my test would ignore the imports that I've added in the standalone component so my tests are not dependent on it.
Am I not seeing something here?
Thanks!

You ned this, because dependencies of your components aren't defined correctly. In this example, the SUT doesn't import CommonModule. Because ngIf is a dependency of a mock component, but not a dependency of the SUT, ng-mocks mocks it.
To avoid that, you should explicitly specify CommonModule as a dependency of the SUT, basically, what you say in the description of the bug. Then NgIf will stay as kept.
Another thing, If you don't want to think about all the imports, then you don't need ng-mocks :) simply import / declare a stub component with empty dependencies.
The idea of ng-mocks is to mock all dependencies to suppress their logic, and the reason behind is that a dependency can provide additional directives, tokens and services which can be used in the SUT, and removing them would break it.

Ok, that makes completely sense indeed!
Thanks for clarifying this for us and answering this quickly!


[DeleteRecord] Delete record validations

Support deleting a single DNS entry in batch change validations
Changes in this pull request:

Add new error type for DeleteRecord
Update batch change validation logic
Add/update unit tests

@britneywright I don't believe we can rename RecordDoesNotExist to RecordSetDoesNotExist (at least not in SingleChangeErrors) since they are getting stored.


Rename row generation module to use snake case

I've renamed all the modules and files in RowGeneration (now row_generation) to be in snake case, and fixed the now-broken imports.

Sorry, missed the fact none of the test/ folder has been updated


docs: add license

Thanks for that! I moved the license files to the top-level: 1e6ae93a0588957617313fdef83039562562b614.


Expansion Plan

This issue is about how new distributions are to be added to the package.
Will contributors create a new file (e.g. src/skstats/normal.py), add their distribution to a standard test suite, then wait for review by a maintainer?
This would work, but I was hoping for there to be a way for contributors to act as maintainers for specific distributions and make improvements without our review as long as certain standards are met (e.g. generic tests pass).
For instance, an alternative model would be for each distribution to be its own little repo under the scikit-stats org with its own issue tracker, set of maintainers, etc. Perhaps the top level scikit-stats repo would include all the distributions that meet a certain set of standards as submodules or subprojects and be the package that gets released periodically.
What did you have in mind @tupui?

I think could should come up with a set of automated tests which would simply go over all the single distribution files and run the same battery. The CI can check that people just add a single new distribution file and all can actually be automatic and merged without our intervention if green even. That's the whole point of it right? Being able to propose a space outside of SciPy for any fantasy distribution people want without bearing the cost of reviewing, etc.
That could still work with people expanding the namespace with an external package if we provide the correct guidelines on how to structure things. i.e. a template with e.g. Jinja (like many tools do, thinking about Alembic with migrations). But I would not go into the business of adding repos to the org, that would grow into a long list and need some maintenance and "supervision". We don't want to have to track what people are putting in there and being associated with what could happen in these repos if things go bad (and that's a certainty that they will.)


It returns a AttributeError: 'NoneType' object has no attribute 'find'.

stackoverflow.com questions

@zhenzhaoya  Thank you for giving us a good issues. We have fixed this issue, please use the new version.

@zhenzhaoya  Thank you for giving us a good issues. We have fixed this issue, please use the new version.


🐛 Sometimes country name is returned as United States of America and sometimes United States

Unlike other geocoders, locationIQ uses the country name United States of America instead of United States.
Fix: https://github.com/nchaulet/node-geocoder/pull/335

LocationIQ Team has fixed this issue internally and it now returns only United States of America as the country for US addresses
And the display_name value from the LocationIQ API response shall have USA for such addresses.

LocationIQ team will factor this in during the next major API version release. Changes to the existing version is not possible at the API end as it might be a breaking factor for other users.

@rocainunwired Agreed 👍🏻 I handled the issue in our backend temporarily for now.
Should I close this issue or keep it open for reference for other people?


Unsupported operand types

Describe the bug
Using newest master commit, the following error results in a the integration not being setup:
File "/config/custom_components/reolink_dev/camera.py", line 91, in <module>
    class ReolinkCamera(ReolinkEntity, Camera):
  File "/config/custom_components/reolink_dev/camera.py", line 213, in ReolinkCamera
    self, width: int | None = None, height: int | None = None
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

I can confirm this behaviour.
I updated to master branch because of the H265 references which I need for high res video quality from my camera.  I then setup my camera as following

Maybe this info is useful for resolving this error. Either way, keep up the good work!

This should be fixed in the latest release. Unfortunately I found out about this issue too late and had to delete release v0.20. Please reinstall this update.

There is definitely an improvement but this does not seem to fix all of the problems I am experiencing. On my phone I can see the camera feed but on my pc (Chrome/Windows 10) it will not load properly..


[Feature]: Subtitle and audio delay (sync) support

Description
Could you add subtitle and audio delay options? It will be very helpful to sync audio and caption tracks, especially TextTrack
Why it is needed ?
To sync unsynchronised Textraxks and audio tracks. Sometimes externally added TextTracks are out of sync
Possible implementation
No response
Code sample
No response

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

It looks like a workaround for bad input file.
I had a quick check on exoplayer doc, I don't see such possibility... not sure this is feasible

ok,  that's unfortunate.


Test runner interacts badly with redirected child process

Consider the code at https://gitlab.com/BartMassey/ptyknot/tree/pipes-direct/misc/piperef-rs . The relevant portion is in piperef.rs:
        ...
       // Write "hello world" to stdout.
        match write_mode {
            WriteMode::Macro => {println!("hello world");},
            WriteMode::C => {
                let buf = "hello world".as_bytes();
                let hello = std::ffi::CString::new(buf).unwrap();
                let bufptr = hello.as_ptr() as *const libc::c_void;
                check_cint!(libc::write(1, bufptr, buf.len()));
            }
        }
         ....

This code is run in a child process. When it is invoked by running it after cargo build, it works fine regardless of whether Macro or C mode is used. When it is invoked by cargo test, C mode works but Macro mode fails with an empty string. When it is invoked by cargo test -- --nocapture, both modes work again. Here's a transcript:
$ cargo build
   Compiling libc v0.2.14
   Compiling piperef v0.1.0 (file:///usr/local/src/ptyknot/misc/piperef-rs)
$ target/debug/piperef
$ cargo test
   Compiling piperef v0.1.0 (file:///usr/local/src/ptyknot/misc/piperef-rs)
     Running target/debug/piperef-80efeb997239b2ac

running 2 tests
test write_macro_test ... FAILED$<2>
test write_c_test ... ok$<2>

failures:

---- write_macro_test stdout ----
	thread 'write_macro_test' panicked at 'assertion failed: `(left == right)` (left: `""`, right: `"hello world"`)', piperef.rs:60
note: Run with `RUST_BACKTRACE=1` for a backtrace.

failures:
    write_macro_test

test result: FAILED$<2>. 1 passed; 1 failed; 0 ignored; 0 measured

error: test failed
$ cargo test -- --nocapture
     Running target/debug/piperef-80efeb997239b2ac

running 2 tests
test write_macro_test ... ok
test write_c_test ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured

$

It looks like the test runner is fouling up the environment somehow, but I can't figure out how by looking at stuff.

Thanks for the report! I think that this actually has to do with the test harness in the standard library rather than Cargo itself, could you open up a bug against rust-lang/rust with these contents?

Now filed as rust-lang/rust/#35136 . Thanks!

Ok, thanks!


Add ability to control transactions

Adds the ability to control starting, committing and rolling back transactions outside of the main Fluent API. This could be used for setting up tests.
Since the new APIs give you manual control over a  transaction, you should not use Database.transaction(_:) when using the manual transaction control. The inTransactionFlag will not be set when manually controlling a transaction

Warning: It is the users' responsibility to ensure the handle errors and rollback when necessary and commit transactions

Related to vapor/fluent-kit#520

The main issue here is going to be setting the inTransactionFlag if we care about it due to the database being a struct

These changes are now available in 2.4.0


docs: better install instructions for lazy.nvim

ft ensures the plugin is only loaded in markdown files
main defines the module name used in the setup call, we can use opts instead of config (cleaner & preferred method of configuring plugins in lazy.nvim)
consequently, we are able to replace config with opts. reference: https://lazy.folke.io/spec#spec-setup
also added the missing trailing comma for lazy plugin specs

I appreciate the PR, and agree with most of the changes, but not the filetype addition.
This plugin is not limited to a specific filetype, several users integrate markdown in many filetypes. I leave optimizing startup time to more advanced users that are aware of what these things do, I'm not going to suggest this approach as the default.

Remove the ft

Thank you!


belongsToMany doesn't use SoftDeletes trait

Laravel Version: 7.22.4
PHP Version: 7.3.17
Database Driver & Version: MySQL 8.0.14

Description:
If we set deleted_at for through-model, we have all items in result anyway
Steps To Reproduce:
We have models relation like: ChatThread > ChatParticipant > User
ChatThread has relations:
    public function participants()
    {
        return $this->hasMany(ChatParticipant::class, 'thread_id', 'id')
                    ->with('user');
    }

    /**
     * Get Users of Thread
     *
     * @return BelongsToMany
     */
    public function users()
    {
        return $this->belongsToMany(
            User::class,
            with(new ChatParticipant)->getTable(),
            'thread_id',
            'user_id'
        );
    }

and we have 3 records of ChatParticipant
then we delete one record from ChatParticipant
and have
$thread->participants->count(); // 2
$thread->users->count(); // 3

But we expect to see 2 records both of relations.
P.S. ChatThread and ChatParticipant models use SoftDeletes trait, User doesn't use it

This is expected behavior. The participants relation is uses the ChatParticipant model while the users relation does not.
All you are doing is grabbing the table name, nowhere do you say that it should use soft deletion.

Really expected?
We have tree with 10 branches, each branch has 10 leaves.
Total 10 branches and 100 leaves.
Let's break one branch. We have 9 branches, but still 100 leaves. Really that's we expect?)

My pivot model (ChatParticipant) is an actual Eloquent model, not Pivot.

I think @ledungsbacken explained it well enough.


BUG: fix circular imports in bowtie/contig

Lets the format load before registration.
Also use the init exclusively for loading subpackages.

Should fix https://github.com/qiime2/distributions/actions/runs/8237435747/job/22623143164?pr=157
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
Traceback (most recent call last):
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/util.py", line 279, in get_plugin_manager
    return qiime2.sdk.PluginManager.reuse_existing()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 58, in reuse_existing
    raise UninitializedPluginManagerError
qiime2.sdk.plugin_manager.UninitializedPluginManagerError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/distributions/distributions/test-env/bin/qiime", line 11, in <module>
    sys.exit(qiime())
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 1077, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 943, in make_context
    self.parse_args(ctx, args)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/click/command.py", line 43, in parse_args
    return super().parse_args(ctx, args)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 1641, in parse_args
    echo(ctx.get_help(), color=ctx.color)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 704, in get_help
    return self.command.get_help(self)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 1325, in get_help
    self.format_help(ctx, formatter)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/click/core.py", line 1358, in format_help
    self.format_options(ctx, formatter)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/click/command.py", line 157, in format_options
    for subcommand in self.list_commands(ctx):
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/commands.py", line 92, in list_commands
    plugins = sorted(self._plugin_lookup)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/commands.py", line 76, in _plugin_lookup
    import q2cli.core.cache
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/core/cache.py", line 285, in <module>
    CACHE = DeploymentCache()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/core/cache.py", line 61, in __init__
    self._state = self._get_cached_state(refresh=refresh)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state
    self._cache_current_state(current_requirements)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/core/cache.py", line 205, in _cache_current_state
    state = self._get_current_state()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/core/cache.py", line 253, in _get_current_state
    plugin_manager = q2cli.util.get_plugin_manager()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2cli/util.py", line 291, in get_plugin_manager
    return qiime2.sdk.PluginManager()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 67, in __new__
    self._init(add_plugins=add_plugins)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/qiime2/sdk/plugin_manager.py", line 105, in _init
    plugin = entry_point.load()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2482, in load
    return self.resolve()
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2488, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_assembly/__init__.py", line 10, in <module>
    from .bowtie2 import indexing, mapping
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_assembly/bowtie2/__init__.py", line 9, in <module>
    from .indexing import index_contigs, index_mags
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_assembly/bowtie2/indexing.py", line 13, in <module>
    from q2_types.bowtie2 import Bowtie2IndexDirFmt
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/__init__.py", line 18, in <module>
    importlib.import_module('q2_types.multiplexed_sequences')
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/multiplexed_sequences/__init__.py", line 11, in <module>
    from ._format import (MultiplexedSingleEndBarcodeInSequenceDirFmt,
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/multiplexed_sequences/_format.py", line 11, in <module>
    from ..per_sample_sequences import FastqGzFormat
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/per_sample_sequences/__init__.py", line 11, in <module>
    from ._format import (CasavaOneEightSingleLanePerSampleDirFmt,
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/per_sample_sequences/_format.py", line 25, in <module>
    from q2_types.bowtie2 import Bowtie2IndexDirFmt
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/bowtie2/__init__.py", line 9, in <module>
    from ._formats import (Bowtie2IndexFileFormat, Bowtie2IndexDirFmt)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/bowtie2/_formats.py", line 12, in <module>
    from ..plugin_setup import plugin, citations
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/plugin_setup.py", line 41, in <module>
    importlib.import_module('q2_types.feature_data_mag')
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/feature_data_mag/__init__.py", line 17, in <module>
    from ._type import MAG, NOG, OG, KEGG, Contig
  File "/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/feature_data_mag/_type.py", line 16, in <module>
    from ..per_sample_sequences import ContigSequencesDirFmt
ImportError: cannot import name 'ContigSequencesDirFmt' from partially initialized module 'q2_types.per_sample_sequences' (most likely due to a circular import) (/home/runner/work/distributions/distributions/test-env/lib/python3.8/site-packages/q2_types/per_sample_sequences/__init__.py)


Does this autorenew certificates?

Hi, simple question. You have set the certificate days default value to 7. What happens when the certificate generated by this expires? Does it auto renew or do you have to reprovision the take again to generate a new one?
Many thanks

Does this autorenew certificates?

No.

What happens when the certificate generated by this expires?

Nothing on the server.
And, you will get invalid SSL certificate errors when visiting via web web browsers.

do you have to reprovision the take again to generate a new one?

To renew a cert:

Remove old certificates from /etc/nginx/ssl/cloudflare-origin-ca
Reprovision

More info here - https://discourse.roots.io/t/site-on-trellis-provisioned-do-droplet-subdom-site-on-2nd-droplet-cloudflare-oc/14516/9


Fix unexpected non-local exits on Rubocop::AST::Node#parent_module_name

With this PR, when Rubocop::AST::Node#parent_module_name_part is executed, it will no longer do non-local exits when a block is evaluated, and evaluating singleton_class or block in Rubocop::AST::Node#parent_module_name will behave as expected.
With this change, this PR aims to resolve the following issue.
https://github.com/rubocop/rubocop/issues/5022

Thanks for the PR.
I can only look at this more fully tomorrow, but this PR is not acceptable as is. The original intent was that parent_module_name_part could either return or yield a value (potentially nil). This PR now conflates both and result is over complicated for what it achieves.
Either parent_module_name_part should simply return a value, or else it needs to be modified in some way to achieve what we need.

Closed in favor of #177

See #197


DE-2016: Throw an error when no then clause is found in test case

Looks good, merging into 0.4.2 branch


C:\HelloWorld>eb config put prod ERROR: NotFoundError - Elastic Beanstalk can't find a platform version that matches "PHP 7.4 running on 64bit Amazon Linux 2".

Description
Briefly describe the bug you are facing.
Steps to reproduce
Provide steps to replicate.
Observed result
Please provide command output with --debug flag set.
Expected result
Describe what you expected.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS:
Windows
Add --debug flag to command you are running

This is appears to be a duplicate of https://github.com/aws/aws-elastic-beanstalk-cli/issues/32


Adding cache control to build assets

Adds cache-control metadata to build assets. Infrastructure for adding cache-control for public and static folders can be used, however we can chat about how to implement configs for this in the serverless.yml config. This should address #40

@danielcondemarin if you approve of going down this route, this is what I suggest:

Have a Cache headers config
Inside above config, you can set the headers for build assets, static assets, and public assets
Have the ability to apply this to a stage, meaning that for dev purposes, all caching can be turned off, while for prod, it can be turned on

What do you think?

@danielcondemarin if you approve of going down this route, this is what I suggest:

Have a Cache headers config
Inside above config, you can set the headers for build assets, static assets, and public assets
Have the ability to apply this to a stage, meaning that for dev purposes, all caching can be turned off, while for prod, it can be turned on

What do you think?

@barrysteyn Thanks for the PR!
Just a few comments. I'd prefer if we sticked to next's behaviour. That is, automatically add the 'Cache-Control': 'public, max-age=31536000, immutable' to:

chunk/* files
Anything inside the build folder (build_id/*) (build_id is in the BUILD_ID file)
CLIENT_STATIC_FILES_RUNTIME folder (runtime/*)

as per https://github.com/zeit/next.js/blob/ed1207f78a94cdeab47ff6ed530c4d532f26acb9/packages/next-server/server/next-server.ts#L166.
I don't see much value in making it configurable as the plugin shouldn't be used for development due the lack of serverless offline support. It is recommended to use next dev outside of the plugin for any development.
Also, the new component version will need the exact same change, so we can reuse what is done here 🙌

Hi, sorry it has taken so long to answer you back. I will try update this PR with your suggestions over the weekend

Hi @danielcondemarin
I know how I want to implement this, but I need two pieces of information (help) from you:

BUILD_ID - from looking at the next code, it seems like this file should be relative to ./next directory, however I can't find it on my local machine.
Running this locally - I know you have given instructions on how to run this locally, however I just can't get this to work locally. Can you perhaps give me an example serverless.yml file so I can try test things locally.

I am going to start using the new component in my new project, and caching these assets have become an absolute must for my team (It's become a blocker before releasing to prod). So I am quite keen to move on to getting this working for the new component.

Hi @danielcondemarin
I know how I want to implement this, but I need two pieces of information (help) from you:

BUILD_ID - from looking at the next code, it seems like this file should be relative to ./next directory, however I can't find it on my local machine.
Running this locally - I know you have given instructions on how to run this locally, however I just can't get this to work locally. Can you perhaps give me an example serverless.yml file so I can try test things locally.

I am going to start using the new component in my new project, and caching these assets have become an absolute must for my team (It's become a blocker before releasing to prod). So I am quite keen to move on to getting this working for the new component.

BUILD_ID will be in .next/BUILD_ID, for example:

To run locally you can follow the same approach the dynamodb example follows. That is you can point at your local copy of the next component:

nextApp:
  component: "../../" # this needs to point at a folder with a file called serverless.js

That makes sure any changes you make in the next component are picked up when deploying.

@danielcondemarin Regarding running locally, I mean for the plugin, not for the component. I need to get this working first for the old plugin, and I am struggling to run this locally

@danielcondemarin Regarding running locally, I mean for the plugin, not for the component. I need to get this working first for the old plugin, and I am struggling to run this locally

So for running locally the plugin I would recommend you create a special folder called .serverless_plugins in the app. Inside put a file called serverless-nextjs-plugin.js which exports the plugin index. For example:

This is documented here https://serverless.com/framework/docs/providers/aws/guide/plugins#service-local-plugin

Last question: My team mate tells me that in latest next.js, they are not putting the build id in the build file anymore. Your test above, what version of next are you running?

Last question: My team mate tells me that in latest next.js, they are not putting the build id in the build file anymore. Your test above, what version of next are you running?

I haven't heard about this change. I've tested it on next 9.0.7 and I still get a BUILD_ID

Okay. thanks.

@danielcondemarin This PR is now ready for you to review and merge. I have tested this locally with my local project and it is doing what you specified it to do.

@danielcondemarin Thanks for merging and publishing. Question: Can this code be reused for the component?

@danielcondemarin Thanks for merging and publishing. Question: Can this code be reused for the component?

For the most part yes, but first the aws-s3 component will need to support passing Cache Control headers.

Oh, so that means altering that component. I can look into it, but I don't have time this week. Seems strange that such a vital thing is not supported yes. Is this the official S3 component?


tapping [yarn-run] results in an error

Tapping [yarn-run] results in the following error displayed on the console:
console.log({"type":"error","data":"No command specified."}.data.items.filter(name => !name.includes(':')).sort((a, b) => a.localeCompare(b)).filter((name, idx) => idx < 12).join(' '))
                                                                      ^

TypeError: Cannot read property 'filter' of undefined
    at [eval]:1:71
    at ContextifyScript.Script.runInThisContext (vm.js:25:33)
    at Object.exports.runInThisContext (vm.js:77:17)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:541:32)
    at bootstrap_node.js:315:29
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

I do run export YARN_ENABLED=true in my .zshrc.
Using npm-run either displays no scripts or everything works fine.
I am running the latest version of zsh, oh-my-zsh, iTerm2 and zsh-iterm-touchbar is freshly cloned to ~/.oh-my-zsh/custom/plugins/

looked a little bit into it and in the method _displayYarnScripts this command works:
Object.keys($(npm run --json))
and with yarn it doesnt
Object.keys($(yarn run --json))
so looks likes yarn does something different and that because of that this doesn't work :/
workarround for now is that I just replaced the yarn with npm, but the running is still with yarn. So only checks the package.json with npm but it is still executing with yarn.

I have the same issue. The script apparently pipes yarn run --json through sed '4!d', effectively deleting the first 4 lines, but my yarn run --json output is as follows:
(node:18195) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
{"type":"error","data":"No command specified."}
{"type":"info","data":"Commands available from binary scripts: acorn, ansi-html, atob, babylon, browserslist, cssesc, csso, detect, detect-libc, detect-port, errno, escodegen, esgenerate, eslint, esparse, esvalidate, flow, handlebars, he, html-minifier, import-local-fixture, internal-ip, is-ci, jest, jest-runtime, js-yaml, jsesc, json5, loose-envify, miller-rabin, mime, mkdirp, multicast-dns, needle, node-pre-gyp, nopt, rc, react-scripts, regjsparser, rimraf, sane, semver, sha.js, sshpk-conv, sshpk-sign, sshpk-verify, strip-indent, svgo, sw-precache, uglifyjs, uuid, webpack, webpack-dev-server, which"}
{"type":"info","data":"Project commands"}
{"type":"list","data":{"type":"possibleCommands","items":["build","eject","start","test"],"hints":{"build":"react-scripts build","eject":"react-scripts eject","start":"react-scripts start","test":"react-scripts test --env=jsdom"}}}
{"type":"error","data":"No command specified."}

So the sed yields {"type":"info","data":"Project commands"} instead of the list line.


[iOS] Inconsistent behaviour when converting homogeneous arrays as native call arguments

On iOS, when calling native method that accepts array as argument, automatic conversion of values inside array is different in Release and Debug configuration. What works in Debug crashes in Release
React Native version:
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 663.40 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.11.0 - ~/.nvm/versions/node/v10.11.0/bin/node
Yarn: 1.13.0 - ~/.dev/yarn/1.13.0/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.11.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.8 => 0.59.8
Steps To Reproduce
Call AsyncStorage.set('key', 123)
Above works in Debug and crashes in Release
Describe what you expected to happen:
Above works in debug as number (although types suggest it explicitly expects string) gets automatically converted to string via sequence of calls ending with RCTConvertArrayValue which converts converts anything to expected type (which is NSString) https://github.com/facebook/react-native/blob/ffa3b0d4d601fe6788319a7cfd4185b8e4bf462f/React/Base/RCTConvert.m#L558
in Release sequence of macro calls is different though, never reaching RCTConvertArrayValue as can be seen here https://github.com/facebook/react-native/blob/ffa3b0d4d601fe6788319a7cfd4185b8e4bf462f/React/Base/RCTConvert.m#L591-L596
What I think is expected behaviour is that in Debug it should log error descriptions of types mismatches but never convert anything to NSString automatically.
Were there any considerations as to why automatic conversion to string was added that I am missing?

Please report issues in AsyncStorage in this repo: https://github.com/react-native-community/async-storage – it was extracted from RN and will soon be removed from React Native. Please use the community package from now on.

@cpojer, please, read carefully. The issue is in React Native RUNTIME. I only used AsyncStorage to illustrate it. It could have been any other native module with method that accepts array of strings as parameter.

@gavrix this should resolved in https://github.com/facebook/react-native/commit/df17ebfcfaaf2cf5984e836bdb70ccf8d9f66307

Awesome, Thanks!


Authorization.ignore_access_control  +  Production mode  =  :(

My application is experiencing an issue that only crops up after being in production mode for a few days. At this point in time, requests that are working fine suddenly begin redirecting with access denied.
This is happening on a restful API that is exposed to third parties. For the API, we disable access control using Authorization.ignore_access_control(true) in a before filter and Authorization.ignore_access_control(false) in an after filter. Is there something obviously wrong with doing this that I am missing?
Any help is appreciated.

It should work, ignore_access_control is Thread-safe.  Still, it's actually rather thought to be used in exceptional cases.  In this case, I'd go for having an API user that has a role with the appropriate permissions.

In what context are you using "thread safe"? I just tested and it looks as
though disabling access control through this method and not re-enabling it
causes site wide changes for separate sessions.
On Tue, Jan 3, 2012 at 12:20 PM, Steffen Bartsch <
<EMAIL_ADDRESS>
wrote:

It should work, ignore_access_control is Thread-safe.  Still, it's
actually rather thought to be used in exceptional cases.  In this case, I'd
go for having an API user that has a role with the appropriate permissions.

Reply to this email directly or view it on GitHub:
https://github.com/stffn/declarative_authorization/issues/121#issuecomment-3345470

--
*Dan Knox *
Chief Executive Officer
     www.ThreeDotLoft.com <http://www.threedotloft.com/>
     e<EMAIL_ADDRESS>     c.<PHONE_NUMBER> <http:/#>

In the same way as setting I18n.locale is thread safe: if there are parallel threads running your app, setting it will be global only for the current thread.  This does not imply anything for the following request, though.


feat(blockifier): add non-recoverable error handling for native syscall handler

This change is

crates/blockifier/src/execution/native/syscall_handler.rs line 142 at r1 (raw file):

            SyscallExecutionError::SyscallError { error_data } => error_data,
            _ => {
                self.unrecoverable_error = Some(error);

Can we add an assert that we are not overriding the error?
Suggestion:
 assert!(self.unrecoverable_error.is_none())
 self.unrecoverable_error = Some(error);

crates/blockifier/src/execution/native/syscall_handler.rs line 106 at r1 (raw file):

    /// Handles all gas-related logics and additional metadata such as `SyscallCounter`. In native,
    /// we need to explicitly call this method at the beginning of each syscall.
    fn pre_execute_syscall(

Please check self.unrecoverable_error in pre_execute_syscall
Code quote:
 fn pre_execute_syscall(


Cannot install popper entirely in the user home directory

When installing popper through 'pip install --user popper' I noticed that popper fails to install because it doesn't have access to install the bash completion file bash-completion.sh.
I am running Archlinux with the following as the output for uname -rv: 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018
Python version is Python 3.7.0
Pip version is pip 18.0 from /usr/lib/python3.7/site-packages/pip (python 3.7)
Permissions for /usr/local are drwxr-xr-x 11 root root 4.0K Mar 26  2017 /usr/local
It seems that the problem is that I do not have write access to /usr/local, where bash-completion.sh would be installed. I could modify my computer to allow to write there, however I intend to use popper on computers in which I would not be able to do so, but I am otherwise able to install python libraries locally using pip install --user.

hey @dsfalves , thanks a lot for reporting this. We just released version 1.1.1 and it's now available via pip. This should fix the issue you're having since we are not touching /usr/local anymore (I thought we were already not doing that). Bash completion is enabled by manually copying the file as indicated here. Thanks!


Segmentation fault on Termux

~ :: glow
Segmentation fault

In neovim when I run :Glow command - nothing happens.
When this plugin installs a glow binary, it doesn't work, but version installed from pkg works fine.
~ :: nvim --version
NVIM v0.8.0
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by builder@4630957a93ef

Features: +acl +iconv +tui
See ":help feature-compile"

I use packer.nvim

hey @mrtnvgr what is your OS? Can you output:
$ uname -a

hey @mrtnvgr what is your OS? Can you output:
$ uname -a

~ :: uname -a
Linux localhost 4.4.285-Predator-Stormbreaker-X4.8-g8b7c85ef17c2 #1 SMP PREEMPT Thu Dec 23 06:06:58 CET 2021 aarch64 Android

When this plugin installs a glow binary, it doesn't work, but the version installed from pkg works fine.

Yeah, it looks like the current install script cannot identify the correct binary for your OS. Can you install it manually and make sure that glow binary is at your current $PATH please?  the plugin can figure out the rest.

I tried and it works, but i want to fix this install script.
Does the plugin install the latest version? I think that support has already been added later, because pkg installs version built from source, but for some reason it says that the version is 1.4.1.
~ :: pkg install glow
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
glow is already the newest version (1.4.1).

~ :: glow --version
glow version unknown (built from source)

@mrtnvgr not sure what you are proposing. the install script should and will always work with the latest stable release. I am not going to change that if that's the case.

Okay... Since the problem is not in the plugin, I will close the issue. Thanks for the help!


Carriage return is appended to the end of synchronised lines

Search results appear with a carriage return. This carriage return ends up in the synchronised file. This is demonstrated below:

Each search result has ^M at the end of the line

Upon synchronisation, the ^M appears in the file

Nice! Much appreciate your contribution! 😄
Left some comments on the MR

resolved by https://github.com/MagicDuck/grug-far.nvim/pull/88


Token-based auth support in the client library

The client library should be extended with functionality to configure a token in the Builder, which should be used for all requests made to the API by the library via Authorization header of Bearer type https://swagger.io/docs/specification/authentication/bearer-authentication/. Note that a token is optional (probably just a Option<String>) stored in the Client.

Blocking #195

As discussed on Rocket.chat, taking over this to unblock #195


Order form page theme

The theme for the order form creation page seems not to use the admin theme.

For reference, this is what he is talking about:

Didn't mean to assign this to me

It seems this affects most of the pages that is in the extension.
Mass Mailer

Paid Support Module

these have all been redone as of version 0.4.0


install error on subscription-manager register (This system is already registered. Use --force to override)

Hi
I failed running the install script on RHEL 8.4:
[root@server ~]# curl -sfL https://raw.githubusercontent.com/redhat-et/microshift/main/install.sh | sh -
This system is already registered. Use --force to override

Running with -x:
[root@server ~]# curl -sfL https://raw.githubusercontent.com/redhat-et/microshift/main/install.sh | sh -x -
+ set -e -o pipefail
++ curl -s https://api.github.com/repos/redhat-et/microshift/releases
++ grep tag_name
++ cut -d '"' -f 4
+ VERSION=v0.2
+ get_distro
++ egrep '^(ID)=' /etc/os-release
++ sed 's/"//g'
++ cut -f2 -d=
+ DISTRO=rhel
+ [[ rhel != @(rhel|fedora|centos) ]]
+ get_arch
++ uname -m
+ ARCH=x86_64
+ '[' rhel = rhel ']'
+ register_subs
+ sudo subscription-manager register --auto-attach
This system is already registered. Use --force to override

I bypassed it by saving the script, and editing it to comment out this line.
I am not familiar with the subscription-manager enough to suggest a PR, but if you can guide me on what would be the right approach I would be able to suggest a fix.
Thanks!

/assign @oglok

@oglok If you're satisfied the merge solves the issue, can we close this?

@oglok I see you added || so on one hand if register fails it will indeed continue to enable the repo, but what if register succeeds? will that skip enabling the repo because the first call is true?

@guymguym Correct! I didn't push the latest change where I had echo "" after the ||. My bad! Thanks for pointing this out.

Hey @oglok This issue seems to still be there in install.sh -
https://github.com/redhat-et/microshift/blob/9762856a560cf72ad5b65df99ef341c9a40de684/install.sh#L32
I see in the history of the file that you added || (without the echo) but then the next commit e711417cd9c8898d0528c71cef1cdee1518c9121 replaced the entire block around it and reverted your change.

Oh and another followup issue is that since the script is running with set -e -o pipefail skipped the systemd service install if the apply_selinux_policy() commands had any unhandled failure.
I ended up disabling the set -e ... option to make it work, which is the same thing that also happened here in the subscription-manager unhandled error.
Are you guys sure that using set -e is a good idea?


DBZ-3145 Don't rely on Oracle version-specific max SCN values

https://issues.redhat.com/browse/DBZ-3145

This PR definitely is an improvement either way so long as the changes as they stand are acceptable to you both.

Thx!


Train the network with larger images

Hi!
Congratulations for your project, it is helping me a lot.
I have been able to train perfectly your network with other dicom images.
Just one question, could I train the network with image sizes other
than 256? I tried to do it but at some point of the first epoch, the network
outputs bboxes with nan values.
Thank you very much for all feedback you can provide me.
Cheers!
-Xavier

I think you have to reconfigure some of the points in the original network setup before training with different image sizes.

I fixed the issue, I had a bug in my code. So, I can retrain the network with larger images without any   problem.
Thank you!


Improving testing to include json schema validation for the metadata_validation.yml file

I think it'd be better if in travis the validator schema was imported from the sample service code, so if that changes it's picked up here. Longer term I should add a CLI or function for validation so that if validation beyond the jsonschema gets added that gets picked up as well.


repo can not download?

Hi @vihcle , I just tried both download and git clone, both work fine. Could you try it again? Let us know if you still hit any issues.
Thanks.


Add prefixes to results from bucket.getFiles()

Fixed

@mchmielarski However it goes, could you squash the 'Fix *' commits at some point?

Sorry for my novice question, but could you provide a practical use of prefixes, delimiters, and handling the result returned?

Re: use case for prefixes is as I understand it a simple filter for files e.g. file search

I'm interested in terms of how one would use this library after merging this PR. I figured instead of guessing by the code, it would be best to let the suggester (PR-sender) help me understand :)

with prefixes and delimiters you can use buckets as tree structure in easy way. I think that comment added to bucket.getList() explains it.

Would you mind demonstrating with a practical use?

Would be nice with some practical use-cases in the docs. As a normal users I would have no idea what I should be using it for.

Not considering the added complexity of nextQuery traversal, a simple practical example for this would be the following:
Get folders in bucket
function getFolders(bucket, callback) {
  var query = { delimiter: '/' };
  bucket.getFiles(query, function(err, files, nextQuery, prefixes) {
    callback(err, prefixes);
  });
}

Thank you for that. I know the functionality is in the API, so it makes sense to expose it. But before I can figure out what a good API looks like for it, I need to see how it's meant to be used. Are there other use case anyone can think of? The complexity of prefixes + delimiters still seems quite expensive for such simple results -- assuming the results are "folder names".

I'm only using it with delimiter = / right now but you can combine that with the prefix to list folders in folders. Again, a very simple use case.
function getFoldersInFolder(bucket, folder, callback) {
  var query = { delimiter: '/', prefix: folder };
  bucket.getFiles(query, function(err, files, nextQuery, folders) {
    callback(err, folders);
  });
}

getFoldersInFolder(storage.bucket('myBucket'), 'my-photos/', cb);

Using delimiter as something other than / does not seem to have a useful use case unless you're mimicking a directory structure with flat files where the delimiter is a well-known value in the file names e.g. var__usr__bin__file1.png and var__usr__bin__file2.png where the delimiter would be __ in this case. The prefixes value returned in the response is definitely useful when used in combination with the delimiter value.
As for real-world applications and why-the-heck-would-anyone-do-that-anyway questions, it's beyond me.

As a library that isn't about being a straight API bridge, maybe we can abstract what we're interested in with delimiters and prefixes, and expose them in a more usable way. So far, it sounds like getting files from a specified folder is the benefit. We should be able to make this API work to accomplish that:
var query = {
  folder: 'images'
};

myBucket.getFiles(query, function (err, files, nextQuery) {
  // files = only files in a directory "images"
  // delimiter defaults to "/" when `directory` option is given
});

And if we think this is important, we can go so far as to create a class for folders:
myBucket.getFolders(function(err, folders, nextQuery) {})
myFolder.file("image1.jpg")

Thought experiment: Is it possible to upload a file with a filename that contains the character "/" but isn't a folder? If this is true, then this approach may not work for all cases. The only response value that isn't currently exposed is the prefixes value. Another thought would be to expose the raw response object for "advanced" users that need to do special-cases such as this.

I'm confused on this as well, and if I remember correctly, even the Dev Console UI was confused about it. However, as far as I know, / is a reserved character that is invalid in filenames, so a file by the name of "photo/1.jpg" wouldn't be valid, instead, we should all assume that means folder "photo", file "1.jpg" ("all" being: our library, the API, the console UI, the user)

However, as far as I know, / is a reserved character that is invalid in filenames

Not on OS X. Creating a folder named foo/bar works fine.

Check it: https://github.com/evenemento/gcloud-node/tree/v2
and examples/example-1.js

@sindresorhus You're right, you can name the folder with a / in OS X strangely enough, but it's actually stored as a : instead. You can see this by a simple ls or by attempting to cd into the directory. Also, when you upload this folder to google cloud storage, it's stored as a : as well.

At least, this is the case that occurs when using the "Upload Folder" feature in the Google Cloud Developer Console. Might not have anything to worry about in this case then.

@ryanseys Yeah, weird, you're right.

I think supporting a Folder object / folder-specific methods is unnecessary. If we can trust / as a directory separator, it should be straightforward for the user to get a file in a folder with: bucket.file('file/in/folder.jpg'). I do think exposing a method to get only files from a folder is important, though: bucket.getFiles({ folder: 'folder/folder' }, function (err, files) {}) where we can internally use the API's prefix/delimiter options.

Yes! 100% agree.

it's ok, but one question. how can I get list of folders?

Anyone know if that is possible?
I think if we can support bucket.getFiles({ folder: 'folder/folder' }, function (err, files) {}), that's the main thing we want to support.

Yes the folder option is good in your above snippet. But how are we going to return prefixes value to the developers if they want it? (e.g. for listing folders)

We haven't made much progress with this one. Is there anything left to discuss here, or did we slowly decide against this?
I think bucket.getFiles({ folder: 'folder/folder' }, function (err, files) {}) would be handy, but not necessary.
Is it crucial to provide devs access to specifying prefixes and delimiters?

without prefixes and delimiters devs can't get folders list.

Any update on how to get folders along with files given a prefix?

We now return the apiResponse body as the last parameter of nearly every call, so you can now use this object to get the prefixes. We realize this isn't the most ideal solution however it's effectively doing the same thing as this PR, however giving you more flexibility in the future for these corner cases. We haven't yet pushed a new version to npm however you can try it out from master right now.
Let us know how it goes.


Laggy preview on RPi B3

The preview seems to lag a lot on a Raspberry Pi running Android things v 1.0.7
Is there a way to fix this, I tried tweaking some of the preview values but none of them seem to work.

cc : @weichen2046


count condition

We're attempting to use the query builder to perform rather complicated queries. These queries have multiple COUNT statements which use the CASE WHEN syntax. The count function does not recognize this syntax and misinterprets it as a table name.
Is utilizing a Database.raw within the count function call the correct way to do this?
Additionally is this more ideal than using a database.raw query to run the whole query?

Maybe you want to share the query?

I can when I get home.
It's a little too long to type out on my phone.

Here's a sample.
SELECT
   t.tag as tag_name,
   t.theme as tag_theme,
   t.tag_id as tag_id,
   COUNT(*) filter (where r.status = 'cu') as cu_tag_count,
   COUNT(*) filter (where r.status = 'dw') as dw_tag_count,
   COUNT(*) filter (where r.status = 'qc') as qc_accept_count,
   COUNT(*) filter (where r.status = 'qc' and r.qc_md->>'size' = 'small') as qc_S,
   COUNT(*) filter (where r.status = 'qc' and r.qc_md->>'size' = 'medium') as qc_M,
   COUNT(*) filter (where r.status = 'qc' and r.qc_md->>'size' = 'large') as qc_L
FROM
   record r JOIN gm g USING (gm_id) JOIN tags t using (tag_id)
GROUP BY
   t.tag, t.theme, t.tag_id;

I mean the functions you are calling trying to achieve this query

@RaymondLC92 Any updates?

We've found no way to write these filter queries, for the time being we're using a Database.raw call, if possible we'd like to use the query builder however we couldn't chain Count\Where in such a way to make this possible.
We're completely baffled as to filtering in Lucid, and digging around in Knex hasn't yielded much in the way of results.


Abrupt jump during transition from Dashboard -> Cart

The separator on 'Cart' page jumps up abruptly when transitioning to 'Cart' page from 'Dashboard' page.

Duplicate of #120


Worker crashed on signal SIGABRT!

The following script cause of crashing of server:
import sys
import asyncio
import asyncpg
import japronto

PG_DSN = 'postgres://postgres@localhost:5432'

app = japronto.Application()

async def init_db():
    app.db = await asyncpg.connect(dsn=PG_DSN, loop=app.loop)
    print('=> db connected')

async def hello(request):
    return request.Response(text='Hello world!')

if __name__ == '__main__':
    print(
        '=> versions:\n'
        f'python: {sys.version}\n'
        f'japronto: {japronto.__version__}'
    )
    app.router.add_route('/', hello)
    app.loop.run_until_complete(init_db())
    print('=> running')
    app.run(debug=True)

Output:
=> versions:
python: 3.6.1 (default, Apr 28 2017, 21:58:47)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)]
japronto: 0.1.1
=> db connected
=> running
Fatal Python error: Aborted

Current thread 0x00007fff99cbd380 (most recent call first):
  File "/Users/habibutsu/.pyenv/versions/pylibs3.6.1/lib/python3.6/site-packages/japronto/app/__init__.py", line 169 in serve
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/process.py", line 93 in run
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/process.py", line 249 in _bootstrap
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/popen_fork.py", line 74 in _launch
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/popen_fork.py", line 20 in __init__
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/context.py", line 277 in _Popen
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/context.py", line 223 in _Popen
  File "/Users/habibutsu/.pyenv/versions/3.6.1/lib/python3.6/multiprocessing/process.py", line 105 in start
  File "/Users/habibutsu/.pyenv/versions/pylibs3.6.1/lib/python3.6/site-packages/japronto/app/__init__.py", line 228 in _run
  File "/Users/habibutsu/.pyenv/versions/pylibs3.6.1/lib/python3.6/site-packages/japronto/app/__init__.py", line 264 in run
  File "hello_db.py", line 30 in <module>
Worker crashed on signal SIGABRT!

Note after deleting string with initialization of database everything works fine

This can be produced even more simple way with using init_connection instead init_db
async def init_connection():
    app.reader, app.writer = await asyncio.open_connection(
        '<IP_ADDRESS>', 9000, loop=app.loop)

In asyncio it's catastrophic to try to share event loop between processes.
Japronto is a forking server, as in, to server http requests it would spawn a pool of processes each with it's own asyncio loop.
By running app.loop.run_until_complete in the parent process you initialize loop in the parent process and at the time you run app.run(debug=True) you gonna spawn a child process (to server requests) which would share the loop with the parent and lead to an error you are seeing.
Probably I could detect this common mistake and give a better error message.
Also this is a big limitation in design. There should be a post_fork call for each of the workers to open your connections, do per worker initialization. You could hacck one by looking in the code of run.
Also depending on what you wanna do temporarily to overcome this you could connect to the database when the first request comes in (in the child process).
Some of the related issues
https://github.com/squeaky-pl/japronto/issues/81


I can't even split this particular command into smaller ones because of https://github.com/Microsoft/vscode/issues/38138.
Why is there even this limitation?

How long does the path get before it starts to truncate? Is there a pattern to it?

The only pattern I can see is that the text gets cropped after 1018 characters, but only if that's the very first text being sent to the terminal, otherwise it works fine.

Also happens with pasting apparently https://github.com/Microsoft/vscode/issues/63613

I think this bug is preventing "CMake: Compile File" from working for me. Selecting this command just switches to the TERMINAL window and nothing happens. If I try pasting the command line in manually (1562 chars long) nothing happens. If I paste the command in 2 pieces, it  works as expected. Windows 7.

Downstream impacts using VS Code for Python development, definitely makes it challenging to use VS Code for me. :(

Why is this issue being closed? This bug makes coding in Python impractical. You can't send any decently long script to a Python REPL because of it.

Any update on this?

I had all these errors (there is a family of pasting to python terminal) as of about June/July, but just retested with August update and none of them replicate (did 3 of them).  For example the big paste 99 lines of python bug report replicated for me in June/July, but now it does not.
Did these get quitely get fixed somewhere?  Anyway.

I can no longer reproduce, if you still experience this issue please make sure you're testing on the latest insiders version and note your OS/version and how you reproduced the issue.

From https://github.com/microsoft/vscode/issues/87183

I'm sure there is a solution, it's just not something I'm focusing on at the moment. If anyone wants to investigate this, I suspect the problem lies inside the node-pty component which manages the connection between VS Code and the process inside the terminal, either in how it's created and/or socket limitations when writing.
Related: #59135

You can see I commented on sept 19, 2019 that this was gone because at the time I tested all three versions of bug reports on this and none of them did it and prior to that all 3 were bugs for me.
As of May 7th 2020 the python test in sept 19th, 2019 comment is back.
Not sure what changed.  However the original issue on this bug report works correctly for me still (unable to reproduce)
The python version of this bug is able to be reproduce.  The bash version is not able to be reproduced.
I tried to reopen it as a new bug report pointing to the original python version but it was closed in favor of this one.  The original python version is:
https://github.com/microsoft/vscode/issues/71105
So summary just going off original posted steps to recreate:
As of May 7th, 2020:
#71105 bug can be recreated by me
#38187 bug cannot be recreated by me.
Version info
Version: 1.45.0
Commit: d69a79b73808559a91206d73d7717ff5f798f23c
Date: 2020-05-07T15:57:33.467Z (1 day ago)
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.7.0

Hey @jrounds ,
Just to say that I am experiencing this issue in bash (well zsh to be precise) as I put in my duplicated ticket here #96973
version:
1.45.0
d69a79b73808559a91206d73d7717ff5f798f23c
x64
Mac OS Mojave 10.14.6

Oh you are right.
I did your test and echo line 37 is mangled with echo line 38.

@Tyriar ,  I know you have already said this is not a focus area at the moment but just thought I would add that this issue does make it hard to use vscode for interactive development work (in my case R and Python) where you may have long classes/functions. Hoping it would be possible at some point to get some attention to this issue !  (I would try look into it myself but I do not know any of the code base nor node/javascript )

@gowerc why not save a .py file and run that instead?

Hey @Tyriar, I would invite others to comment as well but for me I work mostly on data science type projects where interactive exploration of data and development of code is super important where you need to see and play with intermediate objects. Once completed most programs will be run  as a .py  / .R file.
Custom classes / functions can be saved into separate files and loaded via import or devtools::load() but this can be a bit of a faff if your code was originally small enough to be a single file and you didn't have any intention of styling it as a module/package.

@gowerc I also work in a data science related field (bioinformatics) and this issue is the only thing keeping me from switching from Sublime Text to VS Code. I do hope more people chime in so it can get resolved. Platforms like RStudio and Spyder have had this functionality since their inception, but are unfortunately tied to a single language.

@gowerc why not save a .py file and run that instead?

I work in data science, and typically when I am operating this way I am writing the .py file for long term use on a remote machine and/or just trying to get to result as rapidly as possible on a remote machine.
In your scenario, I would have to commit, push, pull on a remote machine, rerun, and carefully isolate the state of the environment I wanted to test or let it run, see what line number broke, go to my code fix the line number, commit, push, pull, rerun.  See what line number broke, go to my code fix the line number, commit, push, pull, rerun.
Or I can open competitor IDE, send  to terminal until I get to the tricky stuff to write, and code line by line until the .py file is correct, and commit, push pull, rerun once because I interactively verified the code works the first time.
That is why.

I cared enough about this to start reverting vscode versions, and I thought with a little bit of care I could help some by treating it like a by-hand regression testing.
Regarding the test at https://github.com/microsoft/vscode/issues/96973
This version has the correct behavior:
Feb
File https://update.code.visualstudio.com/1.43.2/darwin/stable
Version Info
Version: 1.43.2
Commit: 0ba0ca52957102ca3527cf479571617f0de6ed50
Date: 2020-03-24T07:34:57.037Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.7.0
Result
(base) <user>$ echo "hello, world"  # 036
hello, world
(base) <user>$ echo "hello, world"  # 037
hello, world
(base) <user>$ echo "hello, world"  # 038
hello, world
(base) <user>$ echo "hello, world"  # 039
hello, world
(base) <user>$ echo "hello, world"  # 040
hello, world
(base) <user>$ echo "hello, world"  # 041
hello, world
(base) <user>$ echo "hello, world"  # 042
hello, world
(base) <user>$ echo "hello, world"  # 043

March
The March file does not have the correct behavior.
File https://update.code.visualstudio.com/1.44.2/darwin/stable
Result
Same unexpected behavior result reported in #96973
April
The April file does not have the correct behavior.
File https://update.code.visualstudio.com/1.45.0/darwin/stable
Result
Same unexpected behavior result reported in #96973

Hey @jrounds & @diazdc  I've found a workaround that solves this problem (though I stress its a workaround so would be great to get an official solution).
The extension R  ( ikuyadeu.r by Yuki Udeda) has the command r.runSelectionInActiveTerm which seems to be able to run any length of text without issue in the active terminal.  I just bound this command to ctrl+enter and I can now use this for all my development (sh + python + R) :)
keybindings.json :
    {
        "key" : "ctrl+enter",
        "command" : "r.runSelectionInActiveTerm"
    }

I seem to be getting this when running a shell task (which runs python behave) -- output is truncated when there is a lot of it. (which is just when I need it -- I turn on some diagnostic so I can debug, and suddenly the whole test case output is truncated :/)

I simply cannot reproduce this on my Macbook using Catalina 10.15.4 (Darwin 19.4.0). I can paste and run selected many times the amount that is pasted in here.

Linux (via WSL2) works fine too:

And here's Windows which has PowerShell throw exceptions about the line being too long, it still appears to send all the text correctly though.

Anyone still experiencing this please share your OS+version, perhaps this was an old Mac/Linux upstream bug that has since been fixed?

System Version:	macOS 10.14.6 (18G3020)
Kernel Version:	Darwin 18.7.0
But note my post above it goes away for me in older versions of vscode on this same OS.  I guess that could still be consistent with an upstream bug =/

I am having this issue, I am using Windows 10 version 1903 (build 18362.836) and the latest version of VScode (1.45.1)
I can paste long text fine, I just can't print it to terminal, when i do it cuts off midway. I have tried changing the Text Output Limit in the Python extension settings but it doesn't make a difference. It prints fine when I run in the Python terminal outside of VScode.

I've still got this issue :(

Version: 1.45.1
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:33:47.663Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.7.0
Mojave 10.14.6 (18G4032)

@Tyriar I'm happy to connect with you to troubleshoot this if it would be helpful.

I'm still not able to reproduce and just worked through the issue with @DougPlumley and it looks like we came up with a solution. Unfortunately it involves timeouts and magic numbers as it appears the underlying issue is some race condition around writing to file descriptors in either node.js or Linux. The workaround involves disallowing "large writes" (> 50 chars) and instead spacing them out (by 5ms). I see at least someone reproduced the issue in Windows as well which may be something else, but regardless the workaround to space out writes also applies there.
Thanks @DougPlumley!

Marking verified since it seems to work for me on Linux, OSX, and Windows, though I see there were reproduction issues historically...

@connor4312 yeah I could never repro this. @DougPlumley it would be great if you could tell us if it's working now for you on Insiders.

Looks like insider works again for me (same test mentioned above).
Version: 1.49.0-insider
Commit: 8c9b4015feb0297d99c8051c35e85d208ffe83e3
Date: 2020-09-03T05:43:53.229Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 18.7.0

@connor4312 yeah I could never repro this. @DougPlumley it would be great if you could tell us if it's working now for you on Insiders.

I can't reproduce it anymore even if I massively scale up to 10K+ characters, this is awesome!  Thank you!

It still doesn't work for me on Win7 - there is still some threshold above which can't be pasted into Terminal:
Short selection works:

Long selection doesn't work (nothing appears in Terminal window):

Version: 1.48.2 (user setup)
Commit: a0479759d6e9ea56afa657e454193f72aef85bd0
Date: 2020-08-25T10:13:11.295Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 6.1.7601

@stevenr3 you're using VS Code stable, not insiders.

@Tyriar Thanks - I had no idea about insiders.
I just retested with today's insiders build and it works great.
I can now paste long text into terminal, and most importantly for me, cmake compile active file now works :+1:
Version: 1.49.0-insider (user setup)
Commit: e2f63c9013a2b55db2d593d45b8c8aecdbe70f25
Date: 2020-09-03T17:27:16.893Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 6.1.7601


[Lite] data: Fix memory leak

Free dynamically data before return.

@gaurav1086 Can you please fix build failures ? Thanks!


better layers interaction in jekyll

Sort by layer, sort by timestamp, turn on or off by layer.

Also sort by annotation text.


Better retry handling

Previously, lychee would blindly retry all requests,
no matter if the request error was transient or fatal.
Taking a lesson from https://github.com/TrueLayer/reqwest-middleware,
we can be more granular about the error behavior.
This PR adds their retry logic to lychee, reducing the number of
unnecessary requests significantly.
I also made some ergonomic changes to the client, which should not
affect its behavior.

btw there's a crate specialises on retry strategies: https://github.com/Xuanwo/backon.


login failed but user/pw are correct

hi,
thx for your awesome library!
it seems i've a hard time getting it to work, i always get "login failed" even with the correct user/pw.
with the example code i get
  File "/home/user/.cache/pypoetry/virtualenvs/stromnetz-graz-cli-oyNzUIS4-py3.11/lib/python3.11/site-packages/sngraz/sngraz.py", line 155, in authenticate
    raise Exception("login failed")
Exception: login failed

But email/pw is correct, when i print out the token in function authenticate:152 i get
jwt.decode('e...Q', options={"verify_signature": False, "verify_exp": True})
{'email': MY_EMAIL, 'iat':<PHONE_NUMBER>, 'exp':<PHONE_NUMBER>}

if i simply remove the self.ok check in authenticate:153 i get
Error connecting to API, response code 401

any idea what could be wrong?
sw version from pyprojects.toml
[tool.poetry.dependencies]
python = "^3.11"
aiohttp = "^3.8"
jwt = "^1.3"
stromnetzgraz = "^0.1.5"

resolved dependencies
aiohttp            3.8.4  Async http client/server framework (asyncio)
aiosignal          1.3.1  aiosignal: a list of registered asynchronous callbacks
async-timeout      4.0.2  Timeout context manager for asyncio programs
attrs              22.2.0 Classes Without Boilerplate
cffi               1.15.1 Foreign Function Interface for Python calling C code.
charset-normalizer 3.1.0  The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
cryptography       40.0.1 cryptography is a package which provides cryptographic recipes and primitives to Python developers.
frozenlist         1.3.3  A list-like structure which implements collections.abc.MutableSequence
idna               3.4    Internationalized Domain Names in Applications (IDNA)
jwt                1.3.1  JSON Web Token library for Python 3.
multidict          6.0.4  multidict implementation
pycparser          2.21   C parser in Python
stromnetzgraz      0.1.5  Python client library for Stromnetz Graz API
yarl               1.8.2  Yet another URL library

awesome, thx!
btw... maybe also add aiohttp = "^3.8" to the requirements so all required libs are specified, eg. this is my poetry section of dependencies for sngraz to work.
[tool.poetry.dependencies]
python = "^3.11"
aiohttp = "^3.8"
stromnetzgraz = "^0.1.5"
pyjwt = "^2.6.0"


Xstate sample in Angular!

Bug or feature request?
Description:
(Bug) Expected result:
(Bug) Actual result:
(Bug) Potential fix:
Required! If you found a bug and can consistently reproduce it, please take a minute to think about what the potential fix might be.
Even if the fix is incorrect, this can help diagnose and find the solution to the issue as quickly as possible.
I also strongly encourage you to create a pull request if you are confident in the potential fix.
(Feature) Potential implementation:
Required! If you would like to see a feature or enhancement make its way to xstate, please describe:

What the API would look like
If this is a breaking change
If this is part of the existing SCXML specification

Link to reproduction or proof-of-concept:
You can use CodePen or CodeSandbox template to create a reproduction/POC.

Added to Roadmap (also see #1149)


Adding appveyor CI runs

Coverage remained the same at 50.608% when pulling 3a990f848ca796d1e174cb1e6be3132542e19f04 on bsipocz:appveyor_enabling into a0751f739debff3461f1edd9bc2b2a7bb7a7242f on astropy:master.

Thanks!
For reference: here's the link to the Appveyor builds:
https://ci.appveyor.com/project/Astropy/pyregion/build/1.0.2