Add clear metadata cache logic

What changes are proposed in this pull request?
A way to complete  issue #14011
Why are the changes needed?
Clear client metadata cache by "ls command"
Does this PR introduce any user facing changes?
User can clear metadata cache by executing "ls -l /fuse_mount_point/path/.alluxiocli.meatadatacache.drop"

@LuQQiu Any suggestion or better idea?

@bzheng888 it's a great idea to use special folder and ls to fulfill the function!
discussed with @apc999 that we think special folder + ls is awesome.
For the command, we are consider using ls ./alluxio.metadatacache.drop or ls -al ./alluxio.metadatacache.size.
This is because

: can be a reserved character in linux/UNIX according to https://www.cyberciti.biz/faq/linuxunix-rules-for-naming-file-and-directory-names/
this can be convenient for adding other special commands!
@bzheng888 @maobaolong what's your opinions?

@bzheng888 it's a great idea to use special folder and ls to fulfill the function! discussed with @apc999 that we think special folder + ls is awesome. For the command, we are consider using ls ./alluxio.metadatacache.drop or ls -al ./alluxio.metadatacache.size. This is because

: can be a reserved character in linux/UNIX according to https://www.cyberciti.biz/faq/linuxunix-rules-for-naming-file-and-directory-names/
this can be convenient for adding other special commands!
@bzheng888 @maobaolong what's your opinions?

Agree! I'm wondering are there any other questions for this pr, like the performance concern and code style?

@maobaolong
    mPathResolverCache = CacheBuilder.newBuilder()
        .maximumSize(conf.getInt(PropertyKey.FUSE_CACHED_PATHS_MAX))
        .build(new CacheLoader<String, AlluxioURI>() {
          @Override
          public AlluxioURI load(String fusePath) {
            // fusePath is guaranteed to always be an absolute path (i.e., starts
            // with a fwd slash) - relative to the FUSE mount point
            final String relPath = fusePath.substring(1);
            final Path tpath = mAlluxioRootPath.resolve(relPath);
            return new AlluxioURI(tpath.toString());
          }
        });

