Check if user 'lg' exists if not create one

User lg is encouraged, since it is the one that we have use to throughout all our installation, and we might have left out some variable hardcoded to it. However, we are not enforcing it.
Also, starting here, most of the installation relies on the $home variable. Creating a lg user is not enough to preserve the correct functioning of the script. A new user would have to preserve the correct storage of files, execution and permissions, and to make sure that the new signed in user becomes that new lg user.


#238 Fixed issue that toolbar shadow doesn't switch.

Fixed #238.

Awesome...!

Thanks for your fix! LGTM


Add backend demos

Adds a demo page which proves out frontend-backend communication with authentication working.

@tylerauerbeck Yes, this is also a test of the auth/RBAC, which includes a special role. The user tom has the role manage_projects - which is checked here

@jacobsee Then this LGTM outside of #11 , which I think we can look at as a seperate task. Let me know if you think the same and then I'll merge this.

@tylerauerbeck Agreed. SSO logout is an issue, but unrelated to frontend-backend communication in my mind.


Added fully qualified URL.

This commit adds a fully qualified URL to be able to Command+Click from
a terminal like iTerm2 and have it open the browser.


should_not contain_exec throws error

I have a manifest that runs an exec resource depending on osfamily
I have the following statement in my rspec-puppet test script.
case facts[:osfamily]
when 'RedHat'
  it{ should contain_exec('dev_tools').with(
    'user'    => 'root',
    'path'    => ['/usr/bin'],
    'command' => "yum -y groupinstall 'Development Tools'",
    'unless'  => "yum -y groupinstall 'Development Tools' --downloadonly",
    'timeout' => '0600',
    'require' => 'Package[yum-plugin-downloadonly]'
  ) }
else
  it{ should_not contain_exec('dev_tools') }
end

...but it throws the following error:
Failure/Error: it{ should_not contain_exec('dev_tools') }
     NoMethodError:
       undefined method `negative_failure_message' for #<RSpec::Puppet::ManifestMatchers::CreateGeneric:0x7f0270851a00>
     # ./spec/classes/core_install_spec.rb:23

Right found it. It was reintroduced later in the horrible mess. Nested ifs and cases.

i have the same problem. i have a simple if-statement in my puppet code and want to test "true or false" and if the resource inside the if-block is in the catalogue or not.

@Aethylred I can't see your problem with the current released version. Closing.
@rwaffen please open a separate issue with both your manifest and test code.


Remove the blue outline on custom styled buttons for the options

We need to remove the default styling of the blue outline around the text and implement a different set of options to style the buttons while being selected.

I think the easiest way to implement all the button behaviour but using textures is by using the TextureButton. Not sure how this should be done though, because the ChoiceButton Scene has a normal Button as root...

I removed the blue outline on the buttons. Need to add a focus style to the theme editor. But maybe using texturebutton will be the best way to go.


Add quadcore VexRISCV example from Antmicro blog post

The design described at https://antmicro.com/blog/2020/05/multicore-vex-in-litex/ should be an example in this repository.

FYI - @acomodi / @kgugala


Maya: Remove duplicated attributes of MTOA verbosity level

Changelog Description
Remove duplicated attributes implementation mentioned in https://github.com/ynput/OpenPype/pull/5931#discussion_r1402175289
Additional info
n/a
Testing notes:
1.Go to Openpype Settings -> project_settings/deadline/publish/MayaSubmitDeadline/pluginInfo

Add {"ArnoldVerbose": 2}

Launch Maya via launcher with your rendering scene

Make sure your current renderer is Arnold

Publish

Actually looking at this code - when is _get_arnold_render_payload ever called? Is it unused?

Actually looking at this code - when is _get_arnold_render_payload ever called? Is it unused?

I dont think I am the best person to answer this. Maybe @antirotor has an idea of where the payload function is being used.

I'm pretty sure it's unused.

Yes,  unused. It is remnant of support for direct rendering of ass files if I remember correctly and can be removed, but not in this PR.

@LiborBatek can you test to see if there is any small error after the removal so that i can merge this?


TransformVlcBitmap: Why we need to convert the bitmap from 160x480 to 240x320

In the file FrameRenderer.cpp. What is the function TransformVlcBitmap() going to do?
I believe the image stream from the VisibleLight cameras is 160x480.
However it the function TransformVlcBitmap() it tries to store such 160x480 bitmap into a 240x320.
Why we need to do this?

My guess from several raw pictures that I took, is that in 160x480 the image is stretched. Meanwhile with 240x320, the image is at its correct scale. Though, I am not completely sure about this. I am also looking for a proper specification and details regarding the environment understanding sensor camera.

Right. Literally, there are not many official documentations for HoloLens research mode...


(( in ConditionExpression -- parity with prod or oversight?

https://github.com/mhart/dynalite/blob/0641c3bf29b1171a67f49d58ca47ad676e145884/db/conditionParser.pegjs#L123
Contains following validation for ConditionExpression:
    if (!errors.parens && text().indexOf('((') === 0) {
The language for condition expressions includes both AND and OR, thus, it is possible to construct irreducible expressions with arbitrary number of repeated parentheses:
a OR b
(a OR b) AND (c OR d)
((a OR b) AND (c OR d) OR (...) AND (...)) AND ((...) AND (...) OR (...) AND (...))

Thus the question is, if this test was for parity with real dynamodb or an oversight / simplified implementation? If this was a limitation of real dynamodb at the time, is it still the case?
I've ran into this when I tried to change the test backend from dynamodb local to dynalite. The error I get and the expression in question are same as described in https://github.com/boto/boto3/issues/1395 (Attr(attr1).gt(value1) & Attr(attr2).gt(value2) & Attr(attr3).gt(value3) which boto3 translates to ((a AND b) and C)).

I've tested real dynamodb, here's current behaviour:
--condition-expression '((:p1 = :p1 AND :p1 = :p1) AND :p1 = :p1)'  # OK
--condition-expression '((:p1 = :p1 AND :p1 = :p1))'  # Redundant parentheses

It seems that in this case, dynalite deviates from dynamodb.

Yep, I think I just took a shortcut here. Would be happy for a PR to fix this

(from memory it was difficult in peg.js to determine redundant parens as they were eliminated – but it was a long time ago)

It's late on a Friday night, so I'm not super confident in this, but given the two examples by dimaqq, the following code gives the correct result for both examples:
function has_redundant_parentheses(expr) {
    if (expr.substring(0, 2) !== '((') {
        return false
    }
    var length = expr.length;
    if (expr.substring(length - 2, length) !== '))') {
        return false
    }
    var depth = 1;
    for (var index = 1; index < length; index++) {
        var char = expr[index];
        if (char === '(') {
            depth += 1;
        } else if (char === ')') {
            depth -= 1;
            if (depth === 0) {
                return index === length - 1;
            }
        }
    }
    return false;
}```

The basic idea is to check if it both starts and ends with ((/)) and if the first and last paren match.

Awesome. Fri morning here in NYC, so I might have a chance to play with this today – thanks! 👍

came up with an updated version, instead of checking if the last and first parens match, check if the second and second-to-last match. If the "inner" parens match, the "outer" must too and are thus redundant.
function has_redundant_parentheses(expr) {
    if (expr.substring(0, 2) !== '((') {
        return false
    }
    var length = expr.length;
    if (expr.substring(length - 2, length) !== '))') {
        return false
    }
    var depth = 1;
    for (var index = 2; index < length - 1; index++) {
        var char = expr[index];
        if (char === '(') {
            depth += 1;
        } else if (char === ')') {
            depth -= 1;
            if (depth === 0) {
                return index === length - 2;
            }
        }
    }
    return false;
}

Fixed this in the "correct" way using peg.js: https://github.com/mhart/dynalite/commit/0381387c4359126bda9ead9cb851602f5d944be5#diff-6877405f768ee66ac5f3e9a529bfc10d


Performance issue in mxSvgCanvas2D

We have to change a number of labels for cells in out graph. It is very slow. And when we investigate the performance. It seems that the cause is in mxSvgCanvas2D.
Especially somewhere near: https://github.com/jgraph/mxgraph/blob/master/javascript/src/js/util/mxSvgCanvas2D.js#L1567
I am thinking that because in the code, it tries to read the offsetWidth of div2 multiple times, during that, there are some change in the layout then cause the reflow of the document.

Thanks for the report. We've reduced the number of required reflows and reading offsetWidth to the minimum for the general case. Try optimizing the style instead, eg.

Is HTML and/or word wrapping needed (see mxGraph.isHtmlLabel/isWrapping)?
Is clipping acceptable (see mxConstants.STYLE_OVERFLOW)?


Revert "feat(paths): allow assets to be found using their non digested path (#100)"

Closes #143
Closes #139
Might close #117
Replaces #141
While this was a nice idea, once again issues show that trying to extract digests generated by bundlers causes compatibility problems. Let's revert so esbuild chunking works again and think of another way to do this.
@joker-777 Your PR seems to revert most of the changes here, so I think it might be a better idea to revert the entire thing. I've added you as a co-author.
I'm keeping this PR open for a while before merging in case anyone involved in the listed issues/PRs wants to provide further input.

@brenogazzola Thanks, then let's revert it.

Wow, what a coincidence. I am debugging the same issue at the moment.
Thanks, @joker-777

With no further input from anyone, and having run this in production without problems for a while, I'm merging it

What is the migration path for people that relied on this behavior?

Hey @aaronjensen can you explain how you were using it so I can see if I can think of anything? The original contributor was using it for preloads for example.

I'm not sure I understand what you are doing. You are saying instead of using propshaft's precompile to generate the manifest file you are having Vite do it?

Uhm, kind of. We have something that works. Propshaft can’t control the digest on vite/rollup assets because of how they are loaded lazily from JavaScript without a rather sophisticated propshaft compiler

But I want to point out that everyone here use some kind of javascript tooling. That's why we choose propshaft.

No, on the contrary. Propshaft and import maps allow you to eschew JavaScript tooling, which is an appropriate response given how complex it has become.
When we are forced to use JavaScript tooling, we are forced to deal with the things we have to deal with. My only point was "this pain is to be expected."

For me, propshaft can't control digest of assets generated by javascript build tools sound about right as it should be.

