fix: Improve css sourcemap accuracy

When using Vite's (experimental) css.devSourcemap feature
The filenames where correct, but the line numbers didn't match.
Changing:
source: filename
into
source: filename?.split(/[/\\]/).pop()
By changing source to only contain the filename instead of the full path fixed the line number issue.
Fixes #300

This is a great finding, thanks!
The PR needs to be rebased due to conflicts

some questions

do we want to handle configuration automatically
a) set for svelte when enabled in vite config
b) set for vite when enabled in svelte config
c) warn for conflicts?

do we need to patch the output sourcemap  either using https://github.com/vitejs/vite/blob/ace6e93239c85667eaea656cfda770e3269b336f/packages/vite/src/node/plugins/css.ts#L869 directly or some similar approaches.

Rebased and changed from split().pop() to using path.basename.

Automatic Configuration
This change does not impact any configuration for this plugin.
I should mention that to activate the sourcemap feature you do need to
add to your vite.config:

css: { devSourcemap: true }

or when using sveltekit to your svelte.config:
  kit: {
    vite: {
      css: { devSourcemap: true }
    },
    ...

As you can see this a configuration option for vite, not the plugin.

patching sourcemap?
i think that step is already handled by svelte.preprocess & svelte.compile
There might be some additional work needed for the svelte-preprocess package, but that's another repo.

I've also tested some sass using the experimental:{ useVitePreprocess: true }, and the generated sourcemap looked fine.
To debug i've used https://evanw.github.io/source-map-visualization/ and pasted the results i logged in packages/vite-plugin-svelte/src/utils/compile.ts using:
compiled.css.map && console.log(`\n${filename}\n\n${compiled.css.code}\n/*# sourceMappingURL=${compiled.css.map.toUrl()} */\n\n`)

Sorry my comment above wasn't very clear.

I should mention that to activate the sourcemap feature you do need to
add to your vite.config:
css: { devSourcemap: true }

vite-plugin-svelte can set devSourcemap: true automatically in the config hook so the user doesn't have to do it. This would work for both vite+svelte and sveltekit ootb.
It could be added here: https://github.com/sveltejs/vite-plugin-svelte/blob/bdebf4e53c47546d41e2abe5f2817bcaa8707f35/packages/vite-plugin-svelte/src/utils/options.ts#L202
unfortunately there are 2 options svelte.compilerOptions.enableSourcemap.css and vite.css.devSourcemap so if either of them is false in user config, the other should be too.

I would not auto enable it just yet, i've seen this experimental feature throw javascript exceptions during build/dev.
(with an older complex sass setup)
I'd assume vite will enable the feature by default at some point.

I would not auto enable it just yet, i've seen this experimental feature throw javascript exceptions during build/dev. (with an older complex sass setup)
I'd assume vite will enable the feature by default at some point.

we can handle the config later in a separate PR, true. although i do lean on early adpoting things that improve the dev experience. and missing css sourcemaps has been a sore spot.

final step missing before merge would be a changeset pnpm changeset create a patch for vite-plugin-svelte with a small note

👍 done!

Released. Thanks!
https://github.com/sveltejs/vite-plugin-svelte/releases/tag/%40sveltejs/vite-plugin-svelte%401.0.0-next.41


Using -f is not using a local file, throwing error.

I have env-cmd installed locally on a windows 10 setup. Calling env-cmd -f .env.local returns the error:
Error: Failed to find .env file at default paths: [./.env,./.env.js,./.env.json]
I even installed the library in to my app and run it from the ./node_modules/.bin/env-cmd and got the same error.

Ah, there's a separate option for this: -r, --rc-file [path]. With all due respect, I think that's a confusing implementation. It should just always use the -f flag. I can't see any reason you would need to pass both.

@anichols-ht I agree with this and am considering just simplifying all the parameters. See this issue which is similar #372


MNT: Re-render the feedstock [ci skip]

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (2.2.2) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

@conda-forge-admin, please rerender.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Adding Composer support

Basically, I created the composer.json file and  removed the require_once  method and create the namespace directly in the  composer file.
so basically we can do:
"repositories": [
    {
      "url": "https://github.com/alex-phillips/PokePHP",
      "type": "vcs"
    }
  ],
  "require": {
    "alex-phillips/PokePHP": "dev-master"
  },

In any project which uses composer, execute:
composer update

and we can start using this package.
$mew = new \PokemonAPI\Pokemon('mew');

Also if you register this package at  https://packagist.org/  we can get rid of the "repositories"   part as well.
I will start writing tests for some classes and create some extra PRs in this week.
Regards.

This looks good, thanks! I'll go ahead and register it with packagist after I merge this in, then we can have another PR to remove the repositories section.


[fud2] improve error message for parser errors

It does what it says on the tin. The error messages for the parser won't be good, but they are better than rust panics and I think become functional enough.
One interesting thing to note is I chose to print full paths when referencing files. This is because the directory of scripts is often not where fud2 was run from and pretty unrelated to that dir.

an example of the new error:
Error: Syntax error: Expecting ';' to terminate this statement (line 6, position 1) in /var/home/jeremy/Desktop/fud2/calyx/fud2/scripts/axi.rhai


Rename node.js classroom page, and update link

https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/nodejs.html
Rename this page to "v2 Node.js instead of Node.js"
Then, instead of "We recommend using SendGrid Node.js, our client library, available on Github, with full documentation."
"We recommend using [v3](link to equivalent v3 page) SendGrid Node.js, our client library, available on Github, with full documentation."

thanks @PyroclasticMayhem!!


New commands: New-DbaDbFileGroup, Set-DbaDbFileGroup, and Remove-DbaDbFileGroup

Type of Change

[x] Bug fix (non-breaking change, fixes # )
[x] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] 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
[x] Documentation
[ ] Build system

Purpose

New commands for creating, updating, and removing filegroups.
Made a minor fix for Disable-DbaFilestream to change RunningValue to RunValue

Approach
Basic commands for filegroup create, update, remove. All feedback is welcome.
Commands to test
See the command examples and the integration tests.

Thank you, Adam! Will hopefully take a look this weekend.

Thanks @jpomfret, much appreciated. I'll look into those items.

@jpomfret, thanks again for the feedback. I've incorporated all of the suggestions:

Renamed the param for Filegroup.
Added support for multiple filegroups names to be passed in for the Set and Remove commands.
Added pipeline support for filegroup objects.
Added support to set a filegroup as read/write.
Added the option to turn off the auto grow of all files.

Apologies on the close\reopen - miss press on the app

These three related commands seem reasonable to me as one PR. I'd prefer making it more convenient for contributors when possible, and allow multi files PRs unless it doesn't make sense for an unforeseen reason 🙇

Makes sense to me @potatoqualitee - thanks.
@lancasteradam - as for the param decisions... I think I'm leaning towards the best option being to make them both switches that when used set the property, and to unset it $ReadOnly:$false ... what do you think? Feels like that fits with SSMS having checkboxes?

@jpomfret, I agree, that sounds good. I'll make those changes.

unrelated test failures


Update README.md

Fix error on composer require

Thanks you for warning me about this typo.
I had to make a new package and abandon the old one. (https://github.com/juanmiguelbesada/mjml-php/commit/481dd20ef4b6c0d46db3767bd4aa1e1042b444f9)


updated

Pull Request Type

[ ] ✨ feat
[ ] 🐛 fix
[ ] ♻ refactor
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

Relevant Issues

resolves #xxx
What is in this change?

Additional Information

Developer Validations

[ ] I ran yarn lint from the root of the repo & committed changes
[ ] Relevant documentation has been updated
[ ] I have tested my code functionality
[ ] Docker build succeeds locally

updated

opem

Closing this. If you are going to fork and customize the repo - that is absolutely allowed within our current license (MIT), but filling up our PR pipeline with irrelevant commits is not and will result in a ban from the repo. Please do not commit your forked PRs to the primary repo master when they are not in benefit of the overall project or related issues.


its just not loading

Describe your problem here.
when i try loading it says  something about lime@lime application not loading.PLEASE HELP FIX
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x86/x32
Did you edit anything in this build? If so, mention or summarize your changes.
Nope just tried loading before adding a mod

your lime.ndll is corrupted

so i think its a problem with x32 cuz i downloaded x64 today and it works

so i think its a problem with x32 cuz i downloaded x64 today and it works

pretty much


Fix the context name of "secrets"

The correct context name to use encrypted secrets is secrets instead ofsecret.

@superbrothers Thank you!

@superbrothers Thank you!


Changes of an SWC file on the library-path aren't detected automatically

Currently, changes of an swc file or a loaded module aren't detected.
To work around this issue, we can use commands like "Reload Window" or "Restart AS/MXML server" in order to detect changes.
It would be great to have an automatism which takes care of those changes!

I can confirm.
Have to Reload Window when:
1- Every time I add a new library path or class path to add SWC libraries.
2- Every time I create a new AIR project with a document class (Main.as). I get error that Main.as is not in the source path (and all my projects' document class is in '/src'. Reload Window and the error goes away.

@angelhdz Is there any chance that you could record a video/screencast of creating a new project so that I can see how you get that "Main.as is not in the source path" error? I've never encountered that one. Please open a new issue, if you're able to do that. Thanks!

@joshtynjala done and done. Thank you very much!


Update the term dependency

This change updates the term dependency and also bumps minor version
because term bumped MSRV to 1.36.
Note: this causes cfg_if to be duplicated when testing. It'll be resolved when slog-async updates.

Hey, any update on this? We're trying to take care of some cargo audit warnings and would be nice to see this merged =)
Let me know and I can try to help also.


Add binary generation for releases

This PR adds support for binary generation for different platforms during release.
It uses promu and a CircleCI job to automate this (the config has been mostly copied from Thanos). Would need some maintainer help in setting this up in CircleCI. 🙂
This addresses the discussion in #38. This project will still be installable via go install.
I've used promu here as that is what I'm familiar with and is also used by larger projects like Thanos, Prometheus, Alertmanager etc. Feel free to recommend alternatives that might be better!

I love to use GoReleaser for these cases. It's easy to use and does the job very well.

I love to use GoReleaser for these cases. It's easy to use and does the job very well.

Hm yes, I think there were also some discussion in Thanos about switching to GoReleaser, but as of now it looks like most projects in our ecosystem use promu as @saswatamcode said in description and that's probably what we have most experience with.
So I'm not opposed to using promu for this initial work and we could evaluate GoReleaser sometime in the future again. WDYT @saswatamcode @douglascamata?

Sure, I think GoReleaser might be a great alternative that we can/might need to adopt in the future (even for other projects)!.
Let's try promu for now, and see if we face difficulties! It might be good to contribute and fix things upstream too so that projects using promu in the ecosystem can benefit from it!  🙂

I prefer using GoReleaser for being accessible and simple to use. There is a small subset of Go devs out there (mostly people involved in project in the Prometheus ecosystem) that know about promu and how to use it, while there are plenty that have had some experience with GoReleaser. I noticed that promu has very little documentation that I would find, while GoReleaser has plenty.

Please don't consider my comment a blocker though. 😄

Sure! I think we kind of fall within the small subset of Go + Prometheus ecosystem, especially with Observatorium being an adjacent org to Thanos. I think there is a push within ecosystem to move to GoReleaser too e.g https://github.com/thanos-io/thanos/issues/5343. So I think it might be worth moving to GoReleaser when more mature projects do, as that way we'll have potential things to reuse like configs or even things like CircleCI orbs. 🙂


Some new ideas

Hi,
I have some new ideas about psake, and I would like hear your comments.
DerivedProperties
First commit adds DerivedProperties, that's something similar to Properties, but executed later, so it allows writing build script like this:
Properties {
$version_major = "1.0.0"
$version_build = "0"
}
DerivedProperties {
$version = "$version_major.$version_build"
}
Task default -depends ShowVersion
Task ShowVersion {
write-host "Version: $version"
}
Simplified modules loading
Next commit is about simplifying psake-config.ps1 when comes to loading modules. Now it can be written as:
Don't load anything (default):
$config.modules=$null
Load modules from .\modules folder and from file my_module.psm1:
$config.modules=(".\modules*.psm1",".\my_module.psm1")
Required helper function
Next commit adds Required helper function, that checks if all variables passed as arguments are set. I use such function in our deploy scripts, to check if all required parameters to execute some task (like 'CreateWebSiteInIIS') are set. Example:
properties {
$webSiteDir = $null
$webSitePort = $null
}
task default -depends CreateWebSiteInIIS
task CreateWebSiteInIIS {
Required webSiteDir, webSitePort
}
Marking Include function as deprecated
When I started using psake I used Include function, and I had some problems with it, because I didn't know that files added by Include will be included not at the point of Include call, but after loading whole build script. So because Include behavior is surprising, and what it does can be done just by ". somefile.ps1", I believe that it should be deprecated.

I am not sure about the DerivedProperties. You could simply reach the same if assign a function to $version. From looking at the code its not obvious what DerivedProperties means.
What about making required a parameter of task?
The rest looks good to me :-)

Sadly;) you are right, DerivedProperties is not very obvious.
I would like to make it possible to do something like in that example. Currently I have a task which sets some script scoped variables based on properties, like this $version. What do you mean by "assign a function", something like this:
$version = { $version_major + "." + $version_build }
write-host $version.Invoke()
I will make Required a parameter task.

Instead of DerivedProperties I can just use TaskSetup!

Pushed

Nice


Levi's jumpfix

First attempt:

InputSystem tweaks: Jump action is now a basic Button instead of a Value w/ special interaction

(Closed because I couldn't update the target branch to properly ignore Ayrton's commit, which was from merging)


PermissionError: [WinError 5] Access is denied: 'rpa_python.txt'

Hi @kensoh ,
I have tried to run the rpa for python script and which runs for some amount time and then i am getting the following python error in Tagui Log file
PermissionError: [WinError 5] Access is denied: 'rpa_python.txt'
Please refer the following screenshot of the python error

Hi @Leeladhar13 RPA for Python is personal side project, you can raise the issue over at https://github.com/tebelorg/RPA-Python/issues and I can look into it when I get a moment. From the screenshot, what is likely to be the cause is that the folder which you are running the automation, the user does not have the correct permissions to delete a temporary file.
Ideas to try could be checking the folder permissions, running command prompt using administrator, or change directory to that folder before running python command. Hopefully you can get the solution from trying out along theses ideas. I'll close the issue here for now!

Also added a video for this issue - https://www.youtube.com/watch?v=jivV4pKMQpk


Mocked tests: Better error handling in case port is taken (3000)

Fixes issue #1046

What if we check port Dyson runs on before actually start Dyson ?.
Something like
ifeq (false,$(call is_ports_open,3000,8420))
    @echo "  >  Ports 3000 or 8420 are unavailable "
    @exit 1
else
	@exit 1
	@echo "  >  Running $(test) tests"
	@newman run tests/postman/Blockatlas.postman_collection.json --folder $(test) -d tests/postman/$(test)_data.json --env-var "host=$(host)"
    @newman run tests/postman/Blockatlas.postman_collection.json --folder $(test) -d tests/postman/$(test)_data.json --env-var "host=$(host)"
endif

define is_ports_open
... Check if port not take
endef

/azp run

Is that really needed?  I see this error message, Dyson exits quite early, and make does not continue.  It is quite clear, isn't it?
Registering POST service at /vechain-api/logs/:entity
events.js:196
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (net.js:1308:16)
    at listenInCluster (net.js:1356:12)
    at Server.listen (net.js:1444:7)
    at Function.listen (/usr/local/lib/node_modules/dyson/node_modules/express/lib/application.js:618:24)
    at createServer (/usr/local/lib/node_modules/dyson/lib/dyson.js:40:9)
    at bootstrap (/usr/local/lib/node_modules/dyson/lib/dyson.js:26:15)
    at Object.<anonymous> (/usr/local/lib/node_modules/dyson/bin/dyson.js:41:3)
    at Module._compile (internal/modules/cjs/loader.js:1128:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
    at Module.load (internal/modules/cjs/loader.js:983:32)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1335:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 3000
}
make[1]: *** [start-mock-dyson] Error 1
make: *** [newman-mocked] Error 2

Oh, I understand the problem, @kolya182 .  To be able to check the exit code of dyson, I moved it to foreground, but this way the tester does not start.

I have added a first test to the test suite to check for dyson availability, does not continue if not available.
  1. response must be valid and have a body -- HAS MOCK STARTED?

The issue is next when testing locally

Dyson runs on very common port used be other apps: 3000
Test still runs even if port 3000 taken by another app

Possible solution:

Use less common port for testing e.g for Dyson 3347 for app 8437 to avoid running mock test and on the same port with BA default ports

Dyson port changed to 3347 (from 3000).

can you rebase master?

can you rebase master?

Merged.

CI failed, wird error.
Complains about not finding tests/postman/blockatlas.postman_collection.json, though file is/was there, not changed.
https://dev.azure.com/TrustWallet/Trust BlockAtlas/_build/results?buildId=26983&view=logs&j=bd9bc89c-f7ed-5d00-2307-97661833a2b1&t=51c2314a-9229-56e3-1c98-f426bb34c6d2&l=174

Good catch about the unintended master merge issues, put them back.

PR clean now.  Let's merge to avoid further conflicts.


20161011 add coverage

This PR:

Adds test coverage
Adds integration with https://coveralls.io
Adds coverage badge to README.md

@SimplyAhmazing

Changes Unknown when pulling a069dc9de5e569834b3460173f01caa4f3f6dab1 on 20161011-add-coverage into ** on master**.


Error: EISDIR: illegal operation on a directory, read

"Error: EISDIR: illegal operation on a directory, read" is showing on the vercel logs when trying it on a fresh laravel installation, it happens both with the vercel cli, and with git commit

I have the same problem.


(PUP-7042) Mark strings in provider

This commit marks user-facing error and info strings in
lib/puppet/provider.rb and lib/puppet/provider/* for translation.

CLA signed by all contributors.

Closing and reopening to fix Travis.

Closing and reopening to fix CI.

Updated.


Fix LoadError on some non-rvm environments

Fixes sass/sassc-ruby#146. See also opal/c_lexer#1 for some discussion on the issue.

This is strange. The guide at https://guides.rubygems.org/gems-with-extensions/ explicitly states:

When the extension is built the files in ext/my_malloc/lib/ will be installed into the lib/ directory for you.

If this isn't happening it seems to be a bug in these ruby installations.


Scalar markets: processing tag showing on multiple outcomes

Added stake to 10 degrees and it showed the processing states on both 10 degrees and 'dispute current tentative winner with new value'

Also seeing similar behavior on processing/confirmed tags in the notification section

fixed - closing


Various undefined shader problems

using windows 10, i7 6700k ,16gb , nvidia 960m
the problem iam facing is like pixelization of dark textures, reloading of textures, unfamilir roughness and metalness! light problems. roughness at full become white emitting shader! 3 relection shadow. Thanks in advance!

thanks in advance!

this was fixed a while ago


Import translated strings from yii languages files

For example I'm using yii2-user as my module for users profile, that module have already a messages folder with multiple translated files there are any way to import that translations?
Other example is if we move from regular file translations to db translations I think that we should have an option to import that translations.
Did this module have that options?

The module can import js and xml files, but no php message files.
You can configure the i18n component of Yii to use the yii2-user message files, for example:
'i18n' => [
    'translations' => [
        '*' => [
            'class' => 'yii\i18n\DbMessageSource',
            'db' => 'db',
            'sourceLanguage' => 'en-US',
            'sourceMessageTable' => '{{%language_source}}',
            'messageTable' => '{{%language_translate}}',
        ],
        'user' => [
            'class' => 'yii\i18n\PhpMessageSource',
            'sourceLanguage' => 'en-US',
            'basePath' => '@vendor/dektrium/yii2-user/messages',
        ],
    ],
],

This is a old issue but I'm facing it again, there are any way to import translations from default translations files.
For example yii framework is already translated in multiple languages, but if we change it to be handle by yii2-translate-manager and not directly from the translated file there are no option to import the translation to the DB.
Any trick to do it?

I built for myself this migration that moves messages from php files to yii2-translate db. Obviusly may need some tweaks to work in your system.


update multidataset zipformer results

See https://github.com/k2-fsa/icefall/pull/675 for more details.

Thanks!


Is project dead ?

latest release is

Do you think there will be new release for this project ?
Thanks

look hier https://github.com/DockStation/dockstation/issues/274

I don't know, maybe it's some good news, but I finished my second project, which I had to develop parallel. It means that I can spend more time on DockStation than before.

I don't know, maybe it's some good news, but I finished my second project, which I had to develop parallel. It means that I can spend more time on DockStation than before.

first thing, please excuse me, dark mode, and some bigger font. unreadable using non-retina. if there would be sourcecode, we could fork and PR that for you.
great tool mate!

also searching through-out the logs could be a bit better :) plus possibility to clear log window before you mess with the application again. Thanks :)

I switched to https://github.com/portainer/portainer

@DockStation why are you deleting comments recommending other software? That is highly questionable!

@zocker-160 Everything that isn't related to the issue will be deleted.

how is it not related to this issue?

The project appears no longer active and I needed something that worked on an older raspberry pi so I used an open source alternative

@igor-lemon  We are now in april 2022, still no new release, it is understandable projects take time. Isn't it time for the project to go opensource instead or letting it dying like this. This is a useful tool it's really sad to see it dying like that.
@zyphlar which open source alternative did you choose ?

Fork it
On Wed, Apr 6, 2022, 4:19 PM Jonathan Gotti @.***>
wrote:

@igor-lemon https://github.com/igor-lemon We are now in april 2022,
still no new release, it is understandable projects take time. Isn't it
time for the project to go opensource instead or letting it dying like
this. This is a useful tool it's really sad to see it dying like that.
@zyphlar https://github.com/zyphlar which open source alternative did
you choose ?
—
Reply to this email directly, view it on GitHub
https://github.com/DockStation/dockstation/issues/280#issuecomment-1089980917,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC6MWVMABE22MQLNYWGTEODVDVCJ7ANCNFSM44KLKTYA
.
You are receiving this because you commented.Message ID:
@.***>

Fork it

not sure how forking is going to work out on a closed source project :smile:

which open source alternative did you choose ?

@malko he won't be allowed to tell you because otherwise your comment will be deleted, just like mine was (where I was listing a few very good open source alternatives)

@malko
I'll release at least 1 feature release, maybe 2, not more.
Unfortunately, the app wasn't released for a variety of reasons that hit me and my productivity (if you are interested, just google what is happening in Belarus from 2020 to today + I worked on another project which was released a few months ago).
The source code will not be published for many reasons, if it's important for you I would use some other solution.
At the moment, the application needs to be completely reworked, because many concepts are inconvenient for devs and QAs to work with. The app is not fast as I want, and has not perfect architecture and approaches inside. I'll definitely remake the application for my needs like it was when my friend and I made the DockStation. But I don't know how it will be released yet. It can be a free and open-source app if some companies will support me. If not it will be a commercial application because I have no desire to spend my time and own money in order to receive only reproaches and hate in return.
I think that I will make a post about it later. I hope this year will be productive.
About alternatives, the post is old but some projects are actual
https://medium.com/@dockstation/a-brief-comparison-of-gui-docker-tools-46bd6a24ae31
Also, you can use the official Docker Dashboard app.
@zocker-160 OMG, I just asked you don't spam in this issue.

@igor-lemon Wasn't my intention to blame you in any way, and I totally understand your point. Just hoping that opensourcing the project will free you from maintaining it, and let other folks to take over and maintain it. My company is too small to support you but I really hope you find a sponsor if this is what you want. Any way thanks for your quick reply and your clear statement on the project status.

Hi @igor-lemon
DockStation was my favourite tool when I was on Windows back then. I am now on Mac/Intel so if you want I can test it. Thanks!

@igor-lemon no need to get it faster but if you need test under Ubuntu i can help.

Awesome! Ok, I'll try to build and publish an RC version today.

Hi @malko @docertabum, a bit delayed because I spent a lot of time with macOS app sign + notarization
So, you can get RC version here.
https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.0
The milestone
https://github.com/DockStation/dockstation/milestone/5
But some issues I skipped, a changelog I'll publish a bit later.
Let's chat about bugs here:
https://github.com/DockStation/dockstation/discussions/310

Up:
https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.1

Up:
https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.2
Hi @malko, @docertabum, do you have any news?

Not to hate or anything, but remember this project is as closed source as can be and the author is from Belarus.
Maybe it's not a good idea to run this stuff, considering the current situation in Ukraine.
Also, how convenient, there hasn't been an update for 3 years until now.

@0xdeada55 OMG, facepalm
If you want to discuss about it I'm ready to do it, but not here.
I ask you don't spam.

My message wasn't spam, in fact, it's my first message under DockStation.
It is a genuine concern, I'm not saying your software is bad or has malware, I'm just saying that it's not a good idea to run it considering it's closed source and the current situation.
The fact that you were so quick to respond like this makes me worry even more...

The last warning, don't spam!
If you want to discuss political situation or something else I'm ready, but not here, because here I want to discuss just Dock Station, nothing else. Thanks.

Ok.
Has your stance on the project's open source status changed? Will you open source it? Is there still a reason for not open sourcing it?

@0xdeada55
https://github.com/DockStation/dockstation/discussions/311
If you have some questions, ask in the discussions not here

Up: https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.2
Hi @malko, @docertabum, do you have any news?

Up: https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.2
Hi @malko, @docertabum, do you have any news?

Hi @igor-lemon ,
so far so good. I didnt have much time during the weekend to play with it, but at least for me entering CLI(exec) on a container doesn't work. This is what I see every time:

Wish list:

invoking search in logs (command+f) button
when searching through logs I would prefer string highlighting instead of log filtering :)

@igor-lemon when launching the v1.6.0-rc.2 appImage, it says my "Doker compose file invalid. .FileNotFoundError: [Errno 2] No such file or directory './docker-compose.yml'" for each already defined projects. Launching old 1.5.1 version work ok.

@docertabum Do you use macOS ? You need to approve Terminal in "Security and Privacy"

For open a new tab in Terminal I use osascript.
So, Ok, I'll look how to make access request.

invoking search in logs (command+f) button

when searching through logs I would prefer string highlighting instead of log filtering
I agree, it's relevant case. Need to think how to implement it in UI

@malko

No such file or directory './docker-compose.yml'"

Got it, I'll re-check it. I slightly changed the approach to compose files path there, apparently I lost backward compatibility.
Thanks!

RC.3 is ready
https://github.com/igor-lemon/pre-releases/releases/tag/v1.6.0-rc.3

Hi guys! Have you caught any bugs yet?

So far it looks good. As soon as I find any bugs I will report it here.

@D3XX3R ok, thanks.
So, on macOS looks like works ok.


Cannot send KeywordManager events to dynamically credated prefab instances

The problem is that KeywordManager allows sending keyword-triggered events only to static objects that are already in the scene. Sending events to dynamically instantiated prefabs requires additional custom code, so the proposal is for HoloToolkit to provide this functionality out of the box.

I believe this was merged. Closing.


No way for students to know which assignments havent been signed off.

Fixed a while ago with a student UI update


frame: Enable GenesisConfig in no_std

This change enables GenesisConfig compilation in no_std environment.
It also enables Default derivation or implementation for GenesisConfig which will be required for no_std in no-native
runtime world. It must be possible to instantiate default GenesisConfig
for pallets and runtime.
Step towards: #13334

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2807906

bot format

bot fmt

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2808154

@michalkucharczyk please change the title and add some more description to the pr. This can break downstream code as GenesisConfig starts to compile for no_std now, which wasn't the case before. So, please mention this :)

@michalkucharczyk please change the title and add some more description to the pr. This can break downstream code as GenesisConfig starts to compile for no_std now, which wasn't the case before. So, please mention this :)

Initially it was only about Default (facepalm).
Done.

Do we expect to put the conditional compilation of the genesis builders into the WASM binary in construct_runtime? Or should every pallet also contain a feature gate for WASM genesis?

The current plan is to not add any feature (or conditional compilation) for genesis config in pallets.
Support for GenesisConfig building in runtime (the new runtime API will be introduced for that) will be guarded with new feature. We expect linker to do the job and strip unnecessary GenesisConfig related staff if the feature is not enabled.

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2814036

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2814037

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2814597

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2814699

bot rebase

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/genesisconfig-in-wasm-runtime-a-step-towards-a-non-native-future/2887/1

bot rebase

bot merge


CssRewriteUrlTransformFixed strips out quotes in url

I had some issues with embedded graphics in a background image.  Here is the CSS:
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='1'><rect fill='#c8c7cc' x='0' y='0' width='100%' height='0.5'/></svg>");

As you know, the ASP.NET bundling system wants to make the "data" part a relative URL and the image breaks.  I installed your Nuget and, while it corrects that behavior, it also seems to strip the containing quotes inside the "url" value and the image can't be rendered.
According to Chrome's inspector, the CSS looks like this:
background-image: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='1'><rect fill='#c8c7cc' x='0' y='0' width='100%' height='0.5'/></svg>);

I think it must be something in your regex match/replace.
Thanks,
Matthew

Hi @mrbelk, If you disable minification, by setting  in your web.config, do the surrounding quotes remain? Just wondering if it's the minifier which could be getting rid of quotes thinking they aren't required, because usually they aren't.

Well, it doesn’t do it when I am debugging; let me try setting that property on the BundleTable class in global.asax.cs on my “release” test site.
Thanks,
Matthew

Matthew Belk
ph.<PHONE_NUMBER>
From: Ben McCallum
Reply-To: benmccallum/AspNetBundling
Date: Monday, July 27, 2015 at 9:40 AM
To: benmccallum/AspNetBundling
Cc: Matthew Belk
Subject: Re: [AspNetBundling] CssRewriteUrlTransformFixed strips out quotes in url (#8)
Hi @mrbelkhttps://github.com/mrbelk, If you disable minification, by setting in your web.config, do the surrounding quotes remain? Just wondering if it's the minifier which could be getting rid of quotes thinking they aren't required, because usually they aren't.
—
Reply to this email directly or view it on GitHubhttps://github.com/benmccallum/AspNetBundling/issues/8#issuecomment-125207275.

well, that's awesome.  When I set
BundleTable.EnableOptimizations = true;

in global.asax.cs, everything works right.  clearly this is non-optimal, though.

It's okay, I just need to adjust the regex like you mentioned. Working on a fix now.

awesome. thanks. will you update the nuget package fairly quickly?

Give it a quick second but it's up now, v2.0.2:
https://www.nuget.org/packages/AspNetBundling/2.0.2
Cheers for logging the bug! Another reason to use my package as that regex was straight out of the original library.

awesome.  thanks for such a quick turnaround on this.

No worries. You caught me just before I went to bed. 12:15am here now in Aus haha. All the best.

perfect timing, then. nighty night.


How to pass Lua Closures into C++ Functions in Sol3 ?

This is inside a new_usertype
		"SetDrawCallback",
		[](Jkr::WindowMulT& inWindow, sol::function& inFunction) {
			inWindow.SetDrawCallBack([&inFunction](void*) { inFunction(); });
		},

but it isn't working. I also tried setting sol::function instead of sol::function&, it compiled but gave runtime error in lua_gettop() function.

Yup. " I also tried setting sol::function instead of sol::function&," I said.

I also tried setting sol::function instead of sol::function&,

This means that you have a temporary argument sol::function inFunction and then you capture that temporary argument by reference in the next lambda (inWindow.SetDrawCallBack).

Ah man, thank You.


Property source

apart from local and git property sources is it possible to use Redis as a property source?
i think with the archaius we can define the custom configuration manager so that it can read from Redis, i saw somewhere in the spring cloud documentation that it is not recommended to use.
Any suggestions would be appreciated.

You can use whatever source for properties you like. Documentation is here: http://projects.spring.io/spring-cloud/spring-cloud.html#customizing-bootstrap-property-sources (source code here if you want to improve it).


Move plugins to independent modules

Plugins need to:

Have own imports
Have own styles
Be more independent

Create independent node modules, hosted on github, e.g. HSR.Metristic.Plugin.Web containing multiple check plugins.
http://stackoverflow.com/questions/8243527/use-git-dependencies-with-npm-and-node-on-heroku
Plugins may specify report styles -> main template should include styles of loaded plugins.

Seems not to be possible to move to independent modules.

The plugins needs the interfaces of Metristic
Typescript and Sass compilation will be very tricky (typescript needed for compilation but code for runtime is deployed to different directory)

Typescript 1.6 should resolve this problem<EMAIL_ADDRESS>


Walk over nested references

We can't currently walk a data structure with contains pointer-pointers, e.g.
type T struct {
    N **int
}

While we can walk the more obscure pointer-to-interface, that will fail if the interface itself has a pointer, e.g. *error(assuming the error value has a pointer receiver).
While very uncommon, it would be good if reflectwalk could traverse any combination of nested data structures without a panic.

After a few attempts, I have a feeling that this isn't going to be doable in a general manner without a change to the API.
Because pointers (and in a sense interfaces too) are "walked" implicitly, only providing a flag that the value we see came from a pointer, there's no way to have a consumer of the package know that we've dereferenced multiple levels.

This should be possible in one of two ways:

Call PointerEnter multiple times (one for each level), which seems to make sense to me.

A new interface that has an API similar to PointerEnter but with an int arg of the number of levels.

Yeah, I have a version of #1 that works for reflectwalk, but that breaks the previous assumptions of 1 possible pointer per level (which copystructure uses).
Maybe it's not too big a deal, since any value that breaks reflectwalk consumers with this change would have just previously panicked in reflectwalk instead.

Yeah I'd rather fix that assumption in copystructure since it makes sense here.

This was fixed via #13 and #15


Automatic Conversion of Integer/Fraction for MaxPrice in dftx_pool.ts

What kind of PR is this?:
/kind fix
What this PR does / why we need it:
Automatic Conversion of Integer/Fraction for MaxPrice in dftx_pool.ts
Which issue(s) does this PR fixes?:
Fixes #439

Oh no, you updated the wrong PR causing this to merge to the wrong base. Can you reopen this branch to target main?

Sure


wish: GNU M4

https://www.gnu.org/software/m4/

GNU M4 is an implementation of the traditional Unix macro processor.

There is already openbsd-m4 which is reasonably-compatible with GNU m4.

To clarify, there are no immediate plans to package GNU flex (due to difficulties), but we would like to eventually, if we can.


[Vue warn]: Property or method "length" is not defined on the instance but referenced during render

 [Vue warn]: Property or method "length" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the propert
y. See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

    found in

    ---> <VSnackbars>

This issue happens only after upgrading vue from 2.7.4 to 2.7.5+ so this might be a vue issue, will investigate

I cannot find any change from 2.7.4 to 2.7.5 that would explain this, looking at the source I see this len that is not accessed anywhere and changing it to length fixes the issue, so it does mean that something somewhere is trying to access length but I can't find it, the code is overly complex

After removing the watchers from the code the issue disappears, so obviously the commit would be https://github.com/vuejs/vue/commit/98fb01c79c41c3b9f9134f0abb77d233ce4e5b44
As after removing everything else, the issue is still there

I may have just discovered the most complex bug ever, it happens with vuex, vuex-orm, vue 2.7.5 only when mounting the same component twice
This is only happening in my test suite so I followed the rabbit hole for 3h and I'm still working on a minimal repro which I still can't get but I can get the bug super reliably and I've just been removing code after code and it's just still there

Oh OK… Then I'm not sure I can do anything, as it seems a Vue bug and not a v-snackbars bug :-)


Unsupported URL error

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.04.25. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.04.25

Before submitting an issue make sure you have:

[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[ x] Searched the bugtracker for similar issues including closed ones
[ x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl -v https://video.kqed.org/video/the-secret-of-tuxedo-park-zfeomc/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://video.kqed.org/video/the-secret-of-tuxedo-park-zfeomc/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.04.25
[debug] Python version 2.7.13 (CPython) - Linux-4.11.12-100.fc24.x86_64-x86_64-with-fedora-24-Twenty_Four
[debug] exe versions: ffmpeg 3.1.9, ffprobe 3.1.9
[debug] Proxy map: {}
[generic] the-secret-of-tuxedo-park-zfeomc: Requesting header
WARNING: Falling back on generic information extractor.
[generic] the-secret-of-tuxedo-park-zfeomc: Downloading webpage
[generic] the-secret-of-tuxedo-park-zfeomc: Extracting information
ERROR: Unsupported URL: https://video.kqed.org/video/the-secret-of-tuxedo-park-zfeomc/
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 2232, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2542, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2531, in _XML
    parser.feed(text)
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1653, in feed
    self._raiseerror(v)
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1517, in _raiseerror
    raise err
ParseError: syntax error: line 1, column 0
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 789, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 440, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 3182, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: https://video.kqed.org/video/the-secret-of-tuxedo-park-zfeomc/

Description of your issue, suggested solution and other information
Can not download free videos  from pbs - kqed website.

this might be fixed by #16474.

No, it is not :(
Updated the version to:
[debug] youtube-dl version 2018.05.18
Still the same error

if you change the hostname to www.pbs.org it works: youtube-dl -v 'http://www.pbs.org/video/the-secret-of-tuxedo-park-zfeomc/'
i'm not sure it's practical to add all the pbs affiliates' hostnames into youtube-dl.

Makes sense. Though, there are video content that is posted on the affiliate's site only (local content). How can I update youtube-dl by myself? Is there a "database" file of hostnames?

Nope, no database of hostnames or anything in that regard..
But what about changing the URL of the item that is only on the affiliate site? Maybe this still does work..

Tx for the idea. It's working.


Add offline perf ci

add a benchmark_offline mode for cli
add ability to use random weights

Is this PR ready to review?

Is this PR ready to review?

@FanhaiLu1 Now it's ready. The goal is for it to automatically generate the offline benchmark


Dependency manager following symlink

I want to use Rubaxa/Sortable js. After I set up the asset files for this I get the following circular error message from PHP by running my app.
PHP Warning – yii\base\ErrorException

copy(/home/me/public_html/app/vendor/bower/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/meteor/example/packages/Sortable/component.json): failed to open stream: No such file or directory

After investigation, what happened was vendor/Sortable/meteor/example/packages/Sortable is a symlink to ../../..// as shown below.
me@acer ~/p/a/v/b/S/m/e/packages> pwd
/home/me/public_html/app/vendor/bower/Sortable/meteor/example/packages

me@acer ~/p/a/v/b/S/m/e/packages> ls -l
total 0
lrwxrwxrwx 1 me me 9 May  6 15:58 Sortable -> ../../..//

After removing the meteor directory everything is fine. The weird thing is I did not reference anything in the meteor directory in my app/assets/SortableAsset.php file.

how does this related to Yii?

Why is Yii copying something that is not being referenced in any asset bundle (the meteor directory in this case)?
Is there a way for the Asset Manager to check for symbolic link? Or circular link?

can you show the code of SortableAsset.php ?

app/assets/SortableAsset.php:
<?php

namespace app\assets;

use yii\web\AssetBundle;

class SortableAsset extends AssetBundle
{
    public $sourcePath = '@bower/Sortable/';
    public $css = [];
    public $js = ['Sortable.min.js'];
    public $depends = [];
}

By default AssetManager publishes every file that is under the sourcePath because they may be referenced from the css or JS files using relative paths.
You can exclude paths from publishing if you add a beforeCopy callback to $publishOptions property of the AssetBundle to filter files.


I want to contribute and implement http_auth but need guidance on best practice/syntax

While we can inherit from our own BaseController to implement authentication, i wanted to provide an easy http_auth way.
i thought about the following syntax:
mount MissionControl::Jobs::Engine, at: "/jobs", http_auth: { user: "test", password: "123456" }

i would like to skip it if .test? or .development? so that means .production? or any other environment would have it active.
additionally i would like to http_auth if ENV["MISSION_CONTROL_JOBS_USER"] && ENV["MISSION_CONTROL_JOBS_PASSWORD"] is set, regardless of environment.
So either you set it via ENV and it's active, or you can set it via http_auth option while mounting.
I'm just exploring if that syntax make sense and the PR would get merged? Otherwise i don't need to spend time on that ;-)
// edit: i realized that options provided are actually for mount and won't be forwarded to the engine.
i'll just do ENV and config support

@krtschmr basic auth support was added in https://github.com/rails/mission_control-jobs/pull/214

@morgoth yes! I cherry-picked one of @krtschmr's commits for that and he reviewed my PR 😊  I had forgotten to close this one, closing now!

good stuff. happy open source development nowadays!


Probe using 70% CPU

@2opremio reports the probe is using 70% CPU on the service hosts.

I restarted the probes with profiling (--probe.http.listen :4041)  and curled http://localhost:4041/debug/pprof/profile from one of the probes: http://filebin.ca/2TJeW7veYKFA/profile.gz

At a cursory analysis, the probes are spending:

30% of the CPU reading the /proc//net/tcp files
maybe <10% of cpu is spent on GC (<3 of 30s) according to that trace
10% on copying in the report structure

I suspect fixing the copying will also fix the GC, but I can’t think of anything we can do to ‘fix’ the proc cpu usage, as this has already been heavily optimised (we only read the tcp files for net namespaces we haven't seen before).
I guess we can decrease the polling frequency / proc spy interval, and maybe even come up with some rate limiting scheme (ie only read 10/s, which would get us ~constant cpu usage, and at larger scales would means the UI updates less frequently).

@2opremio tried that suggestion (./scope -probe.spy.interval=3s) and confirmed CPU dropped to 20%, as expected.

As suggested by @tomwilkie , decreasing the frequency to

The situation improves considerably after #898 . Now the probes (2ed3968) are using 30-40% CPU with peaks of 50%
Here go two probe profiles I have obtained:
pprof.localhost_4041.samples.cpu.001.pb.gz

pprof.localhost_4041.samples.cpu.002.pb.gz

The probes are spending a long time encoding reports. A non-negligible amount of time (10% in one of the profiles) is spent sending gob types, which can be brought to 0 through any of the proposed solutions from https://github.com/weaveworks/scope/issues/854#issuecomment-179560048

Although the Reads are not the bottleneck anymore thanks to #898, the stat()s of /proc/*/fd/* are consuming a non negligible amount of time (10% and 35% in the reports above). So we should maybe reconsider  #814, which I should had tested with more open files: sudo bash -c "echo /proc/*/fd/* | wc -w" prints numbers up to ~20K in the service machines, whereas my own machine only has 1K.

Kubernetes support (which is enabled in the probes) takes around 10% of the time in the second profile (I think this is the cause of the 10% CPU peaks), almost exclusively matching pods:

$ go tool pprof  ~/home-vagrant/scope-tested pprof.localhost_4041.samples.cpu.002.pb.gz
Entering interactive mode (type "help" for commands)
(pprof) list podTopology.func1
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/probe/kubernetes.(*Reporter).podTopology.func1 in /go/src/github.com/weaveworks/scope/probe/kubernetes/reporter.go
      10ms      1.16s (flat, cum)  9.85% of Total
         .          .     51:}
         .          .     52:
         .          .     53:func (r *Reporter) podTopology(services []Service) (report.Topology, report.Topology, error) {
         .          .     54:   pods, containers := report.MakeTopology(), report.MakeTopology()
         .          .     55:   err := r.client.WalkPods(func(p Pod) error {
      10ms       10ms     56:           for _, service := range services {
         .      1.10s     57:                   if service.Selector().Matches(p.Labels()) {
         .          .     58:                           p.AddServiceID(service.ID())
         .          .     59:                   }
         .          .     60:           }
         .          .     61:           nodeID := report.MakePodNodeID(p.Namespace(), p.Name())
         .       40ms     62:           pods = pods.AddNode(nodeID, p.GetNode())
         .          .     63:
         .          .     64:           container := report.MakeNodeWith(map[string]string{
         .          .     65:                   PodID:     p.ID(),
         .          .     66:                   Namespace: p.Namespace(),
         .       10ms     67:           }).WithParents(report.EmptySets.Add(report.Pod, report.MakeStringSet(nodeID)))
         .          .     68:           for _, containerID := range p.ContainerIDs() {
         .          .     69:                   containers.AddNode(report.MakeContainerNodeID(containerID), container)
         .          .     70:           }
         .          .     71:           return nil
         .          .     72:   })
(pprof) list Selector
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/probe/kubernetes.(*service).Selector in /go/src/github.com/weaveworks/scope/probe/kubernetes/service.go
         0      1.04s (flat, cum)  8.83% of Total
         .          .     47:
         .          .     48:func (s *service) Selector() labels.Selector {
         .          .     49:   if s.Spec.Selector == nil {
         .          .     50:           return labels.Nothing()
         .          .     51:   }
         .      1.04s     52:   return labels.SelectorFromSet(labels.Set(s.Spec.Selector))
         .          .     53:}
         .          .     54:
         .          .     55:func (s *service) GetNode() report.Node {
         .          .     56:   return report.MakeNodeWith(map[string]string{
         .          .     57:           ServiceID:      s.ID(),

@paulbellamy Any ideas on how improve this? SelectroFromSet seems to be prohibitively expensive, mostly due to the regular expression matching (maybe we should fix that):
(pprof) list SelectorFromSet
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels.SelectorFromSet in /go/src/github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels/selector.go
      30ms      1.04s (flat, cum)  8.83% of Total
         .          .    719:func SelectorFromSet(ls Set) Selector {
         .          .    720:   if ls == nil {
         .          .    721:           return LabelSelector{}
         .          .    722:   }
         .          .    723:   var requirements []Requirement
      20ms       30ms    724:   for label, value := range ls {
         .      890ms    725:           if r, err := NewRequirement(label, EqualsOperator, sets.NewString(value)); err != nil {
         .          .    726:                   //TODO: double check errors when input comes from serialization?
         .          .    727:                   return LabelSelector{}
         .          .    728:           } else {
      10ms       80ms    729:                   requirements = append(requirements, *r)
         .          .    730:           }
         .          .    731:   }
         .       40ms    732:   return LabelSelector(requirements)
         .          .    733:}
(pprof) list NewRequirement
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels.NewRequirement in /go/src/github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels/selector.go
      20ms      660ms (flat, cum)  5.60% of Total
         .          .    105:// (5) The key is invalid due to its length, or sequence
         .          .    106://     of characters. See validateLabelKey for more details.
         .          .    107://
         .          .    108:// The empty string is a valid value in the input values set.
         .          .    109:func NewRequirement(key string, op Operator, vals sets.String) (*Requirement, error) {
      10ms      260ms    110:   if err := validateLabelKey(key); err != nil {
         .          .    111:           return nil, err
         .          .    112:   }
         .          .    113:   switch op {
         .          .    114:   case InOperator, NotInOperator:
         .          .    115:           if len(vals) == 0 {
         .          .    116:                   return nil, fmt.Errorf("for 'in', 'notin' operators, values set can't be empty")
         .          .    117:           }
      10ms       10ms    118:   case EqualsOperator, DoubleEqualsOperator, NotEqualsOperator:
         .          .    119:           if len(vals) != 1 {
         .          .    120:                   return nil, fmt.Errorf("exact-match compatibility requires one single value")
         .          .    121:           }
         .       10ms    122:   case ExistsOperator, DoesNotExistOperator:
         .          .    123:           if len(vals) != 0 {
         .          .    124:                   return nil, fmt.Errorf("values set must be empty for exists and does not exist")
         .          .    125:           }
         .          .    126:   default:
         .          .    127:           return nil, fmt.Errorf("operator '%v' is not recognized", op)
         .          .    128:   }
         .          .    129:
         .       20ms    130:   for v := range vals {
         .      320ms    131:           if err := validateLabelValue(v); err != nil {
         .          .    132:                   return nil, err
         .          .    133:           }
         .          .    134:   }
         .       40ms    135:   return &Requirement{key: key, operator: op, strValues: vals}, nil
         .          .    136:}
         .          .    137:
         .          .    138:// Matches returns true if the Requirement matches the input Labels.
         .          .    139:// There is a match in the following cases:
         .          .    140:// (1) The operator is Exists and Labels has the Requirement's key.
(pprof)

We made the gob encoding once-per-report a while back (it used to be
onces-per-report-per-app).  That was a significant improvement.  If we want
to do gob-over-websocket, we'll have to go back to a separate encoder per
app (as different app connections will have different lifecycles), which I
worry will be more of a regression in CPU usage.
How many probes are there?  How many apps?  I suspect we might just be
hitting the O(n*m) nature of this architecture.  Going for 2 apps and N
probes should be an improvement?
Other things you highlight also look good:

rate limit reading of FDs, although due to the race with
/proc/PID/net/tcp this will have to look like a periodic reading of
namespaces, with some dynamic-feedback based on the number of fds in a
namespace, which might be complicated
kubernetes optimisations

Thanks for working on this fons!
On Thu, Feb 4, 2016 at 3:33 AM, Alfonso Acosta<EMAIL_ADDRESS>wrote:

The situation improves considerably after #898
https://github.com/weaveworks/scope/pull/898 . Now the probes (2ed3968
https://github.com/weaveworks/scope/commit/2ed39682ab05cd00b6c2d8d6127809ad7b77907c)
are using 30-40% CPU with peaks of 50%
Here go two probe profiles I have obtained:
pprof.localhost_4041.samples.cpu.001.pb.gz
https://github.com/weaveworks/scope/files/116782/pprof.localhost_4041.samples.cpu.001.pb.gz
[image: probe]
https://cloud.githubusercontent.com/assets/2362916/12804092/bb9a7dce-cae7-11e5-8fea-71b404fc9cef.png
pprof.localhost_4041.samples.cpu.002.pb.gz
https://github.com/weaveworks/scope/files/116783/pprof.localhost_4041.samples.cpu.002.pb.gz
[image: probe2]
https://cloud.githubusercontent.com/assets/2362916/12804098/c8a95a26-cae7-11e5-9f69-d2a54a57ef7e.png

The probes are spending a long time encoding reports. A non-negligible
amount of time (10% in one of the profiles) is spent sending gob types,
which can be brought to 0 through any of the proposed solutions from #854
(comment)
https://github.com/weaveworks/scope/issues/854#issuecomment-179560048
Although the Reads are not the bottleneck anymore thanks to #898
https://github.com/weaveworks/scope/pull/898, the stat()s of
/proc//fd/ are consuming a non negligible amount of time (10% and
35% in the reports above). So we should maybe reconsider #814
https://github.com/weaveworks/scope/pull/814, which I should had
tested with more open files: sudo bash -c "echo /proc//fd/ | wc -w"
prints numbers up to ~20K in the service machines, whereas my own machine
only has 1K.
Kubernetes support (which is enabled in the probes) takes around 10%
of the time in the second profile (I think this is the cause of the 10% CPU
peaks), almost exclusively matching pods:
$ go tool pprof  ~/home-vagrant/scope-tested pprof.localhost_4041.samples.cpu.002.pb.gz
Entering interactive mode (type "help" for commands)
(pprof) list podTopology.func1
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/probe/kubernetes.(*Reporter).podTopology.func1 in /go/src/github.com/weaveworks/scope/probe/kubernetes/reporter.go
10ms      1.16s (flat, cum)  9.85% of Total
.          .     51:}
.          .     52:
.          .     53:func (r *Reporter) podTopology(services []Service) (report.Topology, report.Topology, error) {
.          .     54:   pods, containers := report.MakeTopology(), report.MakeTopology()
.          .     55:   err := r.client.WalkPods(func(p Pod) error {
10ms       10ms     56:           for _, service := range services {
.      1.10s     57:                   if service.Selector().Matches(p.Labels()) {
.          .     58:                           p.AddServiceID(service.ID())
.          .     59:                   }
.          .     60:           }
.          .     61:           nodeID := report.MakePodNodeID(p.Namespace(), p.Name())
.       40ms     62:           pods = pods.AddNode(nodeID, p.GetNode())
.          .     63:
.          .     64:           container := report.MakeNodeWith(map[string]string{
.          .     65:                   PodID:     p.ID(),
.          .     66:                   Namespace: p.Namespace(),
.       10ms     67:           }).WithParents(report.EmptySets.Add(report.Pod, report.MakeStringSet(nodeID)))
.          .     68:           for _, containerID := range p.ContainerIDs() {
.          .     69:                   containers.AddNode(report.MakeContainerNodeID(containerID), container)
.          .     70:           }
.          .     71:           return nil
.          .     72:   })
(pprof) list Selector
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/probe/kubernetes.(*service).Selector in /go/src/github.com/weaveworks/scope/probe/kubernetes/service.go
0      1.04s (flat, cum)  8.83% of Total
.          .     47:
.          .     48:func (s *service) Selector() labels.Selector {
.          .     49:   if s.Spec.Selector == nil {
.          .     50:           return labels.Nothing()
.          .     51:   }
.      1.04s     52:   return labels.SelectorFromSet(labels.Set(s.Spec.Selector))
.          .     53:}
.          .     54:
.          .     55:func (s *service) GetNode() report.Node {
.          .     56:   return report.MakeNodeWith(map[string]string{
.          .     57:           ServiceID:      s.ID(),
@paulbellamy https://github.com/paulbellamy Any ideas on how improve
this? SelectroFromSet
https://github.com/kubernetes/kubernetes/blob/master/pkg/labels/selector.go#L774
seems to be prohibitively expensive, mostly due to the regular expression
matching (maybe we should fix that):
(pprof) list SelectorFromSet
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels.SelectorFromSet in /go/src/github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels/selector.go
30ms      1.04s (flat, cum)  8.83% of Total
.          .    719:func SelectorFromSet(ls Set) Selector {
.          .    720:   if ls == nil {
.          .    721:           return LabelSelector{}
.          .    722:   }
.          .    723:   var requirements []Requirement
20ms       30ms    724:   for label, value := range ls {
.      890ms    725:           if r, err := NewRequirement(label, EqualsOperator, sets.NewString(value)); err != nil {
.          .    726:                   //TODO: double check errors when input comes from serialization?
.          .    727:                   return LabelSelector{}
.          .    728:           } else {
10ms       80ms    729:                   requirements = append(requirements, *r)
.          .    730:           }
.          .    731:   }
.       40ms    732:   return LabelSelector(requirements)
.          .    733:}
(pprof) list NewRequirement
Total: 11.78s
ROUTINE ======================== github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels.NewRequirement in /go/src/github.com/weaveworks/scope/vendor/k8s.io/kubernetes/pkg/labels/selector.go
20ms      660ms (flat, cum)  5.60% of Total
.          .    105:// (5) The key is invalid due to its length, or sequence
.          .    106://     of characters. See validateLabelKey for more details.
.          .    107://
.          .    108:// The empty string is a valid value in the input values set.
.          .    109:func NewRequirement(key string, op Operator, vals sets.String) (*Requirement, error) {
10ms      260ms    110:   if err := validateLabelKey(key); err != nil {
.          .    111:           return nil, err
.          .    112:   }
.          .    113:   switch op {
.          .    114:   case InOperator, NotInOperator:
.          .    115:           if len(vals) == 0 {
.          .    116:                   return nil, fmt.Errorf("for 'in', 'notin' operators, values set can't be empty")
.          .    117:           }
10ms       10ms    118:   case EqualsOperator, DoubleEqualsOperator, NotEqualsOperator:
.          .    119:           if len(vals) != 1 {
.          .    120:                   return nil, fmt.Errorf("exact-match compatibility requires one single value")
.          .    121:           }
.       10ms    122:   case ExistsOperator, DoesNotExistOperator:
.          .    123:           if len(vals) != 0 {
.          .    124:                   return nil, fmt.Errorf("values set must be empty for exists and does not exist")
.          .    125:           }
.          .    126:   default:
.          .    127:           return nil, fmt.Errorf("operator '%v' is not recognized", op)
.          .    128:   }
.          .    129:
.       20ms    130:   for v := range vals {
.      320ms    131:           if err := validateLabelValue(v); err != nil {
.          .    132:                   return nil, err
.          .    133:           }
.          .    134:   }
.       40ms    135:   return &Requirement{key: key, operator: op, strValues: vals}, nil
.          .    136:}
.          .    137:
.          .    138:// Matches returns true if the Requirement matches the input Labels.
.          .    139:// There is a match in the following cases:
.          .    140:// (1) The operator is Exists and Labels has the Requirement's key.
(pprof)
—
Reply to this email directly or view it on GitHub
https://github.com/weaveworks/scope/issues/812#issuecomment-179599405.

After cherry-picking @paul's https://github.com/weaveworks/scope/tree/k8s-efficiency on top of the rate limiting, the CPU consumption is between 25% and 35%:

Now the profile is completely dominated by encoding, copying and garbage collection. I am going to work on the generated json encoding, clean and get #912 in and then see how we can improve the garbage collection dominance if it's still there.

After the codec improvements, the probes still consume ~20% CPU in the service.
pprof.localhost:4041.samples.cpu.001.pb.gz

The main two places where to improve are:

Report copying. It consumes a lot of CPU and generates a lot of objects, putting a lot pressure in the GC
The codec. Yes, it still takes 17% of the time, but I think the solution here is to simply reduce the size of the reports or their frequency. I have created https://github.com/weaveworks/scope/issues/985

@tomwilkie @paulbellamy @peterbourgon Any ideas on how to reduce or optimize the copying?

We can save a ton of allocs and CPU time by leveraging sync.Pool. For sure we can use pools of []byte or *bytes.Buffer when we serialize reports (and deserialize on the other end). That's easy and may get us some quick wins.
Beyond that, it'd be great to use pools for the reports themselves, i.e. don't allocate a new report and fill it, but fetch one from the pool, reset it, and write into it. But, we'd need implement a Reset method, and I'm not sure how simple that would be given all of our nested maps.
Other thoughts?

It's a bit unclear to me why copying is taking that much CPU/making that much garbage. Copy should be almost a no-op. Unless there is stuff left which is being copied? It looks a bit from the graph like Metrics?
Alternatively we could ditch the whole immutability/copying thing and rethink how the pipeline works. Go doesn't exactly make working with immutable datastructures easy/elegant anyway.

Alternatively we could ditch the whole immutability/copying thing and rethink how the pipeline works. Go doesn't exactly make working with immutable datastructures easy/elegant anyway.

:+1: to this. The current report structure and pipeline architecture was designed for ease of use and expediency. if it's no longer easy to use (i.e. maintain and mutate with changing product requirements) and it's a performance bottleneck with no obvious fix, it's absolutely appropriate to revisit the overall design.

We can save a ton of allocs and CPU time by leveraging sync.Pool. For sure we can use pools of []byte or *bytes.Buffer when we serialize reports (and deserialize on the other end).

AFAIK the new codec library already uses pools.
However, I believe that the fromIntermediate/toIntermediate methods used for custom serialization (e.g. the ones needed for mndrix/ps like LatestMmap) may be expensive expensive

Beyond that, it'd be great to use pools for the reports themselves

This sounds more like it!

This sounds more like it!

Unfortunately, after a bit of research and discussion with the community, I don't think the current report structure is going to lend itself to Pooling very well. In the end it's a collection of maps, and maps only 'reset' in linear time, i.e.
for _, topo := range report.Topologies() {
    for k := range topo {
        delete(topo, k)
    }
}

It's worth a profile, of course, but the cost of reset increases as the map gets bigger, making it perversely incentivized against cost of GC. My intuition is that if we want to Pool reports, we need to get rid of most if not all of the maps, in favor of slices or something else — IMO worth considering together with @paulbellamy's bag-of-nodes approach to the pipelines.

Actually, after having a closer look at the profile, the 17% of time in the codec doesn't come from Encoding but Decoding, so it can't come from the reports being sent to the app. 10% of that time is spent reading http bodies, so the decoding itself os only 7%.
Docker/kubernetes info? It's hard to tell because apparently it's being done in a separate goroutine. I'll investigate but we may be pooling something way too often.
If needed, to accelerate the decoding of that information we can always generate Selfers for those types in the vendor directory.

Also, to get a better sense of where we can reduce garbage generation, I just found out that pprof lets you obtain heap profiles with --alloc_objects, which will tell you how many objects have been allocated overall (not just in use). I will also try that.

Yep, it's docker:
(pprof) list StartGatheringStats
Total: 6.87s
ROUTINE ======================== github.com/weaveworks/scope/probe/docker.(*container).StartGatheringStats.func1 in /go/src/github.com/weaveworks/scope/probe/docker/container.go
         0      1.23s (flat, cum) 17.90% of Total
         .          .    202:			c.statsConn = nil
         .          .    203:		}()
         .          .    204:
         .          .    205:		var stats docker.Stats
         .          .    206:		decoder := codec.NewDecoder(resp.Body, &codec.JsonHandle{})
         .      1.23s    207:		for err := decoder.Decode(&stats); err != io.EOF; err = decoder.Decode(&stats) {
         .          .    208:			if err != nil {
         .          .    209:				log.Errorf("docker container: error reading event, did container stop? %v", err)
         .          .    210:				return
         .          .    211:			}
         .          .    212:

go-dockerclient (and docker API) has a streaming stats thing that might reduce this.

Nah, there code is basically identical.
On Friday, 19 February 2016, Paul Bellamy<EMAIL_ADDRESS>wrote:

go-dockerclient (and docker API) has a streaming stats thing
https://godoc.org/github.com/fsouza/go-dockerclient#Client.Stats that
might reduce this.
—
Reply to this email directly or view it on GitHub
https://github.com/weaveworks/scope/issues/812#issuecomment-186157199.

Here's the --alloc_objects heap profile for a probe (d7442788548c53971aaccdb681a274db31ba57a3) running in the service:
pprof.localhost:4041.alloc_objects.alloc_space.001.pb.gz

Final measurement for a while, (after #1000). The probes are running stably under 20% (whilst kubelet 1.1 is running >=70% in all nodes) and the garbage generated is tolerable:
CPU profile:
pprof.localhost:4041.samples.cpu.002.pb.gz

Objects allocations profile:
pprof.localhost:4041.alloc_objects.alloc_space.001.pb.gz

After making another measurement and looking at the syscalls (-focus 'Syscall$'), I can see that the Syscall load is shared between the connection walker (probe/endpoint/procspy/proc_linux.go) and the process walker (probe/process/walker_linux.go), which after #729 also inspects the fd directories:
pprof.localhost:4041.samples.cpu.003.pb.gz

Closing in favor of #1010 and #1011


Save Change Modal Prompt When no Edits Made

Describe the bug in current situation
The modal stating "Are you sure you want to leave? Your changes will be lost" - occurs in certain scenarios when no edits have been made to the data
Link bug to the User Story
Linked to #128 save a request
Impact of this bug
Minimal impact - modal pops up when no edits have been made, may be confusing to an analyst.
Chance of Occurring (high/medium/low/very low)
High
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
Test Environment
Needs a Request to Review (Unopened or Intake in Progress - issue occurs in both)
Steps to Reproduce
Steps to reproduce the behavior:

Go to Request Queue
Click on Any Request
In request review screen - click the Home Button without making any edits to the request
Modal should pop up, although no data has been entered.

The same behaviour also occurs when you attempt to close a tab, instead of pressing the home button (Chrome, Firefox, Edge)
This behaviour does NOT occur when you click on 'Return to Queue' when no edits have been made.
Actual/ observed behaviour/ results
Modal pops up, although no edits have been made
Expected behaviour
GIVEN an intake analyst is on an the detailed view of a request
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/663873013
AND the analyst has made edits but not saved
WHEN the analyst navigates away from the Request
THEN a modal will open asking "Are you sure you want to leave? Your changes will be lost" with a 'Leave' and 'Cancel 'button
Screenshots/ Visual Reference/ Source
If applicable, add screenshots to help explain your problem. You an use screengrab.

I've tested, and am not seeing the modal pop up now when no edits have been made.


I hope it can support more arch

Homework

[X] I took the time to write a good, descriptive issue title
[X] I read nativefier --help and API.md, no existing option fits my needs.
[X] I checked CATALOG.md for community suggestions & workarounds.
[X] I searched existing issues, open & closed. Yes, my feature request is new.
[X] I'm running the latest version. Yes, the feature I'm requesting isn't in it.

Problem statement
I hope it can support Long Arch and x86.
Motivation & context
I hope it can support Long Arch and x86 because they are really usefull in somewhere like china, thank you.

Ultimately we can only support the architectures that Electron supports:
https://github.com/electron/electron-packager#supported-platforms


Slider not working

I cannot get this to work and I have no idea what I am missing.
====================================================================
https://jsfiddle.net/kimwild/9amy2fua/2/
====================================================================
Steps to reproduce the problem

...
...

====================================================================
What is the expected behaviour?
To see a single item slider
====================================================================
What is observed behaviour?
The slider is not working
====================================================================
More Details

Which browsers/versions does it happen on?
Which jQuery/Slick version are you using?
Did this work before? no

https://jsfiddle.net/9amy2fua/5/

You didn't have jQuery
Your JS file was not correct.

Great thank you. How can I get arrows and dots to show up?


Ecto 2 Allowances for TestingAdapter

When upgraded a Phoenix project to Ecto 2.0-beta.2 we see the following error in our mailer tests:

** (RuntimeError) cannot find ownership process

There are two solutions to this issue, as documented in Ecto.Adapters.SQL.Sandbox.
For now we're using Shared mode, which works but runs the mailer tests synchronously. To have all the tests run concurrently, we could use Allowances in TestingAdapter:
defmodule Mailman.TestingAdapter do
  @moduledoc "Implementation of the testing SMTP adapter"

  def deliver(config, _email, message) do
    parent = self() # PID of the parent process
    Task.async fn ->
      Ecto.Adapters.SQL.Sandbox.allow(TestRepo, parent, self()) # need MyApp.Repo
      if config.store_deliveries do
        Mailman.TestServer.register_delivery message
      end
      { :ok, message }
    end
  end

end

We've tested this out, but with the name of our Repo hard coded. Do you think it would be possible to get this working?

Similar situation -- I'm working on making more of my tests async and Ecto 2.0. I'm currently using solutions in my PRs #44 and #45:

#44 for a MyApp.TestingAdapter that has similar contents to what you have there, with the Repo hardcoded in. My rationale for not patching Mailman for this was because Mailman should not be dependent on Ecto.
#45 for the actual async tests not interfering with each other

Thanks.
I agree it makes sense to not depend on Ecto. Does using independent test processes have any significant impact on how quickly tests run?

In my case, it's speeding tests up because the central TestServer was the bottleneck when doing a bunch of mailer tests in parallel.

Very nice. Thanks a bunch.
I'm gonna close this issue since you're obviously on top of it.


fix: add importAs to generated metadata re-export

Fixes #6046

@jelbourn Everything looks good to me. But it looks like the CI fails because of that change?

@jelbourn please rebase. Thanks!

@tinayuangao not merge-ready; change is causing issues on CI


fix repo palette

closes #3568

a lot of se80 reorderings so here are the changes

js (remove old enumerator, add new one)
chunk_lib->render_repo_palette
removed render_scripts from page_main (was not used)
add call of render_repo_palette to page_main and repo_view

build_main_menu, render_content, _add_col, has_favorites, set_filter - reordered, no modification (except register_deferred_script in render)
P.S. Appeared to be more tricky than expected with the current page structure ... certainly there is some space for refactoring

@sbcgua check conflicts

should be OK now


Made changes to related tables according to issue #752

This PR addresses cosmetic tweaks to the related section on record page mentioned in issue #752.
Changes can be tested here https://dev.isrd.isi.edu/~chirag/chaise/record/#1/legacy:dataset/id=263

Looks fine to me. Josh might be a better judge of this PR.
Of course, just need to get the tests passing before merge.

The changes look good to me, just make sure to resolve the merge conflicts and the build passes before merging.

I have merged with master and resolved the conflicts.


Fixing documentation for flashcards

During tests, some problems occured with documentation coverage over the actual code. This PR fixs this

Thanks!


Request - Should be able to pass empty strings to all but one Access Parameter.

When creating a share, currently it throws an error if an empty string is passed to ANY of the following permissions parameters; FullAccess, ChangeAccess, ReadAccess, NoAccess

Cannot validate argument on parameter 'FullAccess'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
+ CategoryInfo          : InvalidData: (:) [], CimException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,New-SmbShare
+ PSComputerName        : EDWDEV3-RPT

It would be much better if the error was only thrown if ALL permission parameters were unspecified.
This would make it much easier to pass a hashtable to set a lot of shares at the same time.
Not every type of permission would need to be specified for every share. Currently it is a challenge to dynamically drop parameters if the value you are passing is empty.
Example
foreach($Share in $Node.Shares) {
        $ShareName = 'ShareFolder' + $Share.Name
	xSmbShare $ShareName
	{
		DependsOn     = $FolderDependsOn
		Ensure        = 'Present'
		Name          = $Share.Name
		Path          = $Share.Path
		FullAccess    = $Share.FullAccess
		ChangeAccess  = $Share.ChangeAccess
		ReadAccess    = $Share.ReadAccess
		NoAccess      = $Share.DenyAccess'
	}
}

Permitting a PSD1 to contain the values
Shares = @(
	@{
		Name = 'ARCHIVE'
	        Path = 'E:\ARCHIVE'
		FullAccess = 'EDW_Admins'
		ChangeAccess = 'AZ\60061671'
		ReadAccess = 'Everyone'
	},
	@{
		Name = 'DROPSERVER'
		Path = 'E:\DROP'
		FullAccess = 'EDW_Supply'
		ChangeAccess = @('EDW_Ops', 'EDW_Admins')
		ReadAccess = ''
	},
	@{
		Name = 'FTPDROP'
		Path = 'E:\FTPDROP'
		FullAccess = ''
		ChangeAccess = 'Everyone'
		ReadAccess = ''
	}
)

To me that means that for example if ChangeAccess = @('EDW_Ops', 'EDW_Admins') and that configuration is changed to ChangeAccess = @() or ChangeAccess = '' that means that the previous permissions should be removed. Or if ChangeAccess = @() is set in the configuration and a user manually adds permissions, those will be removed.
I think one should not add parameters in a configuration that you don't want to keep in a desired state.

I came here with this same issue and looking for this exact feature.