so we can directly use the path given without resolve it to alluxio uri   private int getattrInternal(String path, FileStat stat) {
if it's starting with /.alluxio then we go to special path?

@LuQQiu @maobaolong Solve the problem that alluxio-fuse doesn't mount the root alluxio, change the reserved name to ".alluxio.reserved". PTAL!

@LuQQiu @maobaolong PTAL!

@bzheng888 We can discuss this PR on tonight's AI sync, basically we should try not to directly touch the MetadataCacheFileSystem getStatus or other core operation path for some special operations. But metadata cache filesystem should expose the public methods for APIs to call. It's API's responsibility of thinking how to call the methods.
For other applications like Presto, we can discuss on the presto side.
On Fuse side, the cleanest way as we discussed so far is to use ioctl to call Fuse, Fuse directly call getMetadataSize/ clearMetadataCache public methods of MetadataCacheFileSystem. In this way, even if special command enabled, we won't largely impact the getStatus performance.

pecial operations. But metadata cache filesystem should expose the public methods for APIs to call. It's API's responsibility of thinking how to call the methods. For other applications like Presto, we can discuss on the presto side.
On Fuse side, the cleanest way as we discussed so far is to use ioctl to call Fuse, Fuse directly call getMetadataSize/ clearMetadataCache public methods of MetadataCacheFileSystem. In this way, even if special command enabled, we won't largely impact the getStatus performance.

@LuQQiu @yyongycy I tried use 'ioctl' clear metadata cache, there are several problems

Java has no ioctl API, so we must write a 'C' program call ioctl POSIX API,  where we put this binary file and let user use?
The posix ioctl API require a device or file 'fd', it means we must create a true file in the fuse mount point, and open the file to get fd, then call ioctl, I'm not sure is this a good way.
Linux and Mac OS's fuse ioctl is not compatible, i tried to compile in different platform, the clear metadata cache function works on linux, but not work in Mac os and cause an error.
FYI.

@LuQQiu this pr is updated, please review this at your convenience.

@LuQQiu @maobaolong  Update this pr, PTAL!

Reorganize the code, @bzheng888 @maobaolong @yyongycy PTAL, thanks!

@LuQQiu The code after refactor is pretty good, I like the FuseShell concept here, it make this feature can be more stronger in the future.

@LuQQiu LGTM, thanks for the improvement！

LGTM thanks for the improvement.

alluxio-bot, merge this please


Instruction breakpoints should maybe use a different breakpoint icon

https://github.com/microsoft/vscode/issues/129161
@yuehuang010, @xisui-MSFT
Instructions breakpoints currently use the same icon as regular breakpoints.
We could introduce a new icon  to make them more distinguishable?
Maybe a red square? We already have a diamond and triangle. @misolori what do you think? (instruction breakpoint can be added from the disassembly view which we just introduced this milestone).
@yuehuang010 @xisui-MSFT what does Visual Studio use, regular red circle?

VS doesn't have a different icon. But we would like to use a different icon for this as this seems to be a convention in VS Code.
@yuehuang010  will work on this.

@isidorn, Thoughts on this icons? ⯍/⯏

@isidorn make sure it is red so it is aligned with other breakpoints.
I would just go with the red square 🟥
For reference checkout function breakpoint icons in vscode 🔺
I suggest that we only do this next milestone, so assigning to August.

So a red square would look something like:

See also #177221 for other discussions about breakpoint shapes.


added odia language support

Description
Added odia language support
Checks

[ ] Tests ( npm run test ) are passing

Hey @sonukuldeep, thanks for the contribution.
Could you make it so the keys don't "jump around", meaning that the number of keys are the same in both default and shift layouts.
Here's a demo of your changes (try switching between default an shift): https://codesandbox.io/s/fragrant-dew-9e79jt?file=/src/index.js
Compared to these where keys don't move:
https://vkboard.com/virtual-oriya-keyboard/
https://www.branah.com/oriya
I'll reopen the PR once the adjustments are in, thanks!


Add g:codeium_render

I want to disable the render.
Because I can insert codeium's items by auto completion plugin.

Fixed the conflict.


Culture bonuses

Problem with Culture bonuses not working.
For example Aserai culture should only pay 10500 denars for caravans but pay the full amount of 15000.
Though I have not tested it my self on forums people say that the other culture bonuses are not implemented either.

Can you post a link to the forum thread for reference? We'll copy any relevant info here.

"Perks are bugged, I played with Sturgia and my troops were not going faster in the snow, I was chasing bandits on foot with cavalry and couldn't even catch up."
"My Aserai culture bonus for 30% discounts on caravans is actually on workshops for me....i get discounts on my workshop"
those are the only forum posts I can find that have at least some substance to them

I Tested And Confirmed that Empire bonus Projects in Towns/Castles does not apply.
this is tested by using console commands to give settlements to two identical characters but with different cultures.

I've now tested the movement speed bonuses of Sturgians, Battanians, and Khuzaits.

Terrain
Empire
Sturgians
Battanians
Khuzaits

Snow
7.9
7.9
7.9
7.9

Grass
7.9
7.9
7.9
7.9

Forest
5.5
5.5
5.6
5.5

Again these are tested with identical characters but with different backgrounds.
As you can see the movement speeds are all similar except for Bettanians which seems to have lowered reduction of movement speed in forests.
this reduction though is not the 10 % stated in the tooltip, but instead 4.17%
interestingly there is no movement speed penalty att all implemented for snowy terrain.
but maybe the culture trait is intending battle map movement speed.

Tested Vlandian Battle Experience gain.
30 Khuzait Nomads vs 8 looters gave 7 promotions on with both a Vlandian character and a Battanian Character.
Khuzait Nomads Require 578 exp to level up. 7 promotions equal 4046 exp.
4046 * 1.2 = 4855.2 wich sould levelup 8 troops if Vlandian.

Things I Haven't verified is wall repair and siege construction of Empire,
and less trade penalty for Aserai.

I checked a little bit in the source code and DefaultFeats assign the value 0.0f to EffectBonus for the Aserai FeatObject. Another problem I noticed is that FeatObjects only have one EffectBonus
while the Aserai Feat describes two distinct effects.

Thanks for the doing the legwork, we'll get to it.

@zebbzebb how do we stack up now?


Introduce ns_error_domain attribute.

ns_error_domain can be used by, e.g. NS_ERROR_ENUM, in order to
identify a global declaration representing the domain constant.
Introduces the attribute, Sema handling, diagnostics, and test case.

The github interface lied to me and said it was going to upstream


refactor: make folder structure scope independent

I like it and will review.

Works like a charm. The getting started examples link is the swimlane one. But this may be updated later.


ciao-cert: Only set x509.KeyUsageCertSign on anchor certificate

This PR moves the setting of the bit needed for anchor certificates
from the convenience function that generates a template to the caller.
With this fix every certificate we generate is no longer a CA.
Fixes: #1294
Signed-off-by: Rob Bradford<EMAIL_ADDRESS>

Coverage decreased (-0.03%) to 65.697% when pulling e71a8d6084be6adef1ca81a286a753635836e71a on rbradford:cert-standard-fix into d538ddd8787645ed9ca1a4b93adeb40b2df18689 on 01org:master.

Coverage decreased (-0.03%) to 65.697% when pulling e71a8d6084be6adef1ca81a286a753635836e71a on rbradford:cert-standard-fix into d538ddd8787645ed9ca1a4b93adeb40b2df18689 on 01org:master.

Coverage decreased (-0.03%) to 65.697% when pulling e71a8d6084be6adef1ca81a286a753635836e71a on rbradford:cert-standard-fix into d538ddd8787645ed9ca1a4b93adeb40b2df18689 on 01org:master.


Mica and Some Button SVG Files Can't use in Firefox 117 and Up

Description
I am experiencing the same issue as reported in the link below where the Mica effect is missing and the minimize, maximize, and close buttons for the window are all the default ones instead of using the svg files.
Inferred Cause
I guess it was the new update to change the rules. Maybe it deleted or changed a value -moz-win-borderless-glass.

Reference link: https://github.com/bmFtZQ/edge-frfox/issues/98#issuecomment-1698402407

URL: https://www.mozilla.org/en-US/firefox/117.0/releasenotes/?utm_source=firefox-browser&utm_medium=firefox-desktop&utm_campaign=about-dialog

Reproduce
Buttons
After installing this theme, you will see that.
Mica
See this link: https://github.com/bmFtZQ/edge-frfox#mica-tweak-instructions-windows-11-only
Include screenshot / video recording if possible.
Buttons

Mica

Configuration

Firefox Version: 117.0.1
OS: Microsoft Windows 11 22H2 Build 22621.2215

Buttons Reference source code: https://github.com/bmFtZQ/edge-frfox/blob/main/chrome/icons/icons.css
@media (-moz-windows-compositor),
(-moz-gtk-csd-available) {
  .titlebar-min {
    list-style-image: url("win11-minimize.svg") !important;
  }

  .titlebar-max {
    list-style-image: url("win11-maximize.svg") !important;
  }

  .titlebar-restore {
    list-style-image: url("win11-restore.svg") !important;
  }

  .titlebar-close {
    list-style-image: url("win11-close.svg") !important;
  }

The implementation method of Mica effect is not yet known.

No one at here to see them?
Oh c'mon😅

The window control button icons should work now. Unfortunately Mica does not work in newer versions of Firefox.

Mozilla removed the CSS appearance value (-moz-win-borderless-glass) that this theme used for Mica. This value was designed to be used for the Aero effect on Windows 7, but when using Mica For Everyone, the same value could be used for the Mica effect. Firefox 116 removed support for Windows 7 and 8, so the -moz-win-borderless-glass value was also removed.

Mica has been removed from this theme due to the removal of the appearance values. As of now since there is no way to use Mica in newer versions of Firefox, I will be closing this as not planned.

👌


Filter by replyrequest count

Fixes #61

Coverage remained the same at 61.667% when pulling 99bb0f7eb54542fda4d681aac7c0c507147c314f on filter-by-replyrequest-count into 265f05f408e00bc64401ffac6b3a6bb9a63eb258 on master.


[router] Contract adapters refactor

The Problem
Lots of redundant code in contract adapters for router.
The Solution
Condense into using helper methods. Basically I moved this 1-2-3 step logic and all the relayer handling into one separate helper method sendRouterContractTx. Instead, every router contract method just produces the unique arguments and passes it down to the helper. This will help us improve the logic here much quicker in the future (if we need any additional preflight checks, any more metrics recorded, anything else logged, or any fixes done, it will all be in one place).
Still needs unit tests written.
Checklist

[ ] Add unit tests.
[ ] Update CHANGELOG.md.
[ ] Update documentation if needed.

closing this pr, because of inactivity. Please reopen it if necessary.


"Florești" is listed in the drop-down menu

Description:
"Florești" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Florești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Florești, Alba (Câmpeni)".


⬆<EMAIL_ADDRESS>

Release notes: https://electronjs.org/releases#2.0.4

We anticipate that the upgrade from Electron 2.0.3 to 2.0.4 will resolve the following issues:

https://github.com/atom/atom/issues/17557 - We suspect this issue was caused by https://github.com/electron/electron/issues/12676.
https://github.com/atom/atom/issues/17565 - We suspect this issue was caused by https://github.com/electron/electron/issues/13404.

:shipit:

veamos la utilidad


choiceCasesResolver: fixing GetElemName()

GetElemName() returned case names instead of element names of the respective cases.

This should be fixing #155


Tabs are Reordered on Multi-Window Session Restore

Ever since the update that causes the known issue (tabs being moved after being opened), tabs are being reordered when Firefox is opened and a multi-window session is restored. It seems like the add-on is being triggered for every tab opened by the session restore, which is causing tabs to be re-ordered unpredictably. Is there a way to limit this add-on to only activate when a new tab is created from the "New Tab" button, rather than when Firefox is first opened and a session is being restored? I have two windows with several tabs each, and it seems like one window has its tabs basically reversed, and the other window has the last tab moved almost all the way to the left, but this behavior is not consistent.
Steps to Reproduce:

Open two Firefox windows with 5+ tabs each.
Close Firefox (File -> Exit, with session restore enabled).
Re-open Firefox.
Notice tabs are moved to new positions after Firefox is opened.

I had a really good way to handle this problem before, but with the new APIs, there isn't. I thought I had it covered by a heuristic, but apparently not :-( How do you do a multi window restore? Isn't only the last one recovered? Or do you use an add-on for that? That might cause the problem too...

Nope, no add-ons - when I have "Show your windows and tabs from last time" selected for "When Firefox starts" in the General options page, if I close Firefox by choosing File -> Exit (aka menu button -> power button), then all my windows and tabs are closed at once, and then restored when I re-open Firefox.

I have difficulties debugging this and confirming any changes any make. I uploaded a new beta to https://addons.mozilla.org/firefox/addon/open-tabs-next-to-current/ (click link at the bottom) that might fix it. Would you mind installing it and letting me know how it goes? Thanks!

Just installed 2.0.4 and it looks like you fixed it - my tabs stay where they were when I open Firefox. Thank you!

Correction: I hadn't realized you didn't merge your fix attempt to 2.0.4, so after a couple more Firefox restarts, the behavior returned. I installed the Development channel version 2.0.3b3 and it looks like the fix worked. Thanks again!

The proper release version went through review today if you want to switch...


Unset stack labels

DO NOT MERGE (or bother evaluating)
This PR will be replaced with a fixed version once #1742 is merged.
Replaced by PR #1762 Unset stack labels
WARNING:
This PR builds on top of #1742 which adds the show-label functionality for a stack. Please make sure it is merged first.
Pertinent commits:
Implement cf unset-label stack STACKNAME
This branch was based off of show-stack-labels-167250651, so the pertinent diff command is this:
git diff origin/show-stack-labels-167250651 origin/unset-stack-labels-167579028
Does this PR modify CLI v6 or v7?
v7
Description of the Change
App operator should be able to use a new CLI command cf unset-label stack STACKNAME LABEL... to remove labels from a stack
Tracker Story: https://www.pivotaltracker.com/story/show/167579028

Replaced by PR #1762


python3Packages.iso8601: build with poetry

Description of changes
This is more in line with how it should be built, instead of using the setup.py shim Poetry generates.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build python310Packages.iso8601 python39Packages.iso8601


Reduce Windows script 127 issues after switching from servercore to server images

Description
Reduce Windows script 127 issues after switching from servercore to server images
Issues Resolved
https://github.com/opensearch-project/opensearch-ci/issues/412
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks for the fix @peterzhuamazon . This will solve windows runs failing with ERROR: script returned exit code 127

Yep!


Fixed #456 sequenceDiagram: dotted line for alt and empty bracket sho…

…uld be hidden
And draw label with right bottom corner cut

Merging! Thx


Files don't appear when browsing in remote SSH

VSCode Version: Code - Insiders 1.52.0-insider (24b28f5, 2020-11-06T05:39:23.276Z)
OS Version: Darwin x64 19.6.0
Remote OS version: Linux x64 5.4.0-1031-azure

Steps to Reproduce:
Via a VS Code extension running in remote SSH.

Use vscode.window.showOpenDialog to browse for files on the remote machine with the following options:

            {
                canSelectFiles: true,
                canSelectFolders: false,
                canSelectMany: true,
                defaultUri: Uri,
                filters: {
                    "All files": ['*']
                },
                openLabel: "Upload"
            }

No files appear - only folders

Does this issue occur when all extensions are disabled?: N/A

/verified

Thanks @wwlorey !


[HOLD for payment 2023-07-17] Hide Send money from the front-end

Problem
Send money is a beta feature that we don't have immediate plans to launch, nor it is even finished. The thing is though, we're treating it as part of the platform even despite this, which creates a bunch of extra work and upkeep that sucks focus and urgency from reunification.
Solution
Let's hide Send money from from global create the only place where it currently exists. In addition, let's remove documentation related to Send Money on https://help.expensify.com/hubs/send-money.

cc @maddylewis what's the process for removing the documentation, once Send Money is removed?

here are the instructions on how to delete an article - https://stackoverflowteams.com/c/expensify/questions/15144

im not sure how to delete a hub off of the top of my head, but we're planning to delete/restructure the existing hubs so that will happen relatively soon via https://docs.google.com/document/d/1MjTYzA-uo7ShLjo8x3XLA7EkSAhx0Yc9W43PPnKV3co/edit.
i can track down how to delete a hub from the site in the meantime!

@johncschuster - do you know how to delete a hub on the help site? i think we would need to delete/move the articles from the Send Money hub first and then we'd have to the option to delete a hub?
i was trying to work backwards using these instructions - https://stackoverflowteams.com/c/expensify/questions/15131

👀  at this 🔜

@maddylewis I will try to get @marcochavezf to help us with this. I made some edits for the docs if you want to take a look at what I did here. Mainly just removed all the references to "Send Money".

@marcaaron - thanks, let me take a look!

Just a heads up these changes are on staging now so we should be removing "Send money" in the next App release.

Requested payment on ND

Approved $1k for Santhosh for this PR

Not Overdue

@marcaaron We can close this, payments are settled!


before_action instead of after_action for :verify_authorized?

Hey! I was looking for an alternative to cancan and stumbled on pundit and I'd say it looks very nice. I saw this in the README, though:

Ensuring policies are used

Pundit adds a method called verify_authorized to your controllers. This
method will raise an exception if authorize has not yet been called. You
should run this method in an after_action to ensure that you haven't
forgotten to authorize the action. For example:

class ApplicationController < ActionController::Base
after_action :verify_authorized, :except => :index
end

This seems to suggest that authorization checks should only be run after the action. As far as I know (I might be wrong, though), this means that the action would run entirely before the exception is raised, which in turn would mean the changes the user is trying to make would take place, even though they just wouldn't see the results in the server's response.

Wouldn't it be correct to use `before_action` instead?

Hi @jnicklas, I agree with @gabrielecirulli that this method definitely can give a false sense of security. The use of this after_action is a bit confusing/mis-leading. Is the original use case for developers to use this during development only to flag methods that don't call authorize? Is this to catch instances in production that don't call authorize? If the latter is the case, then the vulnerability will still exist for any state-changing controller action. If the former is the case, then does a developer just leave this in their code even though it shouldn't ever have any implications in production code? I went through the same thought process as @gabrielecirulli after reading that section.
I think at the very least, there should be an explicit warning in that section of the README for developers not to rely on this method in production and that state changing actions will persist even after the exception is raised.

Is the original use case for developers to use this during development only to flag methods that don't call authorize?

Yes.

If the former is the case, then does a developer just leave this in their code even though it shouldn't ever have any implications in production code?

Yes. Because the whole point is that code changes, and someone else might do something which causes authorization not to be performed. It's a safety net. Removing it removes the safety net.

This method will raise an exception if authorize has not yet been called.

I'm not really sure how we can make this much clearer. If you actually read this section, I think it's pretty clear what this is for. I'd be open to a PR improving the documentation here if you feel strongly about it.


Import of QIF files created by KMyMoney doesn't work

I'm currently using KMyMoney to manage my finances, but I wanted to give Money/Denaro a shot, so I exported some of my transactions into a QIF file and used Denaro to import it, but it always shows 0 transactions imported.
Version: 2023.1.0 (Windows x64)
Steps to reproduce

Download and install KMyMoney and create a new file (I chose the US - Base - Simple template)
Create a new bank account and some transactions
Select File -> Export... -> QIF
Select the bank account with the transactions on it, make sure both "Categories" and "Account" are ticked and exportz to QIF
Switch to Denaro and import the QIF

Expected result: The transactions shoud be imported into Denaro.
Actual result: "0 transactions imported from file"
I've included the QIF I've used for further testing. sample.QIF.txt
It would be very handy if this style of QIF could be supported to make switching to Denaro easier!

Will be fixed in #286
NOTE: QIF files must have dates in US format. OFX files must have dates in YYYYMMDD format (as per document specifications).

https://github.com/nlogozzo/NickvisionMoney/releases/tag/2023.2.0-rc1-f1


Add Paramedic access and airlocks

About the PR

I added the Paramedic access to the ID card console, as well as on some ID cards. I also added two airlocks with the "Paramedic" access: one opaque, one glass.
Why / Balance

Fixes https://github.com/space-wizards/space-station-14/issues/20652
The paramedic secure windoor is in the game, but it's half-implemented; the access isn't actually there. Adding this means that mappers can make paramedic rooms and the like.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
:cl:

add: Paramedics now have their own access. Their voidsuits are now safe from the interns!

isnt the paramedic access broken?

https://github.com/space-wizards/space-station-14/issues/20652

The access doesn't really exist on SS14 as it stands now. All this PR stands to do is complete the set. Should the Paramedic access exist in a future PR, the airlocks would be ready to be mapped.
Unless it would be preferable for me to simply add the access in the same PR.

yeah i think it would be prefferable

yeah i think it would be prefferable

Should be all good now, then! lmk if I'm missing something

make sure you add in the description that it fixes that issue i linked

Does paramedic access appear on the access configurator too?

Does paramedic access appear on the access configurator too?

It does now. Good catch.

Paramedic doesn't need its own access.

i disagree, doctors love to loot the paramedic lockers for the EVA suit

I agree with the above point, plus as a mapper I think having the freedom to make a little paramedic-only room on a station could be neat.

Alternatively, you could require medical and external access on paramedic only areas and objects, instead of having a dedicated paramedic access ID. It would accomplish the same goal

that would make it impossible to make a paramedic room using ingame tools as they can only do multiple groups of 1 rather than 1 group of multiple required accesses

Alternatively, you could require medical and external access on paramedic only areas and objects, instead of having a dedicated paramedic access ID. It would accomplish the same goal

Is there any precedence for an item requiring more than one access?

I would argue paramedic doesnt need its own access because the paramedic by its own job description isnt going to spend any time in its own little room, the job entails going out there and finding injured crewmembers and bringing them to med for treatment. I dont really see why paramedic would need its own acces separate from rest of medical.

in ss13 the paramedic actually gets basic access to other departments like engi, sci and cargo to retrieve the dead, but dont have access to the surgery room

There's a paramedic locker too, that would use this. Having little paramed closets/rooms is a nice idea.

Paramedics having their own access isn’t necessary. The access should probably just be removed entirely instead of half-implemented as it is currently.

Paramedics having their own access isn’t necessary. The access should probably just be removed entirely instead of half-implemented as it is currently.

why not, though?

Paramedics having their own access isn’t necessary. The access should probably just be removed entirely instead of half-implemented as it is currently.

why not, though?

atmos tech: separate access due to high risk department
chemistry: high-risk area
warden: high-risk
paramedic: not high-risk and should just be flavour role.

the paramedic's job is to bring the dead to medbay so the doctors can be there full-time, i wouldn't call that a flavor role, exactly

the paramedic's job is to bring the dead to medbay so the doctors can be there full-time, i wouldn't call that a flavor role, exactly

and most of the time, the people around the corpses bring it to medbay, they don't wait for paramedic to do that

and most of the time, the people around the corpses bring it to medbay, they don't wait for paramedic to do that

well it kindof depends where they are and if they have coords on or not. regular crew arent expected to be telling people to put coords on or look for bodies

Can we reopen this? Paramedic lockers alone are a perfectly valid reason to have their own access. They are absolutely not just a flavor role, they have a fundamentally different role within the station - and valuable suits that other doctors love to nab, which is extremely frustrating.


Implement initial UI

@linusg Adding you here to track the work you are doing.

@djalmaaraujo Sure, sorry for the rant. I have got a basic wrapper for the script working, still not completely happy and thus improving it one more time. Expect the code in a few minutes, just one question:
At the time my instantiation looks like this:
window.spotifyDownloader = new SpotifyDownloader('/home/linus/.virtualenvs/spotdl/bin/python', '/home/linus/spotify-downloader/spotdl.py');

Not sure if there's a more straightforward way to create an object accessible in all react components than window.spotifyDownloader, but let's talk about this later. I'm concerned about having hardcodd paths like this in the git. Any advice?

Hmm yeah that's a bit problematic. I've been reading on the other threads. Trying to keep up with you guys lol

Also, just to let you know, I've started some work on the spotify-downloader side. Ritiek is fine with adding several error codes, so here we go: https://github.com/ritiek/spotify-downloader/issues/162.

So, even though I have not pushed yet for obvious reasons, here's a GIF:

The file is indeed showing up:

The new error codes in spotify-downloader (not yet published) work fine too:

I got the exit callback working, so next would be a loader icon showing up while it's fetching.
So, for now I'm waiting for anyone's response in terms of pushing these paths. :wink:

Another huge update for you guys:

Here's the PR, please comment and comment and comment! https://github.com/djalmaaraujo/spotifube/pull/12
(Sorry, I've been super busy & excited and forgot to split into multiple commit, so it's one huge thing)

Update: you will need the newest commit of the return-codes branch: https://github.com/ritiek/spotify-downloader/tree/return-codes

I would probably edit how the errors show up and what not, but I like the general look of this.

Sure, any sketches, explanations or even actual code changes are appreciated 🙂

A thought on the spotdl.py script and paths...

We could ask the user to place spotdl.py in their path or...
We could tell the user to place it in their home path.

In python, you can easily get to the home path cross platform:
from pathlib import Path
home = str(Path.home())

I don't know an equivalent way of doing that w/ electron right now.
3. We could have an option at some point wiht this app to download/install spotdl & its dependencies...that would ensure it's installed where we want for the app to work.

Just my 0.02$, maybe could ask the user to point towards spotdl.py's location from the GUI and then just call the script from the same path with necessary arguments?
It should be possible to run the spotdl.py from any current working directory as of ritiek/spotify-downloader@d39272d6a2854f203482c5fbdaa55fb9de1f3db9. I've merged this change and also the branch return-codes with ritiek/spotify-downloader#164 to master.

@linusg Awesome awesome work. Looking pretty good. Just one heads up. Since you are running "bash" commands, this file: src/renderer/spotdl/index.js could be inside main folder, right? renderer is just for UI things.
@ritiek Awesome suggestion. Maybe the first run could have this. We can use https://www.npmjs.com/package/electron-config to save this and the default output folder, although right now I would ask for a new folder on every playlist, since we don't have a preferences UI yet.

@linusg I will try to get sometime later and do some refactoring in the CSS part. We should try to split the component into smaller parts, but I wouldn't matter right now.

Yep, was not too sure where tu put the file as it somehow mixes up pretty much. Ok, CSS refactoring can be done soon or later. I can look into the package you've suggested and implement a very basic settings dialog. It would be the most clean way in my eyes to also have the Python binary and the script as a config value, not just in PATH, as venvs are very common at least for pythonistas.

Just my $0.02, maybe could ask the user to point towards spotdl.py's location from the GUI and then just call the script from the same path with necessary arguments?

Definitely the easy way for starting off things assuming they know where it is lol! Users can be...somewhwat confused.

Definitely the easy way for starting off things assuming they know where it is lol! Users can be...somewhwat confused.

I mean, they had to manually clone the repository as it's the only way we provide the spotdl.py script for now. Not on PyPI, any Linux distro repos or similar. And the have to issue a command with the python binary, I think we might expect such a basic level of knowledge :wink:
So, I tried implementing a first startup dialog including two inputs (might change this to a file dialog later, for now it's really simple but avoids the hardcoded path). You'll see and understand, but I'm stuck:
On compiling I get this:
WARNING in ./node_modules/conf/index.js
25:27-43 Critical dependency: the request of a dependency is an expression

It simply won't run and I have no idea how to resolve this. Various searches brought some ideas what the issue is about but no satisfying solution yet.
Code is this:
import { Config } from 'electron-config';
import React from 'react';

const config = new Config();

export class InitialConfig extends React.Component {
  ...
}

Later, in the Main component there's simply a <InitialConfig />.
Please help!

Can you push that to a separate branch so that I can check it out and debug? @linusg

Im on the phone right now, but later I can push the (not working) code to the initial-ui branch or create yet another one. What would you prefer?

@linusg I'd say create a new branch, broken-config. After debugging, can push to the initial-ui since it is  a "working" demo.

@linusg I don't know because I didn't test, but if you remove the {} in this line import { Config } from 'electron-config'; should work.

Ah, come on, that's not fair :wink:
Still not at home but I'll try for sure, thanks to both of you!

So, this did not work. Sorry, @djalmaaraujo :disappointed:
But here you go, sorry for being late: https://github.com/djalmaaraujo/spotifube/commit/6d66934ce7850c4da857ad1831a46e92608a4af3 (branch config-dialog)
I've changed it back to an import with curly braces, did not work either way.

Ah, I noticed I pushed it without the braces (https://github.com/djalmaaraujo/spotifube/commit/6d66934ce7850c4da857ad1831a46e92608a4af3#diff-92bdc4e9b9726f98a6f40f4b6d5bf621R1). I'm tired, until tomorrow folks.

So, just another fast update: I found an (closed) issue (and a dup) on their GitHub: https://github.com/sindresorhus/electron-store/issues/3
So it's Webpack's fault, but I have no idea how to integrated the proposed solution as we don't even have a webpack config (somehow managed by electron-webpack?). Feel free to investigate.

@linusg I am using this module. Try electron-store instead of -config.
const Store = require('electron-store');
const store = new Store();

Still no luck with electron-strore (neither with and without braces nor with require or import), seems to be a problem caused by webpack with the underlying conf module for both electron-config and electron-store.
WARNING in ./node_modules/conf/index.js
25:27-43 Critical dependency: the request of a dependency is an expression

Just a heads up, electron-config seems to be electron-store: https://github.com/sindresorhus/electron-store/issues/4 :wink:

@linusg  you get this working? I've been reading on the above thread? Currently been testing it out.

Stop working on this specific issue, I got it. Spent some hours on it, read a lot of docs and hat to upgrade electron-webpack for being able to extend their webpack config. Here you go, the config-dialog branch is gone: https://github.com/djalmaaraujo/spotifube/pull/12/commits

When using wrong paths, it fails with a "unknown error" (I noticed this accidentally), we might change this to a more specific error. However, the dialog works and appears, whenever there's not both the script and the python binary found in the config. Right after the initial config is done and saved, it will not show up anymore.
Please tell me what you think, and what you're working on or planning to work on.
@djalmaaraujo indeed splitting up the sass code should be done soon or later :wink:

Will test soon. Not on the computer now.
On Sat, Dec 2, 2017, 8:51 PM Linus Groh<EMAIL_ADDRESS>wrote:

When using wrong paths, it fails with a "unknown error" (I noticed this
accidentally), we might change this to a more specific error. However, the
dialog works and appears, whenever there's not both the script and the
python binary found in the config. Right after the initial config is done
and saved, it will not show up anymore.
Please tell me what you think, and what you're working on or planning to
work on.
@djalmaaraujo https://github.com/djalmaaraujo indeed splitting up the
sass code should be done soon or later 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/djalmaaraujo/spotifube/issues/11#issuecomment-348719222,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAANSnfK47i-RzoOoQu4eB0v0lMLC-IAks5s8bhDgaJpZM4QvAoZ
.

--
Djalma Araújo
+351 910623833
nossomos.cc

Tested it and it works well @linusg! What are you about to turn to working on next? I'll fill in things along the way.

Glad to hear! Please feel free to pick a task you would like to work on, as I don't have anything uncommited for now. Of course there's a lot to do even for stage 0, reading the created txt file and displaying the number of songs, downloading (Button, dialog, choosing a path, next time taking the path as default but still being able to choose another one), more and proper error handling, refactoring of the Sass code, improving the initial config (checking the existence of the paths), adding more explanations, probably tooltips, ...
So, you may tell me what you like and I choose my next task then. :smile:

Right now, I'm just sort of playing around, but I'm interested in working on reading the created txt file and displaying the number of songs as well as making some minor edits to the sass, but not much.

@sdhutchins just do it, don't think, hehehehe. :)

Yup, that would be a great next step @sdhutchins! I think it might be easier for us to not use the -l flag of the spotdl.py script but rather the -s flag to download each song separately. This way we can easily implement a progress widget and calculate the percentage (songs_downloaded/songs_total). Just to keep in mind, except you guys have something different in mind.

And are we still continuing working on the initial-ui branch until we have a working download button or can we merge this into master and continue with a new one for parsing and displaying the txt file and another one for download?
Still no complains on my code, thought there would be more critical reviews hehe :wink:

@linusg I think if @sdhutchins tested your code, we can merge to master so she can work in a new feature. I will do a review now and merge your code.

@linusg Did an initial review. Can you please do some changes before I merge?

@sdhutchins You can always start from his branch and later rebase with master.

@djalmaaraujo will do.

Code reviewed and merged. New branch, New PR.

Wohoo
🍬🍬🍭🍭🍧🍧🍦🍦🍰🍰🎂🎂

Nice! But this issue is still in progress, right? 😉
Can't wait for the initial release...

@linusg I think we have enough for initial UI. We already have colors, sizes, etc. Let's finish this issue once for all.


fix: omit cancellation logging when panicking

noticed while describing RequestSpan, this fix will omit the otherwise logged message about request being cancelled when panicking in the request handler. this was missed on #4064.

Testing done manually:

requires modifying the /v1/panic handler to not catch_unwind around the panic

Was thinking, could this be tested in a unit test. Yes, assuming we are able to somehow use the tracing mock capabilities from a test. Am I interested doing all that and risk having this closed because I am not fast enough again? No.

scopeguard

Can you disarm it? I think not. This is plain rust so you don't need to review a library to understand what does this do.


Tweaks for some machines

Solar panel now only functions in sky light (some shade OK)
Destroyer Block attempts to break block with shears if there was no drop loot
Fertilizer can create grass/flowers on grass, or seagrass underwater
Fertilizer can use bonemeal in gui slot to double fertilization
Fertilizer should actually use energy now when fertilizing
Pump block tests for infinite fluid instead of just treating all still water as infinite
Tree Cutter stops working when inventory is full
Tree Cutter treats warp blocks / glow shrooms as "leaves"
Tree Cutter can also cut large mushrooms

Let me know if you want me to separate any of these out.

I just had a thought that the tree cutter could also cut chorus plants, especially because it would be somewhat likely to cut the chorus flowers first.. but then I thought that it might be stretching the "tree cutter" idea a little far. What do you think? It would just be adding chorus plants / fruits to the definition of "logs" and "leaves".

Another thing I just thought of (while working on the manual), should the block placer be able to use buckets to place fluid?

Hi, i really like most of those changes. For the wood cutters new block types, maybe we could add new block tags of things that the wood cutter can treat as tree? This could include the tags for the wood types, mushrooms, warped stems, and anything else pack makers might want to include?

Also I'm not too sure how I feel about the fertilizer additions. Is fertilizing underwater and fertilizing grass really a usecase that players have? Cause it adds a lot of complexity both code-wise and performance wise. I guess in most cases the change will be too small to notice a dip in performance, but on large servers with players spamming these farms it could be relevant. I want to keep the machines as simple as possible while still giving them as much function as needed

Same for the fluid infinity checks. It does this check on every block it mines, not just when initializing and then stopping the search early. The only real usecase for this I can see is players with the infinite lava gamerule enabled, which is very few I assume. I'm fine with treating a single water block as infinite, as plenty of mods add infinite water methods, and having this check for each pump does add up. Also it makes the logic a lot more complicated, while adding very little benefit to most uses

The tag idea for the wood cutter is way better, and would also make it easy for pack makers to include modded trees or other strange tree-like things.
For the underwater fertilizing, I was mostly thinking about seagrass. That's a pretty niche farm, though, and I don't even know how often people want to breed turtles so much that they want to automate farming the seagrass. I was just thinking through all of the things that bonemeal can fertilize, and thinking that the fertilizer should be able to do it to. It's probably unnecessary. Same with the grass, it's useful for farming flowers for dye or bees. I can see how switching to bonemeal can be a lot more expensive, though.
Maybe for those, I'll revert the changes but keep doubling the fertilizer's growth (with the current method of increasing a crop's growth stage) if there's bonemeal (or other tagged fertilizer) in the fertilizer's inventory slot.
Would you be OK with the pump change if I made sure that it only did the check when initially caching pump positions? If not I can undo it and just let it pump water infinitely. As you said, that's going to be right most of the time. I'm not even aware of other infinite fluids in mods.
Thanks for entertaining my ideas, and as usual I really appreciate how much thought you've put into performance.

OK, changes are pushed in.

The fertilizer work was reverted, except for c:fertilizers doubling the effectiveness of the machine.
Pump block changes were reverted.
Treecutter works with oritech:mineable/cutter_logs and oritech:mineable/cutter_leaves (let me know if you can think of a better tag name)

One change from before: mushroom stem is a "log" and red/brown mushroom blocks are "leaves" (instead of treating any mushroom block as a "log".
Also, Mangrove roots are a "log" here, but conceptually would it make more sense to add it to "leaves"?

Hi, the changes are looking good so far, I'll go ahead and merge it. Huge thanks again for the PR. Mangrove roots as logs should work just fine. The only different when handling leaves is the tree stem detection, shich shoudn't really matter here


Further optimize memory for Travis jobs

Fixes https://github.com/apache/incubator-druid/issues/6149.
I tested this PR by triggering several Travis jobs, and could see processing module succeeded 5 times in a row.
In this PR,

Added CloseableDefaultBlockingPool and CloseableStupidPool for only unit testing to release buffers as soon as possible. Some tests can be further optimized to release buffers per parameterized run once Junit 4.13 is released which contains https://github.com/junit-team/junit4/pull/1435. With this change, processing module testing can be run with 1500m off-heap memory.
Changed to use different memory configuration for testing processing and others. processing requires small heap and large off-heap memory, but others are opposite. I set the default memory configuration to -Xmx1500m -XX:MaxDirectMemorySize=512m in ${DRUID_HOME}/pom.xml. processing has its own configuration, -Xmx512m -XX:MaxDirectMemorySize=1500m in ${DRUID_HOME}/processing/pom.xml. These configurations can also be set per Travis jobs using _JAVA_OPTIONS, but I think it's better to put them in pom.xml files to use those configurations whenever running tests even in local.
Changed all unit tests to be run sequentially to use less memory. Since parallel-test spawns new processes, it's not easy to control the memory being used by each process.

👍


[FLINK-11987][flink-connector-kafka-0.11] convert NEXT_TRANSACTIONAL_ID_HINT_DESCRIPTOR to a non-static variabl…

…e to avoid StateDescriptor#initializeSerializerUnlessSet throws NullPointerException
What is the purpose of the change
To fix a problem in flink-connector-kafka-0.11 which can cause StateDescriptor#initializeSerializerUnlessSet to throw NullPointerException
Brief change log
convert NEXT_TRANSACTONAL_ID_HINT_DESCRIPTOR to a non-static final variable
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? no

The Pull Request description seems a bit off. Could you add a proper description, as per the common contribution guidelines?

The Pull Request description seems a bit off. Could you add a proper description, as per the common contribution guidelines?

description edited.
Should I change my PR to fix StateDescriptor instead? Maybe that's indeed a better way.

@Zor-X-L Thanks for the patch. The issue is essentially StateDescriptor is mutable and not thread safe. The patch fixes the issue in FlinkKafkaProducer011. There might be somewhere else in the code having the same issue.
I agree with @StephanEwen that a better fix would be in StateDescriptor itself. There are two possible fixes:
Option 1:
Ideally,  StateDescriptor should be immutable. The typeInfo field is only used to create TypeSerializer. We can probably do this in the constructor instead of saving the typeInfo and creating the serializer lazily.
However, because creating TypeSerializer from TypeInfo depends on the execution config which is usually not available when the StateDescriptor is constructed, the TypeSerializer have to be created lazily at runtime, unless we make some larger interface change.
Option 2:
Fix StateDescriptor to make it thread safe. This is more feasible at this point. There are currently three fields that might be modified after construction. ttlConfig, querableName and typeSerializer. I think we can just synchronize on them to make sure they are only set once. It still has caveats that users may set multiple different values while only the first value will take effect, but it is no worse than the current situation.
@StephanEwen what do you think?

Thanks for the analysis @becketqin , and I also agree that we'd better fix the issue from inside StateDescriptor.
Regarding the options, besides the already proposed two, there's a 3rd option: making StateDescriptor.serializer singleton with CAS plus removing the nulls out of StateDescriptor.typeInfo to prevent NPE caused by race condition, as suggested by @StephanEwen in JIRA. IMHO this is a more light-weight and quick fix for the time being. Wdyt? Thanks.

Thanks for your comments @becketqin @carp84!
Hi, @Zor-X-L, Thanks for the PR, and do you want to continue to solve this problem?

Thanks for the analysis @becketqin , and I also agree that we'd better fix the issue from inside StateDescriptor.
Regarding the options, besides the already proposed two, there's a 3rd option: making StateDescriptor.serializer singleton with CAS plus removing the nulls out of StateDescriptor.typeInfo to prevent NPE caused by race condition, as suggested by @StephanEwen in JIRA. IMHO this is a more light-weight and quick fix for the time being. Wdyt? Thanks.

@carp84 Yes, CAS + not nullify works. It is essentially one way to synchronize on the fields. On the other hand, given that performance is probably not a concern here, personally I feel adding a synchronized block seems less work and more readable.

Thanks for the reply @becketqin .
Since this is a blocker issue and it seems @Zor-X-L hasn't replied yet, how about I create another PR for a quick fix @sunjincheng121  @becketqin @StephanEwen ? Thanks.

It sounds pretty good!
IMO, Feel free to open the PR! :)
Great thanks!

Thanks for the confirmation @sunjincheng121 , have just created PR#8570 to supersede this one, FYI.

I'm closing this as "Abandoned", since there is no more activity and the code base has moved on quite a bit. Please re-open this if you feel otherwise and work should continue.
The associated Jira issue is also closed by now.


Automerge minor and patch Jest updates

Changes

Automerge minor and patch level Jest updates

Context

I don't know if you want to manually verify the Jest tests? (I don't think we actually run any Jest tests at all right now?)
We should still manually check the changelogs for major Jest updates, as those are likely to have major new features/breaking changes.

We could even uninstall jest for now until is used for real.

I tried getting Jest setup to test our components, but this is too complex for me to do.
Also it seems there is no documentation on working with Next.js + Jest specifically, so I don't know what the best practice would be.
I did find Cypress.io, that seems a really nice test app. Maybe you can take a look at that and see if that might fit better than using Jest?
https://www.cypress.io/

I opened an issue to discuss creating some actual tests (#177).
Maybe it's best to just remove the Jest dev dependency until we're actually using it. 😄


[FIX] Can't read DB_WORLD_KEY_PREFIX from real device

fixed.

@EugeneButusov, thank you to fix my fault


Title bar will not change version but dashboard will

I got this message after updating my RPi:
Warning - Your system is actually running Raspbian Linux version 10.
and that is correct and after i pressed the button it will update the version on the dashboard but it will not update the title bar as you can see here:

Maybe you could force an update of the page so the title bar also will change version when i press that button?

Hi, Sopor!
Thanks for the heads up. Fixed.


Use EmittingPublisher in OutputStreamPublisher to remove busy waiting

Signed-off-by: Daniel Kec<EMAIL_ADDRESS>

There was a lock in write method but I would expect java.io.OutputStream#write(byte[], int, int) should be always presumed as not thread safe(rule 1.3 should be assured by EmittingPublisher anyway)
          synchronized (invocationLock) {
                if (subscriber.isClosed()) {
                    throw new IOException("Output stream already closed.");
                }

                sub.onNext(createBuffer(buffer, offset, length));
            }

The changes to BufferedEmittingPublisher are racy.


add BAT Test - restart stopped instances

Test to verify that stopped instances can be restarted.
Need to verify network of the restarted instance. E.g. connecting via ssh to the instance.

This is already tested by a number of BAT tests including TestStopRestartInstance and TestEvacuateRestore


source control always stuck

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:
Version: 1.96.0
Steps to Reproduce:

Open Source Control
It will stuck

reload window can fix temporaryly but will stuck again

Please use the "Help: Troubleshoot Issue..." command from the command palette to investigate the issue.
Extensions can set the "progress indicator" on the "Source Control" viewlet so we need to rule out any extensions first.

I also encountered a similar issue.
As a temporary workaround, it seems that disabling the 'Python' extension resolves the problem.

Seeing same issue. After seeing @TOga1220 comment, I downgraded the Python extension to version 2024.20.0 and SCM works as expected.

Thanks @TOga1220, I had the same issue so I reported the bug in the Python extension repo: https://github.com/microsoft/vscode-python/issues/24612

Thank you! i will close this issue in favour of the one from the Python extension.


Egress rules present in a network are not getting applied to a kubernetes cluster

ISSUE TYPE

BUG Report

COMPONENT NAME
Component: Kubernetes
CLOUDSTACK VERSION
Cloudstack version 4.18
SUMMARY
Egress rules present in a network are not getting applied to a Kubernetes cluster
Steps to reproduce the issue

Launch a Kubernetes cluster

Connect to the Kubernetes cluster

Go to Isolated network > Egress rule tab and allow ALL

Deploy application on the Kubernetes cluster

For example a nginx application
kubectl apply -f nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Get a public Ip for the application via this command

kubectl expose deploy/nginx-deployment --port=80 --type=LoadBalancer
Actual Results
The application fails to deploy with the error "Failed to Pull Image"
NAMESPACE              NAME                                              READY   STATUS              RESTARTS        AGE
default                nginx-deployment-6595874d85-4p22k                 0/1     ImagePullBackOff    0               54s
default                nginx-deployment-6595874d85-wlwq5                 0/1     ImagePullBackOff   0               54s

  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  93s                default-scheduler  Successfully assigned default/nginx-deployment-6595874d85-wt6fs to ghj-node-18a3bfa3ee3
  Warning  Failed     62s                kubelet            Failed to pull image "nginx:1.14.2": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/nginx:1.14.2": failed to resolve reference "docker.io/library/nginx:1.14.2": failed to do request: Head "https://registry-1.docker.io/v2/library/nginx/manifests/1.14.2": dial tcp <IP_ADDRESS>:443: i/o timeout
  Normal   BackOff    61s                kubelet            Back-off pulling image "nginx:1.14.2"
  Warning  Failed     61s                kubelet            Error: ImagePullBackOff
  Normal   Pulling    48s (x2 over 92s)  kubelet            Pulling image "nginx:1.14.2"
  Warning  Failed     2s (x2 over 62s)   kubelet            Error: ErrImagePull
  Warning  Failed     2s                 kubelet            Failed to pull image "nginx:1.14.2": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/nginx:1.14.2": failed to resolve reference "docker.io/library/nginx:1.14.2": failed to do request: Head "https://registry-1.docker.io/v2/library/nginx/manifests/1.14.2": dial tcp <IP_ADDRESS>:443: i/o timeout

Logs, for the failure to acquire a Public IP

I0828 11:43:28.584138       1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"nginx-deployment", UID:"65d909ec-2cd8-4097-9bb7-6f12b5962d2b", APIVersion:"v1", ResourceVersion:"910", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer
E0828 11:43:35.876153       1 node_controller.go:245] Error getting node addresses for node "tyu-control-18a3beffe8f": error fetching node by provider ID: error retrieving node addresses: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listVirtualMachines&id=&response=json&signature=l0PsF46pf1lSvdBd48O%2FjXA4q1k%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout, and error by node name: error retrieving node addresses: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listVirtualMachines&name=tyu-control-18a3beffe8f&response=json&signature=9s6%2BHi9oxBFGhJHquIsE2UtWRZw%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout
E0828 11:43:58.676516       1 controller.go:244] error processing service default/nginx-deployment (will retry): failed to ensure load balancer: error retrieving load balancer rules: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listLoadBalancerRules&keyword=a65d909ec2cd840979bb76f12b5962d2&listall=true&response=json&signature=6MeRwi7JABRTHaKS1Xzvv%2BxjUZA%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout
I0828 11:43:58.676913       1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"nginx-deployment", UID:"65d909ec-2cd8-4097-9bb7-6f12b5962d2b", APIVersion:"v1", ResourceVersion:"910", FieldPath:""}): type: 'Warning' reason: 'SyncLoadBalancerFailed' Error syncing load balancer: failed to ensure load balancer: error retrieving load balancer rules: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listLoadBalancerRules&keyword=a65d909ec2cd840979bb76f12b5962d2&listall=true&response=json&signature=6MeRwi7JABRTHaKS1Xzvv%2BxjUZA%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout
I0828 11:44:03.677645       1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"nginx-deployment", UID:"65d909ec-2cd8-4097-9bb7-6f12b5962d2b", APIVersion:"v1", ResourceVersion:"914", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer
E0828 11:44:05.876844       1 node_controller.go:237] error retrieving instance ID: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listVirtualMachines&name=tyu-node-18a3bf0325b&response=json&signature=BX2eoDo8kumV62PyttwR3gWxJeE%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout
E0828 11:44:33.678713       1 controller.go:244] error processing service default/nginx-deployment (will retry): failed to ensure load balancer: error retrieving load balancer rules: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listLoadBalancerRules&keyword=a65d909ec2cd840979bb76f12b5962d2&listall=true&response=json&signature=6MeRwi7JABRTHaKS1Xzvv%2BxjUZA%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout
I0828 11:44:33.678860       1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"nginx-deployment", UID:"65d909ec-2cd8-4097-9bb7-6f12b5962d2b", APIVersion:"v1", ResourceVersion:"914", FieldPath:""}): type: 'Warning' reason: 'SyncLoadBalancerFailed' Error syncing load balancer: failed to ensure load balancer: error retrieving load balancer rules: Get http://<IP_ADDRESS>:8080/client/api?apiKey=7agfDzjXNy3wnbI4M8o3Oz6gEv12w8rmPDW3jjkG0SZOpHjEtsovd4uNw7US6w3kUb62p6F_5Txi37kDRO4qNw&command=listLoadBalancerRules&keyword=a65d909ec2cd840979bb76f12b5962d2&listall=true&response=json&signature=6MeRwi7JABRTHaKS1Xzvv%2BxjUZA%3D: dial tcp <IP_ADDRESS>:8080: i/o timeout