🤷 If you are using esbuild to generate a single file, propshaft can digest things just fine. It's only necessary to have vite/webpack/whatever emit digests when the emitted JavaScript code refers to the files by name. If they never do that, you can let Propshaft do the digesting.

I have zero issue in my use case, apart from the bugs solved by this PR.

Glad to hear it. This PR allowed us to get rid of the silly double digesting we needed to do for our async chunks that Vite generated (chunk-abcdef-abcdef.digested.js) but it made it so we could no longer rely on Propshaft to find the digested version of the thing we were trying to load, which was the thing the original PR that was reverted was attempting to do AFAICT. We relied on that behavior. It was removed. We had to do work to stop relying on it.
When I asked if there was a migration path, it was to see if any thought had been given to the people that were going to be impacted by rolling something that people may have relied on. It sounds like not, it was just done, so we figured it out.

@aaronjensen I apologize for the rushed revert. I assumed the feature was a complete failure and the only use case I knew of (preloads) was a minor thing so removing the feature would not be a problem.
We are in a bit of a frustrating place because the idea was good, but esbuild name collision is making things complicated. Each bundler behaves a different way and coming up with a way that works for all of them AND all use cases is not obvious (see the assets:clean problem)

Thanks. I don't know if I am familiar w/ the particular assets:clean problem you are referring to (though I am familiar w/ the general problem of knowing which ones to clean once they are digested... this goes way back).
One of the things that would have made our work easier today was if there was a sanctioned way to add to Propshaft's manifest. It would be relatively straightforward to translate Vite's manifest into something that Propshaft could use I'm guessing. I just wasn't sure where to start and I didn't feel like coupling to Propshaft internals (especially given this recent break).
In case it's useful to anyone, here is how we solved our problem today:
module JavascriptEntrypointHelper
  def javascript_entrypoint_tag(name)
    name = "src/#{name}.tsx"

    path = Manifest.file_path(name)

    src = path_to_javascript(path)

    tag.script(src:, crossorigin: "anonymous", type: "module", defer: true)
  end

  # This manifest is produced by Vite, which adds the digest to assets. This
  # is necessary because files import other files and we don't have a
  # Propshaft compiler that replaces those references with Propshaft digested
  # references. We attempted to have Vite emit entrypoints that did not have
  # digests, but some of the code-split chunks refer to entrypoints, so we end
  # up with the same problem. Instead, we let Vite digest all of its assets
  # and then use its manifest to produce an asset path that Rails can use.
  # - Aaron, Kelly, Tue Oct 31 2023
  module Manifest
    def self.get
      @manifest ||= load
    end

    def self.file_path(name)
      manifest = get
      entry = manifest.fetch(name)
      entry.fetch("file")
    end

    def self.load
      text = File.read(path)
      JSON.parse(text)
    end

    def self.path
      Engine.root.
        join("app/assets/builds/manifest.json")
    end
  end
end

I see now that our context is wildly different.
Our setup heavily uses code-splitting and dynamic imports with bells and whistles, not just compiling to a single file.
I am not sure if it applies to Vite or your situation, but the way we did it is this:

We don't emit *.digested.* on the entry files but everything else. Like this:

{
  output: {
    filename: '[name].js',
    chunkFilename: '[id]-[contenthash:20].digested.js',
    sourceMapFilename: '[name]-[contenthash:20].digested.map',
    path: outputPath,
  },
}

The same principle also applies to CSS/SCSS.

We emit manifest from Webpack, only for the entrypoint that is

new AssetsPlugin({
  filename: 'index.json',
  removeFullPathAutoPrefix: true,
  path: outputPath,
  prettyPrint: true,
  entrypoints: true,
}),

The manifest looks similar to this

{
  "entry1": {
    "css": "entry1.css",
    "js": "entry1.js"
  },
  "entry2": {
    "css": "entry2.css",
    "js": "entry2.js"
  },
  "entry3": {
    "css": "entry3.css",
    "js": "entry3.js"
  }
}

Note that there is no *.digest.* in their names.

We do have entry-loading helpers implemented (similar to what you are doing just now) by reading the manifest file.

  def asset_pack_tags(entry_name, js_options: {}, css_options: {})
    asset_index = AssetIndexCache.instance.cached
    entry = asset_index.fetch(entry_name, {})
    [
      *entry.fetch(:css, []).then do |files|
        Array(files)
      end.map do |file|
        stylesheet_link_tag file.delete_suffix('.css'), **css_options
      end,
      *entry.fetch(:js, []).then do |files|
        Array(files)
      end.map do |file|
        javascript_include_tag file.delete_suffix('.js'), **js_options
      end,
    ].join("\n")
  end

We used it like this:
<%== asset_pack_tags(:main, js_options: { defer: true }) %>

For cleaning up, we have this in our Makefile:

