Add date-based search for logs

Since logging is primarily meant to be used to look up past transactions, let's add a date-based search (see #707 and #708). We already have something like this in reports, so it shouldn't be too hard to implement.

closing since logs don't exist anymore


Consume/Purchase

Thanks for the great job you did.
I'm using Grocy and Barcode Buddy as docker in the latest version
In Grocy, for example, I can set barcode "123456" purchase 1 package corresponds to 6 pieces in consumption.
If I enter the code 123456 in Grocy as purchase, it also counts 6 pieces in the stock.
If I enter 123456 as consumption, it reduces 1 piece in Stock
If I scan the code as a purchase with Barcodebuddy then it counts only 1 piece but not 6 pieces as it should be.

Duplicate of https://github.com/Forceu/barcodebuddy/issues/37
You can use the Quantity barcode (eg. BBUDDY-Q-6) after scanning the barcode 123456 to set the amount of items to 6. Also in the settings menu you can enable the option to respect this value for consuming. I will add an option later on to respect grocy's QU_Factor.


RFC: Mobile Platform Support

For #
Background

This is intended as a strategic alignment RFC, Align tech leads on a "longer term" strategy for Mobile and Native Mobile Platform support
If someone picks up this work, it will be advantageous to have an agreed-upon strategy for how what should be done.

Change List

New RFC.

Coverage decreased (-2.4%) to 80.674% when pulling 34965334f05ea1817ff897918f6dce578e57fd07 on ib/mobile-platform-rfc into 7cdf28457a3a296bd7977d8c55c6adbde6ade1c6 on master.

I agree that the WebView approach seems like the most logical to initially research.  A concern will be mobile browser WebGL version and extension support.  Is there any "prior art" we can refer to, such as three.js with WebViews that we can look into to evaluate the scope of this work and viability?

A concern will be mobile browser WebGL version and extension support.

deck.gl already run on mobile browsers. Not sure on current state,  WebViews used to have some limitations compared to the main mobile browsers but should support same WebGL extensions.

Is there any "prior art" we can refer to, such as three.js with WebViews that we can look into to evaluate the scope of this work and viability?

We should look around though I am not aware of any pre-packaged setups, as what is being served in the webview is a deployed URL, not a framework.
This is where the "native API messaging proxy" comes in to let the native app and deck.gl talk... as one idea, maybe we can use our JSON transport to create native Android/iOS layer classes similar to how pydeck offers python classes...
Also, @tsherif has worked with a similar setup in the past and had good experience with WebViews, and suggested the integration SDK approach.

My understanding is that the Webviews on iOS and Android are essentially the renderers from their default browsers, so I don't expect there to be any compatibility concerns other than the ones already existing in those browsers.
The pieces I imagine being involved in this are:

Decouple input handling from deck core. This would involve setting creating methods to control deck programmatically separating that from a set of default handlers that would implement the current interactions. This would allow us to set up alternative input handling to that used for the web and potentially allow native input events and UI elements to control deck.
Set up whatever callbacks are necessary for the native application wrapping deck to send and receive messages from deck. I believe this is simply a matter of checking for some global variable and setting up callback functions if they exist, but it's been a while since I've looked at code that does this.

Overall, I don't think it would be too difficult to make deck amenable to be used in a webview.


Add new aliases(get|post|head..) for (doGet|doPost|doHead..) methods in AbstractHttpService

A user is able to add new service using AbstractHttpService with overriding the following methods.

doOptions()
doGet()
doHead()
doPost()
doPut()
doPatch()
doDelete()
doTrace()

This is an example codes.
ServiceBuilder sb = ...
sb.service("/service/foo", new AbstractHttpService() {
    @Override
    protected HttpResponse doGet(ServiceRequestContext ctx, HttpRequest req) {
        return HttpResponse.of(HttpStatus.OK);
    }
});

do prefix like doGet() has been used by servlet and jakarta ee for a long time. IMO, It looks like a little classical name. How about removing do prefix? get() is simple and clean without losing of its information.
We have discussed whether prefix do is needed. There are other opinions on this issue. 🤔

doGet() method  has another meaning. It is close to event handler than routing.
doGet() is good, no reason to change it.
How about replacing do into another prefix like handleXxx() or onXxx()?

Do we have a plan for this?

I thought we can utilize this as DSL. But I’m not sure this is a good change or not. 🧐

On second thought, I guess a separated layer for Kotlin DSL is needed, so we don’t need to change this. Let me close this issue. 🙏


[BotW] Added fixed radius blur shaders

This corrects the effects that use blur (Main menu slideshow, AO shadow, camera DOF, battle DOF, reflections, bloom)
This is done by updating the vertex shaders to calculate texture coords correctly.
This completely eliminates grid artifacts from the above effects, and has no impact on performance.
The downside is that the number of samples is constant, and in turn, the blur radius. This decreases the impact of those effects, mainly noticeable in resolutions above 1440p
Screens, both for 1440p
Current upscaled blur:

Fixed radius blur:

(have to make sure every blur is upscaled by graphic pack rules)

I forgot to added screenshots. I have some. Will add

which one is which?
weird... there're stretched horizontal/vertical blur in the first ones, neither packs should produce this artifact.

First 2 pics are what's currently in the main packs (with all the blur related shaders removed)
Last 2 pics are after this update

oh ok, forgot they're removed xD

oops still...
just guessing, I don't really understand those vertex shader... but remappedVS sometimes is involved in the calculation of gl_position, so if a texture is unscaled(mainly small ones) but remappedVS is, it could lead to some problem (but yea i haven't seen any)

I tried to find an indicator of rescaling in vertex shader like the one in pixel, but whatever uf_*** is, it's both 0 (or very close to) in the blur shader...

From what I tested, these vshaders I edited have that resolution info all the time, all least in BotW 1.3.1. You normally should see 1280.0, 720.0 and some small values

