Fix Fill options for non Fixed width options

Hi, long time since I last contributed but I have been making a little GUI for something I was working on and notice that the image demo's filling seemed broken.
I have not go my head round the layout function so any feed back on how this should work would be appreciated :)

I made some comments, I think I understand the problem now. Thanks for your comments.
Your patch indeed fixes the problems outlined by you, but it doesnt keep working in the problems outlined by me. So I suggested some changes so that it will keep working in cases I had problems with when I changed the code.

@JAicewizard  and @cmyr i really don't understand "However this doesnt take into account when both sides are unbounded." or "Since your code doesnt take into account being unbounded on either side we still need these safeguards using a different implementation."

Here are two screen shots of the PR with scale down behaving exactly as i think you want it to behave and the second with my use case not taking up infinite space but instead taking up the space left over in the window. In that use case the image adjusts to fit the window.
If I am still miss understanding can you please give me details of how to recreate the issue?

Here are two screen shots of the PR with scale down behaving exactly as i think you want it to behave and the second with my use case not taking up infinite space but instead taking up the space left over in the window. In that use case the image adjusts to fit the window.

This is because the examples constrains the image within the window. If you dont do that by using something scroll able it will give errors. You can check if the given bounds are constrained using bc.is_{height/width}_bounded, I am using that literal definition.
See https://github.com/linebender/druid/pull/1189 for fix and issue.

Here are two screen shots of the PR with scale down behaving exactly as i think you want it to behave and the second with my use case not taking up infinite space but instead taking up the space left over in the window. In that use case the image adjusts to fit the window.

This is because the examples constrains the image within the window. If you dont do that by using something scroll able it will give errors. You can check if the given bounds are constrained using bc.is_{height/width}_bounded, I am using that literal definition.
See #1189 for fix and issue. (the one where I changed the code to what it is now)

That makes sense, thanks for explaining the case. yes i can see that the original didnt do a good job in that case but this new code will work according to the flutter guidance in that case AFAICT.
I don't know what flutter dose in that use case with the fill strategy but the new code should behave sensibly for Contain,   (FitHeight, or FitWidth depending on which scroll bars are used.) and None and  ScaleDown,
But the fill strategies  Cover Fill and FitHeight FixWidth depending on scroll bars dont really make sense for that use case so it makes sense that they don't work nicely.
I think its a shame to rule out a hole class of UI because some of the fill strats dont' make sense in that use case. If the image gets too far out of AR or toooo big then we could clip them?
Now I finally under stand your use case, i might be able think of something else..

This is what i meant by

I have not go my head round the layout function so any feed back on how this should work would be appreciated :)

I have not seen a case were bc.max() did not give a non integer or non sensible value. Even when non contained it still gives sensible values most of the time. it would be easy to check if width == F64::inf and then just fall back to width = image.width() or something like that etc. that would fix your use case and give flexiblity to others.
@cmyr / @JAicewizard  are there any other supprising values of bc.max()?

Okay, I wrote a thing here but I think it's actually not the most useful response.
Instead, I want to just point to the flutter docs for BoxFit and FittedBox. There are some other useful links from there.
Some things to note:

there is some confusion in the code about the relationship between the box constraints and the fill strategy. When do we just use the box constraints? When do we use the fill strategy? etc.
importantly, the fill strategy should not change the size of the widget. It should only effect how the image is fit within the space that has been chosen.
One way to think about this: first we pick a size, and then we apply the fill start.
in flutter, the fill strat is applied by a distinct widget. It may be useful for us to consider this approach, since it clarifies the relationship between fillstrat and layout? Basically the FittedBox widget first passes through the layout constraints to the child, and then it applies the fillstrat to the result, and generates a transform that is applied to the child. This is a bit complicated for us since we don't support transforming arbitrary widgets, since it gets weird if they accept input?

Anyway: my basic position would be to emulate what flutter is doing, as closely as possible. Without adding a new widget, this means:

first just call bc.constrain(image.size()) to get the output size
have a function like applyBoxFit that takes image size and the calculated widget size and returns two rects describing the mapping of source->destination
use this to determine what to paint. You can find the paintImage method in the flutter docs

What is important here is that we separate the applying of the constraints from the determination of the widget size. It is not the responsibility of the image widget to choose a size, outside of ensuring that it satisfies the input constraints. If you need to do fancier things to grow or shrink your widget in a given scenario, you should be accomplishing that with some other layout widget.

Now I understand the case were you can have infinite bc.max() I think i have caught this edge case and do something sensible for it in the latest version of this PR.
But i had not understood the subtlety of flutter and druids layout so while this now restores the old functionality while also addressing the infinite edge case I'm not sure that the original behaviour was right.
But @cmyr how would you ever get the image to be big? even if it was in a layout widget the current code in master would always just return the image's max? would a layout widget just ignore the image widget and force the image bigger? what are the rules for the images layout function in that case? dose one of the examples cover something like this? even with a completely different widget?

Thinking about this a bit more.
Its worth noting that the code in master dose force the image larger if the widget is constrained. To me constrain dose not mean force to this size but no bigger, so in that case we should have this layout just always return the minimum between bc.max() and image.size()?

The parent layout widget would only influence the child by modifying the constraints. For instance if you had received constraints that were (0,0) (500,500) you could output 'tight' constraints that were (500,500), (500,500). This is achievable by built in widgets, and if you needed more complicated conditional logic you could have a custom container widget that implements it.
I definitely agree that the original (and all subsequent!) impls of the image widget, in druid, have had incomplete implementations of the layout fn.
I think the best approach is to step back and try to just think this through systematically, instead of trying to achieve some specific set of layout objectives.

The parent layout widget would only influence the child by modifying the constraints. For instance if you had received constraints that were (0,0) (500,500) you could output 'tight' constraints that were (500,500), (500,500). This is achievable by built in widgets, and if you needed more complicated conditional logic you could have a custom container widget that implements it.

I don't understand this. Are the responsibilities of the layout fn documented some were, the trait docs were a bit light IIRC..

Sorry, I was composing that on my phone and I wasn't done, I guess it posted it after some timeout? Not sure.
The way that a parent widget influences a child's layout is by modifying the BoxConstraints, which are represented as a pair of (min, max) sizes. If these are equal, then we call the constraints "tight"; that is, ther is only one size that fits them.
For a good overview of how this works, check out the flutter docs for BoxConstraints.

Now I finally under stand your use case, i might be able think of something else..

You dont have to, your code works perfectly fine when everything is constrained and we can use it in that case. The only case it doesnt cover is when either sidie (or both ofc) is unconstrained. This is what my code handles, so you can combine them as I described in my review.

It is not the responsibility of the image widget to choose a size, outside of ensuring that it satisfies the input constraints.

Could you maybe explain a bit more? The I think the widget should chose a size it will actually use, aka not take more space than actually needed. And this being an image widget I would also say that it is usefull to take the maximum size we will end up using (with accordance to the fillstrat).

@cmyr If i understand correctly https://github.com/fishrockz/druid/commit/a123167d2c3c82ae2f89fb1cfc35871b464e872c would be much more idiomatic of fluter. BUT it will cause issues with the srollbar/srollbox with some fill options in paint (paint will crash as @JAicewizard  points out). Am I right in thinking that flutter would error out at the layout stage in this case? https://flutter.dev/docs/testing/common-errors#vertical-viewport-was-given-unbounded-height this seems to imply that flutter just refuses to layout a widget if something silly was going to happen? Our layout dose not provide a option to return a error so I'm not sure what to do with that case, I presume you dont want the layout to panic? I can detect the issue at paint time and paint a big error message instead of crashing?
I think the most pragmatic option is to do the min/max thing but with some logic to detect is_infinite() and expand as sensibly as possible in that case? were sensible is what we think is least bad rather than idiomatic?

if the input constraints are not bounded, the image widget should ignore FillStrat completely and just choose its 'natural' size.
It is very possible in druid to produce a layout that is not meaningful/is poorly formed, like when you expand() inside of a scrollview. In these cases we tend to log an error and continue. In the future it would definitely be possible to have more debug tools available during layout for diagnosing these sorts of problems.

It is very possible in druid to produce a layout that is not meaningful/is poorly formed, like when you expand() inside of a scrollview. In these cases we tend to log an error and continue. In the future it would definitely be possible to have more debug tools available during layout for diagnosing these sorts of problems.

Right but AFAICT the reason that @JAicewizard updated this widget last was that druid was not logging a error and continuing but crashing horribly. In that case what does logging a error and continuing look like for a image? The edge case i am trying to deal with in my mind is image in a size.expand() in a vertiacal scroll bar this dose not make sense but we dont want druid to crash during the paint so what would you like to happen?
if layout returns the minimal box constraint which in that case would be fixed width but inf hieight, then at paint we detect the inf and just paint everything red or just return early without doing anything to the context? Would we log some errors in the paint function or the layout function? do you have a example of this?

Also expanding on the image inside a expanded size in side a vertical scroll bar.
If FillSrat is Fill then clearly the right answer is to gracefully error. but if the FillStrat is to FillWidth,Contain,etc. then i think it makes much more sence to return a layout size that makes sense and allow for the image to fill the width and enough of the inf height to display the image correctly.
I don't really understand flutter enough to know what the write answer is.
Also in general:
If I'm only ever going to display so much of the screen because I have ScaleDown or None for the fill strat should the image's layout function respect the min of the tight constraint and return a size that is bigger than it will ever paint or just return the max that it will ever paint at layout time?

What's the status of this PR? Are we still moving foward with it @fishrockz?
If so, then please rebase on master to resolve the merge conflicts.