cleanup:
	rm -f ./app/assets/builds/*.digested.*

We never have these double hashing issues you mentioned.
This is probably not the migration path you are looking for. However, at least we know that every person has different contexts. I don't even know if any of these apply to Vite, but it works wonders in my projects.

Our situations are more similar than you think. The main difference is that rollup (which vite uses) will sometimes import entrypoints from chunks, which means I can't use the technique of allowing propshaft to fingerprint the entrypoints, unfortunately. It's rather annoying, but now that I have the ability to interpret the Vite manifest, it works for now. This particular app is a legacy app anyway. All our new stuff is much simpler -- import maps and regular old JavaScript without a compiler. In some cases we bundle, but that's about it.


Use new Single unit from RxSwift 3.3

RxSwift 3.3 added a new Single trait (formerly called "unit"):

A Single is a variation of Observable that, instead of emitting a series of elements, is always guaranteed to emit either a single element or an error.

Docs
As mentioned in RxSwift docs, HTTP requests fit this model extremely well.

Sounds like a good idea. Only situation to consider is if you'd want to have a replay behaviour but in that case you can always do asObservable, so I assume it would fit more cases in general.
Another issues with this is it would probably have to be an additional/alternative implementation and not a substitution to avoid breaking changes to people using the Observable variant.

What do you think about this strategy?

Convert existing API to returning Single
Shim the Single returning APIs to return Observable to keep existing API surface intact
Marking Observable returning shim APIs as deprecated
Remove Observable shims in a later release

My thought was the first 2, but is there a good reason to remove Observable(s) at all? If someone wants them he can just use them.

Also don't forget that that not all HTTP requests are have single response. there is also text/event-stream

is there a good reason to remove Observable(s) at all?

My thought was that if it's already easy enough to call asObservable on a Single, removing those Observable APIs would make it easier to maintain this library in the future since you wouldn't have to maintain essentially 2 nearly identical copies of most API functions. I suppose the same thing could also apply to calling asSingle on an Observable, but if the Single trait makes the most sense for an HTTP call (in many cases), then that one should be the "main" API?

not all HTTP requests have single response.

👍 Good note, I'll keep that in mind if I end up trying to work on this.

If you don't end up working on this LMK, I wouldn't mind handling as well :) @joshfriend
Good luck!

I came to an unfortunate realization last night. Swift allows overloading methods that differ only in return type:
func data() -> Observable<Data>
func data() -> Single<Data>

However, when you try to use one of those functions, you get a compile error "Type of expression is ambiguous without more context" or something similar. You need to cast or hint the type of the desired return value somehow:
let request = data() as Single<Data>
// or
let request: Single<Data> = data()

Thus, adding a parallel APIs returning Single (that use the same method names) is a breaking change, even though the Observable returning APIs were unchanged. Adding those casts everywhere is also very ugly.
Possible workaround would be to name the functions differently for the Single APIs
// Current API:
func data() -> Observable<Data>

// New APIs:
func getData() -> Single<Data>
// or
func dataSingle() -> Single<Data>

I don't really like those names though, the existing API names are quite good.

Yeah I kinda had that thought yesterday as well. This is kind of a problem, I don't have a good thought about it yet but I have a couple of questions we need to answer :

Will we eventually want to make Single the main response type instead of Observable ?
If so, when? This would be a breaking change probably so it needs to be on a major version.
Also, should we rename the old Observable implementation to observableData(), for example? Since it is the way-less-commonly-used scenario ? (e.g. text/stream like @sergdort mentioned)
And lastly, does the Shimming strategy actually fit here? If you do a .asObservable() on a single you can manipulate it as a single but it would still only get a single emission, which might mean a Shim wont be good here and we're better off keeping separate strategy or using the shim the other way (e.g. asSingle()) ?

All good answers we should answer before we proceed here I imagine.
Would love everyone's thoughts :)

Hi guys,
I think the simplest solution would be to create a new majore version of RxAlamofire that uses Single when appropriate.

Marking this as enhancement for now but I still think like this would need some more thought to make sure API still feels consistent and doesn't break too many things :)


fix: pixelated avatars on top right corner

This should be fixed by enabling mipmaps and trilinear filtering on avatar profile texture.

@BrianAmadori
I'd say this is fixed with the new Unity version, right?

Yep!, it should be fixed by now. Closing.


add JOBPATH to file rename, send exception output to STDERR (DLTP0-1125)

#101

I thought so, but I will swear that you requested that I remove it as
unnecessary in a previous review :) I'll add it back,.
On Tue, Nov 28, 2017 at 12:35 PM, Don Brower<EMAIL_ADDRESS>wrote:

@dbrower requested changes on this pull request.
In lib/rof/filters/filename_normalize.rb
https://github.com/ndlib/rof/pull/102#discussion_r153566675:

   def rename_file(old_name, new_name)

   return false if old_name == new_name

Why is this line missing? I thought this guard was critical since this
function is called on every filename in the ROF file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ndlib/rof/pull/102#pullrequestreview-79590987, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADNGTO3E2bqFoGU80RZmPi4gCu4ryPeLks5s7ER3gaJpZM4QtlBk
.

I think I suggested moving the if statement up to the caller. But it is still needed somewhere.


python311Packages.identify: 2.5.32 -> 2.5.33

Diff: https://github.com/pre-commit/identify/compare/refs/tags/v2.5.32...v2.5.33
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg eval

Result of nixpkgs-review pr 272742 run on x86_64-linux 1

34 packages built:

pre-commit
pre-commit.dist
python310Packages.fastai
python310Packages.fastai.dist
python310Packages.identify
python310Packages.identify.dist
python310Packages.spacy
python310Packages.spacy-lookups-data
python310Packages.spacy-lookups-data.dist
python310Packages.spacy-transformers
python310Packages.spacy-transformers.dist
python310Packages.spacy.dist
python310Packages.textacy
python310Packages.textacy.dist
python310Packages.textnets
python310Packages.textnets.dist
python310Packages.weasel
python310Packages.weasel.dist
python311Packages.fastai
python311Packages.fastai.dist
python311Packages.identify
python311Packages.identify.dist
python311Packages.spacy
python311Packages.spacy-lookups-data
python311Packages.spacy-lookups-data.dist
python311Packages.spacy-transformers
python311Packages.spacy-transformers.dist
python311Packages.spacy.dist
python311Packages.textacy
python311Packages.textacy.dist
python311Packages.textnets
python311Packages.textnets.dist
python311Packages.weasel
python311Packages.weasel.dist


Update fixed elements on mobile

Right now, fixed elements look strange, and we need to think about what to do with them.
https://user-images.githubusercontent.com/25638585/216045432-2abacc06-8a05-4d42-b9eb-77bc9f20a795.mov
Simplest solutions:

Add background to theme-switcher
Move elements to the footer and make them non-fixed.

I think adding a background is the better option. It keeps those buttons easily accessible and doesn't give up a lot of screen real estate (since the buttons were already making this area not really useful for the things behind it).


General adjustments in Taurus and Beowulf

🤔 What type of PR is this? (check all applicable)

[ ] 🍕 Addition
[ ] ⌨ Productivity
[X] 🐛 Bug Fix
[ ] 🔥 Optimization
[ ] ⚙ Configuration
[ ] 🌟 Quality Of Life
[X] ✨ Enhancement
[ ] 📝 Documentation

📝 Description
fix and renew some more things, maybe in the next one I will fix the accessories of the taurus revolver and the m249 maybe it will fix it
🖼 Screenshots/Recordings
Bug:

Looks good to me. Awaiting review from @Desoroxxx.

I already added the changes to the changelog


Allow cov & corr to handle missing values

[x] Closes https://github.com/pydata/xarray/issues/4349
[x] Tests added
[x] Passes isort . && black . && mypy . && flake8
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst

I'm not that excited about how this is tested, very open to alternatives. And the mechanics could take another set of eyes too.

BTW: There is a bare test with xr.corr that made its way into test_computation.py:
https://github.com/pydata/xarray/blob/a7fb5a9fa1a2b829181ea9e4986b959f315350dd/xarray/tests/test_computation.py#L898-L899
could you also fix this?

BTW: There is a bare test with xr.corr that made its way into test_computation.py:
https://github.com/pydata/xarray/blob/a7fb5a9fa1a2b829181ea9e4986b959f315350dd/xarray/tests/test_computation.py#L898-L899
could you also fix this?

Sure — though what's wrong with it?

The test is not in a function. I think the link to the test looks like it is indented but it's not...

The test is not in a function. I think the link to the test looks like it is indented but it's not...

My bad ;)

My bad ;)

Ha, no stress @AndrewWilliams3142 !

This is ready to go on green

Hello @max-sixty! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/computation.py:

Line 34:3: E111 indentation is not a multiple of four
Line 36:7: E111 indentation is not a multiple of four
Line 44:11: E111 indentation is not a multiple of four
Line 46:7: E111 indentation is not a multiple of four
Line 47:7: E111 indentation is not a multiple of four
Line 50:3: E111 indentation is not a multiple of four
Line 54:7: E111 indentation is not a multiple of four
Line 55:7: E111 indentation is not a multiple of four
Line 56:7: E111 indentation is not a multiple of four
Line 59:3: E111 indentation is not a multiple of four
Line 66:7: E111 indentation is not a multiple of four
Line 77:3: E111 indentation is not a multiple of four
Line 81:7: E114 indentation is not a multiple of four (comment)
Line 82:7: E114 indentation is not a multiple of four (comment)
Line 83:7: E114 indentation is not a multiple of four (comment)
Line 84:7: E111 indentation is not a multiple of four
Line 87:7: E111 indentation is not a multiple of four
Line 90:7: E111 indentation is not a multiple of four
Line 93:11: E111 indentation is not a multiple of four
Line 95:11: E111 indentation is not a multiple of four
Line 98:11: E111 indentation is not a multiple of four
Line 102:3: E111 indentation is not a multiple of four
Line 106:7: E114 indentation is not a multiple of four (comment)
Line 107:7: E114 indentation is not a multiple of four (comment)
Line 108:7: E114 indentation is not a multiple of four (comment)
Line 109:7: E111 indentation is not a multiple of four
Line 112:7: E111 indentation is not a multiple of four
Line 115:7: E111 indentation is not a multiple of four
Line 116:7: E111 indentation is not a multiple of four
Line 120:11: E111 indentation is not a multiple of four
Line 121:11: E111 indentation is not a multiple of four
Line 123:11: E111 indentation is not a multiple of four
Line 126:11: E111 indentation is not a multiple of four
Line 130:3: E111 indentation is not a multiple of four
Line 134:7: E111 indentation is not a multiple of four
Line 137:11: E111 indentation is not a multiple of four
Line 144:3: E111 indentation is not a multiple of four
Line 148:7: E111 indentation is not a multiple of four
Line 151:11: E111 indentation is not a multiple of four
Line 162:3: E111 indentation is not a multiple of four
Line 165:7: E111 indentation is not a multiple of four
Line 166:7: E111 indentation is not a multiple of four
Line 167:7: E111 indentation is not a multiple of four
Line 168:7: E111 indentation is not a multiple of four
Line 173:11: E111 indentation is not a multiple of four
Line 174:11: E111 indentation is not a multiple of four
Line 176:11: E111 indentation is not a multiple of four
Line 179:11: E111 indentation is not a multiple of four
Line 186:3: E111 indentation is not a multiple of four

In the file xarray/tests/test_computation.py:

Line 900:1: W293 blank line contains whitespace
Line 942:1: W293 blank line contains whitespace
Line 947:1: W293 blank line contains whitespace

Thanks @max-sixty


[Flaky test] Task :qa:rolling-upgrade:testAgainstOneThirdUpgradedCluster FAILED

See action here: https://github.com/opensearch-project/k-NN/actions/runs/4805283415/jobs/8565098796?pr=878

Related #878

@jmazanec15 can we resolve this issue? I don't think we are seeing similar flaky tests now.

yeah I guess logs are gone anyway


Create Sync-integration-definition.yaml [CDS-916]

Description

@stsatlantis @povilasv
Create a new action that will update integration-definitions repo When a new version is made to otel-integration/k8s-helm/Chart.yaml file.
The action will take the new version of the file, and create a new folder in integration-definitions under integrations/otel-agent-k8s with the new version name (integrations/otel-agent-k8s/v<new version>)  and copy the commands.yaml, fields.yaml, integration_guide.yaml files from the previous version to the new version folder.
The action will update the relevant manifest.yaml file with a new revision at the end of the file.
 Fixes #
How Has This Been Tested?

Checklist:

[ ] I have updated the relevant Helm chart(s) version(s)
[ ] I have updated the relevant component changelog(s)
[ ] This change does not affect any particular component (e.g. it's CI or docs change)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Is it possible to insert non-POCO objects?

Consider this simplified model:
public class School
{
    public Manager Check { get; set; }
}

When calling InsertAsync(school), I see null value in the database for that "complex" column, am I doing something wrong or is it not supported?

Hi @ofir-shapira-como  just seeing this. I'd say that you can't do that. You need to map your properties to columns, and there's no column of type Manager in SQL Server

Non POCO objects are certainly supported. See this wiki entry for how to achieve that.


k3s: bump to v1.19.4+k3s1

Awesome thanks for this. I've been experimenting with embedded etcd and hoping the updates to k3s will help out.


How the project will evolve because that  Gogs  has become alive?

As the plans are getting in different directions it looks like it's getting difficult. We try to sync where it is possible and reasonable.

But there is no wiki and pull-request features on gogs and gitea will have.

So i think this https://github.com/gogits/gogs/issues/1304 explains it fully.
As @Unknwon explains this in the closing message of this thread, both projects are not merged.
So as @tboerger sad (and look at the PR's he made) some of the fixes of gogs will go into gitea.
I would link the https://github.com/gogits/gogs/issues/1304 to any thread which asks about the actual behavior as it explains (and concludes) the situation very well :)

So let's close this issue.


MemoryRouterProvider/index.d.ts' is not a module.

I see the error since v0.7.0.
error TS2306: File '/Users/yusukegoto/src/myapp/node_modules/next-router-mock/dist/MemoryRouterProvider/index.d.ts' is not a module.

And as error mesage said, index.d.js is empty.
ls -l ./node_modules/next-router-mock/dist/MemoryRouterProvider/index.d.ts
-rw-r--r--  1 yusukegoto  staff  0 10 Jun 15:57 ./node_modules/next-router-mock/dist/MemoryRouterProvider/index.d.ts

I import it like below. This is the same one written in README.
import { MemoryRouterProvider } from 'next-router-mock/MemoryRouterProvider';

Am I missing some configuration?

You're right ... the types are broken in the build.  I'll fix this soon.
As a workaround, you can try importing the "explicit version number" like one of these:
import { MemoryRouterProvider } from 'next-router-mock/MemoryRouterProvider/next-12';
import { MemoryRouterProvider } from 'next-router-mock/MemoryRouterProvider/next-11';
import { MemoryRouterProvider } from 'next-router-mock/MemoryRouterProvider/next-10';

Published a fix, try out 0.7.2 and let me know!

@scottrippey

Published a fix, try out 0.7.2 and let me know!

Hi, error has changed. I'm using MemoryRouterProvider with storyboard and <MemoryRouterProvider /> still fails.
error TS1362: 'MemoryRouterProvider' cannot be used as a value because it was exported using 'export type'.
Then import with type fails.
import type { MemoryRouterProvider } from "next-router-mock/MemoryRouterProvider";

error TS1361: 'MemoryRouterProvider' cannot be used as a value because it was imported using 'import type'.

Thanks!

I found and fixed the problem, and added a unit test for this scenario!  Thanks for finding it.  Please try version 0.7.3 and LMK!


Push notifications

Closed at 3b0a4deacd7e7212cd2d175193409891a137e3d2 and https://github.com/wp-pwa/wp-pwa/commit/f1897a72f21d4135b67fa2a0dbd53deb2f2bc4ab


Investigate integrating Activities and Logging scopes

We want investigate how we can integrate activities with logging scopes. More details to come soon.

@pakrym can you link to you branch here?

https://github.com/aspnet/Extensions/tree/pakrym/logging-activity-spike


Ruby on Rails capstone project - Budget app

In this pull request, I have implemented the project requirements as stated in the documentation. The following pages have been implemented:

Splash screen that displays the name of the app and allows users to log in or sign up
The home page that displays all categories and the total amount of expense/transaction for all categories
The transaction/expense page displays the category's total amount.
The add a new category page that allows logged-in users to add a new category
The add transaction/expense page.
Unit and integration tests have been written for all of the most important components.
The application has been deployed and here is the live link
A video walkthrough of the application was recorded, see the link here
i asked for first review and was told i didn't follow correct gitflow so i couldn't use the same pull request for second review

And also as for the current branch not having all the changes i was working on feature branches and Merging into dev and asked for a review from dev into main
What do u expect me to do redo all the commits i made
Do u have an idea how long it took me to make those 120 commits
And also why are you reviewers contradicting yourselves
https://github.com/berylcl/Budget-App/pull/12 and this is the first review that got invalidated
So why tell me t
That it's not showing all the changes do you expect me to repeat everything i did only for you people to continue contradicting yourselves
https://github.com/berylcl/Budget-App/pull/13 this is the second review where the reviewer said i should do from main into dev which i did and it got invalidated
https://github.com/berylcl/Budget-App-Capstone/pull/1 this is the third review

Hi @berylcl,
Kudos for the great effort that you put into this project! 👏
Please note that for this milestone, we need to follow Git Flow, which means that we need to create a PR from a feature branch that holds all the project implementation to the development branch. Yes, this is a PR created from a feature branch to the dev branch, but unfortunately, it does not hold all the changes from this project. The reviewers cannot deliver a proper review if they don't have access to all the changed files in the "Files changed" section on GitHub.
Please make sure to have a branch that holds all the project changes, create a PR from that branch to dev, and ask for another review with that PR.
Thank you!

Hi @berylcl
This is a manual review
Approved  :+1:
Cheers and Happy coding!:clap::clap::clap:


add CSIPsetMessagePrefix

implements a message handler

There seem to be no memleaks, but I still left the TODOs in the comments, because I was not 100% sure.

looks good to me!


Regression on the parsing of LIKE escape expression in JSQLParser 4.3

Describe the bug
Version 4.3 of JSQLParser seems to introduce a regression in the way LIKE escape expressions are parsed. I assume caused by https://github.com/JSQLParser/JSqlParser/issues/420 but did not really look at the code in details.
To Reproduce
Steps to reproduce the behavior:
Given a code which looks like
Select select = (Select) CCJSqlParserUtil.parse("select doc.fullName from XWikiDocument doc where doc.fullName like :fullName escape '/' and doc.author like :author escape '!'");
PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
Expression where = plainSelect.getWhere();

I end up with where being a single LikeExpression in which the escape expression includes the whole '/' AND doc.author LIKE :author ESCAPE '!' part.
Expected behavior
In 4.2 the where variable is a AndExpression containing 2 LikeExpression.
System

Java Version: 1.8.0_302
JSqlParser version: 4.3

Greetings,
good catch!
The problem here is the priority of the expressions, the AND belongs to the WHERE but not to the ESCAPE.
I will have a look into this tomorrow.

I think, that has been solved since a while. JSQLParser 4.6 Snapshot parses it just fine:
-- Input
select doc.fullName from XWikiDocument doc where doc.fullName like :fullName escape '/' and doc.author like :author escape '!';

;

Closed.


[Draft] Flink_1.15 - [WIP] Upgrade Flink to 1.15

Signed-off-by: Krzysztof Chmielewski<EMAIL_ADDRESS>

Moved to delta.io


Got a question for cosine similarity calculation

create or replace function pg_search (
  query_embedding vector(1536),
  similarity_threshold float,
  match_count int
)
returns table (
  id bigint,
  essay_title text,
  essay_url text,
  essay_date text,
  essay_thanks text,
  content text,
  content_length bigint,
  content_tokens bigint,
  similarity float
)
language plpgsql
as $$
begin
  return query
  select
    pg.id,
    pg.essay_title,
    pg.essay_url,
    pg.essay_date,
    pg.essay_thanks,
    pg.content,
    pg.content_length,
    pg.content_tokens,
    1 - (pg.embedding <=> query_embedding) as similarity
  from pg
  where 1 - (pg.embedding <=> query_embedding) > similarity_threshold
  order by pg.embedding <=> query_embedding
  limit match_count;
end;
$$;

For this search function, since 1 - (zen_motor.embedding <=> query_embedding) expression does indeed return cosine distance, where 0 indicates perfect similarity and 1 indicates perfect dissimilarity. So smaller number means more similar comparison, shouldn't we use 1 - (pg.embedding <=> query_embedding) < similarity_threshold instead of 1 - (pg.embedding <=> query_embedding) > similarity_threshold to get the most related content?

1 is actually perfect sim.


crossbeam::skiplist: make iterator sendable to anther threads

We are currently implementing an in-memory engine feature in TiKV, and use skiplist as the underlying engine.
We need the iterator to be sendable among threads.
However, the current skiplist implementation carries the borrow of the skiplist,  so the iterator can only be used in the thread creating it.
I implement a wrapper of the current skiplist, making it support creating iterators supporting the senario described above.
Would you mind reviewing it and seeing it is needed in crossbeam skiplist.

@taiki-e  PTAL, thanks.


cftime has a problem with masked arrays

I am using cftime version "1.3.0" from anaconda.
I am using debian linux based on debian:latest updated to most recent packages.
We build a docker container, based on debian, install there anaconda and update everything to the most recent release to check for upcoming breakage.
The error occurs since about 14 days.
The following script:
import cftime
import numpy

a = [cftime.DatetimeGregorian(2014, 8, 1, 12, 0, 0, 0)]
b = numpy.asarray(a)
c = numpy.ma.asarray(a)
print(cftime.date2num(a, units="seconds since 2000-1-1"))
print(cftime.date2num(b, units="seconds since 2000-1-1"))
print(cftime.date2num(c, units="seconds since 2000-1-1"))

has this output:
[4.602096e+08]
[4.602096e+08]
Traceback (most recent call last):
  File "a.py", line 9, in <module>
    print(cftime.date2num(c, units="seconds since 2000-1-1"))
  File "cftime/_cftime.pyx", line 222, in cftime._cftime.date2num
  File "/opt/conda/lib/python3.8/site-packages/numpy/ma/core.py", line 2661, in __getitem__
    result = self.dataiter.__getitem__(indx).view(type(self.ma))
AttributeError: 'cftime._cftime.DatetimeGregorian' object has no attribute 'view'

We expect all three print statements to give the number.

Fix is in PR #212.  Problem was that .flat[0] doesn't work on masked arrays containing objects that don't have a view method.  Solution is to use .item(0) instead.

Perfect! Thanks for the very quick fix. I look forward to see this appear also in anaconda soon!


Get Mutation Result in Promise

Should we add the mutation result to the resolved promise?
This will allow to do custom cache invalidation based on the full response from a mutation.
I would be pleased to tackle this in an pr if i get the ok

I suggested this one to @kitten as well. I thought it is the behaviour at first, but found out it can only re-fetch from the server.

Let's do it


LLVM 6.0 Support

This patch provides support for LLVM 6.0.
Signed-off-by: Rian Quinn<EMAIL_ADDRESS>

wooooot


Support invoking arbitrary transformation in expression

Add field action function to invoke arbitrary field action in conditional mapping expression.
I would start from DefaultAtlasFunctionResolver#resolve(), if no OOTB function is found for given name, then delegate to transformation. Maybe create a FieldActionFunction as a wrapper which lookup field action. We also have to investigate if we need any trick for user developped custom transformation that would be uploaded via UI.

PR at https://github.com/atlasmap/atlasmap/pull/1610


LFS-208: UI for subjects

Created a UI for a single subject.
To test, upload data that contains a subject and navigate to the subject page from the sidebar/dashboard.

I feel like on a subject page there should be a subtitle between the header and the list of forms about that subject.

What information would be displayed there?

I feel like on a subject page there should be a subtitle between the header and the list of forms about that subject.

We already display the "Entered by {user} at {date}" there.

Something like "Forms (about|involving|related to|pertaining to) (this subject|)".
Soon we will also have "Related subjects" as well, thus the need for a "description" of the table.


Force more button to appear inline

Hi Jed,
is it possible to position the more and less link inline?
I tried to use 'display: inline' for both link and block, but then
plugin seem to be not working anymore.
Thanks for your help!
Tomi

I suspect it's because the element containing the text is determined by height, which means the "More" button will always appear below.
Haven't figured out a solution (read "hack") for this, so would also love to see something along these lines... From UX perspective it's not always clear text is actually cut off as it is now

See #13, #20, #29, and #120.
Truncatable might do what you want.


fix: move JSON data from textarea to script

css prop display:none doesn't guarantee that the inner content is not indexed by search engines and/or read by screen readers

Codecov Report

Merging #84 into master will not change coverage.
The diff coverage is 75%.

@@           Coverage Diff           @@
##           master      #84   +/-   ##
=======================================
  Coverage   96.81%   96.81%
=======================================
  Files          22       22
  Lines         596      596
  Branches       85       85
=======================================
  Hits          577      577
  Misses         19       19

Impacted Files
Coverage Δ

ComponentManager.tsx
93.54% <75%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Upstreaming useful functionality to Perfetto UI

Hi folks,
I'm part of the Perfetto team and really love your tools; I've started playing around with it to actually optimize the performance of trace processor itself (using tools to make the tools themselves better; one of the benefits to working on performance!)!
I see from this repo that there are a few changes which are modifying the Perfetto UI in ways which would be useful to have upstream. Specifically, I'm thinking the following changes:

https://github.com/janestreet/perfetto/commit/b8aef9cbdb27fd22d604703e1fe41444d975f96b
https://github.com/janestreet/perfetto/commit/fb6cc517b39f24ba5f273125993358e93664def4
https://github.com/janestreet/perfetto/commit/1f8063596b92e08fe5c16cc35d84a4571ab8764e
https://github.com/janestreet/perfetto/commit/87abbd607d68e7e9aea3e95b4c182e4fabd2cb30
https://github.com/janestreet/perfetto/commit/1b4765d74d78a65e492d820b8ba8de2c22a93e8d
https://github.com/janestreet/perfetto/commit/323c1091f7f91851f103494e377fa15724dfa1df
https://github.com/janestreet/perfetto/commit/64908117372bf60e4ae6f351804c439ccdb8da8f
https://github.com/janestreet/perfetto/commit/4b68f1fe0e94f79562488dfa3c27ccaf49133e94
https://github.com/janestreet/perfetto/commit/c1ce532aa1c99a1353a3b1f37cf272d643c43836

Some of these, I know Tristan sent our way before he left and are now in limbo; would be great if a magic-trace maintainer could take this over: we'd be very happy to have them!

Absolutely. Tudor's going to work on getting those upstreamed. Sorry we've been sitting on them for so long.


Implement configuration for HTTP Pipeline

Support global configuration of pipeline policies:

[x] Logging: log level, logger implementation
[ ] Telemetry: enabled/disabled
[ ] Load / store configuration

Telemetry is supported but cannot be disabled at the moment.

What I said earlier is incorrect: telemetry is supported via adding a UserAgentInterceptor to an HTTP pipeline, if said interceptor is not added, then telemetry won't be enabled for a given pipeline.

Closing in favor of child tasks


Pivx wallet  pivx: 3.2.0 -> 3.4.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

This is marked as broken on master, please see 254292858c922fa3bf8c65c75f0868e38c5fe737. If you update supports this, please rebase and drop the broken flag.

Interesting. I was able to build and run the application from this patched derivation. I will look into this soon.

I fixed this by manually speciying openssl_1_0_2 as dep. Why didn't you do that in the first place in favor of marking the package as broken? @globin @mmahut
At least building is no possible, on master with the most recent version of pivx.

I don't trust upstream who haven't updated from an openssl version that has been EOL for years and includes a number of security issues. That is quite an alarming sign of negligence on their part.

@globin has a good point, that the trust in the product is questionable in case they are using EOL libraries, even more if it's a cryptocurrency, however I agree with @wucke13 that we should leave it up to the maintainer to fix any problems with the package and only when we fail to get in touch with the maintainer we should mark the package as broken.

Thank you for the fast responses! Indeed, it depends on openssl-1.0.x, neither openssl-1.1.x nor any libressl will work. While there was some discussion about getting totally rid of openssl as a dependency, I wasn't able to quickly find proof of someone actually working on it, so openssl-1.0.2 is going to stay a dep for some more time, most likely.
From that standpoint, I'm considering this PR ready for merge, as it won't become any better in the near future. Do you have any other feedback left?
PS: I ~guess~ hope that pivx mostly relies on openssl code for their consensus algorithm, and not for actual SSL tunneling. In that case using an outdated version might not be such a big problem?

Hard to say how they are using it, but I would maybe open a github issue with them with the request to update, at least in the future? One last rebuild before merging.
@GrahamcOfBorg build altcoints.pivx

@mmahut You had a typo, on t too much :)
After doing a quick research, I have to oppose to @globin 's claim of

[an] openssl version that has been EOL for years

According to https://mta.openssl.org/pipermail/openssl-announce/2019-May/000151.html openssl-1.0.2 is still maintained, with having its most recent release just four months back in the past. To me this looks like a 'not so well though-through' basis to convince any pivx maintainer of this being an actual issue.

@GrahamcOfBorg build altcoins.pivx

Where do they claim that?
https://github.com/PIVX-Project/PIVX/blob/master/doc/build-unix.md only mentiones openssl-1.0
Anyway, why didn't the build succeed? Shall I rebase on master once more?

Looks like they have stopped using that check yesteday as per https://github.com/PIVX-Project/PIVX/pull/991.
Please rebase as there is a conflict, given the file has been moved from altcoins to blockchains.

Ok. The package is still not evaluating with openssl, so I'm staying with openssl_1_0_2 so far. I rebased on master and added a commit for pivx 3.4.0, hopefully this will work. I will edit this post, once compilation succeeded.

@GrahamcOfBorg build pivx

@mmahut
I'm done I guesss. I added a test, added wrapQtAppsHook to solve the qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "" issue. Should build both pivx and pivxd just fine.

@GrahamcOfBorg build pivx
@GrahamcOfBorg build pivxd

tested with nix-review, started pivx-qt and clicked around a little bit, everything looked fine

@GrahamcOfBorg eval

@Lassulus Thank you! Can we backport this to 19.09 too?

Sure, can you open a backport PR?


tf.data.Dataset prefetch not fetching data asynchronously

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
2.11
Custom Code
Yes
OS Platform and Distribution
Debian/Linux 11
Mobile device
No response
Python version
3.7
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
After implementing a data pipeline using tf.data.Dataset to pull image data from Google Cloud Storage, TensorBoard profiler shows that the GPU compute and CPU prefetch are running synchronously. I used data.Dataset.AUTOTUNE to determine the appropriate prefetch batch size. Monitoring GPU usage while the model is running confirms this with the GPU at 0% utilization to actually computing something for about a 2:1 ratio, which is reflected in the profiler. CPU usage when monitored does not appear to max out.
I expected the prefetch to occur concurrently with GPU processing as described in the data.Dataset documentation and tutorials.

Standalone code to reproduce the issue
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
os.environ['TF_GPU_ALLOCATOR'] = "cuda_malloc_async"
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

def get_label(file_path):
    parts = tf.strings.split(file_path, os.path.sep)
    one_hot = parts[-2] == class_names
    return tf.argmax(one_hot)

def decode_img(img):
    img = tf.io.decode_image(img, channels=3, expand_animations = False)
    img = tf.image.resize(img, [244, 244])
    img = tf.cast(img, tf.float32)
    return img

def process_path(file_path):
    label = get_label(file_path)
    img = tf.io.read_file(file_path)
    img = decode_img(img)
    return img, label

def configure_for_performance(ds):
    ds = ds.batch(128)
    ds = ds.prefetch(buffer_size=tf.data.AUTOTUNE)
    return ds

files = tf.data.Dataset.list_files((data_dir + '/*/*.png'), shuffle=False)
files = files.shuffle(image_count, reshuffle_each_iteration=False)