try the menu blur on zelda logo? that's where i found that, i'm on 1.3.1 as well
(yea i need to check in game

Yup, I think I started with that one

Wait, I think I know what you mean now. What if a vertex shader actually has correct values, and 1280, 720 are correct regardless of resolution. I am certain that the shaders I edited are for very specific functions, it's unlikely that they are reused for other functions. But there no way to tell for sure other than testing

oh that one too xD actually i haven't thought of that
i meant a more specific one, e.g. 0b9b8f5dfa16ad58 is both used for zelda logo and q-res blur in title menu, q-res is scaled but zelda logo isn't, so when comes to the logo, remappedVS shouldn't be scaled.
but yea what happens later has too many possiblities,, only testing can tell (which surprises me that it turns out fine xD)

It could be that it does the upscaling by Cemu (partially) later?
On 16 October 2017 at 18:30, NAVras-Z<EMAIL_ADDRESS>wrote:

oh that one too xD actually i haven't thought of that
i meant a more specific one, e.g. 0b9b8f5dfa16ad58 is both used for zelda
logo and q-res blur in title menu, q-res is scaled but zelda logo isn't, so
when comes to the logo, remappedVS shouldn't be scaled.
but yea what happens later has too many possiblities,, only testing can
tell (which surprises me that it turns out fine xD)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/slashiee/cemu_graphic_packs/pull/109#issuecomment-336942983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZbx_O447VlKc6hehZMhiOIx4au6hEamks5ss4SagaJpZM4P5Y51
.

yea i guess so, if the coordinates are calculated correctly in shader it shouldn't require a uf_fragCoordScale?

uf_fragCoordScale is really something we shouldn't use due to the Cemu
backwards compatibility (we know this rule might not apply to some/all of
the BotW shaders) but it has different values between Cemu 1.10.0 and Cemu
1.9.1 for most games. To use this thing as a dynamic variable wouldn't be
smart.

uf_fragCoorScale should be consistent (in theory)

but yea I've read your research.
For me tho, every shader that I changed got expected(?) values from it (or at least works i'm not sure)
texturesize() returns weird values when there're mipmaps (even if there's no mip gets passed into shader at all), causing the stretched horizontal/vertical bloom.
anyway it's hacky, also history now xD passing the right value from vertex should be better
btw @alexkiri do you consider merging this? always can update if needed

Yes, I consider this should be merged. A lot of people are confused that the master pack has broken bloom effects. The people that tested this are ok with it, the only complains were about a double clouds view, that I traced to be BotW version incompatibility (version older than 1.3.0)
This solution is simple, an scalable to any custom resolutions just by changing the 2 constants on the begining of each shader
but
We must definitely bring back the old blur, the horz/vert pairs of files worked really well, and scaled liniarly for higher resolutions. The only issue was in some one-pass blurs.

ok~
ps: some of the old blurs didn't scale linealy, I was trying to get the same look so I added more taps to them(which adapted to splatoon iirc). but only later i found it's because the downscaling and the pixel average(2x2) before it makes the blur different. so,, scaling linearly should be mathmatical correct i guess.

Gonna merge latest master into this branch so that it can compile appveyor with the latest changes.

turns out the comment in the rastergrid belongs to the author of sweetfx himself, although I got no idea what he's talking about xD
there're 7/9/17 taps blur implemented in sweetfx's lumasharpen

also this:

The reason why uf_fragCoordScale doesn't work when debugging, unused uniforms won't exist during runtime. So unless a shader is using it before, or adding it in nsight would not work.

That discovery about uf_fragCoordScale is awesome. Makes sense to completely avoid it, then. Do you know of any other unused uniforms in the same situation?

maybe the window** in vertex as well? it's from cemu as well, i dunno. anyway, as long as a uniform is not used in the first compiling it will be optimized out i guess.


[CHANGE-REQUEST] Update Website

Update current listed features / add new one, with high quality screenshots

Done


update the handling of ISSN and NLMTA

ISSN had been stored in the journal objects ISSNs field as list of String, e.g. ["1234-2345", "3456-4566"].
this data field has been or will soon be updated to include the issn's pubtype. the new format for the ISSNs field will be ["pubtype:xxxx-xxxx", "pubtype:yyyy-yyyy"], for example ["print:1234-3456", "online:2345-9830"]
Update necessary update in the ui code so that the ISSN number and pubtype are properly parsed and set in the metadata blob for each submission.
Additionally NLMTA information is now available in the journal object, update necessary code to capture and add this to the submissions metadata blob.

this ticket is obsolete because:  ISSN info is pulled from DOI blob, not from Journal, and it is put into the submission metadata blob during the metadata step. so the format of Journal's ISSN field will not affect the workflow.


[BUG] Unable to unselect multiple with ajax--url

I'm testing this with latest version (4.1.0-rc.0) and previous stable (4.0.13).
When using remote fetch URL (either data-* attributes or ajax in options) in a multiple select, it fails with unselect previous checked option.
I wrote this fiddle to demonstrate the bug: https://jsfiddle.net/aweiand/yLejwkof/32/
This is a snapshot just to illustrate the selections. In the input I put the number of selected fields.

I see what you're experiencing in the jsfiddle. More than likely a decorator is missing and that's causing issues. Will investigate more.

Alright, so there are two pieces to this and unfortunately the one you've identified in the OP is not a bug, it's a misconfiguration.
Because you are not using the multiple select selection box, you lose the ability to deselect individual options using the selection area and you've only got the clear all button. Normally this would be fine except you have an empty option in your <select> which aligns with your placeholder, so the clear all button is not actually clearing them all and instead is replacing all of your selection with your placeholder. Removing the empty <option> fixes this issue and the clear all button behaves as one would expect.
Because you are using the single select selection container, the only other way to unselect items would be to use CTRL + SPACE in the dropdown. This is because SPACE and ENTER both map to only selecting options as explained in this commit: https://github.com/select2/select2/commit/017c20109471fa5b835603faf5dc37f7c2c2ea45 The way to toggle options (select or unselect) is via CTRL + SPACE, which if you try it in that jsfiddle does not appear to work. I am still looking in to if this is an actual bug, and if so what is causing it to occur, or if it's another misconfiguration caused by the custom dropdown adapter combination in use.

Ok. But I need the empty option to show a "Select one" text to the user...
And sorry, what is the "multiple select selection box" what I'm not using (Can you provide an image?)?
Thank's a lot for the quickly response!! (but in my mind is a bug, because without ajax--url doesn't do this)

I just update the fiddle to shows works without ajax options...

https://jsfiddle.net/aweiand/4rhwsxea/12/


Scenario outline Table Value is Getting Cloned on Each Run

Describe the bug
Scenario Outline table value gets appended to the previous iteration value when the table values are same using << operator
To Reproduce
Feature file -
Feature: Testing City Names

  Scenario Outline:
    And I live in '<city>' City
    And I am not from '<city>'

    Examples:
      | city       |
      | Sacramento |
      | Sacramento |

Step Definition file -
And 'I live in {string} City' do |city|
  city << ' City'
  puts "#{city}"
end

And /^I am not from '(.+)'$/ do |city|
  city << ' city'
  puts "#{city}"
end

gemfile -
source 'https://rubygems.org'

gem 'cucumber', '~> 6.1.0'

Expected behavior
Should be
loop 1
I live in Sacramento City
I am not from Sacramento city

loop 2
I live in Sacramento City
I am not from Sacramento city

Context & Motivation
This fails Cucumber feature plans in our automation suite. To fix it right now we are updating << with += but would be great to have << working to append strings.
Screenshots

Your Environment

Versions used: Cucumber 6.1.0 and Ruby 2.6.4
Operating System and version: Windows 10 64bit

Additional context
When Cucumber is downgraded to 6.0.0  << does not clone/append strings and works fine
When I use Cucumber Expressions in step definition I can't reproduce the issue it's only when I use regular expression.
And when table values are not same this issue cannot be reproduced

This feels related to #1532
IMO either we need to freeze the argument (so you get an error trying to call << on it) or we need to copy it for each step match.

@pgundlupetvenkatesh thanks for such a concise and clear bug report! Are you interested in helping to fix this?
You can book a pairing session with me at https://calendly.com/mattwynne or you can come and find us in https://cucumber.io/community#slack in the #committers if you want to chat.

@mattwynne you 're welcome. I am pretty occupied with work right now so maybe some other time.

The example is using << on hard coded  city and  City literals rather than the city argument passed to the step definition.
I don't understand what the problem is, or what @pgundlupetvenkatesh' expected behaviour is.
We need some failing tests to understand what you think is a bug.


Improve Express Form controller

PR:

Remove unused imports, unused variables
Improve a few if/else statements
Use app container instead of Core facade
Use Request object instead of e.g. Page::getCurrentPage()
Use ::class to make FQNs resolve
Remove unused (protected) entityManger property
Use Checker class import instead of the Permissions alias
Add a few docblocks (where it makes sense to have them)
Move the view method to the top, because that's where you'd expect it

I consider this as a first round of optimization / code clean up...
Ref https://github.com/concrete5/concrete5/issues/4723

If someone could review these commits, I'd be really thankful!


[Feature Request] Offset for response lengths

curl -s "https://www.facebook.com/" | wc -c
142767

curl -s "https://www.facebook.com/" | wc -c
142720

Sometimes response lengths can by dynamic, is there any way to set an offset value along with -fc filter to filter the response lengths with an offset value.

This will be problematic for both parameter fuzzing & Vhost fuzzing.

Do you think -fc ranges could answer this need? This is already supported, so you could do -fc<PHONE_NUMBER>00 (in the example above). This is already supported in the current master version, and will be included in the next release.

Apologies I missed checking out the ranges in Usage guide.


Fix phpdoc alignment when no hint is present

Fixes https://github.com/laravel/pint/issues/1#issuecomment-1174207786
There seems to be a Problem with @param annotations, where no hint is present.
This should resolve into two spaces and not four.
Example:
 /**
- * @param    $var
+ * @param  $var
  * @return bool
  */

If there is not hint, then it's an invalid PHPDoc annotation, and Pint should not do anything.


Integration tests overwrite global log config