@xStrom I'm happy to fix this, I got blocked as @cmyr wants this to be as much like flutter as possible but I got blocked on actually testing flutter as the docs were not comprehensive enough.
I'm out atm but I'll have a look when I get home

Excellent, having this rebased will help me test the code too.
I'll read through the earlier messages here tomorrow to better understand the history of concerns.

@xStrom i have rebased to master
If you check out master and run cargo run --example image --features="image png" if you untick the fixed width then no mater what fill strat you pick you can not get the image to fill the space. This is a fetcher i find helpful.
But if you checkout this branch and run cargo run --example image --features="image png" and untick the fixed width then you can get the old behaviour from before with None or scale down but you can also use the other fill strategies effectively and how they worked when they were fist merged before JAicewizard changed the behaviour in PRs after i introduced this widget.
It seems cmyr wanted the flutter behaviour than rather than ether of our behaviours.
I did try to get closer to the flutter behaviour, i even have another non pushed branch trying to get there but without a working flutter system to test ageist i was struggling to understand exactly what flutter did.


Add pip to the launch layer.

Part of https://github.com/plotly/dekn/issues/483
Part of https://github.com/plotly/dekn/issues/536
Should also fix https://github.com/plotly/dekn/issues/365#issuecomment-926240206
We have 2 distinct builpacks related to pip, the paketo-buildpacks/pip and the paketo-buildpacks/pip-install. The first one is responsible for the installation of pip itself while the second one is responsible for the requirement.txt dependencies. By default, only the pip-install builpack saves a layer for the run time. This change allow the pip to save its layer too for the run time image.
@BRONSOLO (cc @homer6 ) please review.

The latest python buildpack image should already have these changes. The PR is to sync the code.


First mouse click is ignored / does not work

Operating system or device - Godot version:
osx 3.0 current master
Issue description:

The first mouse press gets ignored sometimes -> to click on something I have to double click.
I finally found a pattern so I open the issue, (it was discussed before already. Couldn't find it though...)
This happens when I send input events (click on) to the godot window during loading.
Steps to reproduce:
start godot. click on the loading screen. click on any ui element -> you will need to press twice that the button works.

this happens when the window is not active. minimising and opening again fixes that state.

@BastiaanOlij I think you reported you can confirm this as well, correct?

yes, intermittedly but fairly often. Unlike toger5 I haven't figured out a pattern yet but if it happens it remains constant. Often restarting Godot fixes it for a few tries.

Also the name in the top bar of the OS X window is grayed out when the bug happens. As mentioned before. minimising and maximising gives the window focus again, makes the top bar active (not graded out) and the input is fixed

.app bundle or stand-alone executable? This is typical behaviour for non-bundled apps.

@bruvzg nice that someone catches up on this one. Yea I'm just starting the executable via console.
so that might be the issue!
how would I bundle it as an .app?

@toger5
user@host:~/godot$ cp -r misc/dist/osx_tools.app ./Godot.app
user@host:~/godot$ mkdir -p Godot.app/Contents/MacOS
user@host:~/godot$ cp bin/godot.osx.opt.tools.64 Godot.app/Contents/MacOS/Godot
user@host:~/godot$ chmod +x Godot.app/Contents/MacOS/Godot

@toger5 another possible way for stand-alone executable is TransformProcessType / CPSEnableForegroundOperation hack (undocumented and may be outdated).
www.miscdebris.net
Tcl/Tk repo

godot_bundle.zip
I've made a bash script for bundle

Maybe something could be added to the "Compiling for OSX" page to mention that making a .app is recommended for optimal experience? http://docs.godotengine.org/en/latest/development/compiling/compiling_for_osx.html

Yes, as far as I know you can run .app bundles from the command line.


Fixes Issue #435, broadcast variable name

https://github.com/patternfly/patternfly-elements/issues/435

this function is re-written in the larger broadcast MR  https://github.com/patternfly/patternfly-elements/pull/392/files#diff-9f65d1cab6eec08b9077732fad5c2573R326


Julia 0.6 support is broken

Hello,
Julia version >= 0.6 support is broken
see https://github.com/lindahua/NumericFuns.jl/pull/8
Kind regards

I have fixed warnings are failures on Julia v0.6 in #10 There are still warnings on nightly but these will be easily eliminated with FemToCleaner


OLS-254: Type issue has been fixed there - no need to have this warning

Description
Type issue has been fixed there - no need to have this warning
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[x] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #OLS-254

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

/lgtm
/approve


Parts included in bill of materials and exluded from board are not shown in the interactive bom

Lately I've figured out it is possible to add (digikey etc) order numbers to the ibom by using the symbols field table in the schematic editor, and when creating the ibom, I select that field in the InteractiveHtmlBom form, Fields tab:

The result is great:

Though, sometimes in large projects like mine, you have multiple orders per part. Say you want DIP sockets with your 74LS14 ICs, or you have this large glass fuse, but you also need the fuse holder. In my case that is the glass fuse + two fuse clips. My solution to this was to add symbols in the schematics indicating the fuse clips, and in their properites set them to be in the bom, but not on the board, only the fuse is on the board and linked to an actual footprint. So I wonder, why they don't show up in the ibom ?
Is it because the interactivehtmlbom script only looks in the pcbnew file, and not in the schematics file ?
Somehow quirky I could add dummy footprints that that links with the schematics, and are made of graphics on the user drawing layer only .. I suppose in that way I might get it to work, but that defeats the purpose of having them "exluded from board"

Yes, it's because ibom only uses things that are on the board.
Ibom is not intended to be project level BOM. Your issue is no different from trying to include wiring harness/terminals or fasteners or other auxiliary things into the BOM: if it doesn't have a footprint then it's not in ibom.
Intended solution for this is to export your bom to another tool that manages complex project level bom. There is a copy to buffer button at top right corner of the table and export to csv/txt functions in one of the menus.

OK. Thanks !

Though, sometimes in large projects like mine, you have multiple orders per part. Say you want DIP sockets with your 74LS14 ICs, or you have this large glass fuse, but you also need the fuse holder.

In my projects I add a symbol for each thing. I.e. a LED with a LED pipe, I add an extra symbol for the LED pipe, not necessarily with a corresponding footprint.
KiCost approach is different, read the docs, it supports multiple parts in on symbol. KiBot supports the KiCost mechanism.
IMHO iBoM shouldn't be used as a BoM generator, but an assembly helper.

I don't agree by the intention, but I respect the decision by the author. If it is not the intention to be the main bom I'll go with csv files instead when ordering. I'll look into KiCost, thanks.


upgrade AWS IoT device SDK to v2

[x] Blocked by https://github.com/aws/aws-iot-device-sdk-js-v2/issues/176
[x] Does not connect on Mac OS X: https://github.com/aws/aws-iot-device-sdk-js-v2/issues/187

Closes #1

Both blockers resolved, so this could be tried again.


Navigate Quick Bookmarking To Folder results with up and down arrow keys

Pretty much as the title says. For proper keyboard usage of this feature, there needs to be a way to select a search result that you can press Enter (#250) on. Currently, this can be done with the Tab key, but that's crude because you have to press it twice to go to the first result and it removes focus from the input, so you can't continue typing to refine your query.

These improvements are available as part of the next minor version (2.13.0) of the add-on. The new release has been submitted for review- please note it may take a few days for the update to be available to end-users. 🙂

I was finally able to test this out and I have to say the UX is much better now. However, sometimes starting to type or hitting the return key too early seems to be swallowed and I have to do it again after ~<1s.

Looks like I was too quick on that. Using the arrow keys while the input has focus doesn't allow navigating the list of results at all. The only thing that changed was that I only have to press tab once.


Add type checks for input arguments of contract methods

Since remix knows types of arguments that the contract's method expects it would be super useful if there were type-checks done before making actual calls. At the present moment it seems only basic checks are present (e.g. number must be positive).
The one that got me confused was calling a function that expects an address without putting double-quotes around it - no error is produced and some result is returned, however  an argument input is padded with 0s differently in both cases

vs

This example is especially confusing because when attaching to an existing contract via "At Address" remix does not allow putting double quotes as it leads to incorrect result (note 0x"0x..." in the result address)

so you'd infer you don't need double quotes around addresses.

Can you please open this https://github.com/ethereum/browser-solidity (I know it is confusing, but that is the correct repo)?

Oh, I'm sorry :)


Add delete button to the data upload table

The purpose of this PR is to close #693

@ericboucher i used DeleteDialog instead of ConfirmationDialog, since it was already used by delete button on survey cards. I also made this button reusable

@echaidemenos the date range looks cramped for me. Let's update the styling so that the date range fits on one line

t

ok fixed it. spacing wouldn't work. i added just whiteSpace: "nowrap"


Delete cluster-specific broker resources on add-on removal

If the associated managed cluster doesn't have connectivity to the hub then Submariner uninstall won't occur and its broker resources (Endpoint, Cluster etc) will remain which can cause issues. Modified the add-on agent on the hub to also clean up the broker resources after the ManifestWorks are deleted as a backup. Also, the ManifestWork controllers are deployed on the managed cluster and they add finalizers so the ManifestWorks may not get deleted. To handle this case, a 2 min timeout was added to force broker cleanup if the ManifestWorks aren't deleted.
See https://issues.redhat.com/browse/ACM-11656

/cc @vthapar

/lgtm

/cherry-pick release-2.10


Expo Modules not working due to expo-file-system

Seems like any Expo module that needs file system operations won't work.
I have prepared a small example, but basically just add any module that depends on expo-file-system like Font, AV, GL... to this project and it won't work. This is the error:
Error: The method or property expo-file-system.downloadAsync is not available on android, are you sure you've linked all the native dependencies properly?

I couldn't find any solution online, but I'm guessing it comes from the expo package and probably due to having an empty MainActivity.java file?

hey @Albermonte!
It was done in purpose as Expo SDK 44 with all related packages support RN 0.64 (if I am not mistaken), however the starter uses as newest version as possible (RN 0.66.4). So there was a problem running expo-file-system package with current RN version and I have just excluded it from the builds. You can check it in package.json->expo->autolinking.
I am pretty sure it will be solved when expo-file-system will support newer RN versions. Or what you can also do is to downgrade RN in this starter and try using expo-file-system package.
Hope it helps :)

Oh okey, didn't see that line. Now everything makes sense, deleting those lines and downgrading works. Thanks


为什么源代码都没加注释

至少关键部分应该加

@safph The issue tracker is only used for bug report and feature request,  you can subscribe mailing list for help , community friends will answer your questions about the design or even the code.
Of course, we will also improve our documentation to help everyone become familiar with RocketMQ.


[FEATURE]  Dropdown in navbar links

Description
I would like to implement a dropdown in navbar links so that we can add more routes to the app without making the content too fill with content.
Screenshots
No response
Additional information
No response

please assign this issue to me


workbox is not clearing the cache

I do not know what I'm doing wrong.
but when I generate a new build a new service worker does not clear the cache in the browser, it does not update to the latest one.
Example, if I close the browser and open again, it still continues the outdated data, I need to be running multiple times (ctrl + f5) to update the cache.
But I need to see where I'm going wrong, because the end user will not be running multiple times (ctrl + f5)
all this is generating a lot of headache, because we have gone new functionality, but the customer complains that he is not yet showing up the functionality.
my sw configuration file

registering the service worker in my index.html

I have similar problem - the hash is updating and the worker is reloading correctly when it gets the new one, however the old file is still being served from the cache. Sometimes. This happens on safari mobile, chrome on linux, safari on ios... I have no clue how to go about debugging this unfortunately. I have server-side caching set for JS files but presumably given a hash update in __precacheManifest it should fetch with no http-level caching.

I have the same problem, not sure on how to fix.

Hey all—apologies that you're running into these issues, and thanks for your patience.
There are some tips for enabling additional debug information at https://developers.google.com/web/tools/workbox/guides/troubleshoot-and-debug#debugging_workbox
It would be very helpful if you could opt-in to that extra logging info and then take a look at the DevTools console during a situation in which you don't believe the correct updates are taking place. Do you see anything out of the ordinary logged in those scenarios?

I am having this exact same issue, is there anything I can provide to help get it resolved?

Apologies that this remains an issue for you. Here are a few more things to try:

Take a look at the Cache Storage viewer in the Application tab of Chrome DevTools. Do you see any entries listed under the -temp cache?

What's the code that's included in that extra file you have listed in importScripts? Does it contain any logic that might interfere with serving precached responses?

We did rewrite some of the precaching logic in the upcoming Workbox v4 release. Updating to Workbox v4.0.0-beta.2, via npm install workbox-cli@beta (or workbox-webpack-plugin@beta) will put you on the new codebase, and I am curious whether you're seeing issues there as well.

1 °:

2°:
https://gist.github.com/GlauberF/8524b1bb06d98793de0f7a0ef764561c
I'll try the third if you tell me the other two steps are correct.

Re: #1, when you click on the -temp entry, does anything show up in the cache viewer?
We're very close to a 4.0.0 final release, and it does have a rewritten workbox-precache module, so I think at this point it's worth trying that. (Just to test things out, if nothing else.)

I'm having a similar issue and I don't see anything in the -temp entry, whereas the precache entry right below it contains all the files. I have precaching set up, but whenever the build output changes on the server the client is not seeing changes.

@GarrettGeorge if you're using Workbox v4, then there should be only one cache for precached entries now. (We no longer use a -temp cache.)
What gets logged when you update and redeploy on your server, and then reload a client page that has an older version of the service worker active? You should see new entries for the updated precached URLs, and there should be a service worker in the waiting state shown in the Applications panel of Chrome's DevTools.

That updated service worker won't go into effect until it leaves waiting and becomes active, and a recipe like this can be used to control when that happens. (It will also happen automatically when you close all tabs that are open to the current origin, and then navigate back.)

Hi @jeffposnick ,
The v4 version was very good.
I have only two questions;
1 - I'm using CLI Workbox, ie I do not use import, so how can I know if it's active and can I reload it, just like it does here: https://developers.google.com/web/tools/workbox/guides/advanced-recipes#offer_a_page_reload_for_users
2 - in Workboxx ClI, can I pass some parameter, to tell which version of the workbox to use, example V3 or V4?

Hello @GlauberF:

If you're using the GenerateSW mode in v4, the recipe should pretty much "just work". (That recipe runs in the context of the window, independent of how you're generating your service worker.) If you have skipWaiting: false (the default), then the new service worker template used in v4 will automatically include a message event listener that will call skipWaiting() for you in response to wb.messageSW({type: 'SKIP_WAITING'}): https://github.com/GoogleChrome/workbox/blob/8379c51b6deaf52faed5879206fe84579cae41f0/packages/workbox-build/src/templates/sw-template.js#L38-L46