Expected Results
The application should deploy without any issues and the end user should acquire the public ip without any issue

The issue  will not occur, if you delete the application and reapply the egress rule by allowing the TCP traffic

kubectl delete deployment nginx-deployment

Delete the egress rules present and reapply the same

yes, @kiranchavala
with the egress rule you added, all outgoing traffic will be blocked


fix: SCMode.INSTANTIATE for attrs fields with aliases/leading "_"

Motivation
attrs classes automatically alias any fields with a leading underscore to a stripped version in that class's __init__().
So, the class
@attr.s
class Foo():
    _bar: int = attr.ib(default=0)

has an __init__() that looks like:
def __init__(self, bar):
    self._bar = bar

This PR changes the structured config instantiation behavior to take aliases into account, when setting up the params for an __init__().
Test Plan
Test test_leading_underscore_fields() added.
Fixes
Fixes #1063

Hi @bzczb,
Thanks for submitting these PR's! I will review them shortly.


Optimize page loading: indicate 2 images

Suggestion for enhancement.
In order to optimize the page loading, allow to indicate 2 images: a small one and a large one. Or define a nomenclature to use 2 images (for example image.jpg and image_small.jpg in the same folder). The objective being a result in html as in this example:

In addition GLightbox allows the use of videos. Being able to specify 2 files would offer the possibility of an image in the gallery that links to a video in GLightbox.
If I develop a solution I will post it. For now I submit this suggestion for consideration...