I have a bunch of integration tests and unit tests, all setup according to the way the documentation specifies. However, when executing mvn clean package it runs the tests, and as soon as it has hit an integration test, it seems to completely overwrite the config that is supposed to be in logback.xml.
The sample output is this
[INFO] Running nl.knaw.dans.sword2.core.service.ZipServiceImplTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.909 s - in nl.knaw.dans.sword2.core.service.ZipServiceImplTest
[INFO] Running nl.knaw.dans.sword2.core.service.BagExtractorImplTest
[INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.197 s - in nl.knaw.dans.sword2.core.service.BagExtractorImplTest
[INFO] Running nl.knaw.dans.sword2.core.service.BagItManagerImplTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 s - in nl.knaw.dans.sword2.core.service.BagItManagerImplTest
[INFO] Running nl.knaw.dans.sword2.core.service.FilesystemSpaceVerifierImplTest
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in nl.knaw.dans.sword2.core.service.FilesystemSpaceVerifierImplTest
[INFO] Running nl.knaw.dans.sword2.core.service.DepositHandlerImplTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.291 s - in nl.knaw.dans.sword2.core.service.DepositHandlerImplTest
[INFO] Running nl.knaw.dans.sword2.auth.SwordAuthenticatorTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.34 s - in nl.knaw.dans.sword2.auth.SwordAuthenticatorTest
[INFO] Running nl.knaw.dans.sword2.health.DiskSpaceHealthCheckTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in nl.knaw.dans.sword2.health.DiskSpaceHealthCheckTest
[INFO] Running nl.knaw.dans.sword2.health.FileSystemPermissionHealthCheckTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 s - in nl.knaw.dans.sword2.health.FileSystemPermissionHealthCheckTest
[INFO] Running nl.knaw.dans.sword2.health.QueueHealthCheckTest
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.064 s - in nl.knaw.dans.sword2.health.QueueHealthCheckTest
[INFO] Running nl.knaw.dans.sword2.health.UploadDepositOnSameFileSystemHealthCheckTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in nl.knaw.dans.sword2.health.UploadDepositOnSameFileSystemHealthCheckTest
[INFO] Running nl.knaw.dans.sword2.resource.ServiceDocumentResourceImplTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.369 s - in nl.knaw.dans.sword2.resource.ServiceDocumentResourceImplTest
[INFO] Running nl.knaw.dans.sword2.resource.BaseResourceTest
WARN  [2022-06-29 15:10:00,263] nl.knaw.dans.sword2.resource.BaseResource: Invalid content-length header: letter3
WARN  [2022-06-29 15:10:00,266] nl.knaw.dans.sword2.resource.BaseResource: Invalid content-length header: 123suffix
WARN  [2022-06-29 15:10:00,266] nl.knaw.dans.sword2.resource.BaseResource: Invalid content-length header: prefix123

The log statements at the end should not be there. The ServiceDocumentResourceImplTest creates a DropwizardAppExtension like so:
    private DropwizardAppExtension<DdSword2Configuration> EXT = new DropwizardAppExtension<>(
        DdSword2Application.class,
        ResourceHelpers.resourceFilePath("test-etc/config-servicedocument.yml")
    );

If one of the unit tests runs after this test runs, the configured logging that was active prior is no longer active.
This means that there is some global logging config that runs inside the testing process and is configured multiple times, so the test order messes things up. Is there a way to prevent the DropwizardAppExtension from overwriting the global log config?

Hi @ericdevries. Thanks for reporting this!
An integration test creates a new Application. In the constructor of this class the bootstrapLogging() method gets invoked, which changes the logback configuration according to the YAML file.
When an integration test shuts down, the logging configuration gets reset. This doesn't mean the state prior to that reset gets restored. Instead, if the integration test provides a logging configuration (which probably is the case), the logback LoggerContext gets stopped and then set up again. Thereby a new console appender gets instantiated and registered to the root logger.
If no logging configuration is supplied, then only the appenders are stopped, but the configuration of the loggers remains in the current state.
To disable the logging for other tests after an integration test, you currently have to stop the LoggerContext manually to disable logging via logback:
((LoggerContext)org.slf4j.LoggerFactory.getILoggerFactory()).stop();

If you don't want to completely disable logging, you could use the reset() method of the LoggerContext.


Add Regex to upgrade guide

Add Regex info to upgrade guide

Q
A

Type
improvement

BC Break
no

Summary
Add Regex info to upgrade guide

I'll defer merge decision to @alcaeus as mostly he was writing the UPGRADE.md file but I think we weren't mentioning driver-related changes in the document on purpose as it's not exactly "our" upgrade path.

Just spoke to @alcaeus about this and we agreed that this is outside the scope of ODM. ODM itself does provide a regex() method in the query builder, which can be used with either a pattern string or BSON regex type to construct a $regex query operator.
Documentation for BSON class differences between ext-mongo and ext-mongodb would be better suited to the Upgrade Guide in the PHPLIB documentation, which ODM could then link to.


Paginator inconsistent with query results

I'm working with a MySQL database. The problem is that when comparing len(session.query(SomeModel).all())  with session.query(SomeModel).paginate().total I'm getting different results. Any insight on what the problem may be?

Does session.query(SomeModel).count() give you the correct result?
Also, this is probably an sqlalchemy issue and not specific to flask-sqlalchemy, since all paginate() does is calling .count().

You're right, its related to how SQLAlchemy handles relations. Found the answer here.
Closing...


Radix addresses

Make same as everything else

Code ready.. waiting to see if swapkit implement first rather than having to overload


Add a JSON schema for validation.

Includes validating:

"repo" is required if range type is "GIT".
"versions" is required if there are no SEMVER ranges.
There is at least once "introduced" event.

@asraa can you please help with reviewing this as well? Thanks!


Flutter Web:  iOS mobile webp gif animation

behavior
https://user-images.githubusercontent.com/16457165/198861570-d8747c42-ab02-40cc-8937-b11afb57165f.mov
question
Hi, this is a question about the behavior of gif and webp animations on iOS mobile.
gif, webp animations not showing on https after deploy.

environment
Tools • Dart 2.18.2 • DevTools 2.15.0

detail
It was displayed on Android on https and on web Safari Chrome.
On iOS mobile localhost it was also displayed on localhost.

When deploying with the **flutter build web --web-renderer canvaskit** command
Even in the https environment of iOS mobile,
it can be displayed the first time, but the second time it crashes.

Do you have any solution?

We look forward to reply. Thank you.

@daisukenagata
support for gif and webp comes out of the box including for web,
try the code below on (dartpad)
import 'package:flutter/material.dart';

const webp = 'https://uploads-ssl.webflow.com/'
    '5eb4f2c9c01e0c6cc59d6e81/'
    '62f2ada6e1e1c862eb349a4e_flutter-development.webp';

const gif = 'https://roszkowski.dev/images/2020-05-04/flutter_logo_leg.gif';

void main() => runApp(
      MaterialApp(
        home: Scaffold(
          body: Column(
            children: [
              Image.network(gif),
              Image.network(webp),
            ],
          ),
        ),
      ),
    );

I'm not sure if you are asking a question or reporting a bug
if the former I recommend to head to discord
otherwise could you provide some reproducible code sample?

@daisukenagata
I cannot reproduce the issue

setup

open -a Simulator
dart pub global activate dhttpd
flutter create issue_114309
cd issue_114309

code sample

replace main.dart content with this code sample

import 'package:flutter/material.dart';

const webp = 'https://im3.ezgif.com/tmp/ezgif-3-08c57e6f54.webp';
const gif = 'https://roszkowski.dev/images/2020-05-04/flutter_logo_leg.gif';

void main() => runApp(
      MaterialApp(
        home: Scaffold(
          body: Column(
            children: const [
              Image(image: NetworkImage(gif)),
              Image(image: NetworkImage(webp))
            ],
          ),
        ),
      ),
    );

deploy locally

flutter build web --dart-define=FLUTTER_WEB_USE_SKIA=true --release
cd build/web

test on simulator

dhttpd --port 8888
copy in simulator's safari http://localhost:8888/

screenshot

doctor
[✓] Flutter (Channel stable, 3.3.6, on macOS 13.0 22A380 darwin-arm, locale en-EE)
    • Flutter version 3.3.6 on channel stable at /Users/yakforward/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6928314d50 (5 days ago), 2022-10-25 16:34:41 -0400
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] VS Code (version 1.72.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.0 22A380 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 106.0.5249.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

@iapicca
Let's create an API on AWS and measure the charge for capacity.
Thank you.


Auto Rotation layout issues

如果在使用过程中遇到问题，请提供以下信息以便于尽快将问题修复

简单描述一下问题。
切换横竖屏时内部元素未自动排列
使用cocoapods集成
能够重现此问题的完整步骤。
竖屏下显示此日历版本，旋转成横屏，宽度正常但是高度会变小导致显示不全
设备型号及版本。
iPhone 13 pro 16.5.1
使用的Xcode版本。 Xcode14.3.1
FSCalendar版本. `2.8.4

https://github.com/WenchaoD/FSCalendar/assets/1712759/67bf6aa9-c9f5-4a83-9b23-5067446d200f
以上是问题的录屏，稍后我上传个demo

STCalendarTest.zip
以上是demo 待控件出来后旋转一下屏幕即可复现

pull request If a contributor does not merge the pull request then just checkout this fork and update your podfile to use local path:
pod 'FSCalendar', :path => '../FSCalendar'

OK I will have a try, thanks

pull request If a contributor does not merge the pull request then just checkout this fork and update your podfile to use local path:
pod 'FSCalendar', :path => '../FSCalendar'

However, when I modify the code as your commit in fscalendar.m, the issues not fixed, change a strange look

Ah sorry. I wasnt sure if your issue was same, but thought worth for your try. I pasted the pull request on some more issue threads too. Sorry

Thank you all the same, seems nobody care about this project issues now, maybe I can fix it when I am free. Your pull request reminds me something about this issue


Warning for simplification with remainders should report which rule was applied

@ttuegel I think it would be much concise to report the rule location instead of the whole rule content in kore.


Add Device orientation and Update start_url in manifest

Add Device orientation  -> Site Will Automatically Rotate when the user rotates the device
Update start_url we can easily track the PWA installation by UTM Source

Hey @mskian,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 353bbaa0-e680-11e9-9927-991e8c29daea

Is there any other contributions you wanna make? Small contributions like this are ignored. You could open an issue which will be fixed in the next minor patch update.
Btw, we already implemented google analytics for usage detection.


Question about Code splitting

Is this a bug report?
No
Question
Hello, I am trying to implement code splitting on my application, more precisely only on the router part of my application (I am using React-router). Ideally I want to charge the page only when the user requests it
So I followed a pretty nice example here https://serverless-stack.com/chapters/code-splitting-in-create-react-app.html, which works well but it has some inconvenients (mostly the fact that loader is displayed every time I change route, event for a few ms time) so I am trying to implement https://github.com/jamiebuilds/react-loadable, but every time I make a change in my app and that hot reload happens, I have an error saying Javascript heap out of memory. So each time I have to launch npm start again, I tried to start with react-scripts --max_old_space_size=4096 start as mentioned in a comment, but I have an error saying:
C:\Dev\workspace\setup\react\node_modules\webpack\lib\Stats.js:221
                                        text += `\n @ ${current.readableIdentifier(requestShortener)}`;
                                                                ^

RangeError: Invalid string length
    at formatError (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Stats.js:221:30)
    at Array.map (<anonymous>)
    at Stats.toJson (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Stats.js:229:56)
    at Compiler.<anonymous> (C:\Dev\workspace\setup\react\node_modules\html-webpack-plugin\index.js:68:44)
    at Compiler.applyPluginsAsyncSeries (C:\Dev\workspace\setup\react\node_modules\tapable\lib\Tapable.js:206:13)
    at Compiler.emitAssets (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compiler.js:358:8)
    at onCompiled (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compiler.js:57:19)
    at applyPluginsAsync.err (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compiler.js:514:14)
    at next (C:\Dev\workspace\setup\react\node_modules\tapable\lib\Tapable.js:202:11)
    at Compiler.<anonymous> (C:\Dev\workspace\setup\react\node_modules\webpack\lib\CachePlugin.js:78:5)
    at Compiler.applyPluginsAsyncSeries (C:\Dev\workspace\setup\react\node_modules\tapable\lib\Tapable.js:206:13)
    at compilation.seal.err (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compiler.js:511:11)
    at Compilation.applyPluginsAsyncSeries (C:\Dev\workspace\setup\react\node_modules\tapable\lib\Tapable.js:195:46)
    at self.applyPluginsAsync.err (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compilation.js:680:19)
    at Compilation.applyPluginsAsyncSeries (C:\Dev\workspace\setup\react\node_modules\tapable\lib\Tapable.js:195:46)
    at self.applyPluginsAsync.err (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Compilation.js:671:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>startbest: `react-scripts --max_old_space_size=4096 start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>startbest script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I don't know if that kind of logs helps or not, but that's all I have for now.
What is weird is that I never had this Javascript heap out of memory error before, it occurs only since I tried to setup code splitting :/.
In case you wonder, I a implementing code splitting because the app is growing and some pages are slow for low connections.
I hope someone has the answer !
PS: If it can help, I ejected the app !

This is error related to babel-eslint
https://github.com/babel/babel-eslint/issues/530
Current sollution is to downgrade<EMAIL_ADDRESS>or turn off rules in your eslint config:
'rules': {
    'template-curly-spacing' : 'off',
    indent : 'off',
}

I already have<EMAIL_ADDRESS>installed, if it can helps, when it fails randomly when compiling new file, I have checked the log file and it contains this:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\Remy\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
9 verbose lifecycle<EMAIL_ADDRESS>CWD: C:\Dev\workspace\setup\react
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '/d /s /c', 'node scripts/start.js' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 3  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
13 verbose stack Error<EMAIL_ADDRESS>start: `node scripts/start.js`
13 verbose stack Exit status 3
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\Remy\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\Remy\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd C:\Dev\workspace\setup\react
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Remy\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v8.9.4
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 3
22 error<EMAIL_ADDRESS>start: `node scripts/start.js`
22 error Exit status 3
23 error Failed at the<EMAIL_ADDRESS>start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3, true ]