You can't toggle between the two versions of Workbox when using the CLI. Your best bet might be to install a specific version of the CLI in a project-specific local node_modules and call the appropriate version directly from there, and not install it globally.


Added escape characters thus preventing the creation of file =0.2.2 in /opt

Properly escaping characters thus preventing the creation of the =0.2.2 file in /opt

How to reproduce:

spawn a new cloudshell instance (docker or portal)
ls -las /opt

Fixing Maven installation by using the latest 3.8.6 instead of 3.8.5 version, apparently 3.8.5 was pulled from the repo: https://dlcdn.apache.org/maven/maven-3/
Release notes for Maven 3.8.6: https://maven.apache.org/docs/3.8.6/release-notes.html
Teams Alias: ajoian

Thank you @naioja for submitting a PR. The escape characters change seems fine, but the maven version can't be included. cloud shell will support a major version upgrade say 3.8.x and its up to folks to use 3.8.6 by downloading from apache themselves. this is a sustainable approach for package upgrades for us. We relied on getting the latest from a linux mirror but we are migrating to a newer OS soon and for now, we are relying on Apache mirrors to get a Java version.

hi @priyaananthasankar, thank you for taking the time to look at my PR.
Indeed my first PR was only for the escape characters but then I noticed that the pipeline tests failed https://github.com/Azure/CloudShell/runs/6993564887?check_suite_focus=true.
I've tracked the problem to be that the test https://github.com/Azure/CloudShell/blob/master/tests/PSinLinuxCloudShellImage.Tests.ps1#L73 at line 73 does a comparison of between two files, the provided/expected https://github.com/Azure/CloudShell/blob/master/tests/command_list and another file of what is actually installed in the docker image called installed_list.
As the error in the pipeline suggest 3 files where missing "mvn,mvnDebug,mvnyjp", they are part of Maven, therefore the docker image was already installing Maven using this script https://github.com/Azure/CloudShell/blob/master/linux/installMaven.sh at line 126 in the base.Dockerfile https://github.com/Azure/CloudShell/blob/master/linux/base.Dockerfile#L126.
The actual problem was that Maven removed from their repositories the version 3.8.5 of Maven that was mentioned install script we already used at line 6 : https://github.com/Azure/CloudShell/blob/master/linux/installMaven.sh#L6
In fine if we remove the maven installation completely from the pipeline test and from the base image if this is something we are not going to support in the future or we just install 3.8.6 instead of 3.8.5 thus generating an image that still has Maven installed but just a slightly newer version. For Apache.org to remove the version 3.8.5 means that it's not supported anymore.
I'm happy to chat further on teams if you want.

LGTM!


Add copy Commit ID button in commits list

Resolve:

https://github.com/go-gitea/gitea/issues/13816

Screenshots:

Could you post a screenshot?

This seems to be a variant of #17416?

And more information: we have a better clipboard support now (see the clipboard.js), so most data-xxx and onclick are not needed. There are some examples for clipboard usage (search clipboard-text= to see)

Yes, we implement the copy procedure in #17416. I'm sorry. Here is a screenshot:

And more more information: this UI has some edge cases, so you should check all the cases to make sure the UI is correct.
See the comment https://github.com/go-gitea/gitea/pull/17416#issuecomment-950283525

Thank you for your advice. Let me check it.

You only need data-clipboard-text, all other attributes can be removed, as well as the localization strings (we should not have so many variations, Copied popup text is fine).

I fixed in response to your reviews. The edge case (commit with signature) seems correctly handled:

Maybe put it on the left side of the SHA and add ui button class to style it like a button? (Same height as SHA box)

Maybe put it on the left side of the SHA and add ui button class to style it like a button? (Same height as SHA box)

Yes, sir. Let me fix it.

I fixed:

That's better. I tune a little, please help to confirm.

Button is too large based on that screenshot, it needs to match the SHA button height. Also, it should use a <button> tag to be semantically correct and accessible.

@silverwind  Can you edit on this PR directly to continue to improve? This features have been tried for at least 3 times, I think such a trivial feature shouldn't block that long time.

Someone push this patch, I don't have permission to do it.

diff --git a/templates/repo/commits_list.tmpl b/templates/repo/commits_list.tmpl
index e61450ad6..4f3134f98 100644
--- a/templates/repo/commits_list.tmpl
+++ b/templates/repo/commits_list.tmpl
@@ -22,9 +22,10 @@
 								{{avatarByEmail .Author.Email .Author.Name 28 "mr-2"}}
 								{{$userName}}
 							{{end}}