val_size = int(image_count * 0.2)

train_files = files.skip(val_size)
val_files = files.take(val_size)

train_ds = train_files.interleave(lambda x: tf.data.Dataset.from_tensor_slices([x]), cycle_length=4, num_parallel_calls=tf.data.AUTOTUNE)
train_ds = train_ds.map(process_path, num_parallel_calls=tf.data.AUTOTUNE)

val_ds = val_files.interleave(lambda x: tf.data.Dataset.from_tensor_slices([x]), cycle_length=4, num_parallel_calls=tf.data.AUTOTUNE)
val_ds = val_ds.map(process_path, num_parallel_calls=tf.data.AUTOTUNE)

train_ds = configure_for_performance(train_ds)
val_ds = configure_for_performance(val_ds)

Relevant log output
No response

Hi @zackwohl ,
Thanks for reaching us. Could you able to submit a colab gist replicating the reported behaviour with an image dataset.
Also can you confirm the behaviour with buffer_size=1 or 2 instead of tf.data.AUTOTUNE just to cross check the behaviour.
Thanks!

Hi @SuryanarayanaY, I tried running this with buffer_size=2, and it continued to run synchronously. I've attached images of the tensorboard profiler trace viewer.

How would I submit colab gist? I currently have my code in a jupyter notebook.
Thanks