Yeah, it would improve performance and I already thought about it. And I'm aware of how this is done in glightbox.
However, I couldn't find a way to do it in my plugin, without altering the syntax.
The idea of this plugin is to just wrap some [gallery] bbcode around existing images. I don't want other tags to be needed or having the existing image bbcodes altered. This way, it is a drop-in replacement for existing image listings.
Processing of image code is done in Grav core. All my plugin gets from this shortcode:
![Alt 3](photo-1487260211189-670c54da558d.jpg "Title 3")
![Alt 4](photo-1500239038240-9b3b8bac73c3.jpg "Title 4")

via Shortcode core is this:

It is pre-rendered html. No chance for me to apply something like this in twig
{{ page.media['sample-image.jpg'].resize(400, 200).html()|raw }}

to it.
So, there is no way to automatically add thumbnail size images. And as stated: I don't want the user to bother adding a second image manually.
If you've got a clever idea how to achieve this, I'd love to hear it. 👍

Solved with https://github.com/sal0max/grav-plugin-shortcode-gallery-plusplus/pull/16


install error

when I install the go-carbon ，what means of below messages:
go build --ldflags '-X main.BuildVersion=v0.14.0-21-gdfd2' github.com/lomik/go-carbon
/disk/opt/go-carbon/_vendor/src/github.com/lomik/go-carbon/vendor/github.com/go-graphite/go-whisper/compress.go:9:2: cannot find package "math/bits" in any of:
/disk/opt/go-carbon/_vendor/src/github.com/lomik/go-carbon/vendor/math/bits (vendor tree)
/usr/local/go/src/math/bits (from $GOROOT)
/disk/opt/go-carbon/_vendor/src/math/bits (from $GOPATH)
make: *** [go-carbon] Error 1