Well, after almost one entire day of testing, I have sometimes errors like the one before during compilation, always this:
C:\Dev\workspace\setup\react\node_modules\webpack\lib\Stats.js:221
                                        text += `\n @ ${current.readableIdentifier(requestShortener)}`;
                                                                ^

RangeError: Invalid string length
    at formatError (C:\Dev\workspace\setup\react\node_modules\webpack\lib\Stats.js:221:30)

But this errors happens randomly during the hot reload, I don't know how I can prevent this, so if someone has an idea.
The weird thing is that on our CI manager, the run build failed, so we decided to setup code splitting, and now that it's done, the development process is unstable due to this bug.
I hope someone will have an idea.
If it can help, here are some versions of the useful dependencies I am using:
"webpack": "3.8.1",
"webpack-dev-server": "2.9.4",
"react": "16.4.1",
"react-dom": "16.4.1"


Application Gateway improvement: Isolation for platform and application specific sub resources

Maintenance is high for current application gateway implementation which everything track in single resources.
Decouple application specific sub resources of agw to improve scalability and maintenance

Closing as now in 5.4.3

@iriahk89 Hi, Could you add some README.md or notes to the examples section please.
I need to add an app-gw before my AKS cluster - which of the following do I use and what's the purpose of other two?

application_gateway
application_gateway_applications_v1
application_gateway_platforms

Thanks


Downloading attachments not possible when connected via API access key

When calling the following constructor RedmineManager(String host, String apiAccessKey), the downloadAttachment(...) returns only the redmine html login page because the Transport doesn't contain the needed credentials.
With login and password works as expected.

Should we really build content URL ourselves? As I see it, we can add API key to the URL if the key is specified. I propose PR #202 as a fix.

nobody worked on this in the recent times, so let's move out of the current release again.
please let me know if you want to create a proper fix for this issue with tests and all.


Bug: Snow layers inside structures on snowy biomes

OTG Plugin or Mod

[x] OTG Mod for Forge

OTG Version

[x] Other - 1.16.4-0.0.1

Forge or Spigot Versions
Forge 35.1.0
What other plugins are you running?
Xaero's Minimap, Optifine
Description
The title is self explanatory. There are snow layers inside structures (like houses) on snowy biomes.

What kind of structure is this, BO3 or vanilla?