Hi @SuryanarayanaY, just wanted to follow up on next steps here.

Hi @SuryanarayanaY, I'm still awaiting a response.


Multiple spaces in thread subject fails 'url' validation

After noticing #318, I started looking closer and this is what I found.
Issue
If, in your 'subject', you include multiple spaces between words, the 'DoesNotContainUrl' validation error will be triggered. This is because the following code successfully validates an empty string as a valid 'url':
// from line 24 in DoesNotContainUrlRule.php

$validator->make(['word' => ''], ['word' => 'url'])->passes();

// returns true (which, in turn, causes false to be returned from the rule)

When we explode the subject and pass each element to the above validator, any elements that are an empty string will test positive for being a valid 'url'.
It's possible I'm overlooking something, if so, let me know.
Possible solutions
I'm wondering how you'd like to handle this. I've played with several fixes, using different approaches.

We could simply strip extra spaces out of the subject before the main logic of the DoesNotContainUrlRule.

public function validate($attribute, $value): bool
{
    $value = preg_replace("/\s+/u", " ", $value);  //<----------leaves only one space between each word

    return ! collect(explode(' ', $value))->contains(function ($word) {
        return $this->validator
            ->make(compact('word'), ['word' => 'url'])
            ->passes();
    });
}

This option allows a 'subject', with multiple spaces between words, to be stored in the db, but it strips any extra spaces for validation purposes, so the url rule will not cause problems.

We could, in the ThreadRequest class, replace the string containing extra spaces with a string containing only one space between each word. This string would be passed to the validator and not cause it to fail. Additionally, the string would be stored in the db without the extra spaces.
We could make a middleware to be applied when creating a thread that does basically the same thing as above.
Change the validation logic alltogether and come to a solution that doesn't cause the problem.

Or if anyone has better suggestions....

Update : I'm away from my computer and haven't checked, but the simplest solution may just be to add 'required' to that inner validator-> make call. So, the following should work. I'll test once I get home to confirm.
public function validate($attribute, $value): bool
{
    return ! collect(explode(' ', $value))->contains(function ($word) {
        return $this->validator
            ->make(compact('word'), ['word' => 'url|required'])
            ->passes();
    });
}