Upgrade your golang to a more recent version. math/bits was introduced in golang 1.9.


Opentelemetry tracing support for java

can you provide an example of how to use opentelemetry tracing in temporal.
Go-SDK has an otel tracing interceptor so was looking for something similar in java.

Here is a configuration for opentracing:
https://github.com/temporalio/sdk-java/tree/master/temporal-opentracing#usage
here is how is can be used with opentelemetry:
https://github.com/temporalio/sdk-java/tree/master/temporal-opentracing#opentelemetry
Please use Temporal
forum: https://community.temporal.io/
slack: https://temporalio.slack.com/join/shared_invite/zt-onhti57l-J0bl~Tr7MqSUnIc1upjRkw#/shared-invite/email
or StackOverflow: https://stackoverflow.com/questions/tagged/temporal-workflow
for questions.
You can find me as @Dmtiry in the company's Slack.

Java samples issue: https://github.com/temporalio/samples-java/issues/207


Add documentation for installing uprobes in containers

See PRs #875 and #978

Setting this to urgent since we already have an article on it, and probably want to be able to describe this feature in our 0.4.0 release notes.


[MB-9903] Change all instances of NTS-R to NTS-release

Description
Changed all text instances and references to NTS-R to NTS-Release.
Setup
Make sure data is up to date:
make db_dev_e2e_populate

