Screen shots - feature request

Joel developed a screenshot gem  a long time ago that worked with Webrat but generated screen shots when an exception was thrown.  Hugely useful when you're using headless browsers.  Unfortunately it does not look like it's maintained and it's not compatible with Capybara.  https://github.com/mocoso/cucumber-screenshot
Is this something that Capybara Webkit could so somehow?

Sorry for the stupidly long time to do this, but I've built a simple Gem to do screenshots for Capybara Webkit on scenario failure, and it also saves an HTML file of the current page regardless of which Capybara driver you are using.  However, I am experiencing a problem I can't see overcome which I'm hoping perhaps you could help with (on the off change).
I have a very simple world.rb file which access page.body and saves the contents out.  The problem is that when the Gem access page.body, page.body is empty and simply contains: `
`
I am including world.rb in the gem's lib root file, so I can't really see what I am doing wrong.
Strangely, if I put an after block into my sample Rails app env.js file accessing page.body has the correct HTML, so it seems that calling After { my code } in the Gem is being executed once the page has been released.
I realise you may not have the time / inclination to help, but if you do spot something obvious I would appreciate the help.
The gem code is at https://github.com/mattheworiordan/capybara-screenshot, and the gem is installed at https://rubygems.org/gems/capybara-screenshot.  The sample Rails app which you can use to quickly recreate this issue by simply running cucumber is at https://github.com/mattheworiordan/capybara-screenshot-test
Thanks in advance if you can help.  It would be great to release this ridiculously simple bit of code out as a Gem as I find it extremely useful when trying to debug cucumber issues.
Matt

Hi Mike
Any ideas why my gem is not working.  Quite frustrating for me as I'm at a loose end here and would love to release this as a gem for others if possible.
Matt

Hi Matt, not sure offhand, but hopefully one of the main capybara-webkit devs will know more.

Hey Matt,
Cucumber executes After hooks in the opposite order in which they were defined: https://github.com/cucumber/cucumber/blob/master/lib/cucumber/language_support/language_methods.rb#L111
Can you make sure that your After hook is registered after capybara's?
-Joe

Well that's what I'm unclear how to do unfortunately.  I have marked my Gem as dependent on the capybara gem, so I expect it to be executed after the capybara gem, however it's clearly not.  If you take a look at https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot.rb you will see that I call the After hook in the lib definition.  Do you know how I can get this to execute after capybara has executed it's After hook?

Declaring capybara as a dependency will ensure that capybara is activated first (meaning that its libraries are added to the load path, etc), but the source files won't be required until the application requires them directly or uses Bundler.require. This process can be confusing in a Rails app, since there's railties, bundler, and ActiveSupport's missing dependency loading all working at the same time.
If you need to make sure that your hook is loaded after capybara's, make sure to require whatever files you depend on. In your case, I think you need to require capybara/cucumber. That file may also have dependencies you need to load first.

Ok, thanks for the pointer.  I'll play around with this and see what I can do.

Thanks jferris, brilliant bit of advice, it's all working now and released at https://rubygems.org/gems/capybara-screenshot and https://github.com/mattheworiordan/capybara-screenshot
mike-burns, FYI, the gem is now working for those who want automatic screen shots on failure for Capybara.


Any plan to support protobuf

[x] Feature Request. Any plan to support protobuf payloads in rest api using spring boot

All the building blocks are available to do that. I can be implemented as a plugin

@dilipkrish thanks for the response, let me know if I can help with

Absolutely! if you'd like a high level overview I can set up some office hours to answer any questions. You could come up with a proposal and I'd be happy to accept your contribution.
At the outset this was my thinking

Get familiar with how ModelSpecificationProvider is implemented
Get familiar with how ModelPropertiesProvider is implemented
Get familiar with how ModelDependencyProvider.java is implemented

With something like Wire you could parse the .proto files and implement the above to generate the specifications.


MissingMemberHandling does not work on inner properties.

If I am trying to correctly Populate this model:
class Name
{
  public string First{get;set;}
}

class Person
{
      public Name{get;set;}
}

and i setup the serializer settings like:
var settings = new JsonSerializerSettings
            {
                //This works on properties but not on a objects property.
                /* So nameERROR:{"first":"ni"} would throw. The payload name:{"firstERROR":"hi"} would not */
                MissingMemberHandling = MissingMemberHandling.Error,
                Error = delegate (object sender, ErrorEventArgs args)
                {
                    // A more concrete error type would be nice but we are limited by Newtonsofts library here.
                    errors.Add(args.ErrorContext.Error.Message);
                    args.ErrorContext.Handled = true;
                },
            };

  JsonConvert.PopulateObject(_json, target, settings);

Notice that if I try to populate with
 {name:{"firstERROR":"hi"}}

No error is thrown.

I couldn't reproduce this

Try it on a json string that is serialized from Exception where InnerException is populated and then deserialize it back...


cmd/compile: misleading error when supplying a statement as a function parameter

$  go version
go version go1.6 linux/amd64

$  go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

Tried to compile the following:
package main

import "fmt"

func main() {
        i := 42
        fmt.Println((i++))
}

t.go:7: syntax error: unexpected ++, expecting )
t.go:8: syntax error: non-declaration statement outside function body

The second error should be suppressed.  (It's not observed using 1.5.3 and earlier.)

Not limited to function parameters:
package main

func main() {
	i := 42
	(i++)
}

$ go run prova.go
# command-line-arguments
./prova.go:5: syntax error: unexpected ++, expecting )
./prova.go:6: syntax error: non-declaration statement outside function body

Also
package main

func main() {
	i := 42
	(var int)
}

gives the same double error. Seems like the parser is confused by certain syntax issues when inside _{L,R}paren.

Except for grouping of declarations, inside ()'s we can only have expressions. Possibly error recovery could be a bit stronger in that case.

It's tricky to come up with a good parser recovery strategy in cases like these. The culprit is the syntax.parser.want method:
 func (p *parser) want(tok token) {
        if !p.got(tok) {
                p.syntax_error("expecting " + tok.String())
                p.advance()
        }
 }