That is a village house, but I also seen it in other structures generated automatically with BiomeBundle (I just couldn't find them for screenshot)

Thanks for reporting this. Only way I can make sense of it would be that the snow is placed before the structure, and the structure ignores the snow when looking for the highest block. Will take a look, thanks!

Should hopefully be fixed by recent versions, 0.0.13 will solve some more snow problems. If you're still having problems with 0.0.13 (to be released on the OTG disc asap), feel free to reopen this issue or create a new one.


Support for React 0.54.2

This is almost the same as for 0.54.4, although I had to remove the strong/retain replacement, because that caused a crash on runtime.
Actually, that same crash happened also with 0.54.4, but I figured since I had it running with .2 before, that there was a difference cause of the crash.
So I assume if I had removed the strong/retain replacement for .4, that it would've worked too.

Interesting, yeah, this makes sense to me - I've still not ported Emission to this lib yet, so it's not had a thorough runtime check yet.
The previous code may just be wrong, but that error only occurs on the latest Xcode's. So if you're not compiling on XC 9.3 then that might why you don't need it. I'm happy to have it as-is, and continue iterating as it's needed 👍


[HW]

Name: Vysakh C
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/vysakh-c-5a72b2148/
Attach the homework step I screenshots below:

Well done! Enjoy your badge and see you this week for Episode 3 of the series!

Hey Vysakh C, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/g3BKCsMGTv-Txn5HZK8RPw


Simplify interface and add support for ContT

Use MonadReader and MonadState instead of r -> s -> Action
Add runFSMCont compatible with ContT which does not implement MonadCatch
Note: the internal implementation for handling exceptions in ContT is not pretty. I suspect it can be simplified/improved, this is just a first working version.

@tmcgilchrist It is unsafe. Just like reading a line from possibly empty file but here it is used in code which is used by testing code to make sure that even in case of error/exception we still get nice transition chain which led to exception. This particular code may not actually fail, but hGetLine does fail and we expect it.
Admittedly the presence of the transition chain in QuickCheck output is not checked in code - something I should probably revisit.

I'm looking forward to a demo / talk about this. Looking good.

This code is out of date. Similar but better interface is proposed here: https://github.com/ambiata/disorder.hs/pull/42 so I am closing this PR.


Result differs when rendering pdf or sending data

I have the following codes:
  def show_pdf
    define_invoice
    define_informations

    render :pdf => pdf.to_pdf
  end

  def save_pdf
    define_invoice
    define_informations

    filename = "Facture-" + @invoice.project.nom_struct + "-" + @invoice.id.to_s + ".pdf"
    send_data( pdf.to_pdf, :filename => filename, :type => 'application/pdf' )
  end

  def pdf
    @pdf = true
    html = render_to_string(:action => 'save_pdf', :layout => false)
    footer = @information.invoice_footer ? @information.invoice_footer : ""

    return PDFKit.new(html, :footer_right => footer , :margin_bottom => "30")
  end

the save_pdf method renders the pdf well but the show_pdf method renders the pdf without the footer.
I've debugged and in both case footer variable is well defined. the only difference is send_data versus render :pdf.
any idea?

Hi @AdrienGiboire
If one Rails method renders correctly but the other one doesn't, this does not seem to be an issue with PDFKit. This seems to be an issue with how ActionController::Rendering#render and ActionController::DataStreaming#send_data handle input.
Any chance this is an issue with encoding? I've seen issues with what kind of data #send_data expects. E.g.: http://stackoverflow.com/questions/23083983/send-pdf-with-rails-send-data.
Since this is a Rails problem, I am closing this issue.

Hm, okay, that link suggests you would get an exception if the result of kit.to_pdf wasn't processable, so that's likely not the solution... There's still nothing I can see for PDFKit to do here.


Dev into Main

PR Description:
In the Last Few Days we've implemented the followings on the dev Branch

KanBan Board Setup ✅
Repository SetUp ✅
Linters ✅
Header & Footer ✅
Webpack & Jest ✅
Add GhibiliAPI Class for interaction with Ghibili API ✅
Displaying List of Items on the Home Screen ✅
Add Involvement Class for interaction with Involvement API ✅
Add Items Counter ✅
Add Comments Counter ✅
Display Likes ✅
Display Comments ✅
Add Likes ✅
Add Comment ✅
Add Test for Item Counter ✅
Add Test for Comments Counter ✅

Hey @t-yanick thanks for the Note i added the Project Documentation Video To the Readme File

Thanks @t-yanick


Separate CowHelper and stringly macros to other crates?

I'm now writing an independent project that could make use of these little helpers but depending on rust-amplify is too much (also I want MSRV to be at most 1.41). Rather than copy-pasting I'd like to separate them to their own crates and refactor them for higher quality. I'm willing to do the work of course.
Suggested changes:

Rename CowHelper to TryFromStrHelper and move to a crate called serde_try_from_str_helper
Make sure the documentation is understandable.
impl<'a> From<Cow<'a, str>> for TryFromStrHelper<'a>- this and the following impls may be useful for a fancier deserialization and looks nicer
impl<'a> From<TryFromStrHelper<'a>> for Cow<'a, str>
impl<'a> AsRef<Cow<'a, str>> for TryFromStrHelper<'a>
impl<'a> AsMut<Cow<'a, str>> for TryFromStrHelper<'a>
impl<'a> Borrow<Cow<'a, str>> for TryFromStrHelper<'a>
impl<'a> BorrowMut<Cow<'a, str>> for TryFromStrHelper<'a>
impl<'a> AsRef<str> for TryFromStrHelper<'a>
Maybe instantly stabilize (1.0) because of simplicity?
Move the macros to a crate called stringly_conversions
Define compatibility rules: when we can add another type to the "standard" macros? Suggested rules:

We can add a type added in std at any time.
We can add a type from another crate, where the type was introduced in a release not older than 24 hours.
Crate authors who wish to be added must reach out before releasing a new version.

Do not stabilize yet - announce it and wait for wider Rust community to suggest additional types.

Questions:

Should these crates belong to LNP-BP org? I don't see a problem rigth now but LMK if there's some.
Do the names make sense?
Are there other things that should be changed?

I think overall idea is great!
Few considerations/questions:

I do not understand Cow name, what it mean other than an animal :)
I am a bit afraid of crate names of big length with a lot of _ inside. May be a single serde_helpers crate with all this blocks (like try_from_str) as a features?
I will be happy to have it under LNP/BP! Can we also make it a part of this repo workspace just to reduce the number of different repos all around? Also, the whole idea of amplify crate is to have this small different additions to the core, std and serde libs that are useful everywhere, so I am ok with even having it as a just feature under the main amplify crate. If you don't need the rest of features, I think it will be good to convert each amplify mod to a feature, so users can take only those they need. This is especially important in crypto projects, where each dependency is a huge concern, and having many of them are very not welcome in the community.
Version 1.0 - agree; regarding waiting for the community - can start it as a sub-crate here with some minor version and later convert it to the feature under main crate (which is already more or less stabilized)
The rest looks fine to me!

@Kixunil btw you are already a member here in LNP/BP org as a part of "core devs" team with all necessary rights to admin this repo

Regarding rustc 1.41 support: it's done https://github.com/LNP-BP/rust-amplify/pull/8

Cow is short from "Clone on write" and it was previously called CowHelper becuase it contains Cow. However naming it by what it does instead of how it's implemented is much better. :)
I prefer short names as well but not at the cost of clarity. Maybe serde_str_helpers?
The fear of raw count of dependencies is misplaced IMO. Raw count is mostly meaningless. More relevant questions should be: How many lines of code are there? How many people maintain it? What's the reputation of those people? If the answer is "we have two more very simple crates from reputable people" I don't see a huge problem. To the contrary, it's easier to review the source code of a small crate than the source code of large crate with features. (Do the features really turn off everything not needed?) I do understand that the fear of dependencies is historically developed because there weren't great dependency managers before cargo but I don't see a good reason to stall development in this area. That being said, keeping it in a single git repository (at least for now) sounds fine.

Decided to call the type DeserStrHelper to more clearly convey that the point is deserialization, not conversion.

I see  DeserStrHelper👍🏻
serde_str_helpers is fine!
You are absolutely right. However, as a consequence of what you said, you have to count absolute number of deps as a number of "points of trust" to a team/maintainers (one per dep), so it also matters a lot.

Rght, I was thinking that having a tool to do the counting would be nice. Maybe something for cargo-audit