Build and run the office app:
make server_run
make office_client_run

To check storybook changes locally:
make storybook

Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Warnings

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 7c2e4f82605d3ed458de0bec93db34d169a1b8c0

LGTM. I did a few searches across the code and didn't find any other user-facing references to NTS-R or NTSR. Started the app up and spot-checked a few places in the UI. We still have variable names, test descriptions, etc. that reference NTS-R or NTSR, but that should be OK unless there's another meaning for NTS-R that could lead to confusion.

NTS-R could be mistaken for NTS retrograde, which won't exist until we do OCONUS, but will eventually be a thing. Just fyi in case it's easier to change now than later!


initial upload for webscrapper notebook

notebook containing webscrapping for ev website

@nigtroy @theoaid git does not properly track changes with .ipynb files. I suggest to use .py files and put them in a src/ev directory.
You can still have a Notebooks directory with .ipynb files in it however, but the main code should go into an src directory
See example of the code wini and stephen are working on:

You can modify this PR and then I can review the code.

I have moved the notebook into a separate notebooks folder. Will work on re-creating it into a py script.


All pull operations failed without reasons.

Pulling /sdcard/test.txt: failed.
Pulling /sdcard/testFolder: failed.
Pulling /sdcard/testFolder/test.txt: failed.
Open in editor /sdcard/test.txt: OK.
Save in editor /sdcard/test.txt: OK.
Execute commands in CMD:
.\AdbProgressRedirection.exe adb -s (DEVICENAME) pull -a "/sdcard/test.txt" "C:\Test": No messages, no file pulled.
adb -s (DEVICENAME) pull -a "/sdcard/test.txt" "C:\Test": OK.
V<IP_ADDRESS> Both .exe and Windows Store version.
Pixel 5 Android 12 Lineage OS official.
Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as C:\WINDOWS\adb.exe