-
+
+							{{svg "octicon-copy" 14}}
 							{{$class := "ui sha label"}}
 							{{if .Signature}}
 								{{$class = (printf "%s%s" $class " isSigned")}}
 								{{if .Verification.Verified}}
@@ -45,9 +46,8 @@

 							{{else}}

 							{{end}}
-								{{svg "octicon-copy"}}
 								{{ShortSha .ID.String}}
 								{{if .Signature}}
 									{{template "repo/shabox_badge" dict "root" $ "verification" .Verification}}
 								{{end}}
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index c09f3a2bd..ea0be2d36 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -984,8 +984,13 @@ a.ui.card:hover,
     font-weight: normal;
     margin: 0 6px;
   }

+  .copy-commit-sha {
+    border: 1px solid var(--color-light-border);
+    margin-right: 3px;
+  }
+
   .button.truncate {
     display: inline-block;
     max-width: 100%;
     overflow: hidden;
@@ -1451,8 +1456,13 @@ a.ui.label:hover {
   background: var(--color-hover);
   color: var(--color-text);
 }

+.ui.labels a.label:hover,
+a.ui.label:hover {
+  border-color: var(--color-light-border);
+}
+
 .ui.label > .detail .icons {
   margin-right: .25em;
 }
```

Thank you. I have pushed it.


resource link with no link text should use title instead of uuid

As a course author, I'd like to quickly add links to resources to a page.
Most of the time, I would like the link text to be exactly the same as the resource title. If I add a link with no link text, the wysiwyg editor should use the resource title -- the same title that's used in the resource pop-up.

This is a pretty small change.


http-server command doesn't do anything.

After changing the directory to the build folder, trying the command http-server doesn't do anything. It says command not found.

Do u have http-server node module installed ?

No, I don't. The instructions don't any anything about needing it or how to install it.

I am adding that package to package.json, so probably after pulling code from remote and executing npm install will do all work for u

So do I need to do the whole thing again? Clone the repo and all?

Readme file has been updated with instructions.


About the processing methods of data sets

For the processing methods of T1, T2, and TD of the data set, I hope you can give relevant codes and processing methods.

And also I am a little confused about the description in the 'Dataset' section. You said that 'x.png is a single image ... it will be 768 pixels horizontally and 256 pixels vertically.' So How can the many-to-one tasks' images be a three channels RGB image? It seems that they are concatenated in the space domain.

A sample image is this for T1,T2>PD task.

For the processing methods of T1, T2, and TD of the data set, I hope you can give relevant codes and processing methods.

We will be releasing preprocessing code soon.

Now, I add data_preparetion for dataset prepartion for both one-to-one task and many-to-one task.


Determine MD standard for Bold Italic

AND remove custom code in order to revert to library default.
What is the editor default?
*** vs **_

take out custom code and ask Larry if that represents what they want.  If the default doesn't represent the MD correctly then make a new issue.
DoD:  bold italic matches what content team expects.

The content team will be using *** for bold italic

@elsylambert nothing to test here

@RoyalSix **_ is the default for content now. test

@RoyalSix Did you mean **_? that's what was said during the meeting.


Internationalisation de Dataset (I18next part2)

cc @tusbar

Codecov Report

Merging #427 into master will decrease coverage by 0.26%.
The diff coverage is 34.28%.

@@            Coverage Diff             @@
##           master     #427      +/-   ##
==========================================
- Coverage   21.33%   21.06%   -0.27%
==========================================
  Files         159      155       -4
  Lines        1256     1253       -3
==========================================
- Hits          268      264       -4
- Misses        988      989       +1

Impacted Files
Coverage Δ

src/components/Newsletter/NewsletterForm.js
0% <ø> (ø)
:arrow_up:

src/components/Charts/Histogram/Histogram.js
100% <ø> (ø)
:arrow_up:

src/components/SearchInput/SearchInput.js
0% <ø> (ø)
:arrow_up:

src/components/CatalogPreview/ObsoleteWarning.js
100% <ø> (ø)
:arrow_up:

.../components/LanguageSelection/LanguageSelection.js
100% <ø> (ø)
:arrow_up:

src/components/CatalogPreview/CatalogPreview.js
100% <ø> (ø)
:arrow_up:

src/components/Footer/Footer.js
0% <ø> (ø)
:arrow_up:

...ponents/DatasetDownloadList/DatasetDownloadList.js
0% <0%> (ø)
:arrow_up:

...nents/DatasetTechnicalInfo/DatasetTechnicalInfo.js
0% <0%> (ø)
:arrow_up:

...ataset/components/DatasetContact/DatasetContact.js
0% <0%> (ø)
:arrow_up:

... and 15 more

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 55e1f4e...d9104ba. Read the comment docs.


Use the bot's own Pi to install the backend locally

You have talked about hosting your own web server to accommodate the user application. Wouldn't it be possible to host it on the bot's Raspberry Pi itself? I'm asking because if I'm to host my own web server running 24/7, I'd want it to consume the least amount of power and I'd probably end up using another Raspberry Pi anyways. So is there any reason I couldn't just do that on the bot's Pi?

You could, and I would encourage you to try it out to see if it works for your setup. Here's a couple of things to keep in mind:

It might be too resource intensive for the Pi. Back in the Pi 1 era, we tried running MongoDB inside the Pi and found that it couldn't handle it. The Pi may be fast enough now (Pi 3), but we haven't tried.
You will need to setup port forwarding on your router and possibly maintain a static IP address. Our experience with exposing IP addresses for daily use of the bot has not been good, which is why we avoid it. For more technical users, this might not be such a big deal.

Let us know how it goes. I am curious to see if the new Pi hardware can keep up.

Closing this one for now. Feel free to re-open if you have any new developments.

Hi Rick, was the issue CPU or RAM?  Thanks.

@toddklaus It is no longer possible to run a server and FBOS on the same machine without making significant changes to the software (this discussion is from a year ago when things were much different).
With regards to running the server stack on a second RPi: I just bumped in to a developer who tried to run an entire server stack on an RPi (a second device- not the pi) this month while at a convention. After hearing the results, my recommendation is to use a desktop machine on the same LAN if you wish to self host. They had mentioned that the setup and installation on a Pi was extremely time consuming and performance from the server was almost unusable. Using a standard desktop machine was faster in terms of performance, setup time and ease of maintenance.
It might still be possible with overclocking, or using a different brand of SBC but due to the reasons noted above, I no longer recommend it to self hosting users.


ISPN-13671 JDBC store fails when authorization is enabled

https://issues.redhat.com/browse/ISPN-13671
https://issues.redhat.com/browse/ISPN-13678
https://issues.redhat.com/browse/ISPN-13679
https://issues.redhat.com/browse/ISPN-13680
https://issues.redhat.com/browse/ISPN-13681
I've only tested JdbcStringBasedStoreFunctionalTest locally, let's see what else fails :slightly_smiling_face:

@ryanemerson 126 failures :fearful:

It would probably be simpler to add a method to AbstractInfinispanTest to create a cache instead of copying the SecurityActions everywhere.

I agree we should centralise this. Is AbstractInfinispanTest the right place? It doesn't have any methods related to container lifecycle/manipulation. WDYT about adding it to TestingUtil instead?

@ryanemerson right, TestingUtil sounds good to me

merged! thanks @ryanemerson !


Add 'biothings-admin dataplugin create' command

ref https://github.com/biothings/biothings.api/issues/250

Installing: please run  pip install -e ".[hub]"
Using:

Create a single dumper plugin: biothings-admin dataplugin create --name test --plugin-type single
Create a multiple dumpers plugin: biothings-admin dataplugin create --name test --plugin-type multiple
Add --parallelizer if you want to create a plugin with parallelizer setup
Create plugin in step by step: biothings-admin dataplugin create
See help: biothings-admin dataplugin create --help

Update
We have two set of commands that alternative to two mode of testing data plugins:

biothings-admin standalone-dataplugin [create | dump_and_upload | inspect | serve ] - running out side of a data plugin folder, test locally without the need of docker, mongodb, dedicated hub server
biothings-admin dataplugin [dump | upload | inspect | serve | list | clean] - running under a data plugin folder, direct testing under a data plugin folder

More info:

biothings-admin dataplugin --help
biothings-admin standalone-dataplugin --help

Doc for biothings-admin dataplugin-hub commands:
Usage: biothings-admin dataplugin-hub   [OPTIONS] COMMAND [ARGS]
Bootstrap your data plugin as the Hub does but in a synchronized. Create your new data plugin with the standard file structure. Dumping, uploading, and inspecting your data in synchronize. Serving your data as a web
service for making simple queries * Running this command outside of your data plugin
Commands:

create: Create a new data plugin
dump_and_upload: Download data source to local folder then convert to Json document and upload to the source database
inspect: Giving detailed information about the structure of documents coming from the parser
serve: Run the simple API server for serving documents from above 'dump_and_upload' command


add options to individual QnAMaker calls

This is basically the code from @adiazcan (much appreciated, thanks!)

rebased
dropped "ref" from ValidateOptions (C# is by-ref by default for classes)
tightened up test case a little to validate the sent JSON contains the options we want to see

@zerryth can you add this code to your PR for JS?

Pull Request Test Coverage Report for Build 44600

0 of 0   changed or added relevant lines in 0 files are covered.
29 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.05%) to 55.569%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.AI.QnA/QnAMaker.cs
29
64.86%

Totals

Change from base Build 44595:
0.05%

Covered Lines:
5438

Relevant Lines:
9786

💛  - Coveralls


Update nnnn-async-await.md

Update forums link.

Follow-up to: https://github.com/DougGregor/swift-evolution/pull/24#discussion_r519507320

Cc: @ktoso

Thanks!


File suffix is (u'mp4',) for Vimeo downloads

I'm downloading a file from Vimeo, and the file suffix is .(u'mp4',). It should simply be .mp4.
$ youtube-dl -v https://vimeo.com/137531269
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'https://vimeo.com/137531269']
[debug] Encodings: locale cp1252, fs mbcs, out None, pref cp1252
[debug] youtube-dl version 2016.01.15
[debug] Python version 2.7.10 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-74286-ge5774f2, ffprobe N-74286-ge5774f2
[debug] Proxy map: {}
[vimeo] 137531269: Downloading webpage
[vimeo] 137531269: Extracting information
[vimeo] 137531269: Downloading webpage
[vimeo] 137531269: Downloading JSON metadata
[vimeo] 137531269: Checking Original video URL
[vimeo] 137531269: Downloading m3u8 information
[debug] Invoking downloader on u'https://vimeo.com/137531269/download?t=1453368147&v=409014815&s=c9e712a84564efc6ee00c69bb94ae13dfbefe97f57f5e0917b3a2a77c02086f0'
[download] Destination: Wire Cutters-137531269.(u'mp4',)
...

Fixed, thanks for the report!


System tests: Recovery

Type of change

System tests

Description
System tests to check recovery when some deployments or stateful sets are deleted.
Case 1: Test deletes deployment TC and waits for recovering
Case 2: Test deletes Kafka stateful set and waits for recovering
Case 3: Test deletes Zookeeper stateful set and waits for recovering
Case 4: Test deletes Kafka service and waits for recovering
Case 5: Test deletes Headless Kafka service and waits for recovering
Case 6: Test deletes Zookeeper service and waits for recovering
Case 7: Test deletes Headless Zookeeper service and waits for recovering
Case 8: Test deletes CM for Kafka metrics and waits for recovering
Case 9: Test deletes CM for Zookeeper metrics and waits for recovering
###Additional information
Test cases 1, 2-4 are failed now by issue #264
Checklist

[ ] Write tests
[ ] Make sure all tests pass

Well thinking more, at least it shouldn't happen for the cluster-controller deletion. In the other cases, the running cluster-controller should execute the reconciliation re-creating topic controller deployment and statefulsets for other nodes.

@ppatierno This is basically a (partial since it doesn't delete the config maps or services) system test for #264 which @tombentley is currently working on.

@scholzj @tombentley Absolutely agree that we should have cases for deletion of the metrics CM and Services in this PR. As for improvement for reconciliation interval, I suggest creating another issue and do it a little bit later.

Sorry folks @asorokhtey @scholzj @tombentley @ppatierno , but I did some changes in this PR and it requires your approval again =(

I created an abstract class for system tests to avoid duplication of code and have the ability to sort the system tests by equivalence class
Moved tests that check the recovery in a separate class
Removed fabrik8 client from StrimziRunner because tests are stable after merging PR with resiliency

Additional information:
The build takes ~50 mins after adding system tests for recovering and it's a reason that Travis CI job was failed. @scholzj any idea what is a right solution for this case? Should I skip tests?

@serrss Is the 50 minutes with already with smaller reconciliation timeout?
We can either enable them and live with it. Or disable them here and run them somewhere downstream in Jenkins.

@scholzj  thanks for answering. Yes, it takes 50 mins with reconciliation timeout = 30 secs. I'm going to reduce this value to 5 secs but looks like it can save at least ~ 10 mins

That sounds reasonable ... deploying the cluster for every single test would take a lot of time.


[incubator/keycloak] DB and Admin user secrets overwritten when upgrading

Is this a request for help?: No

Is this a BUG REPORT or FEATURE REQUEST?: BUG REPORT
Version of Helm and Kubernetes: Helm v2.8.2 , Kubernetes v1.10.0
Which chart: incubator/keycloak
What happened:
When using the chart-managed Postgres deployment, the Kubernetes secrets (for the administrator 'keycloak' user and password to connect to the Postgres DB) are generated again and overwritten when upgrading the chart.
As a result, the keycloak pods cannot connect to the database any more, because the password they get from the kube secret is different from the one registered by the DB engine during the initial startup.
The password to connect as a Keycloak admin is also lost and cannot be recovered from the kube secret.
What you expected to happen:
Once (and if) generated during the initial run, the secrets stored in Kube must be left alone and not overwritten. In other words, the secrets must be immutable as far as the chart is concerned.
How to reproduce it (as minimally and precisely as possible):
Install the chart:
helm install --name keycloak incubator/keycloak
Retrieve the secrets from Kube:
kubectl get secret keycloak-postgresql -o jsonpath="{.data.postgres-password}" | base64 --decode; echo
kubectl get secret keycloak-keycloak-http -o jsonpath="{.data.password}" | base64 --decode; echo
Upgrade the chart:
helm upgrade keycloak --set keycloak.replicas=2 incubator/keycloak
Retrieve the secrets from Kube: they have changed.
Looking at the keycloak logs shows connnection errors to the DB:
kubectl logs keycloak-keycloak-0
Anything else we need to know: -

/remove-lifecycle stale

I'm not going to "maintain" this and assume it would be marked complete if it was resolved. Leaving this note for those that come afterwards...

As far as i can see, this is actually documented behaviour of the postgresql-Chart and can be circumvented by the correct configuration: https://github.com/helm/charts/tree/master/stable/postgresql#persistence

Note: When using persistence ensure that you either provide a postgresPassword or use existingSecret, otherwise helm update will generate a new random password which is ignored by postgres. That will cause confusing behaviour especially if services depend on the secret

Ok, it starts to make sense.
So when deploying with keycloak.persistence.deployPostgres=true, the keys such as keycloak.persistence.existingSecret are just ignored and we should drive the Postgres chart directly using the prefixed postgres properties, such as postgresql.existingSecret.
This is the actual meaning of the puzzling comment in various properties description below:

(if deployPostgres=false)

Correct?

I can't tell for sure, as i'm not the maintainer, i'm afraid. I just experienced the same behaviour as described in this issue and wanted to add some insights. For my case, i solved it by explicitly specifying the same password for keycloak.persistence.dbPassword and postgresql.postgresPassword

@MarianSaeger thanks a lot!
We will attempt what I described (using the included Postgres chart properties) and report back here.

This only applies to the Postgres chart. Keycloak is not affected. Anyways, I'd suggest you specify your own passwords to avoid the issue.


[BUG] [API] Prevent double execution of optimization process in the API server from now

We have to manage the resources more efficiently, but now the duplicate optimization process can kill the whole machine.

Just increase memory of instance


Can't access api via curl

Using my browser for authentication works fine. I get redirected to auth-server, log in successfully and get redirected to zuul again and getting information from a protected microservice.
Using curl to obtain a token also works fine but using this token with the "Authorization: Bearer xxx..." header to get a resource doesn't work. I always get redirected to the login page.
Maybe this is related to:
https://github.com/kakawait/uaa-behind-zuul-sample/issues/13
The documentation from the auth-server (in this project) says that getting resources via curl should be also possible. What am i doing wrong?
UPDATE
Got it working using @ResourceServer annotation instead of @EnableOAuth2Sso annotation (both isn't possible so easy at this time) and extending ResourceServerConfigurerAdapter.
...
@EnableResourceServer
public class ZuulServerApplication extends ResourceServerConfigurerAdapter {
...

I would be glad if you could provide a solution which is able to handle both.

Have tried this with SOAPUI and that worked fine with Authorization header. Can you please provide more details if possible?


Array/Array2D/Array3D Message Types

Changelog:

Adds MsgArray type, and mandatory/optional output, exception unit tests
Adds MsgArray2D type, and mandatory/optional output, exception unit tests
Adds MsgArray3D type, and mandatory/optional output, exception unit tests
Remove a redundant branch from CUDAMessage::swap(bool, const unsigned int &, const unsigned int&) (this relates to earlier bugfixes.
Fixes spatial messaging tests (#211)
Removes redundant 2nd template arg from MsgBruteForce::Description::newVariable() that would have allowed array vars to be added to messages (but not used).
MsgSpatial2D::Description exception unit tests
MsgSpatial3D::Description exception unit tests

ToDo:

Example Game of Life
Moore neighbourhood iteration of messages

Undecided on interface for Moore neighbourhood iteration.
Challenge is that it requires radius and origin, so which order should the parameters be?
This seems like most reasonable:
inline __device__ Filter operator() (const size_type &x, const size_type &y, const size_type &radius = 1) const {
    return Filter(metadata, combined_hash, x, y, radius);
}


crash while building an flx

command
flutter build flx --target ... --output-file ... --snapshot ... --depfile ... --no-include-roboto-fonts --manifest assets.yaml
exception
FileSystemException: Cannot open file, path = .../build/flx/icon.png' (OS Error: No such file or directory, errno = 2)
dart:io                                                           _File.readAsBytesSync
package:flutter_tools/src/zip.dart 89                             _ZipToolBuilder.createZip
package:flutter_tools/src/flx.dart 383                            assemble.<async>
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/flx.dart 401                            assemble.<async>
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/flx.dart                                assemble
package:flutter_tools/src/flx.dart 308                            build.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/base/process.dart 60                    runCommandAndStreamOutput.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/flx.dart                                build
package:flutter_tools/src/commands/build_flx.dart 48              BuildFlxCommand.runInProject.<async>
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/commands/build_flx.dart                 BuildFlxCommand.runInProject
package:flutter_tools/src/runner/flutter_command.dart 156         FlutterCommand._run.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/cache.dart 108                          Cache.updateAll.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/runner/flutter_command.dart             FlutterCommand._run
package:flutter_tools/src/runner/flutter_command.dart 94          FlutterCommand.run
package:args/command_runner.dart 176                              CommandRunner.runCommand.<fn>
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 129                              CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 239  FlutterCommandRunner.runCommand
package:args/command_runner.dart 103                              CommandRunner.run.<fn>
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 103                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 187  FlutterCommandRunner.run
package:flutter_tools/executable.dart 85                          main.<async>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 79                          main.<async>

Presumably the asset is listed in the flutter.yml but doesn't exist?

It exists, and the curious thing is that every alternate build fails.

It looks like this is happening because the asset is located in the root directory of the Flutter project.
The FLX builder (specifically _parseAssets) searches through the directory tree where the asset lives in order to find other variants of the asset.
The first time you build the FLX, _parseAssets finds "icon.png" at the root of the project and adds it to the ZipBuilder.  When the ZIP is built, the ZipBuilder then copies it to its "build/flx" working directory, creating "build/flx/icon.png".
During the second build of the FLX, _parseAssets finds both "icon.png" and the leftover "build/flx/icon.png", and both source paths are added to the ZipBuilder's work list.  The ZipBuilder destroys and recreates the "build/flx" working directory.  ZipBuilder processes the "icon.png" source path, creating "build/flx/icon.png".
ZipBuilder then processes the "build/flx/icon.png" source path.  This file now exists because of the prior copy of "icon.png", so ZipBuilder copies "build/flx/icon.png" to the working directory, creating "build/flx/build/flx/icon.png".
In the third run, _parseAssets find "icon.png", "build/flx/icon.png", and "build/flx/build/flx/icon.png" (the latter two left over from the second build).
However, after the ZipBuilder destroys and recreates the "build/flx" directory, "build/flx/build/flx/icon.png" no longer exists.  The result is the error shown above.
Future builds will alternate between the behavior seen in run #2 and run #3 as "build/flx/build/flx/icon.png" is created and deleted.
As a quick fix, you can work around this by moving the asset file out of the project root directory and into a separate assets directory.
Beyond that, the flutter tool should exclude the ZIP working directory when searching for assets.
It might make sense to delete the ZIP working directory at the start of the FLX build process.  Or place some restrictions on where the tool searches for variants.

Cool. Thanks for taking a look @jason-simmons!
Will do the quick fix in our repo.


outbound api return 500 response

Hi,
I use the demo to exploy outbound restful api by creating xsjs ,
but it return 500, any other configuration should be set

Regarts,
June

Please check your proxy settings


DOR update to 11.34.0

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_4d3f8cdfyl/clone/recipe/meta.yaml:16: avoid_noarch: noarch: python packages should be avoided
WARNING: /tmp/abs_4d3f8cdfyl/clone/recipe/meta.yaml:54: http_url: http://www.dropbox.com/developers is not https
WARNING: /tmp/abs_4d3f8cdfyl/clone/recipe/meta.yaml:54: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_4d3f8cdfyl/clone/recipe/meta.yaml:54: missing_license_url: The recipe is missing a license_url
Warnings were found


Test failing, even though no examples are given

Hello! I'd love some help troubleshooting an interesting behavior.

Pull request
Most recent log output from Travis

Snapshot of how this looks at the tail of the log:

@phantompower Do you have any ideas for why this is failing, even though there are no examples being shown?
cc @stoe

I would say that is a permission issue.  You might install from NPM?
https://www.npmjs.com/package/writewell
On 16 February 2017 at 22:24, Briana Swift<EMAIL_ADDRESS>wrote:

Hello! I'd love some help troubleshooting an interesting behavior.

Pull request https://github.com/github/training-kit/pull/473
Most recent log output from Travis
https://travis-ci.org/github/training-kit/builds/202422136

Snapshot of how this looks at the tail of the log:
[image: screen shot 2017-02-16 at 4 23 28 pm]
https://cloud.githubusercontent.com/assets/9906718/23044088/509dfb16-f464-11e6-968b-ce17e403029d.png
@phantompower https://github.com/phantompower Do you have any ideas for
why this is failing, even though there are no examples being shown?
cc @stoe https://github.com/stoe
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/phantompower/checkit/issues/6, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHwl7U91EwzfmVUkS_N-eEugu-_poh6dks5rdMyvgaJpZM4MDn6m
.


Hide suggestions only if we inserted an emoji

Details
We need to hide the suggestions list when we insert a new emoji
Fixed Issues
$ https://github.com/Expensify/App/issues/20998
PROPOSAL: https://github.com/Expensify/App/issues/20998#issuecomment-1634587754
Tests

Go to any report
Type :+1
Verify that the emoji suggestions appear
Type the remaining :
Verify that the emojis suggestions disappears

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

Offline tests
Same tests
QA Steps
Same tests

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

PR Author Checklist

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

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

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/19537677/644eb2c8-f577-41ae-be2d-9f11bc883325

Android: mWeb Chrome
https://github.com/Expensify/App/assets/19537677/3b70a89b-9c34-4f56-9dfc-bad97e8c8382

iOS: Native
https://github.com/Expensify/App/assets/19537677/85181507-9cc7-44fd-9f61-132bf4e91656

iOS: mWeb Safari
https://github.com/Expensify/App/assets/19537677/a51bc1a3-81f5-4002-bf7d-c7c0a41f62d9

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/19537677/7ffa3f80-aff8-47c0-ae05-608c41719ff6

MacOS: Desktop
https://github.com/Expensify/App/assets/19537677/2334f7e0-6607-437f-8132-c5fceab379b4

@aimane-chnaif Ready for review

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

🚀 Deployed to staging by https://github.com/Li357 in version: 1.3.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.86-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


error 500 internal server error nginx/1.12.1 (Ubuntu)

Using ubuntu 17.10.1 with virtualbox.
Have done all these steps ;
https://github.com/StashApp/StashServer/wiki/Ubuntu-17.10
When running it with :puma -t 8:32 the server starts en listening on <IP_ADDRESS>:3000
when opening <IP_ADDRESS>:3000 I get the error no query string was present. When i go to <IP_ADDRESS>:8008 I getting error 500 internal server error nginx/1.12.1 (Ubuntu)
kip@kip-VirtualBox:~$ cd semantic && npm install gulp
bash: cd: semantic: No such file or directory
kip@kip-VirtualBox:~$ cd /home/kip/Stash/stashfrontend
kip@kip-VirtualBox:~/Stash/stashfrontend$ cd semantic && npm install gulp
npm WARN deprecated<EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
<EMAIL_ADDRESS>/home/kip/Stash/stashfrontend
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /watchpack/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /webpack-dev-server/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.3 but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
kip@kip-VirtualBox:~/Stash/stashfrontend/semantic$ gulp build
[13:59:58] Using gulpfile ~/Stash/stashfrontend/semantic/gulpfile.js
[13:59:58] Starting 'build'...
Building Semantic
[13:59:58] Starting 'build-javascript'...
Building Javascript
[13:59:58] Starting 'build-css'...
Building CSS
[13:59:58] Starting 'build-assets'...
 The local Angular CLI version is used.
To disable this warning use "ng set --global warnings.versionMismatch=false".
10% building modules 0/1 modules 1 active ...e/kip/Stash/stashfrontend/src/main 10% building modules 1/2 modules 1 active .../Stash/stashfrontend/src/polyfills 10% building modules 2/3 modules 1 active ...shfrontend/semantic/dist/semantic. 10% building modules 3/4 modules 1 active ...ip/Stash/stashfrontend/src/styles. 10% building modules 3/5 modules 2 active ...shfrontend/semantic/dist/semantic. 10% building modules 4/5 modules 1 active ...shfrontend/semantic/dist/semantic. 10% building modules 4/6 modules 2 active ...e/kip/Stash/stashfrontend/src/main 10% building modules 4/7 modules 3 active .../Stash/stashfrontend/src/polyfills 10% building modules 5/7 modules 2 active .../Stash/stashfrontend/src/polyfills 10% building modules 6/7 modules 1 active ...shfrontend/semantic/dist/semantic. 10% building modules 7/8 modules 1 active ...ip/Stash/stashfrontend/src/styles. 10% building modules 7/9 modules 2 active ...shfrontend/semantic/dist/semantic. 10% building modules 8/9 modules 1 active ...shfrontend/semantic/dist/semantic.Date: 2018-03-18T13:01:11.984Z
Hash: fab0d5fc9cee68201ef7
Time: 12970ms
chunk {0} styles.2aefe92d83b326fcde2a.bundle.css (styles) 605 kB [initial] [rendered]
chunk {1} polyfills.997d8cc03812de50ae67.bundle.js (polyfills) 84 bytes [initial] [rendered]
chunk {2} main.ee32620ecd1edff94184.bundle.js (main) 84 bytes [initial] [rendered]
chunk {3} inline.318b50c57b4eba3d437b.bundle.js (inline) 796 bytes [entry] [rendered]
WARNING in Invalid background value at 11146:14. Ignoring.
WARNING in Invalid background value at 14403:14. Ignoring.
ERROR in node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(13,11): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(14,12): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(15,10): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(16,13): error TS2503: Cannot find namespace 'Popper'.
kip@kip-VirtualBox:~/Stash/stashfrontend$ systemctl start nginx
kip@kip-VirtualBox:~/Stash/stashfrontend$ cd ../stashserver
kip@kip-VirtualBox:~/Stash/stashserver$ puma -t 8:32
Puma starting in single mode...

Version 3.11.2 (ruby 2.3.3-p222), codename: Love Song
Min threads: 8, max threads: 32
Environment: development
Listening on tcp://<IP_ADDRESS>:3000
Use Ctrl-C to stop
^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2018-03-18 14:03:48 +0100 ===

Goodbye!
kip@kip-VirtualBox:~/Stash/stashserver$ cd ~
kip@kip-VirtualBox:~$ sudo apt-get update
[sudo] password for kip:
Hit:1 http://nl.archive.ubuntu.com/ubuntu artful InRelease
Get:2 http://security.ubuntu.com/ubuntu artful-security InRelease [78,6 kB]
Hit:3 http://nl.archive.ubuntu.com/ubuntu artful-updates InRelease
Hit:4 http://nl.archive.ubuntu.com/ubuntu artful-backports InRelease
Fetched 78,6 kB in 0s (107 kB/s)
Reading package lists... Done
kip@kip-VirtualBox:~$ sudo apt-get install -y ffmpeg imagemagick libmagic-dev aria2 nodejs npm ruby ruby-dev ruby-bundler sqlite3 libsqlite3-dev nginx git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.14.1-1ubuntu4).
imagemagick is already the newest version (8:<IP_ADDRESS>+dfsg-16ubuntu2).
libmagic-dev is already the newest version (1:5.32-1).
libsqlite3-dev is already the newest version (3.19.3-3).
nginx is already the newest version (1.12.1-0ubuntu2).
ruby is already the newest version (1:2.3.3).
ruby-dev is already the newest version (1:2.3.3).
sqlite3 is already the newest version (3.19.3-3).
aria2 is already the newest version (1.32.0-1).
ffmpeg is already the newest version (7:3.3.4-2).
nodejs is already the newest version (6.11.4~dfsg-1ubuntu1).
npm is already the newest version (3.5.2-0ubuntu4).
ruby-bundler is already the newest version (1.15.1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
kip@kip-VirtualBox:~$ mkdir Stash && cd Stash
mkdir: cannot create directory ‘Stash’: File exists
kip@kip-VirtualBox:~$ cd /home/kip/Stash
kip@kip-VirtualBox:~/Stash$ git clone https://github.com/stashapp/stashserver.git
fatal: destination path 'stashserver' already exists and is not an empty directory.
kip@kip-VirtualBox:~/Stash$ git clone https://github.com/stashapp/stashfrontend.git
fatal: destination path 'stashfrontend' already exists and is not an empty directory.
kip@kip-VirtualBox:~/Stash$ systemctl stop nginx
kip@kip-VirtualBox:~/Stash$ sudo rm /etc/nginx/sites-enabled/default
rm: cannot remove '/etc/nginx/sites-enabled/default': No such file or directory
kip@kip-VirtualBox:~/Stash$ sudo cp stashserver/docker/nginx_proxy.conf /etc/nginx/sites-enabled/stash.conf
kip@kip-VirtualBox:~/Stash$ sudo sed -i 's#/home/app/stash/public#'pwd'/stashserver/public#' /etc/nginx/sites-enabled/stash.conf
kip@kip-VirtualBox:~/Stash$ sudo cp stashserver/docker/nginx_frontend.conf /etc/nginx/sites-enabled/stash_frontend.conf
kip@kip-VirtualBox:~/Stash$ sudo sed -i 's#/home/app/frontend#'pwd'/stashfrontend/dist#' /etc/nginx/sites-enabled/stash_frontend.conf
kip@kip-VirtualBox:~/Stash$ cd stashserver
kip@kip-VirtualBox:~/Stash/stashserver$ bundle install
Warning: the running version of Bundler (1.15.1) is older than the version that created the lockfile (1.16.1). We suggest you upgrade to the latest version of Bundler by running gem install bundler.
Using rake 12.3.0
Using concurrent-ruby 1.0.5
Using minitest 5.11.3
Using thread_safe 0.3.6
Using builder 3.2.3
Using erubi 1.7.0
Using mini_portile2 2.3.0
Using crass 1.0.3
Using rack 2.0.4
Using nio4r 2.2.0
Using websocket-extensions 0.1.3
Using mini_mime 1.0.0
Using arel 8.0.0
Using method_source 0.9.0
Using thor 0.20.0
Using bundler 1.15.1
Using sqlite3 1.3.13
Using puma 3.11.2
Using rack-cors 1.0.2
Using byebug 10.0.0
Using rb-fsevent 0.10.2
Using ffi 1.9.23
Using ruby_dep 1.5.0
Using graphql 1.7.4
Using unf_ext <IP_ADDRESS>
Using mime-types-data 3.2016.0521
Using net-http-digest_auth 1.4.1
Using net-http-persistent 2.9.4
Using ntlm-http 0.1.1
Using webrobots 0.1.2
Using rubyzip 1.2.1
Using kaminari-core 1.0.1
Using multi_json 1.13.1
Using public_suffix 3.0.2
Using naturally 2.1.0
Using mini_magick 4.8.0
Using ruby-filemagic 0.7.2
Using i18n 0.9.5
Using tzinfo 1.2.5
Using nokogiri 1.8.2
Using rack-test 0.8.2
Using sprockets 3.7.1
Using websocket-driver 0.6.5
Using mail 2.7.0
Using figaro 1.1.1
Using rb-inotify 0.9.10
Using childprocess 0.8.0
Using graphql-errors 0.1.0
Using unf 0.1.4
Using mime-types 3.1
Using streamio-ffmpeg 3.0.2
Using addressable 2.5.2
Using activesupport 5.1.5
Using tzinfo-data 1.2017.2
Using loofah 2.2.0
Using listen 3.1.5
Using selenium-webdriver 3.10.0
Using domain_name 0.5.20170404
Using fastimage 2.0.1
Using rails-dom-testing 2.0.3
Using globalid 0.4.1
Using activemodel 5.1.5
Using spring 2.0.2
Using rails-html-sanitizer 1.0.3
Using http-cookie 1.0.3
Using activejob 5.1.5
Using activerecord 5.1.5
Using spring-watcher-listen 2.0.1
Using actionview 5.1.5
Using mechanize 2.7.5
Using kaminari-activerecord 1.0.1
Using scoped_search 4.0.0
Using activerecord-import 0.22.0
Using actionpack 5.1.5
Using kaminari-actionview 1.0.1
Using actioncable 5.1.5
Using actionmailer 5.1.5
Using railties 5.1.5
Using sprockets-rails 3.2.1
Using kaminari 1.0.1
Using rails 5.1.5
Bundle complete! 23 Gemfile dependencies, 81 gems now installed.
Use bundle info [gemname] to see where a bundled gem is installed.
kip@kip-VirtualBox:~/Stash/stashserver$ rails s
=> Booting Puma
=> Rails 5.1.5 application starting in development
=> Run rails server -h for more startup options
Puma starting in single mode...

Version 3.11.2 (ruby 2.3.3-p222), codename: Love Song
Min threads: 5, max threads: 5
Environment: development
Listening on tcp://<IP_ADDRESS>:3000
Use Ctrl-C to stop
Started GET "/" for <IP_ADDRESS> at 2018-03-18 14:06:01 +0100
(0.8ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by GraphqlController#execute as HTML
Completed 200 OK in 195ms (Views: 0.3ms | ActiveRecord: 0.0ms)

^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2018-03-18 14:06:13 +0100 ===

Goodbye!
Exiting
kip@kip-VirtualBox:~/Stash/stashserver$ cd ../stashfrontend
kip@kip-VirtualBox:~/Stash/stashfrontend$ sudo npm install gulp-cli -g
/usr/local/bin/gulp -> /usr/local/lib/node_modules/gulp-cli/bin/gulp.js
/usr/local/lib
└──<EMAIL_ADDRESS>
kip@kip-VirtualBox:~/Stash/stashfrontend$ sudo npm install @angular/cli -g
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
/usr/local/lib
└──<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /@angular/cli/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /@angular/cli/watchpack/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /@angular/cli/webpack-dev-server/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>kip@kip-VirtualBox:~/Stash/stashfrontend$ npm install
<EMAIL_ADDRESS>/home/kip/Stash/stashfrontend
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /watchpack/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /webpack-dev-server/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.3 but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
kip@kip-VirtualBox:~/Stash/stashfrontend$ cd semantic && npm install gulp
npm WARN deprecated<EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
<EMAIL_ADDRESS>/home/kip/Stash/stashfrontend
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /watchpack/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /webpack-dev-server/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.3 but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
kip@kip-VirtualBox:~/Stash/stashfrontend/semantic$ gulp build
[14:12:42] Using gulpfile ~/Stash/stashfrontend/semantic/gulpfile.js
[14:12:42] Starting 'build'...
Building Semantic
[14:12:42] Starting 'build-javascript'...
Building Javascript
[14:12:42] Starting 'build-css'...
Building CSS
[14:12:42] Starting 'build-assets'...
 The local Angular CLI version is used.
To disable this warning use "ng set --global warnings.versionMismatch=false".
Date: 2018-03-18T13:13:51.093Z
Hash: fab0d5fc9cee68201ef7
Time: 15349ms
chunk {0} styles.2aefe92d83b326fcde2a.bundle.css (styles) 605 kB [initial] [rendered]
chunk {1} polyfills.997d8cc03812de50ae67.bundle.js (polyfills) 84 bytes [initial] [rendered]
chunk {2} main.ee32620ecd1edff94184.bundle.js (main) 84 bytes [initial] [rendered]
chunk {3} inline.318b50c57b4eba3d437b.bundle.js (inline) 796 bytes [entry] [rendered]
WARNING in Invalid background value at 11146:14. Ignoring.
WARNING in Invalid background value at 14403:14. Ignoring.
ERROR in node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(13,11): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(14,12): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(15,10): error TS2503: Cannot find namespace 'Popper'.
node_modules/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.d.ts(16,13): error TS2503: Cannot find namespace 'Popper'.
kip@kip-VirtualBox:~/Stash/stashfrontend$ systemctl start nginx
kip@kip-VirtualBox:~/Stash/stashfrontend$ cd ../stashserver
kip@kip-VirtualBox:~/Stash/stashserver$ puma -t 8:32
Puma starting in single mode...

Version 3.11.2 (ruby 2.3.3-p222), codename: Love Song
Min threads: 8, max threads: 32
Environment: development
Listening on tcp://<IP_ADDRESS>:3000
Use Ctrl-C to stop

I forgot to push some changes necessary into the frontend repo.  Change the directory on the terminal to the stashfrontend folder and run git pull && npm install.  Then try to continue the steps.

Thx for your fast reply and program, Now my server runs.
But when want to open a video I get : error loading media file could not be played. The file is an mp4. When goes to scenes I am not getting image files or video previews. ( Pressed generate in settings.)
And it also makes many preview010.mp4 files in scenes. So I have 4 video files it makes previews from it and now it gives in tab stash that i have 21 video files.

It sounds like you have your application.yml file misconfigured.  Take a look at your application.yml in the stashserver/config folder.  Make sure that the stash_metadata_directory, stash_cache_directory, and stash_downloads_directory are not children to the stash_directory path.
For example, lets say you store all of your video files at /home/username/videos.  You would set stash_directory to that path.  You would need to make sure that none of the other paths are within /home/username/videos, or else stash will pick them up as content, which I assume is what's happening with you.  In my opinion you should make new folders away from your video directory somewhere, perhaps in your home folder?  Something like:
stash_directory: '/home/username/videos'
stash_metadata_directory: '/home/username/stash/metadata'
stash_cache_directory: '/home/username/stash/cache'
stash_downloads_directory: '/home/username/stash/downloads'

You should delete all of the preview files as they are probably in the wrong spot.  You can reset the database by running rails db:reset in the stashserver folder via terminal.

That fixed it with the extra video files. But still with the video files  I get : error loading media file could not be played. The file is an mp4. When goes to scenes I am not getting image files or video previews. ( Pressed generate in settings.) the files are being created in metadata folder vtt with the screenshot folder

Okay.
For the "error loading media file" error:
Look at the url for the scene, it should look something like:
http://<IP_ADDRESS>:4200/scenes/3162
Change the url to look like this:
http://<IP_ADDRESS>:4000/scenes/3162/stream.mp4
Does the page still error?
Another thing you can try is open of the terminal and cd into the stashserver directory.  Run the command rails c.  A command prompt should show up that looks like
irb(main):001:0>.  In that prompt type this command, replacing the number with the number from the URL (in the example above this would be 3162): Scene.find(3162).  That command should print out some text describing the scene.  Can you reply with the output?  Specifically I'm interested in what it says for 'video_codec'.  Type the command exit to quit the prompt.
For the previews not working
First of all, what browser are you using?  I've only tested with the latest version of Chrome, so if you're using anything else I'm not sure if there would be issues or not.
Another thing you can try is open a terminal again into the stashserver directory.  This time run the command rails metadata:generate_all.  Is there any errors that happen when this command runs?

using google chrome Version 65.0.3325.162 (Official Build) (64-bit)
and firefox latest
http://<IP_ADDRESS>:8008/scenes/1
Making it to:
http://<IP_ADDRESS>:8008/scenes/1/stream.mp4
It gives me page not found.
kip@kip-VirtualBox:~/Stash/stashserver$ rails c
Running via Spring preloader in process 3117
Loading development environment (Rails 5.1.5)
irb(main):001:0> Scene.find(1)
Scene Load (0.2ms)  SELECT  "scenes".* FROM "scenes" WHERE "scenes"."id" = ? ORDER BY "scenes"."path" ASC LIMIT ?  [["id", 1], ["LIMIT", 1]]
=> #<Scene id: 1, title: nil, details: nil, url: nil, date: nil, rating: nil, path: "/media/sf_STASH/videos/Abella Danger’s Ass Has A D...", checksum: "289cfd4f066fa114dccb8acda80e5241", size: "9786943", duration: #BigDecimal:55db01630ab0,'0.3497E2',18(27), video_codec: "h264", audio_codec: "aac", width: 962, height: 538, studio_id: nil, created_at: "2018-03-20 11:30:10", updated_at: "2018-03-20 11:30:10">
irb(main):002:0>
kip@kip-VirtualBox:~/Stash/stashserver$ rails metadata:generate_all
E, [2018-03-21T08:56:08.159384 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Abella Danger’s Ass Has A Date With Mandingo’s 14 Inch Big Black Cock.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize' E, [2018-03-21T08:56:08.163964 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Abella Danger’s Ass Has A Date With Mandingo’s 14 Inch Big Black Cock.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize'
E, [2018-03-21T08:56:08.195905 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Kelsi Monroe.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize' E, [2018-03-21T08:56:08.196623 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Kelsi Monroe.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize'
E, [2018-03-21T08:56:08.200075 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Riley Reid - New Year's Resolution.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize' E, [2018-03-21T08:56:08.201439 #3155] ERROR -- : #<Errno::ENOENT: No such file or directory - the file '/media/sf_STASH/videos/Riley Reid - New Year's Resolution.mp4' does not exist> --> /var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:22:in initialize'

Okay, this helps.  The errors are saying it can’t find any of your files.  The logs say that your video files seem to be located in ‘/media/sf_STASH/videos/‘. Is that correct or not?    If the files aren’t actually located at that path then it will continue to fail until the paths match.  I know you changed the path in the application.yml file... did you rescan after you changed that?

I am running ubuntu 17.10.1 on virtualbox. I have my files ‘/media/sf_STASH/videos/ its located on a shared folder. My files are accessible with ubuntu, Yes my video files are in  ‘/media/sf_STASH/videos/, And yes I rescanned it. Also I resetted my db with rails db:reset.

I think we’re getting close to having this working.  That last error was actually a bug I just fixed.
Open terminal and cd into the stashserver directory and then run the following command:
git pull
After you run that command you should have the latest server code. Try and generate all again after that.

I have did above, No errors anymore with generate_all. Now my preview video files are working in scenes tab. But when go to  the scene it still gives me : Error Loading media: file could not be played. I tested other sites with videos these are working

This is a permissions issue with nginx.  You’ll need to make sure nginx has permissions to access the directory.  You can try running this command and check to see if it works:
chmod -R 755 /media/sf_STASH/videos

That did it thank you for all the help, and good program.

Yes.  Any zip files you add to that folder with images in them will be scanned in and will show up as galleries in the app.

So It all worked fine, when I have my files on ubuntu itself, but now I have put my files on a shared folder in ubuntu virtualbox. This still gives me error forbidden 403 did :
chmod -R 755 /media/sf_STASH/videos Still the error.
I want my files on a shared folder because otherwise i need to copy all of my files to ubuntu virtualbox,

So It all worked fine, when I have my files on ubuntu itself, but now I have put my files on a shared folder in ubuntu virtualbox. This still gives me error forbidden 403 did :
chmod -R 755 /media/sf_STASH/videos Still the error.
I want my files on a shared folder because otherwise i need to copy all of my files to ubuntu virtualbox,
When I go to /media/sf_STASH/videos right click properties permissions it says Others Acces None.
how can i give it acces to others


nacos upgrade check result false

nacos version 2.0.3

The nacos cluster has a local area network id, which was not added by me

Cause the service upgrade to fail

Rocketmq has no dependency with NACOS


Get dicebot to use serenity 0.6

Here's where we'll get Dicebot to use serenity 0.6, which is apparently quite the ride.
Reference links I'll probably need to read:

https://github.com/serenity-rs/serenity/tree/current/examples
https://docs.rs/serenity/0.6.3/serenity/client/index.html
https://docs.rs/serenity/0.6.3/serenity/framework/index.html

Tasks:

[ ] serenity 0.6
[ ] randomize 3.0
[ ] Probably want some CI
[ ] Might as well add bors

Alright, this should be doable in a reasonable amount of time, but i'll probably read about the new 0.6 stuff during the bus to and from work and then try adding code to this in a few days.

Want me to start taking a hack at it and PR into the serenity0.6 branch? Much of it might be wrong but it'll save you time. Some of it is really straight forward and I can whip it up tonight.

Sounds good. all the randomize 3.0 code should be ready to work with and there's a global gen just like before. the biggest difference is that stuff always comes out as u32 so you'll need some casts to i32 some of the time, but it should be easy to understand.


wrong typing

in docs there is an example to override a method like this
  get base(): CrudController<Hero> {
    return this;
  }

  @Override()
  getMany(
    @ParsedRequest() req: CrudRequest,
  ) {
    return this.base.getManyBase(req);
  }

however, the base methods such as getManyBase is typed to return a promise or undefined
so, the previous snippet makes TS to give this error
Cannot invoke an object which is possibly 'undefined'.ts(2722)

we can make an ugly workaround and edit our code to be
 return this.base.getManyBase?.(req);

this also makes TS complain again because the overrides method i.e. getMany() should return Promise only, not promise or undefined

@its-dibo Which TS version are you using?

Which TS version are you using?

5.4.5