I've submitted #322 that takes the approach of the first solution listed above. I do think input sanitization would be a better long-term solution.
With sanitization, we could keep subjects like the following, out of the database:
This        is   my       subject with a           lot of        spaces.


WinAppdriver tests failures from locked Windows 10 machine

I'm running UI tests on a UWP app where the tests fail with the following exception when the win 10 machine is locked. But tests are running successful otherwise.
I need help understanding what the exception mean
org.openqa.selenium.WebDriverException: Unable to find the given UIObject.
Search criteria:'ClassName = Windows.UI.Core.CoreWindow'
Search domain:'A collection of MS.Internal.Mita.Foundation.UIObject instances in the set defined as Children of '{My Application, ApplicationFrameWindow, 42.1443280}' ('[Unknown UICondition]') matching: Condition: 'True'..' (WARNING: The server did not provide any stacktrace information)
Source code :

String windowHandle = desktopSession.findElementByName("MyApplication").getAttribute("NativeWindowHandle");

Util.waitFor(5000);
DesiredCapabilities viewCaps = new DesiredCapabilities();
viewCaps.setCapability("appTopLevelWindow", toHex(windowHandle));

try {
/** exception thrown here **/
viewSession = new WindowsDriver(new URL("myappiumurl"), viewCaps);
} catch (MalformedURLException e) {
log.error("Exception occured on attaching View session", e);
}

Hi @sabarishnarain,
WinAppDriver doesn't support automation once lockscreen has been initiated as the WAD session gets cut. Can you explain the scenario a bit further (e.g. what initiates the lockscreen)?
Thanks

the device eventually locks up after being idle. I couldn't get our IT team disable lock screen as it appears to be violation of corporate security. I tried ps scripts to login before the tests kicks in, but was out of luck.
I created this issue to understand the root cause. Closing thread.

This should not be closed.  This is a real issue as most corporate environments require the same thing.  I just realized the same issue.  When I'm RDP'd into the test machine it works, when I'm disconnected (locked) the tests fail.

I think the owners has to acknowledge this if this case needs to be reopened. @hassanuz ?

@hassanuz
Hi
So you mean that its not possible to run the tests on Teamcity server? night schedule for exempel?
Thanks

+1 Being able to use WinAppDriver on a locked machine is a necessary use case for running automated tests that may be triggered at any time

@orilevari The workaround I used is to override security policy with approvals from IT team and turned off auto screen lock. The device is now unlocked forever and will not be a privacy issue since its considered as build machine.

@hassanuz Since many folks are interested in this, can you guys confirm if this can be taken as a feature request ?

I would like also to run my tests on my machine when Im at lunch for example but it seems impossible due to WAD session gets cut, I think its a really big issue if there is no support for that!
Did anyone get around this issue?

@Saif4 I did. See comment above.

Thansk @sabarishnarain
But does anyone know if there is any support for that coming any time soon?

I am also in need for UI automation running even if the PC is locked. Please let me know if any workaround or solution available to achieve it. Thanks.

This will be a good to have feature for me too. Anyhow we had the same limitation in Coded UI so as a workaround we created a simple VB Script to keep windows from locking. But to be able to run all tests when machine is locked is really helpful.

There is no way around bypassing the lock screen. It is recommended to disable the lock screen entirely and set your machine up as an interactive agent to run continuously run UI tests.


Mine uploades

Hey, @georgi5481,
This pull request is opened in the wrong repo (the original roboti repo).
Maybe you want to merge those changes in your own forked repo?
Also, the official submission for the task should be using the email<EMAIL_ADDRESS>with provided screenshot information.
Please close this pull request when you've read the message if you don't have anything to add.
Cheers.

Yes you are right.
Apologies Zhivko.


Start and stop hotspotd from a python script?

Hi, this software is awesome. I would like to start and stop hotspotd from a python script and not from the terminal is there any way to do this?

@JeanPierreFig Thanks for the appreciation!
The main scripting logic is in the main.py. Just import this module and call the below methods to start or stop the hotspot:
main.start_router()
main.stop_router()

Thank you very much!!!!