Hi,
• Can you please check the conversation in #127 to verify this isn't the issue you're facing? There was an issue related to Windows culture.
• Is Push working for you in the app?
• I would like to see which settings you're using in the app. It would help if you could send the settings file - hold L-Ctrl while launching the app to open its containing folder. You can replace sensitive info in the file, if you like, with asterisks for example.


How do you guys process popups or a new window?

I can't seem to take screenshots or extract HTML from any popups/new windows whatsoever. I've done this before in PhantomJS so I'm sure it's possible.

I am also having this issue.


Blue artifacts on final image

Checklist

[ ] I've read the README
[ ] I've searched for existing GitHub issues

Hi @YuAo 👋
Thank you for such an amazing framework. I'm getting blue artifacts on the image when trying to apply multiple color operations. I think this problem is connected with color spaces but still can't figure out why. I had the same results with lookup filters but it's fixed after setting the color space. I have 3 main features, its adjust, filters and overlays. This order is very important, because when the user applying any filter and after trying to adjust for example the contrast, the result should be contrasted photo and after lookup filter over it.
func renderResult() -> MTIImage  {
        if isAdjusted {
            adjustResult = FilterGraph.makeImage { output in
                inputImage => AnyIOPort(sequence: [brightnessAdjustment, contrastAdjustment, exposureAdjustment, saturationAdjustment, vibranceAdjustment, highlightsAndShadows]) => output
            }
            finalImage = adjustResult.unpremultiplyingAlpha()
        } else {
            finalImage = inputImage.unpremultiplyingAlpha()
            adjustResult = finalImage.unpremultiplyingAlpha()
        }

        if filter != nil {
            blendFilter.intensity = filter.alpha
            filterResult = FilterGraph.makeImage { output in
                adjustResult.unpremultiplyingAlpha() => lookup.inputPorts.inputImage
                lookup => blendFilter.inputPorts.inputImage
                adjustResult => blendFilter.inputPorts.inputBackgroundImage
                blendFilter => output
            }
            finalImage = filterResult
        }

        if overlay != nil {
            blendOverlayAlpha.intensity = overlay.alpha
            finalImage = FilterGraph.makeImage { output in
                finalImage => blendOverlay.inputPorts.inputBackgroundImage
                blendOverlay => blendOverlayAlpha.inputPorts.inputImage
                adjustResult => blendOverlayAlpha.inputPorts.inputBackgroundImage
                blendOverlayAlpha => output
            }
            overlayResult = finalImage
        }
        return finalImage
    }

Here are example of broken image.

Can you provide more information about the filter configuration? Maybe a minimal reproducible demo?

I had the same results with lookup filters but it's fixed after setting the color space

Can you provide more detail about this?

Thanks for response @YuAo
I had the same result with lookup tables but it's fixed when I changed the colorspace to adobeRGB1998. All filters are working perfectly. The main issue occurs when I'm applying the lookup filter to adjust result.
struct NZImage {
    var originalImage: UIImage! {
        didSet {
            inputImage = MTIImage(image: originalImage, colorSpace: CGColorSpace(name: CGColorSpace.adobeRGB1998), isOpaque: true).unpremultiplyingAlpha()
            adjustResult = inputImage
        }
    }

    var adjustModel: AdjustModel! {
        didSet {
            brightnessAdjustment.brightness = adjustModel.brightnessValue
            contrastAdjustment.contrast = adjustModel.contrastValue
            exposureAdjustment.exposure = adjustModel.exposureValue
            saturationAdjustment.saturation = adjustModel.saturationValue
            vibranceAdjustment.amount = adjustModel.vibranceValue
            highlightsAndShadows.highlight = adjustModel.highlightsValue
            highlightsAndShadows.shadow = adjustModel.shadowsValue
        }
    }

    var filter: NZFilter! {
        didSet {
            if filter != nil {
                lookup.intensity = 0.9
                filterLUT = UIImage(named: filter.LUTSource!)!
                lookup.inputColorLookupTable = MTIImage(image: filterLUT, colorSpace: CGColorSpace(name: CGColorSpace.adobeRGB1998), isOpaque: true).unpremultiplyingAlpha()
            }
        }
    }

    var overlay: NZOverlay! {
        didSet {
            if overlay != nil {
                overlaySource = UIImage(named: overlay.overlaySource!)!
                blendOverlay.inputImage = MTIImage(image: overlaySource, colorSpace: CGColorSpace(name: CGColorSpace.adobeRGB1998), isOpaque: true).unpremultiplyingAlpha()
                blendOverlay = MTIBlendFilter(blendMode: overlay.blendMode)
            }
        }
    }

    var frameModel: FrameModel!
    var isEdited = false
    var isAdjusted = false