If a ++ (or any other token) is found instead of the closing token with tok == ), an error is reported and the offending token is consumed. This assumes that the expected token is simply missing. In these cases, the expected ) follows. So a simple way to work around this here is to change the want method as follows:
@@ -90,7 +90,8 @@ func (p *parser) got(tok token) bool {
 func (p *parser) want(tok token) {
        if !p.got(tok) {
                p.syntax_error("expecting " + tok.String())
-               p.advance()
+               p.advance(tok)
+               p.got(tok) // try once more
        }
 }

This will fix these issues, but cause others (run the tests).
Leaving open for further exploration. Not urgent.


Upgrade joda-time lib and timezone index

upgrade joda-time from 2.11.2 to 2.12.5
remove a deprecated time zone US/Pacific-New

Codecov Report

Merging #11252 (027b8bc) into master (d01d4f9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11252   +/-   ##
=======================================
  Coverage    0.11%    0.11%
=======================================
  Files        2229     2229
  Lines      119957   119957
  Branches    18173    18173
=======================================
  Hits          137      137
  Misses     119800   119800
  Partials       20       20

Flag
Coverage Δ

integration1temurin11
?

integration1temurin17
0.00% <ø> (ø)

integration1temurin20
0.00% <ø> (ø)

integration2temurin11
0.00% <ø> (ø)

integration2temurin17
0.00% <ø> (ø)

integration2temurin20
?

unittests1temurin11
?

unittests1temurin17
?

unittests1temurin20
?

unittests2temurin11
0.11% <ø> (ø)

unittests2temurin17
0.11% <ø> (ø)

unittests2temurin20
0.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

test failure seems legit
   ResourceBasedQueriesTest.testQueryTestCasesWithOutput:264->lambda$testQueryTestCasesWithOutput$3:264->QueryRunnerTestBase.compareRowEquals:338 Not match at (0,0)! Expected: [450] Actual: [0] expected [0] but found [-1]
Error:    ResourceBasedQueriesTest.testQueryTestCasesWithOutput:264->lambda$testQueryTestCasesWithOutput$3:264->QueryRunnerTestBase.compareRowEquals:338 Not match at (0,0)! Expected: [0] Actual: [-86400000] expected [0] but found [-1]

The issue is due to the time zone difference, I got it running on PDT, but CI runs from UTC I guess.


Cannot run code on Bonfire: return largest number in arrays

Challenge http://www.freecodecamp.com/challenges/bonfire-return-largest-numbers-in-arrays has an issue.
The code just outputs: "Cannot read property "should" of undefined. My code is ok.

@UserName thanks for posting this issue!
Note that your issue is related to
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2882
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2876
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2874:

Please review the Guidelines for Contributing, thank you!.


Integrate Allure Reporting

add allure, reporter support, check screenshotOnFail.js plugin

This is implemented, https://github.com/Percona-Lab/codeceptjs-resemblehelper/pull/26


fix: replace fixed network IDs with those imported from ABI

Checklist

[x] I have read the coding guide.
[ ] My change requires a documentation update, and I have done it.
[ ] I have added tests to cover my changes.
[x] I have filled out the description and linked the related issues.

Description
Replaces fixed network IDs (for mainnet and testnet) with IDs imported from the ABI as the single source of truth.

The changes look good, but the tests are failing because of the previously merged pr related to the minimal storage radius #4494.

Yup, this will be rebased and merged once the radius is fixed.


adding gpairs optimized versions

@adarshyoga, do we still have plans to merge this into the main?


feat: add v1beta2 crd and update remote-controller verison

Updates the remote-controller to v0.20.0 which introduces the v1beta2 API, deprecating the v1beta1 API.
v1beta1 builds will still be processed and actioned, but once completed the CR will be deleted, which paves the way for the removal of the v1beta1 API in a future release.
Installing this version of the lagoon-build-deploy chart will require the CRD to be updated, the chart README has been updated to include some instructions on how to do this.

Just noting here that if you need to grab the version of the installed lagoon-remote chart (to automate crd retrieval outside of the automated notes message), this works
export LAGOON_REMOTE_CHART_VERSION=$(helm list -Af lagoon-remote -o json | yq e '.[0].chart' - ) \
    && helm show crds lagoon/lagoon-build-deploy --version \
    $(curl -s "https://raw.githubusercontent.com/uselagoon/lagoon-charts/${LAGOON_REMOTE_CHART_VERSION}/charts/lagoon-remote/Chart.lock" \
    | grep -A2 "lagoon-build-deploy" \
    | grep "version" \
    | awk '{print $2}')
    | kubectl apply -f -


⚠ Bofrost.de has degraded performance

In 326d15e, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1682 ms

Resolved: Bofrost.de performance has improved in 6c458f8 after 6 minutes.


API access to function graph edge labels

Would it be possible to provide guidance or an example on how to access the edge labels of function graphs?
I'd like to be able to programmatically provide my own annotations to edges to supplement the current 'If/Else', 'Do loop' labels. I've spotted the FGEdgeImpl::setLabel(String label) method which I think provides these labels but haven't been able to successfully access this from a script.
Thank you.

Amazingly, this is the first time we've had a request to access the function graph API from a script.   Resultingly, no such access exists.   Currently, if you would like to change Function Graph behavior, then you will have to modify the plugin's source code directly.


Set-DbaDbState, fix PSSA finding (do DbState)

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Dunno when I introduced it ... Fixed ^_^

pawesome! 🐾


UTF16 Buffer

Is there a way in ByteBuffer I can create a UTF16 string from a UTF8 string ? Would really help me a lot.
Thanks!

ByteBuffer stores strings as UTF8 bytes by default, but returns these as a standard JavaScript string, which is UTF16 basically. Do you need UTF16 bytes?

Thank you so much for your reply. Yea, I am looking for UTF16LE Byte representation of a JavaScript string.


Implemented SWAPDB command

LGTM!. @HeartSaVioR?

LGTM!

Merged into master and 2.10. Thanks @sazzad16 .


True portable mode

Could you add true portable mode? Just the same like Ungoogled Chromium has...
I mean:

Support of "--disable-machine-id --disable-encryption". See here - https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/flags.md#available-only-on-windows
Distribute the package in regular 7Z archive (better and easier than ZIP), not only the installer alone.

Yes, I will definitely consider it. I have been looking into bringing over many ungoogled features if only because there is no up-to-date ungoogled for NT 6.x anymore.
I wanted to distribute in 7z, but I suspected that some users may complain about that because it is not integrated into the shell (not that I ever liked how Windows handles zip archives), so I decided on zip.

Distribute the package in regular 7Z archive (better and easier than ZIP), not only the installer alone.

How is it easier? Most operating systems (Windows included) don't have native support for the 7Z format and require you to install 7-zip to extract those archives. Is there anything inherently wrong with using a universal archive format for the portable version?
Another alternative would be having an option to install in "portable mode" which only extracts the files to a selected folder rather than installing them.

There is another option, which is to make a basic 7z SFX which wouldn't need 7zip to be installed on the target system.

I think you don't need to go through the trouble of writing anything to make the browser portable.
You can get it without any problem with the Chrome Plus dll by @Bush2021
Works flawlessly with Chromiun on Windows 10, It is necessary to do the test Windows 7 and Supermiun.
https://github.com/Bush2021/chrome_plus

I think you don't need to go through the trouble of writing anything to make the browser portable. You can get it without any problem with the Chrome Plus dll by @Bush2021

Native true portable is always better than any third-party code. Just remember Cr118 problems with original version.dll to understand.

Hi 😄 ; what I'd like to kindly ask for is some kind of portable launcher to be used alongside the "zipped" distributions; it could be based on winPenPack/X-launcher (like the 360EE "portable" releases available in the MSFN forums and elsewhere) or on the PAF format; that way, Supermium's profile (aka User Data) will be written close to its binary files, NOT on %LOCALAPPDATA% in the host machine 😉 ; if, as promised, "portability across machines" will be a thing in the near future, it would make for the perfect "truly portable" browser solution to carry on an external HDD...
Immense thanks 👍 for what you've accomplished thus far! You've proven, beyond any doubt, that the IT multinationals (Google, Microsoft, etc.) deliberately break browsers on older H/W+OSes; "they" just want more of our hard-earned money (or scarce money, for those unemployed) to be funneled to them towards ever newer machines+spying OSes 😡 ...

There is another option, which is to make a basic 7z SFX which wouldn't need 7zip to be installed on the target system.

Hmm, so basically a self-extracting ZIP? That might work.

You could try this https://github.com/adeii/supermium-portable/releases

Вы можете попробовать это https://github.com/adeii/supermium-portable/releases .

Спасибо. Пробую второй день. Всё нормально работает.

https://portableapps.com/news/2024-04-11--supermium-portable-122.0.6261.85-released by PortableApps.com

I only found this on day 2 of trying to learn about supremium after searching issues before submitting a feature request.
Portable Supremium zip file should be on the main web site.


Add GovCMS.

Fixes #21.
I hope the capitalisation is OK.

Looks like this is super seeded by https://github.com/instatushq/out/commit/ff0fc685dbc5e7ab48cb8dd4bcbf3b47978fcecb


New: Rule performance-budget

Pull request checklist
Make sure you:

[X] Signed the Contributor License Agreement
[X] Followed the commit message guidelines

For non-trivial changes, please make sure you also:

[X] Added/Updated related documentation.
[X] Added/Updated related tests.

Short description of the change(s)
Fix #790

This should be ready for another review


feat: updates to Restless Ghost

Reduced the amount of duplicated dialogue.
Implemented untested spawning of the ghost when opening the coffin if not already present. Needs npc_add to be implemented to work.
Ghost is removed when completing the quest.
Made the Skull pickup go to normal pickup sub after intercepting.
Changed the lost amulet check. Now only checks when the player is at the right quest step.

Hmm I see that Hans apparently was added to the branch. That wasn't supposed to happen

LGTM. Will merge anyways with Hans.


Incorrect package json exports in @equinor/fusion-framework-module-app

Describe the bug
When adding eslint to our migration to Vite we were faced with this issue error message.

Tried to remove our eslint commit and it works like expected then. This issue seems similar to: https://github.com/equinor/fusion-framework/issues/1954
Environment

OS (windows, mac, linux)
mac and windows

Node Version
v16.14.1

To Reproduce
Steps to reproduce the behavior
Adding these imports and versions to our new Vite project.

Stacktrace
[vite] Internal server error: Package subpath './dist/types/types' is not defined by "exports" in<EMAIL_ADDRESS>Occurred while linting /Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/src/index.ts:1
Rule: "import/namespace"
  Plugin: vite-plugin-eslint
  File: /Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/src/index.ts
      at formatError (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:50647:46)
      at TransformContext.error (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:50641:19)
      at TransformContext.transform (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite-plugin-eslint/dist/index.mjs:1:1989)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.transform (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:50956:30)
      at async loadAndTransform (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:53746:29)
      at async viteTransformMiddleware (file:///Users/espen.meland/Documents/Projects/Equinor/plant-query/src/frontend2/node_modules/vite/dist/node/chunks/dep-jvB8WLp9.js:63522:32)

Additional context
We are facing the issue both locally and in PR env

Any updates?

Hei, the latest release has correct package exports now, try updating to latest.
You could also update your @equinor/eslint-config-fusion or change to @equinor/eslint-config-fusion-react. eslint config-fusion-react should install all needed eslint modules, except for eslint and prettier and any custom rules you need.
Your eslintrc file should look something like this:
{
  "extends": "@equinor/eslint-config-fusion-react",
  "plugins": [],
  "rules": {}
}

And also change to node 18-20, 16 is deprecated now.

Issue has been resolved!


rbd-mirror: configure pool and peer

The rbd mirror configuration was only available for non containerized
deployment and was also imcomplete.
We now enable the mirroring on the pool and add the remote peer in both
scenarios.
The default mirroring mode is set to 'pool' but can be configured via
the ceph_rbd_mirror_mode variable.
This commit also fixes an issue on the rbd mirror command if the ceph
cluster name isn't using the default value (ceph) due to a missing
--cluster parameter to the command.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1665877
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test pipeline


Is it possible to customize a row?

I want to add a background color in accordance with the value of a cell.
already, thank you.

Look at thease: http://codepen.io/iamisti/pen/pbLYwq

You can, by customizing every column and checking the id of the row (or doing the check based on your logic)
Can you tell me how do you want to customize the row? What condition do you have by deciding if you want to apply the customization for the specified row?
Thanks

Well, I have a column that indicates the type, I would like each line had to color according to the value of this column.
Thanks

check out this attribute in the docs: table-row-class-name
With this you can have different class names for your row, so you can have a custom style for each.

oh guy, this worked.
Thanks so much!

Hello iamisti,
currently this doesn;t work if for example you set a row variable from enabled to disabled because of the way this implemented.
If you create your row classname like this:
self.getRowClassName = function(row) {
                        return row.enabled===true?'usermanager_enabled':'usermanager_disabled';
                    };

Then it will always show as enabled or disabled, even when row.enabled changes value. (I vaerivied, the getRowClassname get's re-evaluated when the row changes).
It's because this will always evaluates to true:
ng-class="{ ....... '{{rowData.optionList.className}}': rowData.optionList.className }"
However,
perhaps there is a trick I am missing?
Ries


add format specific functions

Sometimes it might be useful to work with certain format.
For example:
auto path = req.files["file"].tempPath.toString;

long w, h, chans;
/* No need to guess format. It also provides some form of validation. */
read_jpeg_info(path, w, h, chans);

There are format specific functions for reading and writing, just not for the info functions. I'll add those as well. Meanwhile, here are the other functions:
95   : PNG_Header   read_png_header(in char[] filename)
123  : IFImage      read_png(in char[] filename, long req_chans = 0)
128  : IFImage      read_png_from_mem(in ubyte[] source, long req_chans = 0)
172  : void         write_png(in char[] file, long w, long h, in ubyte[] data, long tgt_chans = 0)
178  : ubyte[]      write_png_to_mem(long w, long h, in ubyte[] data, long tgt_chans = 0)
705  : TGA_Header   read_tga_header(in char[] filename)
731  : IFImage      read_tga(in char[] filename, long req_chans = 0)
736  : IFImage      read_tga_from_mem(in ubyte[] source, long req_chans = 0)
816  : void         write_tga(in char[] file, long w, long h, in ubyte[] data, long tgt_chans = 0)
822  : ubyte[]      write_tga_to_mem(long w, long h, in ubyte[] data, long tgt_chans = 0)
1100 : IFImage      read_bmp(in char[] filename, long req_chans = 0)
1105 : IFImage      read_bmp_from_mem(in ubyte[] source, long req_chans = 0)
1110 : BMP_Header   read_bmp_header(in char[] filename)
1404 : IFImage      read_jpeg(in char[] filename, long req_chans = 0)
1409 : IFImage      read_jpeg_from_mem(in ubyte[] source, long req_chans = 0)

Version v4.1.0 has them all.

Thanks for quick response.


nfldb Mac installation

Has anyone installed nfldb on the mac? I have installed postgres and pgAdmin. I am at the point where I create the actual postgresql db. The following command is not recognized:
systemd-tmpfiles --create postgresql.conf

Systemd is a Linux init system. It wouldn't be available on a Mac.
On Dec 3, 2016 09:09, "Charlie Minton"<EMAIL_ADDRESS>wrote:

Has anyone installed nfldb on the mac? I have installed postgres and
pgAdmin. I am at the point where I create the actual postgresql db. The
following command is not recognized:
systemd-tmpfiles --create postgresql.conf
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BurntSushi/nfldb/issues/215, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb34kinENehFLB07J0uKU1g5wVMN_GVks5rEXf-gaJpZM4LDTSY
.

Thanks Andrew. I am trying to set up nfldb, so I can move to it. I am excellent at application development, but very out of touch with systems, so not so good at this type of set up. Does anyone know what steps I take from this point to be able to use nfldb on a Mac?

It sounds like you need to find a generic tutorial for setting up postgres
on a mac. You'll probably also want to look up how to install the psycopg2
python module for mac.
On Dec 3, 2016 10:17, "Charlie Minton"<EMAIL_ADDRESS>wrote:

Thanks Andrew. I am trying to set up nfldb, so I can move to it. I am
excellent at application development, but very out of touch with systems,
so not so good at this type of set up. Does anyone know what steps I take
from this point to be able to use nfldb on a Mac?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BurntSushi/nfldb/issues/215#issuecomment-264645065,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb34qvK-mrvD3q1cLVT9eEE1tp2D8Eeks5rEYgggaJpZM4LDTSY
.

@cminton I wrote up the steps I had to go through to get nfldb working on my Mac here. It's mostly written so I wouldn't forget how to do it myself, but it might have some useful tips.

@AndrewRook thank you. When I get to
postgres -D /usr/local/var/postgres
It just seems to hang there. Is it waiting for something from me?

Yeah, that's normal - that command is running the database in the foreground (the pg_ctl -D /usr/local/var/postgres -l logfile start command right below it is to run the db in the background, although I prefer running postgres in the foreground so I can kill it easily).
If you decide you're happy running postgres in the foreground (ctrl-c should kill it if you want to try the background command) you'll need to open up a new terminal window (command+n) or tab (command+t) and continue there.

I figured it was looping. I should have thought of opening another terminal window.

Any idea what this error is? I am superuser, so do not think it is permissioning...
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 377, in move_wheel_files
clobber(source, dest, False, fixer=fixer, filter=filter)
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/Library/Python/2.7/site-packages/pip/utils/init.py", line 83, in ensure_dir
os.makedirs(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'

I got that error running
pip2 install nfldb

Looks like this is a security feature in El Cap. The simple answer (as recommended in that SO question) is to use a virtual environment. The SO answer recommends virtualenv which is a perfectly fine choice, but personally I recommend Miniconda, which will make it way easier if you want to either run multiple versions of Python simultaneously or use libraries like numpy or scipy.

Then I use a virtual environment to continue the installation or every time I use nfldb?

Both, basically. You'll install nfldb (and any other packages you need) into the virtual environment, and then whenever you want to use nfldb you'll activate the virtual environment and work from there. Personally I use a new virtual environment for every project - that way you never have to worry about dependencies conflicting between projects.
One caveat, however - the nfldb database will be visible across virtual environments, which is actually kind of nice - if you use nfldb in multiple projects you shouldn't have to remake the database for each one.

 I have attempted to install and had to uninstall, erase my mac a once already. Anyways, when I try these commands, this is what I get:

Thanks for the help!

Hey all, getting stuck at this part of this guide:
http://nflwin.readthedocs.io/en/stable/nfldb.html

Ok and then I got to here

I can't get the NFL db to work either. However, I have a lot of code to pull stats using the API.
Charlie

On Aug 18, 2017, at 9:54 PM, Arrashg<EMAIL_ADDRESS>wrote:
Ok and then I got to here
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@cminton can you help me do that? or are there instructions anywhere for how to do that?

Happy to. I am on a trip, but back Sunday. What data are you looking for?

On Aug 18, 2017, at 9:57 PM, Arrashg<EMAIL_ADDRESS>wrote:
@cminton can you help me do that? or are there instructions anywhere for how to do that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@cminton Not sure 100% what the etiquette is so I won't post links but I have a site full of NFL teams, schedule, games played and player profiles I need to populate with standard data such as catches, yards, etc after every game.
What I would also like is targets, red zone targets, yards after contact, aDOT on top of that. Goal is to build a daily fantasy stacking tool and eventually a game center that updates.

@Arrashg I have Python code to pull all of that data. What is "aDOT"?
Others who use nflgame say that the db is a much better way to go, so it may be worth your time to get that to work. That said, happy to give you my code.
Charlie

On Aug 18, 2017, at 10:23 PM, Arrashg<EMAIL_ADDRESS>wrote:
@cminton Not sure 100% what the etiquette is so I won't post links but I have a site full of NFL teams, schedule, games played and player profiles I need to populate with standard data such as catches, yards, etc after every game.
What I would also like is targets, red zone targets, yards after contact, aDOT on top of that. Goal is to build a daily fantasy stacking tool and eventually a game center that updates.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@cminton Average Depth of Target for receivers.
Ok thank you. I'll utilize your code and also keep trying to get the DB up and running at the same time.

@Arrashg,
Just landed. Give me a few hours. I have the code for that.
Charlie

On Aug 20, 2017, at 5:47 PM, Arrashg<EMAIL_ADDRESS>wrote:
@cminton Average Depth of Target for receivers.
Ok thank you. I'll utilize your code and also keep trying to get the DB up and running at the same time.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hey @Arrashg, going back to this comment, is your username "home"? If that's the case, it looks like you may have missed the step directly after starting up postgres for the first time:
$ createdb `whoami`

That will create a database based on your username, which should solve the does not exist error you got.

@AndrewRook Thank you! That worked but How do I get out of here? I tried to set a password but then missed the rest of the command and now I'm stuck.

@AndrewRook Thanks a lot. Made a lot of progress and now I am at the final step of which I am confused about regarding "default configuration directory. I moved it to "Application Support" but not sure this is the correct place. I am an OSX newbie. When I added my password and saved the file, I tried the last few instructions but ended up with this:

This is the section I am confused about:

Download the default config.ini.sample file.
https://github.com/BurntSushi/nfldb/blob/master/config.ini.sample
Edit your details.  Save to one of those paths that it stated that it is
looking for the config file at such as
/Users/home/.config/nfldb/config.ini
On Mon, Aug 21, 2017 at 1:14 AM, Arash Ghaemi<EMAIL_ADDRESS>wrote:

@AndrewRook https://github.com/andrewrook Thanks a lot. Made a lot of
progress and now I am at the final step of which I am confused about
regarding "default configuration directory. I moved it to "Application
Support" but not sure this is the correct place. I am an OSX newbie. When I
added my password and saved the file, I tried the last few instructions but
ended up with this:
[image: screen shot 2017-08-20 at 10 11 12 pm]
https://user-images.githubusercontent.com/20796673/29504473-d4af327c-85f4-11e7-9196-80f64f5fea55.png
This is the section I am confused about:
[image: screen shot 2017-08-20 at 10 12 02 pm]
https://user-images.githubusercontent.com/20796673/29504478-ddd65f2e-85f4-11e7-88f3-e8dc4b90c6fb.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BurntSushi/nfldb/issues/215#issuecomment-323648088,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACCil7wCzRrSgY30ZrX8WiQ8FTTFVLG-ks5saRImgaJpZM4LDTSY
.

I'm starting to think that nfldb was saved to the wrong folder. When I try and run it, it says no module named nfldb. I'm still unsure of which .config file to save it to. I tried moving it to .config and then to run it and I get the same problem. I have attached images of where I currently tried to add it.
I'm so close thanks to everyone's help.

@Arrashg if you're getting an ImportError when you try to import nfldb you probably have problems with how you installed the module itself, beyond just the config file. How did you install nfldb?

@AndrewRook I followed these steps
http://nflwin.readthedocs.io/en/stable/nfldb.html
After that, I moved on to these
https://github.com/BurntSushi/nfldb/wiki/Installation#importing-the-nfldb-database
It seemed like that all worked as I'm able to connect to nfldb.

I also tried what was suggested and the list of relations show up fine

I did not notice any errors during install.

None of the steps in the directions on http://nflwin.readthedocs.io explicitly has you install the python nfldb library.  Looks to me like you've got the Postgres database imported, but not the Python nfldb package.
Try pip install nfldb.

On the mac I had a better time with
sudo pip install --user nfldb
On Tue, Aug 22, 2017 at 9:16 AM, ochawkeye<EMAIL_ADDRESS>wrote:

None of the steps in the directions on http://nflwin.readthedocs.io
explicitly has you install the python nfldb library. Looks to me like
you've got the Postgres database imported, but not the Python nfldb
package.
Try pip install nfldb.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BurntSushi/nfldb/issues/215#issuecomment-324022659,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACCil78aHk0J3MuUtoS2nXQetoDUVbuTks5satSogaJpZM4LDTSY
.

@ochawkeye Getting close here. Now when I run the command "import nfldb" it says command not found. When I run "nfldb-update" it updates the db!

In order to use the nfldb Python package (which provides the API wrapper around the postgres database) you have to be running python, either as a script (e.g. python script.py) or through the command line interpreter:
$ python
<Python version information, your info may vary>
>>> import nfldb

@AndrewRook When I start python and >>> import nfldb, I get an ImportError but nfldb is located here so not sure why that is
/usr/local/lib/python2.7/site-packages/nfldb

that probably means that /usr/local/lib/python2.7/site-packages/ isn't on any of the paths that python is searching when it figures out what packages are installed. This can happen for a few reasons, usually because the python installation you're actually using is different than the python installation you think you're using.
You can see what paths your install is looking in by doing the following:
$ python
>>> import sys
>>> print(sys.path)

For more info on how python finds packages see here.
If this does turn out to be the problem you can either monkey around with sys.path (or the PYTHONPATH environment variable) or you can start using Python inside of virtual environments - I recommend conda.


The sparse .sum() method with uint8 dtype does not act like the corresponding numpy method.

With NumPy calling the .sum() method along an axis upcasts the dtype from uint8 to uint64, probably to prevent rolling over back to 0:
In [9]: np.matrix([[1, 255],
                   [0, 0]], dtype=np.uint8).sum(1)
Out[9]: matrix([256,   0], dtype=uint64)

With the sparse package in SciPy, there is no upcasting, so 255 + 1 rolls over to 0. For the same data we get:
 In [11]: sp.csc_matrix(np.array([[1, 255],
                                  [0, 0]], dtype=np.uint8)).sum(1)
 Out[11]:
 matrix([[0],
         [0]], dtype=uint8)

The shapes are different too...
So should Sparse copy numpy's upcasting behavior?

@cowlicks @pv It that seems the .sum() method of SciPy sparse matrices is still not in line with the NumPy  .sum() method in terms of upcasting behavior. The original example of this issue still results in the same discrepancy (integer overflow for sparse matrices, upcasting for dense matrices) (SciPy 0.18.0.dev0+b2eea7c):
In [19]: np.matrix([[1, 255],
                    [0, 0]], dtype=np.uint8).sum(1)
Out[19]:
matrix([[256],
        [  0]], dtype=uint64)

In [20]: sp.csc_matrix(np.array([[1, 255],
                                 [0, 0]], dtype=np.uint8)).sum(1)
Out[20]:
matrix([[0],
        [0]], dtype=uint8)

Fixable via np.int_ -> np.integral, np.float_ -> np.floating in the lines touched by gh-2549

If I remember it correctly, it should be np.integer right ? Please correct me if I am wrong.

@maniteja123  np.integer seems to be the correct fix, yes.
I can easily submit a PR with the fix, but I am unsure what test to add to sparse/tests/test_base.py. The .math_dtypes attributes of the matrix class based tests only consist of [np.bool_, np.int_, np.float_, np.complex_], so .test_sum() never tests for integer upcasting behavior.

@Tiepies looking at my previous PR I think test_base.py is okay.
I have not seen np.integer and np.floating before, so maybe they are new. Which would explain why they are not used in the sparse tests.

@cowlicks your PR indeed tested for this, but PR #5213 reduced the type coverage by replacing self.checked_dtypes with self.math_dtypes, which means the upcasting behavior is not tested for anymore. I am not comfortable touching the tests, because I do not fully grasp the reason for this change.

Yep, that PR was my doing. The whole dtype testing situation is still a bit of a mess, unfortunately, but this comment should hopefully clear up some confusion.
The takeaway is that we haven't ever been testing for correct upcasting behavior, though we thought that we were before my PR.
Possible fixes include:

adding np.int8 to math_dtypes (will likely require fixing other bugs to make things pass)
changing test_sum to use checked_dtypes instead of math_dtypes

In the long run, we want to have option (1), but for the scope of this PR, option (2) should be sufficient.


fix conditions that cause infinite loop in REPL with dashboard:

FirstTry:Runner etosch$ java -jar runner.jar ~/dev/SurveyManRepos/SurveyMan/data/samples/Ipierotis.csv --backend LOCALHOST --dashboard true

Cannot find file .surveyman/params.properties. Would you like to:
	[1] Use the default .surveyman/params.properties from the Runner jar?
	[2] Use the deprecated global .surveyman/params.properties in ~/surveyman?
	[3] Write your own .surveyman/params.properties and run this program again when you're done?
surveyman>1
java.util.Collections$EmptyEnumeration@2e3967ea

Dashboard server running at http://localhost:9000/dashboard/Dashboard.html
To monitor the survey, navigate to:
	http://localhost:9000/src/main/resources/debugger/Debug.html
Checking for responses in LOCALHOST

surveyman> While the program is running, you may execute the following actions:
	[1] Expire currently running Tasks and exit the runner (dashboard will still run).
	[2] Stop the dashboard server.

surveyman> While the program is running, you may execute the following actions:
	[1] Expire currently running Tasks and exit the runner (dashboard will still run).
	[2] Stop the dashboard server.

surveyman> While the program is running, you may execute the following actions:
	[1] Expire currently running Tasks and exit the runner (dashboard will still run).
	[2] Stop the dashboard server.

...

Note: When I re-execute the input command, I see the following:
FirstTry:Runner etosch$ java -jar runner.jar ~/dev/SurveyManRepos/SurveyMan/data/samples/Ipierotis.csv --backend LOCALHOST --dashboard true
java.util.Collections$EmptyEnumeration@576d5deb

Dashboard server running at http://localhost:9000/dashboard/Dashboard.html
To monitor the survey, navigate to:
	http://localhost:9000/src/main/resources/debugger/Debug.html
Checking for responses in LOCALHOST

surveyman> While the program is running, you may execute the following actions:
	[1] Expire currently running Tasks and exit the runner (dashboard will still run).
	[2] Stop the dashboard server.
Target number of valid responses: null
To take the survey, navigate to:
	http://localhost:8000/logs/Ipierotis_survey1_1481590425135.html
Writing straggling data...done.

	Cleaning up...

```
It hangs; when I hit <enter> it then goes into the loop that prints the prompt repeatedly again.

Also of note: the default params.properties is an empty file (it does not appear to have been copied correctly).

May be related to #28


Gallery, Pesto: non-fading app bar when opening a recipe

Open Gallery, open pesto, scroll up enough to minimize the app bar. Tap a recipe.
Notice how the app bar immediately disappears, before the recipe begins its motion up. This is a jarring effect that the user could notice.
We could try something more subtle, like animating or fading the app bar away as the recipe opens?

This is basically https://github.com/flutter/flutter/issues/5232

(Fixing this issue might also resolve https://github.com/flutter/flutter/issues/5351)

I believe @HansMuller is taking a look at this.

I'm not sure what I'm looking for here.  It looks reasonable?

Notice how the app bar immediately disappears, before the recipe begins its motion up. This is a jarring effect that the user could notice.

At the start of the Hero transition the Hero, the recipe image in this case, is moved into the overlay. It was partially behind the appbar, now it's completely on top. It's not entirely clear how to handle this case. It turns out to be difficult for Android native as well: https://plus.google.com/+AlexLockwood/posts/RPtwZ5nNebb
Do really do this well we'd need to stage the hero transition: first get the appbar out of the way, then do the recipe image hero transition.
There's probably advice about how to handle this scenario here: https://material-motion.github.io/material-motion/

We've hidden Pesto.


refactor: put Source trait under cargo::sources

What does this PR try to resolve?
It feels more natural that Source trait is under cargo::sources, as that module contains all built-in implementaions of Source trait.
This PR also flattens the module path of SourceId.
How should we test and review this PR?
Should be safe since this doesn't include any behavior change.
Additional information
This was a something in my git stash for a while when I trie extracting the real "core" types into a sane module that doesn't contain any source downloading logic.

I have mixed feelings about this.
Overall, our layering is a mess in that core and sources depend on each other.  I'd love to be findign ways to make the layering more strict as i feel that will help make the code more understandable in the short term and easier to split up into smaller, more understandable chunks in the long term.
Most likely this kind of layering would involve keeping the trait where it is and having a way to inject the implementations into core.
But maybe we are too far off from that to be worth designing towards?  And having all source related stuff in one place could be nice?
What are your thoughts @weihanglo ?

What I was trying to do is keep the "core" types being pure types, so that other modules importing them don't need to pull in unrelated code. For example, SourceId can be decoupled from Source trait, so that if we had a lockfile processing module, it doesn't need to depend on Source trait and its family.
SourceId::load is an outlier of that, though we can turn it a SourceIdExt it under cargo::sources. People want that extension can import it at will.
Not sure if it makes sense though.

:umbrella: The latest upstream changes (presumably #12553) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #12615) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #12629) made this pull request unmergeable. Please resolve the merge conflicts.

Eh, my main concern is how this helps us get to long term goals but those are probably far enough away that its not worth blocking this on
@bors r+

:pushpin: Commit e575448574bc3d5dfb406a752b4f6fefeb7aa657 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit e575448574bc3d5dfb406a752b4f6fefeb7aa657 with merge 24840d9b6dc16e3e1fdfa51bc780e71bdce6ab3d...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 24840d9b6dc16e3e1fdfa51bc780e71bdce6ab3d to master...


fix: remove scrolling attribute from comments iframe

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Related to https://github.com/freeCodeCamp/forum-theme/pull/53

This PR removes the deprecated scrolling attribute from the comments iframe. Instead, showing the scrollbar will be handled in this update to the embedded CSS.

Where can I find an example of these comments?

Sorry for the late response @ShaunSHamilton.
At the moment, comments are only enabled for Chinese News, which is an embed from the Chinese Forum.
Comments are tricky to test without a dev Ghost and Forum instance. In the end we zipped up this branch and uploaded it to Chinese News to see if the scrollable attribute was removed from the Discourse iframe properly. After trying it on a few posts with comments, we merged the PR.


False indentation?

https://github.com/vessap/vessap/blob/fa30dbedc535ad8fb153fe47887b329b8151c4af/train.py#L123
Is it possible that this for loop should actually last until line 147? Otherwise, if you have a list of input files, only the last one will be considered. Unfortunately, if I change it get_bounding_blocks function produces empty output afterwards.

Same here? https://github.com/vessap/vessap/blob/fa30dbedc535ad8fb153fe47887b329b8151c4af/train.py#L161

Yes, those are errors in the indentation. We switched editors here and there and I think that caused those errors.

Will have a look at those script files train.py and test.py in two days time and will push and update but in the meantime, I think you can correct them for your use case

Will have a look at those script files train.py and test.py in two days time and will push and update

Has this update been uploaded in the meantime?


Another  polyfill

I offer another polyfill, newer and possibly better.
Disclaimer: I am the author.

thank you. :)
a few things.

please add this to bit.ly/polyfills
it's not best to replace mathias's but rather add to it.
but since you were inspired by his work.. maybe you could explain why yours is better?

:)

-1 for removing a polyfill link and replacing it with an alternative implementation that still relies on jQuery.
At least link them side by side.
Also note Element.details offers a similar solution without the jQuery dependency

bit.ly/polyfills

Done long ago. Seach by "jquery-details"

Replacing Mathias' work

Sorry. I did not exactly understand your syntax, I didn't think it takes two urls. I just wanted to inform you of a possibility, not propose a 100% exact pull request.

Element.details

Great find!
For starters, it's a new code, two days old. I did not know of it. Ironic, that he copied one line from my plugin, which I half-copied from Modernizr.
'open' in document.createElement('details'),// Chrome 10 will fail this detection, but Chrome 10 is no longer existing

All in all, his pure JS version is great to have, but it's got disadvantages as well:

Hacks and strange detections, which are not guaranteed to be future-proof. jQuery is a big maintained project;
No features that mine has got (below);
The code could be prettier.

Mine advantages over Mathias'

Animations! I know, silly, but many clients often require that;
Does not require initialization ($('details').details()). I really don't know why Mathias has chosen this, since it's generally normal for PolyFills to just work;
Events. You can bind and you can trigger;
Cleaner instructions page :).

If you fix the polyfills link so that they are both there, then it's cool.


feat: temporary authorization code for batch operations

draft
Close
#354
Changes
New API
# POST: /accounts/{issuer_address}/temporary_access_token
# GET: /accounts/{issuer_address}/temporary_access_token
# DELETE: /accounts/{issuer_address}/temporary_access_token/{temporary_access_token}

Behavior Changed API
# POST: /bond/transfers
# POST: /bond/tokens/{token_address}/personal_info
# POST: /share/transfers
# POST: /share/tokens/{token_address}/personal_info

New Table

temporary_access_token

Others
I am wondering how to implement the following
1. Scope
Is it better that request with given temporary token is restricted accessible resource.
2. Token Format
Variable name(including table name) is not yet determined. Token length/ format is same.
As for formatting, I'm going to follow the general method.

a random string plus a prefix like GitHub/Slack/Shopify token.

GitHub

e.g. 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

GitHub + Category(Personal Token) + “_” +  string(36)

GitLab

arbitary string(min length: 20)

Slack

/\b(?:xoxb|xoxp|xapp|xoxa|xoxo|xoxr)-(?:\d-)?(?:[a-zA-Z0-9]{1,40}-)+[a-zA-Z0-9]{1,40}\b/g

Shopify

/(shppa|shpca|shpat|shpss)_[a-zA-Z0-9]{32,64}/g

https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/profile/personal_access_tokens.md

https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/

#354 is implemented in #356. This PR is not required


Support for the persian language

Hi, I wonder how I can add Persian to this awesome project. Is there any manual for training? Making dataset or aid for training?
I would like to contribute despite there being no good open source tts for Persian.

We are very pleased to have you participate in this project.
You may also refer to #5 #12 #16 for some guidance.

I'll close this issue, if you have other questions you can reopen this issue. @tavallaie


Fix catkin_lint warnings

I ran the catkin_lint tool with your package and fixed the package to comply with the ROS catkin manual best practices.

Tested, compiles and works w/ Jade on El Capitan. Thanks.


Add ability to use byte length instead of a string length for column length as an Yes/No option in import

Fix for #13611
Made it generic!

But this fix only applies to CSV importer, what about other importers?

What other importers are there? I didn’t look at them. But can add there as
well. I was going by usage of Column Length. Didn’t find those constants
used elsewhere.--
SD

There's also XLSX, XML and data transfer from other table (the latter is the most interesting one, but I doubt we should select sample the data just to figure its max length).

I didn’t realize you had xlsx import in the community edition. Do you have
it?
I will look into it.
SD

Nope, we don't, sorry!

So, only the csv data importer I suppose. And we wouldn’t check sample
length when we take it from another database.
SD

@ShadelessFox-Should I do anything else then?

I think that's it, then.


Enable for javascriptreact, typescriptreact languages

Please enable this great extension for the javascriptreact language (and the typescriptreact language too). JavaScript regular expressions can obviously be used in React as well, and I default all .js files to the javascriptreact language in VSC, so it'd be great if this extension would work in that language as well.
Thanks!

Thanks for this great extension.
I work daily with *.tsx, *.vue files.
Could you please support those type of files?

yes please

This was fixed by https://github.com/chrmarti/vscode-regex/pull/42 btw

Indeed, thanks for noting and thanks @galangel for the PR.


Done and tested as fixed.


Test HighVoltage against Ruby 2.2

Closing as this has been handled in https://github.com/thoughtbot/high_voltage/pull/184


Webui not correctly linking to local gateway when running over LAN at .local domain

Checklist

[X] This is a bug report, not a question. Ask questions on discuss.ipfs.io.
[X] I have searched on the issue tracker for my bug.
[X] I am running the latest kubo version or have an issue updating.

Installation method
built from source
Version
# ipfs version --all
Kubo version: 0.15.0
Repo version: 12
System version: arm64/linux
Golang version: go1.18.5

Config
# ipfs config show
{
  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Methods": [
        "PUT",
        "POST"
      ],
      "Access-Control-Allow-Origin": [
        "https://djnofp2u5mvjsewk7anxsj4iep3n5uvez362lek4ixjysgeefk5esxyd.local", #api/webui domain
        "http://localhost:3000",
        "http://<IP_ADDRESS>:5001",
        "https://webui.ipfs.io",
        "http://ipfs.embassy:5001",
        "https://rfu6pj36capximdisyvwxyjnhlwyeovf4gcmz4hvuptaetwduslav3id.local", #gateway domain
        "https://<IP_ADDRESS>:8080"
      ]
    }
  },
  "Addresses": {
    "API": "/ip4/<IP_ADDRESS>/tcp/5001",
    "Announce": [],
    "AppendAnnounce": [],
    "Gateway": "/ip4/<IP_ADDRESS>/tcp/8080",
    "NoAnnounce": [],
    "Swarm": [
      "/ip4/<IP_ADDRESS>/tcp/4001",
      "/ip6/::/tcp/4001",
      "/ip4/<IP_ADDRESS>/udp/4001/quic",
      "/ip6/::/udp/4001/quic"
    ]
  },
  "AutoNAT": {},
  "Bootstrap": [
    "/ip4/<IP_ADDRESS>/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
    "/ip4/<IP_ADDRESS>/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt"
  ],
  "DNS": {
    "Resolvers": {}
  },
  "Datastore": {
    "BloomFilterSize": 0,
    "GCPeriod": "1h",
    "HashOnRead": false,
    "Spec": {
      "mounts": [
        {
          "child": {
            "path": "blocks",
            "shardFunc": "/repo/flatfs/shard/v1/next-to-last/2",
            "sync": true,
            "type": "flatfs"
          },
          "mountpoint": "/blocks",
          "prefix": "flatfs.datastore",
          "type": "measure"
        },
        {
          "child": {
            "compression": "none",
            "path": "datastore",
            "type": "levelds"
          },
          "mountpoint": "/",
          "prefix": "leveldb.datastore",
          "type": "measure"
        }
      ],
      "type": "mount"
    },
    "StorageGCWatermark": 90,
    "StorageMax": "10GB"
  },
  "Discovery": {
    "MDNS": {
      "Enabled": true,
      "Interval": 10
    }
  },
  "Experimental": {
    "AcceleratedDHTClient": false,
    "FilestoreEnabled": false,
    "GraphsyncEnabled": false,
    "Libp2pStreamMounting": true,
    "P2pHttpProxy": false,
    "StrategicProviding": false,
    "UrlstoreEnabled": false
  },
  "Gateway": {
    "APICommands": [],
    "HTTPHeaders": {
      "Access-Control-Allow-Headers": [
        "X-Requested-With",
        "Range",
        "User-Agent"
      ],
      "Access-Control-Allow-Methods": [
        "GET"
      ],
      "Access-Control-Allow-Origin": [
        "*"
      ]
    },
    "NoDNSLink": false,
    "NoFetch": false,
    "PathPrefixes": [],
    "PublicGateways": {
      "localhost": null,
      "rfu6pj36capximdisyvwxyjnhlwyeovf4gcmz4hvuptaetwduslav3id.local": {
        "Paths": [
          "/ipfs",
          "/ipns"
        ]
      }
    },
    "RootRedirect": "",
    "Writable": false
  },
  "Identity": {
    "PeerID": "12D3KooWPCNH8gBqGuuCxerv3wLEjBEEWHYJXxa8eUcsNSjLS6cm"
  },
  "Internal": {},
  "Ipns": {
    "RecordLifetime": "",
    "RepublishPeriod": "",
    "ResolveCacheSize": 128
  },
  "Migration": {
    "DownloadSources": [],
    "Keep": ""
  },
  "Mounts": {
    "FuseAllowOther": false,
    "IPFS": "/ipfs",
    "IPNS": "/ipns"
  },
  "Peering": {
    "Peers": null
  },
  "Pinning": {
    "RemoteServices": {}
  },
  "Plugins": {
    "Plugins": null
  },
  "Provider": {
    "Strategy": ""
  },
  "Pubsub": {
    "DisableSigning": false,
    "Router": ""
  },
  "Reprovider": {
    "Interval": "12h",
    "Strategy": "all"
  },
  "Routing": {
    "Type": "dht"
  },
  "Swarm": {
    "AddrFilters": null,
    "ConnMgr": {
      "GracePeriod": "20s",
      "HighWater": 900,
      "LowWater": 600,
      "Type": "basic"
    },
    "DisableBandwidthMetrics": false,
    "DisableNatPortMap": false,
    "RelayClient": {
      "Enabled": true
    },
    "RelayService": {},
    "Transports": {
      "Multiplexers": {},
      "Network": {},
      "Security": {}
    }
  },
  "Transports": {
    "Network": {
      "Relay": true
    }
  }
}

Description
I am trying to package IPFS for embassy-os. See this discussion forum post for some background on embassy-os.

Run kubo v0.15.0 in a docker container on a raspberry pi on my home network using https://github.com/chrisguida/ipfs-wrapper. The Dockerfile here is pretty much the same as the Dockerfile included in the kubo repo, with some slight modifications to adapt it to .
configure kubo as in this entrypoint.
In the webui, go to the "Files" tab and select any file to view it. The ipfs.io public gateway sometimes displays the file after a long wait. Other times, if I open the browser console I can see this error:

(As you can see, the browser does not like that the request to http://<IP_ADDRESS>:8080 is cleartext HTTP, while the domain I'm viewing the webui through is HTTPS ("https://djnofp2u5mvjsewk7anxsj4iep3n5uvez362lek4ixjysgeefk5esxyd.local" in the above example config). Actually, I'm not even sure what http://<IP_ADDRESS>:8080 is supposed to me. I do know that if I run kubo locally on my laptop, this request succeeds. How firefox is able to resolve this URL, ever, is beyond me.)
But since the point of embassy-os is to self-host, we want to avoid "public" gateways and use the gateway on our own device, which responds much faster anyway. If I go to the webui "Settings" tab and enter in my gateway address ("https://rfu6pj36capximdisyvwxyjnhlwyeovf4gcmz4hvuptaetwduslav3id.local" in the example config) into the "public gateway" field, clicking on files now works, and sends the files through my local gateway properly.
Issue ipfs/kubo#1: I would like to be able to configure this setting programmatically, ie in docker_entrypoint.sh. Requiring the user to manually find their gateway domain and input it into this settings field adds a lot of friction to the UX. However, that can be worked around for now if it's the only way. The real bug is below:
Issue ipfs/kubo#2: When I click "Download" on any file, even after manually setting the gateway in the webui, the browser still requests http://<IP_ADDRESS>:8080, rather than the local gateway I've configured. This of course results in an error. This makes it so that the user cannot download a file through the UI. The bizarre thing is that if I manually alter the download URL to replace http://<IP_ADDRESS>:8080 with the local gateway URL ("https://rfu6pj36capximdisyvwxyjnhlwyeovf4gcmz4hvuptaetwduslav3id.local" in the example config), the file can be viewed through the browser just fine. For some reason, the webui is unable to simply link the user directly to the local gateway, even when it is specifically configured in the webui.
It's possible I'm missing a config value somewhere, as I'm fairly new to kubo, but this definitely seems like at least a documentation issue, and probably a bug in the webui.
Please let me know how I can help debug/fix this, as our community is asking for access to IPFS on embassy-os!
Thanks in advance,
--Chris

@lidel thanks so much for the response! I will work through this next week and get back to you :)

I think it would be useful for you to describe your use case. What is the end user experience you are designing for?
FWIW it is perfectly fine to run IPFS  Node, or even HTTP Gateway in your LAN.
What is tricky is to provide secure access to RPC port (and GUI like ipfs-webui).
That is admin-level, and allows changing node config, and as I said, was designed only for localhost access.
As long you take care of securing RPC access (e.g., via basic auth + TLS or something like that), it should be fine, but we do not have tests for non-localhot setups, and who knows what can break over time for your users if you go this route.
SSH is the best solution IMO, because it removes surface for footguns,

Does this mean that using two different domains for the API and Gateway will not work? I can put them on the same domain if so.

No, I don't think you need same domain or port, technically it should work (even localhost:8080 (gateway) and localhost:5001/webui (rpc api) are distinct origins), but you need the additional setup I mentioned.

we need to access the .local domain over HTTPS, and the webui is using http; that is one of the problems that we need to fix or work around

Ah.. right.  Sadly Kubo's HTTP is designed as a backend service: it is listening on cleartext HTTP ports 8080 and 5001: they do not provide TLS or anything fancy like that, it is just HTTP 1.1.  Kubo does not support listening on HTTPS, for that you need to put some reverse proxy like Nginx or Caddy in front of it to correctly terminate TLS.
So Addresses.Gateway set to <IP_ADDRESS> is fine, it will listen on all interfaces provided to your docker container.
I think you already have TLS termination set up correctly, too.
Unfortunately, Kubo won't be able to listen on the final TLS address, so ipfs-webui will never be able to use the correct one.

It appears as though the webui does not allow dialing an address that kubo itself cannot dial. Is this correct?

Yes, Addresses.Gateway from Kubo config is the limiter here.

If so, I think this is the feature that needs to be added, and as I mentioned previously, I'm willing to put in the work to add this feature if you guys would accept a PR that does this.

Are we talking about changing  ipfs-webui or Kubo?
I would be open to review a PR  (remember to @lidel me) against ipfs-webui that is addressing (4) – it sounds like a generic  bug on Files screen. If Addresses.Gateway is offline/unreachable, then the public gateway from Settings should be used.
I also could see how passing static API and Gateway addresses via URL  (https://webui.local/?rpc=&localGw=&pubGw=) that  reads them from URL and stores  in window.localStorage  could be useful for projects like https://github.com/ipfs-shipyard/go-ipfs-desktop   – not sure if this is useful to you tho.
If you had other fix in mind, lmk.
As for (5), this is unlikely.. Kubo bending backwards just for ipfs-webui. Changing existing behavior is unacceptable as it will lead to silent errors that are annoying to debug, especially in cloud contexts.
If anything, we could add a separate setting, just like we have AppendAnnounce for libp2p listeners, and update ipfs-webui to also check that.
But if it is a dead setting (not used by Kubo itself) that is only used  by ipfs-webui it is.. a hard sell.
I think what we could add to Kubo is a list of preferred public gateways – we need it for unrelated, but already planned work described in https://github.com/ipfs/kubo/issues/9159 – if that lands,  ipfs-webui could opportunistically read this list and use it too.
Lmk if you were successful with any of the paths discussed.
We are working under constraints here, but should figure something out :)

Reporting back with some rest results:
I've tried using an array of strings instead of a string (potential solution number 3), and as expected that does not work, since Kubo cannot dial the .local address:
Error: serveHTTPGateway: manet.Listen(/dns4/ipfsgw.local/tcp/443) failed: listen tcp4: lookup ipfsgw.local: no such host
So potential solution number 3 is a no-go.
I've also tried forwarding port 8080 from the container to the host like so (potential solution number 2):
socat tcp-l:8080,fork,reuseaddr tcp:ipfs.embassy:8080
Then I set Addresses.Gateway like so:
ipfs config --json Addresses.Gateway '["/ip4/<IP_ADDRESS>/tcp/8080", "/ip4/<IP_ADDRESS>/tcp/8080"]'
and also simply:
ipfs config --json Addresses.Gateway '"/ip4/<IP_ADDRESS>/tcp/8080"'
But still got a "cannot listen" error:
Error: serveHTTPGateway: manet.Listen(/ip4/<IP_ADDRESS>/tcp/8080) failed: listen tcp4 <IP_ADDRESS>:8080: bind: cannot assign requested address
This was attempted before and after activating the socat tunnel. So potential solution number 2 is a no-go.
For the record, the socat command above does cause the embassy's IP address, at port 8080, to properly return the file when requested via a browser on the local network. So, again, this is simply a case of Kubo/ipfs-webui artificially restricting the user's access to certain addresses.
The SSH tunnel (potential solution number 1) works, I can confirm:
ssh -L <IP_ADDRESS>:8080:ipfs.embassy:8080 -L <IP_ADDRESS>:5001:ipfs.embassy:5001<EMAIL_ADDRESS>This forwards both the API and Gateway to localhost. As mentioned this would only be accessible to our advanced users, but at least it works.

I think it would be useful for you to describe your use case. What is the end user experience you are designing for?

Basically embassy-os consists of an OS and a marketplace of open source software that has been packaged for said OS, not unlike apt, but without the need for the user to touch the command line ever, and without non-service packages; that is to say, all our packages are some kind of self-hostable server software, like bitcoin, lightning, mastodon, synapse, gitea, ghost, vaultwarden, filebrowser, etc. Here's what we currently have on offer, though this collection is rapidly expanding. Any software that can be self-hosted and is open source can be packaged as an "app" for embassy-os (including IPFS of course). Our users are fanatics about privacy and digital independence, and love hosting their own data.
In addition to this, the services we host are designed to require no upfront configuration on the part of the user. They can simply navigate to the marketplace, click "install", then "configure", hit "save", then "start", and the service will set itself up and a health check will alert the user when the service is ready, for example, to visit in a browser (if it has a ui). Then they hit "launch ui" and they're using the service. No command line is required, and indeed no configuration is required. Of course the user can configure their service in any way that the package is designed to be configured (by the service package dev).
Every service is given either a system-generated .local address (for clearnet LAN access) or .onion address (for onion-routed remote access), or both.
We have over 1,000 users now (see our telegram channel), and a large number are eager to start running IPFS on their nodes, with 24/7 uptime, to aid the IPFS network, and also to be able to host, pin, and access their files privately over their own local gateways. IMHO, IPFS could benefit a lot from designing with this use case in mind.

FWIW it is perfectly fine to run IPFS Node, or even HTTP Gateway in your LAN.

I definitely agree!

What is tricky is to provide secure access to RPC port (and GUI like ipfs-webui).
That is admin-level, and allows changing node config, and as I said, was designed only for localhost access.
As long you take care of securing RPC access (e.g., via basic auth + TLS or something like that), it should be fine, but we do not have tests for non-localhot setups, and who knows what can break over time for your users if you go this route.

Yes, we are considering adding a reverse proxy with basic auth to the container. This would work better as a feature in the webui itself, but I'll see if we can get it done. Adding a reverse proxy to IPFS has been somewhat of a challenge for me so far.

SSH is the best solution IMO, because it removes surface for footguns,

It's not ideal for us because we emphasize that our users won't need to touch the command line, and our users are used to services being plug-and-play with no additional setup required.

No, I don't think you need same domain or port, technically it should work (even localhost:8080 (gateway) and localhost:5001/webui (rpc api) are distinct origins), but you need the additional setup I mentioned.

Ok great, thanks

Ah.. right. Sadly Kubo's HTTP is designed as a backend service: it is listening on cleartext HTTP ports 8080 and 5001: they do not provide TLS or anything fancy like that, it is just HTTP 1.1. Kubo does not support listening on HTTPS, for that you need to put some reverse proxy like Nginx or Caddy in front of it to correctly terminate TLS.
So Addresses.Gateway set to <IP_ADDRESS> is fine, it will listen on all interfaces provided to your docker container.
I think you already have TLS termination set up correctly, too.

Yes, we have a reverse proxy in the OS that takes care of TLS, but it seems like we may need to add another reverse proxy inside the IPFS container to handle auth. Though the API/webui will still only be visible over lan, and over .onion as a Tor hidden service, neither of which will be accessible by the public. But adding auth will definitely make things more secure.

Unfortunately, Kubo won't be able to listen on the final TLS address, so ipfs-webui will never be able to use the correct one.

Yes, Addresses.Gateway from Kubo config is the limiter here.

Yes, that is what it looks like. Unfortunate indeed.

Are we talking about changing ipfs-webui or Kubo?

Whichever you think is more appropriate. It seems as though the webui should be able to respect the client "public gateway" settings, because as I mentioned previously, it already does this for "click to view", but not for "download". This actually just seems like a bug in the webui, and seems like the least invasive fix for this issue.
But, if you think the Go code needs to be modified to separate Kubo's listening address from the webui's connect address, then I'll do that. That also seems likely to be doable in the webui code. The fact that Kubo cannot listen on an address that it itself cannot connect to just seems.. wrong. But I'm new to this codebase so I'm not aware of all the reasons why the design was left that way, so perhaps they were good reasons.

I would be open to review a PR (remember to @lidel me) against ipfs-webui that is addressing (4) – it sounds like a generic bug on Files screen. If Addresses.Gateway is offline/unreachable, then the public gateway from Settings should be used.

Yes, this seems like the place that makes most sense for us to start.

I also could see how passing static API and Gateway addresses via URL (https://webui.local/?rpc=&localGw=&pubGw=) that reads them from URL and stores in window.localStorage could be useful for projects like https://github.com/ipfs-shipyard/go-ipfs-desktop – not sure if this is useful to you tho.

Yes, this seems like it could be useful.

As for (5), this is unlikely.. Kubo bending backwards just for ipfs-webui. Changing existing behavior is unacceptable as it will lead to silent errors that are annoying to debug, especially in cloud contexts.

Again, this strikes me as a design flaw in Kubo. This behavior really makes it seem like this reference IPFS node implementation was not designed with running a on server device (separate from the client it is accessed from) in mind, which seems antithetical to IPFS's mission. Doesn't IPFS want people to run nodes in as many configurations as possible, so that there can be as many nodes as possible? Doesn't that make the data stored on IPFS that much more uncensorable? And isn't censorship resistance the whole point of IPFS?

If anything, we could add a separate setting, just like we have AppendAnnounce for libp2p listeners, and update ipfs-webui to also check that.
But if it is a dead setting (not used by Kubo itself) that is only used by ipfs-webui it is.. a hard sell.

This sounds like it would work! Let me know if this is what I should do.

I think what we could add to Kubo is a list of preferred public gateways – we need it for unrelated, but already planned work described in https://github.com/ipfs/kubo/issues/9159 – if that lands, ipfs-webui could opportunistically read this list and use it too.

Also a great suggestion! I'm down to work on whatever solution you think is best, as long as it helps onboard as many of our users to IPFS as we can :)

Lmk if you were successful with any of the paths discussed.
We are working under constraints here, but should figure something out :)

Posted earlier with my test results, I didn't find any optimal solutions to the problem.
I really appreciate your being here, it means a lot! I'm sure we'll come up with something that works for everyone :)

Ok so I just realized that the IPFS Companion browser extension possibly fixes this. I was using it before and then it stopped working. I removed it and re-added it to my browser and now everything works, as long as I set the local gateway and toggle on "use local gateway". Will continue testing and report back!

Ok never mind, enabling IPFS Companion fixes the "download" behavior, but breaks the "click to view" behavior xD
Will see if there's some combination of webui and companion settings that fixes this.


[Question] Any plan to push it to packagecontrol.io?

Not that I don't know I could install it directly from the repo, but I'm a lazy dude! ;-)

Yes (depending).
I've pushed my Blade package as a PR to the core Sublime packages; https://github.com/sublimehq/Packages/pull/378 if you could give it a thumbs up, that'd be awesome. I've already spoken to @wbond about getting Blade native to Sublime, but it's down to Jon Skinner.
If that's not possible, then I'll submit to Package Control and see if we can directly replace the existing one. The author doesn't seem to want to do anything much with it and it's super buggy.

That's awesome! I'll be testing it locally with the repo this weekend then, I'll be able to try and give some feedback if need be!

I'll be testing it locally with the repo this weekend then, I'll be able to try and give some feedback if need be!

Very much appreciated! I know that comments aren't working properly at the moment (#1) and I could do with adding some snippets (#2).


Investigate Integration with CLAHub

https://www.clahub.com/

Not needed as now provided by FINOS cla-bot.


Add goldens to pubignore

Those images are quite large and to force every user to install them with a standard install is wack

c89823df460c4c528b6f122f0012c031829867f2


chore::> Introduce common account.AddTransaction function to dynamically call Add<Type>Transaction.

Addresses #590 pointer 3

Hey @thiagodeev
Some documentation changes are left...
Rest everything is done..
Have a look at it.

@thiagodeev
I have made required changes...
But for now we shouldn't remove AddInvokeTransactionResponse, AddDeployAccountTransactionResponse, and the AddInvokeTransactionResponse type cause it is used in multiple places...
Plus I don't want this PR to get any longer for now :)
What do you think?

Okay @PsychoPunkSage, I agree with you. Since we have these TxResponse being used by provider methods, let's leave them for another time ;)

Done @thiagodeev

Hi @rianhughes @thiagodeev
I think this PR is ready tobe merged


fix consistency check for subannual timeslices

This PR fixes the issue identified by Pietro Pelizzarui (https://groups.google.com/forum/#!topic/message_ix/E13e_AdhSqY) - there was an overzealous consistency check that the sum of sub-annual time slice duration adds up to 1.

 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.

any chance for a test? =)

replaced by #24 after refactoring


Editor: can't select last line with shift-down-arrow

repro:
start at cursor at line 16
press shift down arrow to select the lines to send to repl
when you get to line 22, it will not get selected.  instead you can to shift right arrow or end which is a pain & unnatural.
expected:
last line should be selected as part of same motion.

Standard VS editor behavior: there is no line break at the end of the file. Same as in C#:

Workaround: Add line break at the end.

hmm... makes noe sense in a REPLy world.  can we add one by default?
On Fri, Jun 17, 2016 at 2:40 PM, Mikhail Arkhipov<EMAIL_ADDRESS>wrote:

Standard VS editor behavior: there is no line break at the end of the
file. Same as in C#:
[image: image]
https://cloud.githubusercontent.com/assets/12820357/16165572/7d8741c2-3499-11e6-8cea-6457f12e19f2.png
Workaround: Add line break at the end.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/RTVS/issues/1970#issuecomment-226888257,
or mute the thread
https://github.com/notifications/unsubscribe/AAtUVNHTf2-oZLaQEJc8dYgFmbDtKGVYks5qMxRmgaJpZM4I4vk-
.

Add where? User can always delete it. BTW Notepad is exactly same

Closing as it works the same as in other languages and products.


VMI status, GuestOSInfo: Fix version field

What this PR does / why we need it:
The VMI status.GuestOSInfo struct is filled by the virt-handler, from values received in the Domain.
Currently, the Version field is pointing to the value of the VersionID field.
Point it to the correct value.
Add the missing GuestOSInfo fields to the unit test.
After this PR the following values are equal:
./cluster-up/kubectl.sh exec -t virt-launcher-vmi-fedora-b2gqj virsh guestinfo 1
...
os.id               : fedora
os.name             : Fedora Linux
os.pretty-name      : Fedora Linux 35 (Cloud Edition)
os.version          : 35 (Cloud Edition)
os.version-id       : 35
os.machine          : x86_64
os.variant          : Cloud Edition
os.variant-id       : cloud
os.kernel-release   : 5.14.10-300.fc35.x86_64
os.kernel-version   : #1 SMP Thu Oct 7 20:48:44 UTC 2021
...

Please note that os.variant and os.variant-id are not currently used.
$ ./cluster-up/virtctl.sh guestosinfo vmi-fedora
...
"os": {
    "name": "Fedora Linux",
    "kernelRelease": "5.14.10-300.fc35.x86_64",
    "version": "35 (Cloud Edition)",
    "prettyName": "Fedora Linux 35 (Cloud Edition)",
    "versionId": "35",
    "kernelVersion": "#1 SMP Thu Oct 7 20:48:44 UTC 2021",
    "machine": "x86_64",
    "id": "fedora"
  },
...

./cluster-up/kubectl.sh get vmi -o yaml
...
    guestOSInfo:
      id: fedora
      kernelRelease: 5.14.10-300.fc35.x86_64
      kernelVersion: '#1 SMP Thu Oct 7 20:48:44 UTC 2021'
      machine: x86_64
      name: Fedora Linux
      prettyName: Fedora Linux 35 (Cloud Edition)
      version: 35 (Cloud Edition)
      versionId: "35"
...

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Based on PR #10898, please skip the first commit.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[X] PR: The PR description is expressive enough and will help future contributors
[X] Code: Write code that humans can understand and Keep it simple
[X] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[X] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

Fix the value of VMI `Status.GuestOSInfo.Version`

Change: Adjusted the unit test.

/cc @Barakmor1

/lgtm
Nice catch, please consider back-port as this is bugfix

Change: Rebase

/lgtm

/cc @enp0s3

/retest-required


check if I can build this project on linux

It is working.
Using this repository https://github.com/Ks89/Dotfiles_ubuntu/blob/master/apt-get.sh, I initialized successfully my dev env.


Bug fix for no 'grantControls'

Bug fix for back up of Conditional Access throwing AttributeError: 'NoneType' object has no attribute 'pop' when no grantControls were configured.

closes #62

Codecov Report
Base: 97.17% // Head: 97.18% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (38a4ae9) compared to base (6431a52).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #63   +/-   ##
=======================================
  Coverage   97.17%   97.18%
=======================================
  Files          50       50
  Lines        2340     2341    +1
=======================================
+ Hits         2274     2275    +1
  Misses         66       66

Flag
Coverage Δ

unittests
97.18% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/IntuneCD/backup_conditionalAccess.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add an email saver

This PR adds an email saver.
- [x] Implement SMTP and SMTPS
- [x] Write documentation
- [x] Add changelog entry

Review instructions
I tested this with this pipeline:
version
| repeat 3
| write json
| save email -f mavam@localhost -v<EMAIL_ADDRESS>
For the first version of the email saver, I deliberately ignored MIME parts. Libcurl supports this nicely, but I'd rather get some experience with this before going more complex.
An open question is how to batch events. Today, we only have the batch operator. In TQLv2, we'll be able to window at the event level, which is the missing piece here. I think we can ignore this problem until then.
EDIT: there's still one bug that prevents the underlying libcurl handle from being reused properly when sending multiple emails. So things work only without repeat ATM.

This works now for me. Here's how I tested this on macOS:
Install MailHog
# Install MailHog
brew install mailhog
brew services start mailhog
open http://<IP_ADDRESS>:8025

Setup Postfix
Add this to /etc/postfix/main.cf for MailHog:
myhostname = localhost
relayhost = [localhost]:1025

Then run:
sudo postfix stop
sudo postfix start

So I think this works well, except that my local test setup with MailHog struggles with multiple emails in the same SMTP session. Libcurl does the right thing though:
*   Trying [::1]:25...
* Connected to localhost (::1) port 25
< 220 localhost ESMTP Postfix
> EHLO ninja
< 250-localhost
< 250-PIPELINING
< 250-SIZE 10485760
< 250-VRFY
< 250-ETRN
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250-DSN
< 250 SMTPUTF8
> MAIL FROM:<mavam@localhost> SIZE=196
< 250 2.1.0 Ok
> RCPT<EMAIL_ADDRESS>< 250 2.1.5 Ok
> DATA
< 354 End data with <CR><LF>.<CR><LF>
* We are completely uploaded and fine
< 250 2.0.0 Ok: queued as 0C92B7CC3E90
* Connection #0 to host localhost left intact
* Found bundle for host: 0x600000ffb900 [serially]
* Re-using existing connection with host localhost
> MAIL FROM:<mavam@localhost> SIZE=196                     <-------- this is legit
< 502 5.5.2 Error: command not recognized
* MAIL failed: 502
> QUIT
< 250 2.1.0 Ok
* Closing connection

I marked the part of the SMTP protocol that's legit. My hunch is that MailHog is simply not meant for this type of email testing.

My hunch is that MailHog is simply not meant for this type of email testing.

I was wrong. The actual reason was that I initially didn't terminate the email with <CR><LF>.<CR><LF>, but just .<CR><LF>. I found out about this only because I implemented the MIME part wrapping as well, and there MailHog accepted multiple emails per connection. So I knew it there was a bug in the other code path.
Anyway, it's now ready to go.


Allow querying without collateral

Users currently require a wallet with collateral set in order to perform query actions (e.g., fetching NFTs to view in a marketplace). This is problematic for a couple reasons:

Users may not have wallets installed (or have wallets without collateral) but want to view blockchain data.
Users with wallets are prompted to connect their wallet just to query data.

We should completely remove the wallet requirement for queries that do not involve wallet utxos if possible.

@ngua what if we modify our wallet initialization code to allow the app developers to specify if they need a collateral?
I'm introducing a WalletSpec type here - https://github.com/Plutonomicon/cardano-transaction-lib/pull/731
We could just extend it with a boolean flag to require collateral presence.

Done.


Could not find a version that satisfies the requirement pyrealsense2

$ pip search  pyrealsense2
pyrealsense2 (<IP_ADDRESS>7)  - Python Wrapper for Intel Realsense SDK 2.0.

$ pip install pyrealsense2
Collecting pyrealsense2
  Could not find a version that satisfies the requirement pyrealsense2 (from versions: )
No matching distribution found for pyrealsense2

Ubuntu 16
Anaconda. Python3.7

Hi, hope everyone is well.
I had a similar problem as the original and followed similar steps to get pyrealsense2 to download using pip. E.g. I installed python 3.6 rather than 3.7 on my windows machine and then the pip install worked.
a pip list shows:
certifi       2019.6.16
numpy         1.17.0
opencv-python <IP_ADDRESS>
pip           19.1.1
pylsl         1.13.1
pyrealsense2  <IP_ADDRESS>4
setuptools    41.0.1
wheel         0.33.4
wincertstore  0.2

Despite this I still cannot import the realsense2 and get the following error.
Traceback (most recent call last):
  File "testing.py", line 7, in <module>
    import pyrealsense2 as rs
ImportError: DLL load failed: The specified module could not be found.

Can anybody clarify this problem or have any suggestions as to what it might be? Previously I have also tried copying the pyrealsense2.pyd and realsense2.dll files to the Anaconda -> Lib -> site-packages folder but that gave the same error.
Any help greatly appreciated,
Thanks
I have also tried copying


Update missing fields for Airtable integration on SaaS Manager App

The Airtable integration seems to be missing the data for displayName, description and some other values on some Actions.

(Make sure that we are using displayName as the display name for actions. Currently, some string manipulation make the display name look weird Delete A Record instead of Delete a record)
Tasks:

Update those values.
Add an EngSpec for Airtable to use as reference.

Save Button is Disabled in Airtable Integration
When I try to edit an action, I can't save it (button is disabled) because integration status is approved, I'll ask how to proceed to update the displayName.

Already updated and tested on SaaS App under (Airtable 1.2). Need to figure out how to proceed with this one (how to update from one to another on prod).

Add API name and description to all actions

Updated labels and tooltips in different dynamic variables

Note:
We are investigating why the action name is not updated based on the displayName.

It seems that when the action is saved in the getSaveRequest function all data is updated but the displayName only querie the existing table name.

Possible Solution
Instead of Table1.selectedRow.name use api_name.text.toUpperCase().replaceAll(" ", "_")

Need to test possible solution described above.

Update about this issue

The placeholders are not in the oficial documentation, so for now no variable has a placeholder.
When changing the displayName of an action the name is not updated, we are working on this issue.
The integration is already installed in the organization SaaS Integrations | Testing, and the different tests have been performed, all actions are working.

Updates:

The observations stated on this issue have been resolved.

Another issue will be created to further improve the helper texts of the Airtable integration (subtitle, tooltip, placeholder) #14611

This issue is fixed temporarily on branch fix/12220-missing-fields

Bug verification failed

Code has been merged to master branch.


Allow changing template type by admin

Fixes #835
Currently, the template has the following types:
'BUILTIN', 'USER', 'SYSTEM', 'ROUTING', 'PERHOST'
Provide ui support for admins os that they can change
the template type

Template type can be seen in template details also

Does this depend on any backend API change?

Nevermind - I checked, it does; we may need to wait until the upstream PR is merged at all.

@blueorangutan package

@GabrielBrascher a Jenkins job has been kicked to build primate packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark:centos :heavy_check_mark:debian :heavy_check_mark:archive.
QA: http://primate-qa.cloudstack.cloud:8080/client/pr/838 (JID-3634)

It fails to open the edit popup when trying to edit a template. Tested via http://primate-qa.cloudstack.cloud:8080/client/pr/838.
Can you please check this @ravening?

It fails to open the edit popup when trying to edit a template. Tested via http://primate-qa.cloudstack.cloud:8080/client/pr/838.
Can you please check this @ravening?

@GabrielBrascher do you have the back end change as well?
I tested with having backend change and worked fine. I have attached the screenshot as well

Ah ... it got merged yesterday (https://github.com/apache/cloudstack/pull/3945), I see. I will test it later then based on the recente merged commit.

It fails to open the edit popup when trying to edit a template. Tested via http://primate-qa.cloudstack.cloud:8080/client/pr/838.
Can you please check this @ravening?

@GabrielBrascher do you have the back end change as well?
I tested with having backend change and worked fine. I have attached the screenshot as well

@GabrielBrascher on a side note, Im curious to know how to have multiple instances on primate running for each pr? is it an automated task? is there a way I can do that on my setup as well? I see that for each pr, there is an endpoint /client/pr/<pr#> . I want to know how to generate new setup like that for each pr

@ravening I have not much idea on the blueoragutan configuration. @rhtyd or @PaulAngus would be able to give some details.
My guess is that this was configured via Jenkins in order to provide the same Mocked infra (hosts, zone, networks, VMs, etc) for all PRs that are tested.

Blue Orangutan sends build requests to ShapeBlue's internal infra to do builds;  So calls to it need to come from ShapeBlue people to protect the infra (and it's easier to shout at them than community members :) ).
We can happily share the actual build process (done via Jenkins).
The medium/long term goal is to have distributed build and test environments across 'donated' central community hardware and private environments, which would be orchestrated from a central location, with some kind of deployment planner.
Internally we know this project as Winston ("I fix things"), and we're going to create it internally which we will then share as a draft blueprint to be taken forward as a community (assuming people want it),

Blue Orangutan sends build requests to ShapeBlue's internal infra to do builds; So calls to it need to come from ShapeBlue people to protect the infra (and it's easier to shout at them than community members :) ).
We can happily share the actual build process (done via Jenkins).
The medium/long term goal is to have distributed build and test environments across 'donated' central community hardware and private environments, which would be orchestrated from a central location, with some kind of deployment planner.
Internally we know this project as Winston ("I fix things"), and we're going to create it internally which we will then share as a draft blueprint to be taken forward as a community (assuming people want it),

@PaulAngus Can you please share the build process and steps so that I will try implementing the same for our internal infrastructure?

@ravening
I've checked with Rohit regarding the base VM that we use to build primate.
It can be built using any Ubuntu LTS 18.04/20.04 base docker container.
There are  build instructions are in the repo's README (_https://github.com/apache/cloudstack-primate#getting-started_)
These are wrapped up in `https://github.com/apache/cloudstack-primate/blob/master/packaging/package.sh
The overview of installation (again thanks to Rohit) is:
Install nodejs LTS
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs debhelper rpm

Install build tools
npm install -g @vue/cli webpack eslint
In a cloned Primate repo and run package.sh
cd packaging
bash -x package.sh

In the README.md - _https://github.com/apache/cloudstack-primate#packaging_

Looks like related backend PR was merged, should we consider merging this @PaulAngus @DaanHoogland @davidjumani ?
@blueorangutan package

@rhtyd a Jenkins job has been kicked to build primate packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark:centos :heavy_check_mark:debian :heavy_check_mark:archive.
QA: http://primate-qa.cloudstack.cloud:8080/client/pr/838 (JID-3687)