So since you want to support < 1.41.1 I will need to add a feature (I'll call it rust_1_41) since I also implemented From<> for Cow. Without the feature, only Into will be implemented.
I have also decided to not implement AsRef and similar things that leak internal representation in case we want to change it (e.g. using insane String trick with capacity = 0).
I'm almost done with helpers crate.

So since you want to support < 1.41.1 I will need to add a feature (I'll call it rust_1_41) since I also implemented From<> for Cow. Without the feature, only Into will be implemented.

Don't worry about that for now; I do not know how to get < 1.41.1 working and do not require it. So it will remain as a WIP PR #9  for now, and if one day we will get it worked, then we will add a feature rust_1_41. I will leave a note there

@Kixunil and you are welcome to merge #8 before opening your PR, if you are ok with it

So I tested From with 1.39 to see if it actually breaks. Turns out it doesn't, presumably because of the type not being generic. So I'm removing the feature.

And regarding dependencies management here the approach I take: I comment a lot in Cargo.toml and then re-checking everything with each release (only in mission-critical libraries, of course, not everywhere):
https://github.com/LNP-BP/rust-lnpbp/blob/master/Cargo.toml


Google CloudDNS

In the "Create an Issuer That Uses CloudDNS" section the sample yaml for the issuer contains a dns01 solver which uses cloudDNS.
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: example-issuer
spec:
  acme:
    ...
    solvers:
    - dns01:
        cloudDNS:
          # The ID of the GCP project
          project: $PROJECT_ID

In the yaml however DNS in cloudDNS should not be capitalised it should be all lowercase as per the associated defintion which is all lowercase that is clouddns.
clouddns:
    description: ACMEIssuerDNS01ProviderCloudDNS is a structure containing the DNS configuration for Google Cloud DNS

Leaving it capitalised results in the following exception

error: error validating "istio-certman.yaml": error validating data: ValidationError(ClusterIssuer.spec.acme.solvers[0].dns01): unknown field "cloudDNS" in io.cert-manager.v1alpha2.ClusterIssuer.spec.acme.solversapiVersion: cert-manager.io/v1alpha2
.dns01; if you choose to ignore these errors, turn validation off with --validate=false

There yaml should be
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: example-issuer
spec:
  acme:
    ...
    solvers:
    - dns01:
        clouddns:
          # The ID of the GCP project
          project: $PROJECT_ID

Ok I had the issue creating a Issuer on api version cert-manager.io/v1alpha2. I have created another cluster using cert-manager.io/v1 where cloudDNS is expected with the capitalized DNS so this is not a valid issue


Ignore context canceled errors in proxy test

The stream can receive a context canceled error if it's the end of the test. It should not be considered a test failure.
Fixes some flakiness in the gRPC proxy test

Linter

Fixed the linter


Fix for out-of-date service status

This PR introduces a check on every queue update to make sure that services are not incorrectly marked as queued. This fixes several apparent bugs in which service metadata appeared to have become out of date.
Before/after:

Reviewer: @Poltergeist

LGTM 💯 ✨

LGTM
lets shiff this.


Suggestion to improve route-href syntax

I find the syntax for route-href difficult to remember, and it doesn't feel natural to type.
You're currently forced to use a JSON-like syntax when declaring your route-href's. My suggestion is to improve it, so we don't have to memorize this weird looking syntax.
Current syntax:

Suggestion, introducing an attribute to hold the parameters:

route-href will then just point to the route name, and the params attribute to the parameters.
We can take it even further, and explicit tell the router which parameter to bind

Having both params.bind and params.id.bind on the same element, should result in params.id.bind having precedence over the params binding.

Wrong repository. Reopened here: https://github.com/aurelia/templating-router/issues/22


[Windows] Unable to change logo

Issue description
Unable to change Logo
Steps to Reproduce

Windows Installation
Chrome/Firefox (Both Tested)
Run Jar As Admin
Wait for server to start
Attempt to change logo using file selection

Expected Behaviour
Logo should change, or some form of notification, or even an exception should be produce.
Actual Behaviour
No logo change, no error, nothing.
Environment Information

Operating System: Windows 10
Installation Directory: C:\StreamA (Successfully Validated In Browser)
Running As Admin: True
Streama version: 1.6.4

Install Directory:

\Data<Empty>
\application.yml
\FA.png (Logo. Size: 38.5KB)
\StartServer.bat
\StreamA.jar
\StreamA.mv.db
\Streama.trace.db

Log.txt Output:
INFO streama.Application - Starting Application on xxxxx with PID 5792 (C:\StreamA\StreamA.jar started by xxxxx in C:\StreamA)
DEBUG streama.Application - Running with Spring Boot v1.4.4.RELEASE, Spring v4.3.6.RELEASE
INFO streama.Application - The following profiles are active: production
Configuring Spring Security Core ...
... finished configuring Spring Security Core
INFO streama.Application - Started Application in 15.068 seconds (JVM running for 16.724)
Grails application running at http://localhost:8080 in environment: production
(EOF)

fixed in v1.6.5 https://github.com/streamaserver/streama/releases/tag/v1.6.5


After Function

It would be great to have an after option (That had access to jquery ideally). I work in angular and I need to run the following code After all the fields have been filled out to trigger the form validation. If it could do this it would be perfect!
Array.prototype.slice.call(document.querySelectorAll('select,input,textarea')).reduce(function(all, input) {
    var event = document.createEvent('HTMLEvents');
    event.initEvent('change', true, true);
    input.dispatchEvent(event);
    event = document.createEvent('HTMLEvents');
    event.initEvent('input', true, true);
    input.dispatchEvent(event);
    event = document.createEvent('HTMLEvents');
    event.initEvent('keydown', true, true);
    input.dispatchEvent(event);
}, true);

Or if I could get jQuery:
$('select,input,textarea').trigger('change').trigger('input').trigger('keydown');

The only problem I see with an "after" hook is that it would not run if the last field definition executes a "Libs.h.click" or changes the page.
But that could easily explained in the help section.
Nice idea. Will queue that up :) Thanks!

Hi.
I implemented your idea today.
If you can please test the master version (directly from github) and give me feedback if it works for you.
The syntax is:
var rules = [{
  name: "teardown",
  url: "something",
  teardownContent: function() {
    // your code. jQuery() is available.
  },
  fields: ...
}]

See also this gist
If all goes well this will be in 2.4.1
All the best,
Frank

Looks like it should work - it runs my code in the right place but my code stopped working so I got some other problems. Thanks!

Will be in 2.5.0 proper

2.5.0 is live. please check again with that version.


Please provide a way to change built-in flannel config, e.g. from vxlan to host-gw

It seems that with k3s, there is no way to change config of built-in flannel.
Upstream k8s offers ConfigMap kube-flannel-cfg with cni-conf.json and net-conf.json. There is no such ConfigMap in k3s.
There is /var/lib/rancher/k3s/agent/etc/flannel/net-conf.json but it seems this is just an auto-generated file with clear-text representation of the internal configuration mode. It gets automatically re-written at restart time.
I guess it would be possible to start with --no-flannel and then install regular upstream flannel CNI, though I haven't tried that path yet.
Use case would be to switch from vxlan to host-gw mode.

I am running into this as well. Would it make sense to only write this default config file if it doesn't already exist, allowing the user to edit it if desired?

any new on this? I need host-gw too

Any update? I needed host-gw too

I implemented it, its on a PR

Thank you for the implementation! For an already installed K3S cluster, is it possible to just run the installation script again with the parameter --flannel-backend=host-gw for the server nodes and it will switch to host-gw or will this break the cluster? Or is there another way to achieve using host-gw?

Same question. For an already installed K3S cluster, how can i change flannel backend from vxlan to host-gw.

Just add the parameter to the arguments in the k3s systemd unit and restart k3s.

Hey @brandond, can you elaborate a little more how to change the flannel backend for an already installed K3s cluster?
Thank you

Exactly as I said above.

I know I'm archaeologist here, but for future newbies, I'll translate @brandond comment (which saved me!):

nano /etc/systemd/system/k3s.service
add --flannel-backend=host-gw parameter
service k3s restart

You'd probably want to systemctl daemon-reload prior to restarting if you've edited the systemd unit.


Add no-duplicate-at-import-rules to support other load rules.

no-duplicate-load-rules would disallow duplicate @import, @use and potentially @forward (optional) rules.

Thanks!
Is this a common problem? Maybe you could provide some examples to better understand how the load rules are duplicated.

Users may have duplicate @use rules, same as @import rules. This rule would basically mirror no-duplicate-at-import-rules, but we'll add support for @use and @forward. In the case of @forward, there might be valid cases where users load the same stylesheet several times with different configurations, so we want to make this optional.


Re-add a redirect, with an apple specific session

In this PR, I've reverted us to using a POST->GET redirect in order that we don't have to relax the SESSION_COOKIE_SAMESITE policy, however, I wanted to keep the benefits we'd gotten from being able to use the user scope from the post response.
After some internal discussion, and a read of https://dev.to/costerad/sign-in-with-apple-implementation-hurdles-761, we decided to try using an apple specific sign-in session.  The only difference is that we use the apple specific cookie after a successful login for the reason that it's much more compatible with allauth's structure.
Pros:

No cookie policy relaxation
Coaxes the apple response in to acting more like a oauth2 response with the the POST endpoint
Safely stores the apple login response - I believe this approach provides the best security by virtue of leaning on django's existing session management as far as possible.

Cons:

Additional redirect
Some complexity

@0leg5ergeev @safwanrahman Keen to know what you both think of this.

Nice to see that investigation. @benhowes
To be honest, code is pretty complex for my full understanding now, but I really happy to see that we do not have a needs to update cookie policy.

Thanks @benhowes for the approach. I will take a look of this within tomorrow or next day!

@benhowes @0leg5ergeev Can you guys give me an example of what data has to be passed in the request to allauth backend? I'm so confused as Apple Signin would only return 'code' and 'id_token'. A simple data flow of what has to be done would be easier for us understand.

@benhowes Sorry I could not review this PR in last week or so, was quite busy with my job and university. I am leaving some comments in the main PR.


2502 fix user file

Pull Request Checklist:

[x] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

use script
./hsctl managepy list_resources
and its many arguments to locate existing resources with various attributes as follows:

--storage=local, --storage=user, --storage=federated: storage model
--access=public, --access=discoverable, --access=private: kind of access.
--type=CompositeResource (etc)
--has_subfolders: identifies resources with subfolders.

For a local resource and a user resource: Try to zip and download a bag.

For a local resource and a user resource with subfolders: Try to download a subfolder.

For a local resource and a user resource: Try to zip a file.

For a composite resource: try to download a file with single-file-aggregate metadata. (should get a zip).

For a composite resource: try to download a file without single-file-aggregate metadata and force a zip with the .zip suffix.

Overview
Correct user file download in 2502-composite-resource-phase-2. This PR has a lot of components and fixes many, many shortcomings of the original solution:

All URLs used for downloads are public URLs without iRODS information.
User and federated resources are handled properly by adding the federation path when processing.
There are three kinds of public requests:

a bag download request. format /bags/{resource_id}.zip
a zipfile request (for a previously created zipfile), format /zips/{date}/{hash}/{resource id}/{path-to-zip}
a path download request (that is automatically zipped if it is a folder, and whose response contains the zipfile path), format /resource/{resource id}/{path-to-target}

special features:

folders are always automatically zipped when used as targets
adding .zip to the end of a file download request zips the file unconditionally. Otherwise the file is returned zipped if it has single-file-aggregate metadata, and unzipped if it doesn't.

other changes:

django_irods is a directory, not a submodule.

There are a number of known issues:

Large file handling does not change the banner about not being able to download large files.
Many composite resource metadata files are missing from existing resources, even after the script to remove generic metadata. I am logging their absence as errors.
Unit tests have mistakes in them; they look for the wrong paths.

As a summary of what this does:

action
old
new

url of a zipped bag
/django_irods/download/bags/{resource id}.zip
/bags/{resource-id}.zip

url of a zipped folder
/django_irods/download/zips/{date}/{resource-id}/{hash}/{path-to-target}
/django_irods/download/zips/{date}/{hash}/{resource-id}/{path-to-target}.zip

zipping a folder
/django_irods/downloads/zips/{resource id}/{path-to-target}.zip
regular path: /resource/{resource-id}/{path-to-target}

zipping a file
no analogue
/resource/{resource id}/{path-to-target}.zip

I backed off from making  /zips/ and /bags/ public endpoints, because there is too much to change in the REST API to make them work properly. So far, changes don't affect the REST API much. We can add convenience endpoints later if desired.

@aphelionz @hyi @sblack-usu @pkdash
Status update:

All tests modified and work.
Cannot conceive of the problem in metadata not being created for Composite Resources. Logical file exists, no corresponding metadata files. Creation code gives the appearance of working. Giving up for now.

@alvacouch

Cannot conceive of the problem in metadata not being created for Composite Resources. Logical file exists, no corresponding metadata files. Creation code gives the appearance of working. Giving up for now.

Is this problem with existing composite resources (prior to phase-2) or new composite resource? How can I reproduce this problem?

I'll take a look at this in the morning.  Took me longer than I thought it would to upgrade to solr6...

@pkdash @sblack-usu The problem with missing metadata is for existing Composite Resources after the upgrade script. Lots of files are supposed to correspond to aggregate metadata and don't. These are reflected in the log when I try to zip the supposed metadata.
Meanwhile, your script regenerate_xml_files_composite_resource crashes with the error
> GENERATING BAG FILES FOR COMPOSITE RESOURCE:582060f00f6b443bb26e896426d9f62a
Traceback (most recent call last):
 File "manage.py", line 10, in <module>
   execute_from_command_line(sys.argv)  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
   utility.execute()  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 346, in execute
   self.fetch_command(subcommand).run_from_argv(self.argv)  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
   self.execute(*args, **cmd_options)
 File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
   output = self.handle(*args, **options)  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 69, in handle
   generate_bag_files(r)  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 46, in generate_bag_files
   create_bag_files(resource)
 File "/hydroshare/hs_core/hydroshare/hs_bagit.py", line 205, in create_bag_files
   resource.create_aggregation_xml_documents()
 File "/hydroshare/hs_composite_resource/models.py", line 159, in create_aggregation_xml_documents
   aggregation.create_aggregation_xml_documents()
 File "/hydroshare/hs_file_types/models/raster.py", line 434, in create_aggregation_xml_documents
   super(GeoRasterLogicalFile, self).create_aggregation_xml_documents(create_map_xml)
 File "/hydroshare/hs_file_types/models/base.py", line 1223, in create_aggregation_xml_documents
   raise exUnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 668: ordinal not in range(128)

and the log message:
...
[09/Aug/2018 23:57:47] WARNING [rdflib.term:208] http://www.hydroshare.org/resource/ae791e802ff7401887ad1e552be3bb0a/data/contents/Progress report.pdf does not look like a valid URI, trying to serialize this will break.
[09/Aug/2018 23:57:48] WARNING [rdflib.term:208] http://www.hydroshare.org/resource/ab6c729f441249f9b10824f541cbdb61/data/contents/modified report/modified report.pdf does not look like a valid URI, trying to serialize this will break.
[09/Aug/2018 23:57:48] WARNING [rdflib.term:208] http://www.hydroshare.org/resource/ab6c729f441249f9b10824f541cbdb61/data/contents/Progress report.pdf does not look like a valid URI, trying to serialize this will break.
[09/Aug/2018 23:58:02] ERROR [root:1222] Failed to create aggregation metadata xml file. Error:

SO, there are at least two problems with metadata generation:

Crash while creating metadata.
Failure to convert ' ' to '+' when creating URLS for filenames containing spaces.

@alvacouch

Crash while creating metadata.
Failure to convert ' ' to '+' when creating URLS for filenames containing spaces.

I will try to get a fix for these two above issues tonight. I need help in testing though. Would you be able to run the management command (the command that raised the above 2 issues) using the branch that I create for this fix?

@alvacouch I just remembered that I had a fix for the encoding in this PR: https://github.com/hydroshare/hydroshare/pull/2840 which never got merged.

My testing on https://dev-hs-6.cuahsi.org

Backed up existing config files into ~/backup
Did a fresh git clone of hydroshare on dev-hs-6 into /home/hydro/hydroshare
Checked out 2502-fix-user-file
See code below, now following positive use case instructions

Try to zip and download a bag.

[ ] Local Resource
[ ] User Resource

Try to download a subfolder.

[ ] Local Resoruce
[ ] User Resource

Try to zip a file.

[ ] Local Resoruce
[ ] User Resource

For a composite resource: try to download a file with single-file-aggregate metadata. (should get a zip).

[ ] Local Resoruce
[ ] User Resource

For a composite resource: try to download a file without single-file-aggregate metadata and force a zip with the .zip suffix.

[ ] Local Resoruce
[ ] User Resource

Notes below:
Step 1, using ./hsctl managepy list_resources script with arguments
Step 2:
$ ./hsctl managepy list_resources --storage=local
46383233 0359cab7d93f403ba6ee8726cff74f8a public local GenericResource GIS in Water Resources Term Project 2015
153071782 040dfdc5e0684a40bd13c0259e971bb7 public local GenericResource NFIE Colorado Region
3767595 0559afaa73aa4504b3bbc76a690948f0 private local GenericResource water data
21866 05a29e4ddffd42b88f482bd5be46e88d public local GenericResource Yellowstone Ground Snow Cover Validation
155205454 07a719c26ebb4aea89c0923e56c0df5f private local GenericResource Coweeta WS 14, created by EcohydroLib
65382856 0b7dcbc238c947239a6f949abec869db public local GenericResource NFIE Mid-Atlantic Region
9330159 0cb834d7635943e98d770e9df0c522fe public local GenericResource FRIS Geodatabase Table for Tar River Basin
29241961 0e62b639e17c40259fc969437f33f59b public local NetcdfResource cliamte_model_sample
1738704043 126bb28f05224636a8bc8b3d1bdad6b5 public local GenericResource NFIE-Geo Mississippi Region
190071964 137c5c8f43c847feb213c405bfcd19ca private local GenericResource UEB input package for the Dolores watershed
7904847 15961229b690461f9f60efdf09b280ab private local GenericResource TOPNET input package for the Logan River watershed
75108 17c732b4ec924f54ba73aa77497d8354 public local GenericResource Colorado River @ Lee's Ferry (Discharge, Water Temp, Precip) from 7/31/15 to 8/15/15
6639546 19f4c8aebfcd4c6c86766a6d7f682374 private local GenericResource UEB input package for the LittleBear watershed at Hyrum Reservoir
...

``
./hsctl managepy list_resources --storage=user
[no results]

$ ./hsctl managepy list_resources --storage=local --has_subfolders
10310744 b26090299ec947c692d4ee4651815579 public local GenericResource Great Salt Lake Level and Volume
118889880 0e49df4b97f94247a8d52bac4adeb14a public local GenericResource Thunder Creek Landlab Landslide Example
3427648 250a21e6752b46a48167311b46fa7c71 public local GenericResource Utah Water Voices
10849740 cf8d84ef37964fa3a10f69ce4b9f9586 public local GenericResource Discharge Rating Curve at Red Butte Creek near Foothill Drive Advanced Aquatic Site (RB_FD_AA)
10224083 c0a5a958e95e44b5846a7d8950be7bbd public local GenericResource Discharge Rating Curve at Red Butte Creek near Cottams Grove Basic Aquatic Site (RB_CG_BA)
10452623 0b6d8dad809e4638b039b01adf4b7b74 private local CompositeResource Compo Res-1
87996 ee9ab1df48b14e66ae9ee4c265a96fb5 discoverable local GenericResource Using ODM2API and Bokeh to create result value annotations. Bokeh allows a user to interactively select values from a graph.
39432633 b0dd5943944a4ae8949b881cd0264bf5 public local GenericResource HydroShare Pictures
1932590232 e77d01d7d1084be396bf783bd8d3c7e4 private local GenericResource Testing Sauk - Jim
429903220 d7b7f9d5c7e0411683b76ef45c6bf0d8 public local CompositeResource Logan 10 m Terrain Analysis
2870847 8bb80a0aece94f81b52dcb719ada5a8f public local ModelProgramResource SWAT Calibration Helper v1.0
20 b1b29c30eb7d45bd85b527b4248f418e private local GenericResource Functional Test
20 fe6edc72a982454b8a86aacd7cfbaf74 private local GenericResource Test

``
./hsctl managepy list_resources --storage=user --has_subfolders
[no results]

$ ./hsctl managepy list_resources --storage=local --type=CompositeResource
10452623 0b6d8dad809e4638b039b01adf4b7b74 private local CompositeResource Compo Res-1
4551930 8bcb414386c34d74aeb102dd32e1335c private local CompositeResource Untitled resource
4551930 fbee3a71e353420488573217a7183e62 private local CompositeResource Untitled resource
16117455 b541b6734ada45ce86a1340d7af995af private local CompositeResource MODIS Test 4
429903220 d7b7f9d5c7e0411683b76ef45c6bf0d8 public local CompositeResource Logan 10 m Terrain Analysis
26696322 f0f09e43d0e54e3199cc23d05a59295d public local CompositeResource S. Fk. Flathead River data
70070 15b7d7ceb7514893b2fc758573cc8b11 public local CompositeResource Teton River, MT
86162 3d86775c5e894cd486efff8aff9a401b public local CompositeResource North Fork Sun River, MT
46712 c16d726d99de4886912af8473c881bd1 public local CompositeResource Mission Creek, MT
6556482 6d995a7597ec4dbebc37c118b0a1bade public local CompositeResource Demo Composite Resource
56391920 2e921a60f5914870bb16ca952d90d452 private local CompositeResource MOPEX 2
1555 9cc257a981404131982a58fd91f91d4e private local CompositeResource Time series layer resource created on Mon Apr 10 2017 09:37:59 GMT-0600 (MDT)
5369856 5c129ecc8c59460d8f3668ba1455ae0a private local CompositeResource Time series layer resource created on Mon Apr 10 2017 09:37:59 GMT-0600 (MDT)
1555 7e577559494f4bf88ea07769eeb6a280 private local CompositeResource Time series layer resource created on Mon Apr 10 2017 09:37:59 GMT-0600 (MDT)
3823811880 e8434e287ada4540be814fa7275fb749 public local CompositeResource Supporting files for python tool subset_nwm_netcdf 1.1.3
1555 ba71686c6c3f4daf9709c75e698a8b57 private local CompositeResource Time series layer resource created on Mon Apr 10 2017 09:37:59 GMT-0600 (MDT)

with / without single file aggregate metadata

@sblack-usu I added the fixes from Pabitra and this does not fix the xml metadata file generation.
I get the following crash:
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 69, in handle
    generate_bag_files(r)
  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 46, in generate_bag_files
    create_bag_files(resource)
  File "/hydroshare/hs_core/hydroshare/hs_bagit.py", line 205, in create_bag_files
    resource.create_aggregation_xml_documents()
  File "/hydroshare/hs_composite_resource/models.py", line 159, in create_aggregation_xml_documents
    aggregation.create_aggregation_xml_documents()
  File "/hydroshare/hs_file_types/models/raster.py", line 435, in create_aggregation_xml_documents
    super(GeoRasterLogicalFile, self).create_aggregation_xml_documents(create_map_xml)
  File "/hydroshare/hs_file_types/models/base.py", line 1224, in create_aggregation_xml_documents
    raise ex
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 668: ordinal not in range(128)

@sblack-usu The plot thickens. In the file metadata somewhere in this particular resource 582060f00f6b443bb26e896426d9f62a, there is a Unicode right quote (\u2019) that gets cast to ASCII by the XML conversion.  My hint about this is that it's used as a foot abbreviation in the phrase  … 4200\u2019 are ....

@sblack-usu The offending quotes are in the method field of the GeoRasterMetaData object.

I pushed the fix to this branch.  I struggled with reproducing this in a unit test so there isn't an extra test around the change.  I thought it best to get this through, unless someone else wants to take a crack at the test.

@sblack-usu @martinseul @aphelionz @pkdash
I have completed my changes due to reviews:

debugging logging all encapsulated in if __debug__ contexts.
Repair turned off for Composite Resources until next release. Existing strategy would corrupt them.
Addressed line-by-line comments individually.

At present, the only major shortcoming for this release is that repair_resource doesn't yet work for composite resources. This can be put in as a hotfix later.

@sblack-usu We are not out of the woods yet:
GENERATING BAG FILES FOR COMPOSITE RESOURCE:99d5f690908b4c18bd362039522bff3f
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 69, in handle
    generate_bag_files(r)
  File "/hydroshare/hs_core/management/commands/regenerate_xml_files_composite_resource.py", line 46, in generate_bag_files
    create_bag_files(resource)
  File "/hydroshare/hs_core/hydroshare/hs_bagit.py", line 94, in create_bag_files
    istorage.saveFile(from_file_name, to_file_name, True)
  File "/hydroshare/django_irods/storage.py", line 220, in saveFile
    self.session.run("imkdir", None, '-p', splitstrs[0])
  File "/hydroshare/django_irods/icommands.py", line 182, in run
    raise SessionException(proc.returncode, stdout, stderr)
django_irods.icommands.SessionException: (SessionException(...), 'Error processing IRODS request: 3. stderr follows:\n\nERROR: mkdirUtil: mkColl of /nfiehydroZone/home/localHydroProxy/99d5f690908b4c18bd362039522bff3f/data error. status = -130000 SYS_INVALID_INPUT_PARAM\n')

This is most likely a space in a filename that is not adequately escaped with \.

@alvacouch Noticed this specific resource is stored in nfiehydroZone which is only federated with www hydroshare iRODS production server, so the dev irods proxy user will not be able to imkdir into that zone path. This was a test resource created by @rayi113 and you can skip it in your testing on a dev VM.

@hyi How can I identify whether a zone is federated with a deployment or not? Is there an iCOMMAND I can use?

@alvacouch It's in the federation field in /etc/irods/server_config.json.

@alvacouch Whether a selected iRODS path is federated with HydroShare is checked with this routine: https://github.com/hydroshare/hydroshare/blob/develop/hs_core/hydroshare/utils.py#L156-L186
As you can see, it checks whether HydroShare iRODS proxy user can list the iRODS path or not, if yes, it is federated, otherwise, it is not.

@alvacouch - are you satisfied with this pull request?  If so we can get it merged into the main composite resource branch and I'll redeploy.

PR addressed https://github.com/hydroshare/hydroshare/issues/1744