    let brightnessAdjustment = MTIBrightnessFilter()
    let contrastAdjustment = MTIContrastFilter()
    let exposureAdjustment = MTIExposureFilter()
    let saturationAdjustment = MTISaturationFilter()
    let vibranceAdjustment = MTIVibranceFilter()
    let highlightsAndShadows = MTIHighlightShadowFilter()

    var brightnessMode = AdjustOperation(mode: .Brightness, minimumValue: -0.2, maximumValue: 0.2, defaultValue: 0, currentValue: 0)
    var contrastMode = AdjustOperation(mode: .Contrast, minimumValue: 0, maximumValue: 2, defaultValue: 1, currentValue: 1)
    var exposureMode = AdjustOperation(mode: .Exposure, minimumValue: -1 , maximumValue: 1, defaultValue: 0, currentValue: 0)
    var saturationMode = AdjustOperation(mode: .Saturation, minimumValue: 0, maximumValue: 2, defaultValue: 1, currentValue: 1)
    var vibranceMode = AdjustOperation(mode: .Vibrance, minimumValue: -1, maximumValue: 1, defaultValue: 0, currentValue: 0)
    var highlightsMode = AdjustOperation(mode: .Highlights, minimumValue: -1, maximumValue: 1, defaultValue: 0, currentValue: 0)
    var shadowsMode = AdjustOperation(mode: .Shadows, minimumValue: -1, maximumValue: 1, defaultValue: 0, currentValue: 0)
    var lookup = MTIColorLookupFilter()
    var blendFilter = MTIBlendFilter(blendMode: .normal)
    var blendOverlay = MTIBlendFilter(blendMode: .normal)
    var blendOverlayAlpha = MTIBlendFilter(blendMode: .normal)
    var adjustResult: MTIImage!
    var inputImage: MTIImage!
    var filterResult: MTIImage!
    var overlayResult: MTIImage!
    var finalImage: MTIImage!
    var filterLUT: UIImage!
    var overlaySource: UIImage!

    mutating func renderResult() -> MTIImage  {
        if isAdjusted {
            adjustResult = FilterGraph.makeImage { output in
                inputImage => AnyIOPort(sequence: [brightnessAdjustment, contrastAdjustment, exposureAdjustment, saturationAdjustment, vibranceAdjustment, highlightsAndShadows]) => output
            }
            finalImage = adjustResult.unpremultiplyingAlpha()
        } else {
            finalImage = inputImage.unpremultiplyingAlpha()
            adjustResult = finalImage.unpremultiplyingAlpha()
        }

        if filter != nil {
            blendFilter.intensity = filter.alpha
            filterResult = FilterGraph.makeImage { output in
                adjustResult.unpremultiplyingAlpha() => lookup.inputPorts.inputImage
                lookup => blendFilter.inputPorts.inputImage
                adjustResult => blendFilter.inputPorts.inputBackgroundImage
                blendFilter => output
            }
            finalImage = filterResult
        }

        if overlay != nil {
            blendOverlayAlpha.intensity = overlay.alpha
            finalImage = FilterGraph.makeImage { output in
                finalImage => blendOverlay.inputPorts.inputBackgroundImage
                blendOverlay => blendOverlayAlpha.inputPorts.inputImage
                adjustResult => blendOverlayAlpha.inputPorts.inputBackgroundImage
                blendOverlayAlpha => output
            }
            overlayResult = finalImage
        }
        return finalImage
    }

    func getUIImageFromMTIImage(mtiImage: MTIImage!) -> UIImage {
        var result: UIImage!
        if let device = MTLCreateSystemDefaultDevice(),
        let outputImage = mtiImage { //cia
            do {
                let context = try MTIContext(device: device)
                let filteredImage = try context.makeCGImage(from: outputImage)
                result = UIImage(cgImage: filteredImage) // here's UIImage which I use later
                context.reclaimResources()
            } catch {
                print(error)
            }
        }

        return result
    }

}

I don't understand why you are converting all the color spaces to adobeRGB1998. Can you attach a sample image, the lookup table and the filter parameters that causing this problem?

Thank you @YuAo for response
First I got the same issue with the lookup filter. I used your suggestion for #197 and converted color spaces to adobeRGB1998 and artifacts are disappeared even on terrible lookup images.
Here is the original image and lookup image. https://www.dropbox.com/sh/4ap2gb8rnnas65f/AACTbz3Ijni-XODP3cBmAs__a?dl=0
Brightness: 0.2
Result with brightness:

Result without brightness:

A lot of bright colors are mapped to bluish colors in your color lookup table.

@YuAo how to export lookup images from lightroom to make sure that nothing is broken and artifacts will not appear. I know that only a few color operations are allowed to be applied on LUT images. Can you please explain how to create high-quality lookup images to have the best result?

Suggestions:

Understand how a color lookup table works.
Use multiple sample images to make sure the adjustment looks good on all of the images.
Understand the operations you use in Lightroom.
Do not use any operation that involves convolution, de-noising or adding noise/textures.
Exam the output color lookup table to make sure it's smooth and has no artifacts.

You can also try using a software that is designed to create color lookup tables, e.g. "3D LUT Creator"


Bump dependencies

Tests don't all succeed locally because of #111, but the signing ones do so I think everything is correct.

Okay so the same tests that failed locally now fail here, with a different error message. Is this caused by the CI secrets not being available for PRs from people without the necessary permissions?


Add testnet/pubnet sync, catchup (BoundedRange) and reingest integration tests

Add integration tests that sync with the network: build state and ingest a few ledgers. This will help ensure that Horizon is able to sync and catch bugs like https://github.com/stellar/go/pull/3231 before release testing.

To clarify, I think we should test 3 things:

starting from scratch to check if horizon can build state without a problems + a few ledgers,
starting from existing DB (start -> resume transition in FSM scenario). this would catch https://github.com/stellar/go/pull/3231,
horizon db reingest so we are sure that reingesting works (I believe it doesn’t in the latest version because of https://github.com/stellar/go/pull/3260).

@2opremio @tamirms you asked why we should do testnet/pubnet tests and I answered that I was probably wrong and standalone should work too. That's true but what is the status of captive core tests in standalone? I'm looking at #3267 and realized that it wouldn't catch #3231 or #3260 because both issues were connected to captive core.

Note that as soon as the integration tests can be run with captive core (which is almost there, I think) the tests at #3267 will be run with captive core too.

OK! I just wanted to confirm we'll be able to have them before beta. If not, it would be great to have testnet/pubnet tests.


Fixed #28345 -- Applied limit_choices_to during ModelForm.init().

field_for_model() now has an additional keyword argument, apply_limit_choices_to, allowing it to continue to be used to create form fields dynamically after ModelForm.__init__() is called.
https://code.djangoproject.com/ticket/28345

TODO: use mock instead of count attribute.

Thanks for the review. I have addressed all feedback in the latest revision.


Receipt scan

Hi, it would be awesome to scan receipts to autofill transactions and add the picture as attachement.
I found a dart project which does something similar:
https://github.com/Cheneth/receipt-bubble

Or better use an API: https://ocr.space/receiptscanning
They allow with an key up to 500 requests per day on the free tier

Created also a feature request at the Firefly repo:
https://github.com/firefly-iii/firefly-iii/issues/9304


Customize DropZone Text

HELPS-2338
As a loop author, I'd like to have control over the DropZone text, including: Changing the display text prompting a user to drag and drop or browse to a file, the display text stating that the user has reached the maximum number of files, as well as the error messages in general (such as the unsupported file type and the error message when uploading more than the maximum allowed files).

This is on QA for testing

This feature has been done and released in Olive Helps 0.30.2.


[io.js] Installation stuck at copying extracted PhantomJS files

I've tried to install UnCSS on a few devboxes and every first attempt on installing the package would all stuck at a certain point:
Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
Receiving...
  [================================--------] 81% 0.0s
Received 12854K total.
Extracting tar contents (via spawned process)
Removing /home/kay/Projects/yoker/node_modules/gulp-uncss/node_modules/uncss/node_modules/phantomjs/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1422171886267/phantomjs-1.9.8-linux-x86_64 -> /home/kay/Projects/yoker/node_modules/gulp-uncss/node_modules/uncss/node_modules/phantomjs/lib/phantom

Then it would always stuck. I was able to ctrl+C and rerun the installation to get it through, but if it goes on like this there will be troubles deploying the project to production server in an automatic manner.

Confirmed that this is an io.js specific problem; didn't happen when I used the latest node unstable version.

This issue https://github.com/Medium/phantomjs/issues/275#issuecomment-70879593 seems to point to ncp being the culprit; so yes, indeed this does look like an io.js issue and not something we can fix in UnCSS.

Ok cool, thanks!


MSID: 98800 Version: 1 DOI: 10.1101/2<IP_ADDRESS>2862

MSID: 98800
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>2862
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=98800
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>2862

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/98800v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>2862
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/98800/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c22) has a publication-type='other'. Is that correct?
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c29) has a publication-type='other'. Is that correct?
warn: [empty-parentheses-presence] p element contains empty parentheses ('[]', or '()'). Is there a missing citation within the parentheses? Or perhaps this is a piece of code that needs formatting?