you do not have a python 3 version right? :(

Nope, I'd tested this originally with 2.7 only. But I'm fixing this currently to get it working on 3.x.

I got it to install in Python 3 and can import it from a Python 3 script but I'm getting a "no module named cli" I don't know why?

The cli.py has to be located in the same place as the main.py, is it there? Even after that, cli module won't work properly in 3.x as there are fixes that need to be done (using print() function instead of print statement, for instance).

Yes I got it working with from hotspotd import cli but I'm getting a new error

startswith first arg must be bytes or a tuple of bytes, not str

I tried fixing it by adding a line.startswith(b' ') but now I'am getting

Type str doesn't support the buffer API

Closing as there has been no activity.


Capybara testing

Testing 🧪🧪
In this PR, we have used Capybara to write integration tests for the following:

Login page:

I can see the username and password inputs and the "Submit" button.
When I click the submit button without filling in the username and the password, I get a detailed error.
When I click the submit button after filling in the username and the password with incorrect data, I get a detailed error.
When I click the submit button after filling in the username and the password with correct data, I am redirected to the root page.

User index page:

I can see the username of all other users.
I can see the profile picture for each user.
I can see the number of posts each user has written.
When I click on a user, I am redirected to that user's show page.

user show page:

I can see the user's profile picture.
I can see the user's username.
I can see the number of posts the user has written.
I can see the user's bio.
I can see the user's first 3 posts.
I can see a button that lets me view all of a user's posts.
When I click a user's post, it redirects me to that post's show page.
When I click to see all posts, it redirects me to the user's post's index page.

User post index page:

I can see the user's profile picture.
I can see the user's username.
I can see the number of posts the user has written.
I can see a post's title.
I can see some of the post's body.
I can see the first comments on a post.
I can see how many comments a post has.
I can see how many likes a post has.
I can see a section for pagination if there are more posts than fit on the view.
When I click on a post, it redirects me to that post's show page.

Post show page:

I can see the post's title.
I can see who wrote the post.
I can see how many comments it has.
I can see how many likes it has.
I can see the post body.
I can see the username of each commentor.
I can see the comment each commentor left.

Hello Reviewer, this is collaboration work between @brytebee  and @Mithi-code. However, when the project was approved for my partner, my dashboard is not updated.
Kindly approve.


Return Merchandise Authorization (RMA)

Description

Introduces RMAs into Headstart application.

For Reference:
HDS-483
HDS-484
HDS-485

[x] I have updated the acceptance criteria on the task so that it can be tested

I noticed you added a few translation table entries (great) can you confirm those exist in this file and if not can you please add them?
https://github.com/ordercloud-api/headstart/blob/development/src/Middleware/src/Headstart.Common/Assets/english-translations.json
This file is used as a source to generate the translation file during seeding


can't find api like seekTo()  setVolume()/getVolume  mute()/unmute()

hi ! avs team!
I can't find some api like seekTo()  setVolume()/getVolume  mute()/unmute() getDuration()  getCurrentPosition() in MediaPlayer module

Hello nongcunshaoye,
Unfortunately, the avs-device-sdk does not yet include CapabilityAgents to handle directives for the Speaker Interface or the Playback Controller Interface.  Those feature will be added in an upcoming release, and when applicable the underlying functionality will be added to the MediaPlayer component.
Thanks,
-SWH

@scotthea-amazon  Thanks very much!


Refactoring

Where did we leave the ability to sort by sample ID within a group? For a small number of samples in a group (10s) it's not really needed, but if you have a lot of samples in a group then pulling out a subset of them will be inefficient. (Perhaps the answer is to only use small groups, in which we may want a way to specify a sample -> group mapping when loading many samples.)

Overall - this looks great. I think it's nearly ready to go in (a few comments on the test).

Superseded by https://github.com/cloudera/quince/pull/38


ARROW-11704: [R] Wire up dplyr::mutate() for datasets

I'll add a couple more tests, particularly around error handling, but I'd like to move on to other issues and get this merged so that others can test it out more widely. cc @ianmcook @jonkeane

Looks like mutate() on datasets errors when expressions are literals:
ds %>% transmute(x=42) %>% head(1)
## Error in dataset___ScannerBuilder__ProjectExprs(self, cols, names(cols)) :
##  Invalid R object for std::__1::shared_ptr<arrow::dataset::Expression>, must be an ArrowObject

ds %>% transmute(x="foo") %>% head(1)
## Error in dataset___ScannerBuilder__ProjectExprs(self, cols, names(cols)) :
##  Invalid R object for std::__1::shared_ptr<arrow::dataset::Expression>, must be an ArrowObject

Thanks @ianmcook, fixed in https://github.com/apache/arrow/pull/9586/commits/3ac4086cd651411bb17409e726b7261c13347bf3, PTAL.

Thanks @ianmcook, fixed in 3ac4086, PTAL.

Works fine now 👍 Thanks!

I noticed that transmute() with no arguments should return no columns. Currently it returns all columns. This is true for Tables and RecordBatches too.

So now we have scalar recycling in mutate() for Datasets but not yet for Tables and RecordBatches, correct?

So now we have scalar recycling in mutate() for Datasets but not yet for Tables and RecordBatches, correct?

Correct, that's ARROW-11705


update(FAQ page's content)

Content Updation in reference to issue #5

@gevuong I am not sure but why does the deploy preview get sent to a 404? I just updated the content file in the dictionary.

Because it's not properly set up. There's an issue created for it #28


Wrong type-conversion handling

My shader contains this line
v.normal = normalize(mul((float3x3)gWorldInvTransposeMat, v.normal).xyz);
It looks like slang is converting the float3x3 into ErrorType. This is the error message I'm getting from dxcompiler:
    v.normal = normalize(mul((ErrorType) gWorldInvTransposeMat, ```

I've investigated the original code that caused the problem, and it turns out that gWorldInvTransposeMat is an array, and the above expression is failing to index the array, so that the cast fails. Rewriting code so that there is only a single matrix, or so that the shader indexes the array of matrices works around the problem.
There is still a Slang bug here, though, because Slang should be printing out the original type the user wrote, and not ErrorType. I have a minimal repro, and will work on a fix.

I'm not sure how the original code works at all... Shouldn't HLSL require an explicit index?

It seems like it doesn't. This is probably an accidental feature where they wanted to allow casts from arrays to matrices and vice-versa, but maybe let more cases Just Work than intended.
Anyway, the right fix is for Slang to properly pass along the code unmodified when it gets confused (which it does, because I don't intend to support all these more fancy conversion rules...).


verifyReceipt always 21002 IOS

Version of react-native-iap
5.0.1
Version of react-native
0.63.3
Platforms you faced the error (IOS or Android or both?)
IOS
Expected behavior
Normal response from https://sandbox.itunes.apple.com/verifyReceipt
Actual behavior
Response "status": 21002
Tested environment (Emulator? Real Device?)
Emulator
Steps to reproduce the behavior
I try to use validateReceiptIos, but get status: 21002
I tried REST Client, parameters password, and receipt-data, but nothing.
Please help.

I'm facing this issue too. Can anyone help?

I'm facing this issue too. Can anyone help?

Use an real device bro :)

Use an real device bro :)

@pockiii thanks, helped.

@pockiii Facing issue in real device...
Note: no StoreKit configuration made

Same issue, on real device trough TestFlight app just crashes on pay press. In Xcode environment it returns 21002 status. Any suggestions?

Same issue I am using my iPhone

Same issue on real device ( iPhone 11 )
react native (0.67.4)
react-native-iap : (^8.0.7)

Any updates here?

12.0.3

Same issue on real device


Support ProtoStore when instancer is not configured

Sample usage for protostore is moved from docstring to testable example.

Codecov Report

Merging #25 (f2c674e) into main (1ec2474) will increase coverage by 0.04%.
The diff coverage is 50.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
+ Coverage   72.78%   72.83%   +0.04%
==========================================
  Files          11       11
  Lines        1231     1233       +2
==========================================
+ Hits          896      898       +2
  Misses        262      262
  Partials       73       73

Flag
Coverage Δ

unit-tests
72.83% <50.00%> (+0.04%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/protostore/protostore.go
69.04% <50.00%> (+0.24%)
:arrow_up:


Adding PagerDuty to side nav ToC

Oh hi. First time, long time.
Nothing too fancy. Just adding the PagerDuty docs to the table of contents. LMK if there's anything I missed.

Awesome  🙌

Awesome  🙌


Working Tailwind CSS Example / Docs

I was trying to take the the example @andrew-boyd provided here and switch it to tailwind in a project that is using the formkit starter project.
I followed the docs here and it didn't work. I then noticed there is a slightly different approach mentioned here so I switched to that since things weren't working. Only difference between those two seems to be the use of the "themes" package vs directly using @formkit/tailwindcss.
But then I also needed tailwindcss added to package.json and needed to add <script src="https://cdn.tailwindcss.com"></script> to index.html to finally get things to work, but i'm not sure if that should have been necessary and I just did something wrong.
Perhaps it would be useful to provide a complete example project utilizing tailwind with the recommended approach? Or just modify the current docs to note what else is needed to get a working example?
Thanks.

I followed @andrew-boyd's tailwind theme docs and it worked a treat.
Using Tailwind CDN is a red flag as you won't be benefitting from JIT and minimal CSS output.
I'm just looking at my setup on current project and can share the following hints:

Tailwind npm installed and is running via my postcss.config.js – focus on getting tailwind running without CDN if you haven't already: https://tailwindcss.com/docs/guides/vite (this is for vite but I'm languishing on vue-cli and this mostly works the same past the vite steps at the start)

FormKit npm installed

Formkit and your formkit theme included in main.js, mine looks like:

// FormKit
import App from './App.vue';

// Router
import router from './router/routes';

// Stores
import { createPinia } from 'pinia'

// FormKit
import { plugin, defaultConfig } from '@formkit/vue';
import formKitTheme from './lib/FormKit/formKitThemeMVP'

// Styles
import './main.css';

const app = createApp(App);

app.use(createPinia());
app.use(router);
app.use(plugin, defaultConfig({ config: formKitThemeMVP, }));

app.mount('#app');

My formkit theme I'm not going to include here but I just followed Andrew's example in his tailwind theming guide. Got a few basics working to understand it at first (e.g. red borders everywhere 😆). I didn't know where to put it so it currently lives in ./lib/FormKit – open to suggestions on where to store it btw!

And I'm pretty sure that was it. Break it down, validate Tailwind is working properly, validate formkit is working properly, and then do a minimal single lines things in theme file to make sure it's working – maybe try the following themefile to MVP it:
Example formKitThemeMVP theme file:
import { generateClasses } from '@formkit/tailwindcss'

const formkitThemeMVP = {
  classes: generateClasses({
    form: {
      form: 'border border-red-600',
    },
  }),
};

export default formkitThemeMVP;

If that works it'll put a red border on every instance of a FormKit type="form"

Thanks @garylake! The tailwind vite guide had the few extra steps I needed.

🙏🏻


docs: move readme usage to wiki

Codecov Report

Merging #156 (d2dde7f) into main (1985320) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
- Coverage   99.74%   99.72%   -0.03%
==========================================
  Files          68       68
  Lines        3983     3983
==========================================
- Hits         3973     3972       -1
- Misses         10       11       +1

Impacted Files
Coverage Δ

lib/eth/client/ipc.rb
93.33% <0.00%> (-6.67%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[FEATURE REQUEST] Extended ask-tell interface

Description

To facilitate more calls to ask-tell within a single loop, add a mode parameter to ask and tell. Different types of solutions are returned depending on what mode is used. Example usage:
for i in range(n):
  sols1 = opt.ask("mode1")
  ...
  opt.tell(objs1, bcs1)

  sols2 = opt.ask("mode2")
  ...
  opt.tell(objs2, bcs2)

Notes:

This change would involve the Optimizer as well as all emitters.
For simplicity, the emitter should throw an error if it is passed an unknown mode.
The default mode would be called "default".

Closing this because it is too complicated of a feature.


Backport recent PR's to series/1 branch

Some (many?) users are still on version 1.X of ZIO. If there is enough interest we could back port the following:

[ ] Introduce error hierarchy instead of String errors in DynamoDBQuery
[ ] implement attribute name substitution mechanism
[ ] Align series/2.x branch codec generation annotations with zio-schema - this would involve renaming/creating annotations in zio-dynamodb
[ ] implement attribute name substitution mechanism for everything

closing this as its probably unrealistic


Support realtime update in feature service

Emitting events and full result on feature edition has been disabled now because we proceed with big batches when importing a layer. We could however support it when editing a single feature for collaborative edition.
Because feature layers do not rely on feathers reactive we will have to manually listen to events in order to perform update of the underlying data. However, sending all information might not be relevant in a lot of cases. For instance, if a layer is not visible on the client it makes no sense to update it. But from the backend point of view there is no simple mean to know if a layer is visible on the client. As a consequence, it would be better to send the minimal information about the update (eg time range, spatial extent, etc.) and let applications manage the update on a per-case basis. Typically visible non-tiled layers would be update globally but tiled layers will only be updated where tiles intersects the update spatial extent.

At the present time realtime updates are not supported when editing the layer, still to be done.


Back-end rewrite

Currently the back-end is written in Python since it was quick for prototyping, however this creates some complexity when it comes to user installs and is also not the most performant option. Ideally I would like to re-write the back-end in Rust since it already integrates well with Apache Arrow and can create native binaries.

Completed in #19


VM: introduce genesis scripts to bind assets to a particular context?

We've so far implemented a way to assets to define extra witnesses that need to be included in order to allow for more expressibility for unlocking. Given that if a user doesn't follow the witness, their asset gets burnt, care needs to be taken w.r.t designing protocols that use this feature.
However what if we introduced a script that's to be run at issuance time? Such a script could be implemented as a new covenant, which would take the Bitcoin transaction into its environment, along with the script tree.
We could then express things like:

Issuing N units of this assets can only be done if 1.5*N units of BTC are present in the nth output of the minting transaction. In addition, the output created must commit to a NUMs point for the internal key, meaning that only a script path is possible. The script paths must be revealed, with the only acceptable unlocking leaf being a time lock of 9 months".

I left some option questions on this ML post: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020223.html

Capturing some design jam thoughts of how to Asset Group / Key family issuance authortization is handled:

Rotating the Asset Group / family_key key itself would mean the top level key of all the commitments themselves change:

Assess if tarod should treat the family key itself as another taproot output key. Then this way, a taro transaction author can do w/e multi-sig threshold, etc construction, in the script path.

This logic should be added to the PR fixing this issue.

"the genesis witness should satisfy the tweaked family key, which means either script path or keyspend (the way it is rn)"


Todolist

suggestions

Great job working on your project using plain JavaScript

The website is fully functional
The design looks great
Great implementation

best practice of code
There's no litern's errors
suggestion:
there's a bug everytime when I click on checkbox but instead of clicking on "Clear all completed" button, if add a new task, you can see some issues with the style with the previous task that you clicked on checkbox


feature (cleanups in overview.yaml)

This needs more work, but seems like lot's of people are working on this, so didn't want to wait for it to be "perfect".

Can you explain why you capitalized some items and uncapitalized others? If there's a rule here, we should give it explicitly somewhere, so maybe we need to start compiling a overview_style.md file.

I though the top level things should be "all capitals". The next level should start with a capital. And the third level should be all lower case.
At least that looked like what the intent was.
But then it got messy because in places there is a fourth level and some top level things don''t have a middle level.
Also the original document has this inconsistency.

I'm working on fixing levels. But I agree it's nicer to have capitals for headers and lower cases for leaves. We could capitalize in the building script, but having a nice YaML source is also a worthy goal.

Thanks!


chore(build): fix Issue #227: hardcoded bin path, sudo

Also fixes paths for files in root directory, not js subdir.

As mentioned in the commit message, I noticed while testing make install locally that the locations for the files copied by make install in the master branch are wrong—the files are presently checked in to the root directory, not in the js or js/lib subdirectories—so I fixed that, too, but let me know if that's a mistake and I can revert that portion.


Add a property to the TaxonomyPicker to specify which terms are disabled/not-selectable

Category

[ ] Enhancement
[x] Bug
[ ] Question

Expected / Desired Behavior / Question
It would nice to have a property which allows you to specify term IDs which may not be used or selectable.

disabledTermIds: this property can be used to specify which terms IDs are disabled.
disableChildrenOfDisabledParents: this property allows you to specify if the children of a disabled parent term should also be disabled.


Proposal to simplify common test cases

Please find documentation updates to describe a proposed solution to https://github.com/gruntwork-io/terratest/issues/223
I've tried to make it relatively flexible so we can cover most use cases without adding much complexity.
Changes

I've updated the quick start guide to show a simple "real" example
I've updated the page on Unit and integration testing. In all honesty I wasn't sure where to put this proposal, and given it's focussed around providing a solution for both unit and integration testing (and it follows nicely on from the talk in the video on that page) this seemed like an ok place. Possibly better in it's own page with a link out to it from here instead though.

I've pushed some simple integration tests (it needs more, but this is a start)


Thanos Store GW cannot start

Hi
i use thanos v0.17.2 with thanos receiver and thanos store gatway.
Tha thanos receiver is working.
I use minio as S3 storage and config for minio client. The minio S3 server is used self sign certificate
apiVersion: v1
kind: Secret
metadata:
  name: thanos-objectstorage
  namespace: thanos
type: Opaque
stringData:
  thanos.yaml: |-
    type: s3
    config:
      bucket: alochym
      endpoint: minio.minio-tenant-1.svc.cluster.local:443
      insecure: true
      signature_version2: false
      access_key: 3ab97c53-50a4-4a01-ad2a-ce3f1c1bc730
      secret_key: 59f9a4d3-2f92-42c4-b766-9cc12097478b
      http_config:
        insecure_skip_verify: true
      trace:
        enable: true

config thanos store gateway
apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app.kubernetes.io/name: thanos-store
  name: thanos-store
  namespace: thanos
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: thanos-store
  serviceName: thanos-store
  template:
    metadata:
      labels:
        app.kubernetes.io/name: thanos-store
    spec:
      containers:
      - args:
        - store
        - --log.level=info
        - --log.format=logfmt
        - --data-dir=/var/thanos/store
        - --grpc-address=<IP_ADDRESS>:10901
        - --http-address=<IP_ADDRESS>:10902
        - --objstore.config=$(OBJSTORE_CONFIG)
        - --ignore-deletion-marks-delay=24h
        env:
        - name: OBJSTORE_CONFIG
          valueFrom:
            secretKeyRef:
              key: thanos.yaml
              name: thanos-objectstorage
        image: quay.io/thanos/thanos:v0.17.2
        livenessProbe:
          failureThreshold: 8
          httpGet:
            path: /-/healthy
            port: 10902
            scheme: HTTP
          periodSeconds: 30
        name: thanos-store
        ports:
        - containerPort: 10901
          name: grpc
        - containerPort: 10902
          name: http
        readinessProbe:
          failureThreshold: 20
          httpGet:
            path: /-/ready
            port: 10902
            scheme: HTTP
          periodSeconds: 5
        volumeMounts:
        - mountPath: /var/thanos/store
          name: data
          readOnly: false
  volumeClaimTemplates:
  - metadata:
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      storageClassName: local-storage
      resources:
        requests:
          storage: 10G

When i start thanos gateway and thanos store gateway cannot start and the error log is below
level=info ts=2021-08-03T00:04:12.91433657Z caller=http.go:84 service=http/server component=store msg="internal server is shutdown gracefully" err="bucket store initial sync: sync block: BaseFetcher: iter bucket: read tcp <IP_ADDRESS>:42654-><IP_ADDRESS>:443: read: connection reset by peer"
level=info ts=2021-08-03T00:04:12.91446517Z caller=intrumentation.go:66 msg="changing probe status" status=not-healthy reason="bucket store initial sync: sync block: BaseFetcher: iter bucket: read tcp <IP_ADDRESS>:42654-><IP_ADDRESS>:443: read: connection reset by peer"
level=warn ts=2021-08-03T00:04:12.914532023Z caller=intrumentation.go:54 msg="changing probe status" status=not-ready reason="bucket store initial sync: sync block: BaseFetcher: iter bucket: read tcp <IP_ADDRESS>:42654-><IP_ADDRESS>:443: read: connection reset by peer"

How to fix it
thank you

@alochym01 firstly - please do not share any secret material in GitHub issues. You need to rotate those credentials immediately.

The error messages you have provided indicate that store cannot access the minio deployment. I can't say exactly what the problem is, but I can offer general debugging advice:

Can you access the minio in-cluster URL from within the cluster?
Double check the ports Minio is exposing - are you sure they are right?


"ProxyJump" statement doesn't work

Thanks for finding these.

My pleasure, my SSH config looks a lot better now :grin:


Port demo project to use cocoapods.

Why?
Demo app should use the project as it is expected to be used by external developers. This is something I recommend for all of the SDKs I contribute to. In this case, that means using CocoaPods. In the future it might mean Carthage or Swift Package Manager.
It also exposes issues with the Podspec which might otherwise go unnoticed into a release, and allows testing static vs dynamic library very easily. In TrustKit's case, the demo app and TrustKit itself have no dependencies, so the Pods folder should not often change.

I agree however, this PR is going to create a lot of conflicts as the Demo App on the master branch has changed a lot. Debugging conflicts in Xcode project files is no fun so perhaps we should re-open a similar PR on master?

Done in 6c741dcf92b357ac55b20c34eade099d5a68e7d1

Oh ok! Thanks for moving it.


Test data for asteroids

@aburgasser It would be useful to have some test data for asteroids so I can test the telluric correction.  I suspect the absolute vast majority are prism so that would be the most important but if you know of SXD data please include that as well.

Thanks!


Migration error

Actual behavior
throwing error on ./manage.py migrate
  Applying zinnia.0001_initial... OK
  Applying zinnia.0002_lead_paragraph_and_image_caption... OK
  Applying zinnia.0003_publication_date...Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 29, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 62, in handle
    failures = test_runner.run_tests(test_labels)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django_nose/runner.py", line 303, in run_tests
    result = self.run_suite(nose_argv)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django_nose/runner.py", line 241, in run_suite
    addplugins=plugins_to_add)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/nose/core.py", line 121, in __init__
    **extra_args)
  File "/usr/lib/python2.7/unittest/main.py", line 95, in __init__
    self.runTests()
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/nose/core.py", line 207, in runTests
    result = self.testRunner.run(self.test)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/nose/core.py", line 50, in run
    wrapper = self.config.plugins.prepareTest(test)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 99, in __call__
    return self.call(*arg, **kw)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 167, in simple
    result = meth(*arg, **kw)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django_nose/plugin.py", line 82, in prepareTest
    return super(NoseTestSuiteRunner, self).setup_databases()
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/test/runner.py", line 546, in setup_databases
    self.old_names = self.runner.setup_databases()
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django_nose/runner.py", line 490, in setup_databases
    self.parallel, **kwargs
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/test/utils.py", line 187, in setup_databases
    serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/backends/base/creation.py", line 69, in create_test_db
    run_syncdb=True,
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 130, in call_command
    return command.execute(*args, **defaults)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 204, in handle
    fake_initial=fake_initial,
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 115, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 145, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 244, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/migrations/migration.py", line 129, in apply
    getattr(new_model._meta, self.option_name, set()),
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 364, in alter_index_together
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/migrations/operations/models.py", line 590, in database_forwards
    self._delete_composed_index(model, fields, {'index': True}, self.sql_delete_index)
  File "/home/runner/aktienregister/.ve/local/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 377, in _delete_composed_index
    ", ".join(columns),
ValueError: Found wrong number (0) of constraints for zinnia_entry(status, creation_date, start_publication, end_publication)

Expected behavior
no exception :)
This is happening on my CI only, on dev servers/ local instances I cannot reproduce it.
I fully understand that there are good chances that it's caused by some env setup. But I have no clue how to debug that. Hence this ticket with the question if there is anything known like that... just close and ignore if there is nothing you can help with...
Steps to reproduce the issue
it's happening on my CI env after installing all required dependencies
Specifications

Zinnia version: 0.18.1
Django version: 1.11
Python version: 2.7.3
Operating system: Ubuntu 16.04

Disclaimer
Please read these questions carefully and answer honestly with an x
into all the boxes [ ]:

[x] I have read the guidelines for contributing linked to above.
[x] I have checked for duplicate issues.
[x] This is not a support request.

I have the same problem on my development machine. I wanted to add the zinnia blog to my website but get this error when migrating for the first time.

Looking at Zinnia docs, officially supported version is still Django 1.10.x. Original poster mentioned running 1.11. @Mactory Are you using Django 1.11 as well? If so, and you try to go for 1.10, does it work? Otherwise, might be useful to know what database it is as well.

I have dug a little deeper into the problem and it seems to be django 1.11 related. With django 1.10.7 the migrations run through smoothly.
Django 1.11 seems to reorder the fields that are used for identifying indices when looking if the desired index exists already. I'll open an issue with the django team for this.
I am using postgresql by the way.

I have submitted a bug-report and also a patch to the django team.
https://code.djangoproject.com/ticket/28197
https://github.com/django/django/pull/8495
We'll see if the django team likes my solution or if they prefer to solve it differently.

Just a quick note: I could reproduce this issue on Django 1.10.8 and 1.10.7 using Postgres 9.5.
If others run into this issue, a quick fix is to patch up 0003_publication_date.py, removing this part:
        migrations.AlterIndexTogether(
            name='entry',
            index_together=set([
                ('slug', 'publication_date'),
                ('status', 'publication_date',
                 'start_publication', 'end_publication')]),
        ),


Pre & Post Playbook Support - Plan Details Page Changes

This issue is for the changes needed to the Details page to support pre- and post-migration playbooks.

Mockups here.

@miq-bot add_label blocker
This is a blocker to: https://bugzilla.redhat.com/show_bug.cgi?id=1564250

Any update on this PR. We have an upcoming build on July 10

https://github.com/ManageIQ/manageiq-content/pull/355