Feature Request: Dock tabs to left/top/right/bottom command and keybind

In the Settings, you're able to dock the tabs in the viewport, but there is no keyboard shortcut or command for it. Can you look into this to see if it's possible?

Hmm... I can't figure out what exactly you mean.
Could you please describe more? Or even upload a gif to show what you mean?

1.) Go to Settings > Editor > General > Editor tabs.
2.) Change tab placement to left.
3.) Apply
4.) Open several files in an editor, you'll see the tabs stack on the left.
Repeat 1-4 but instead of left, choose top.
Request: A "search everything" command as well as a keybind for each of the tab placements to swap them without having to go into settings.

well as you see in the picture this is already possible, I don't know if it works on older IDE versions, but it does work on 2022.3.2 RC

Can we still add key binds?

This should be possible but I can't assign any shortcut to any action from the Actions Search tab (using ctrl+.). this may be a bug of the IDE ?!

If it is a bug, it's been like that for a while. That's why I was hoping you could wire together a way to with new commands/keybinds.

Hey,
After playing with your addon more I came across the macro section of the settings and I can’t seem to figure out how to make any macros with it. Is it just an unfinished panel or am I missing something. I also looked at your documentation section of your github and it wasn’t documented.
Also I was wondering how the predict functionality works too.
Soon I am planning on writing documentation for your GitHub page to help out. On the stuff I know how to do of course. 😅
Jason

to add a macro you need to first select a text and then invoke add selection to macros action.
after that you can assign a shortcut to that macro and use it everywhere in an editor.
predict words is not really good at doing what it is intended to, but it can be useful sometimes. for instance you can write helloworldclass and then invoke predict pascal case words action and hope it will change it to HelloWorldClass.
this actually works by the help of grazie plugin (which detects grammar issues and typos), it tries to find largest words that doesn't have a typo, and then transform them to the desired form.
and for the documentation, I will appreciate your help. actually I was looking for someone to help me do that. Thanks in advance.

https://github.com/MohammadMD1383/Actionable/blob/fb0e5d044aa8ec3c468bfcd9a23790eb0702643c/src/main/java/ir/mmd/intellijDev/Actionable/caret/justification/Actions.kt#L7-L28
to provide documentation you should use the @Document annotation and use it exactly like you see in the above example because I use regex to extract it.
then by executing docgen.py the new documentation should be added to the docs/ directory, and I'm ready to accept your PR.


Add the ability to hide numbered badges on views

With the addition of the badges API, badges on arbitrary view containers continue to become more common. We don't want to add settings for every view, so this should be state that is easy to set on a per view basis.

First run for feedback fixed via #https://github.com/microsoft/vscode/pull/158781

When I right-click on the source-control-icon and hide the numbered-badge, if I close VS Code and re-open it the numbered-badge is back.
Is that expected?

Feel free to file an issue to track that. It doesn't currently save state and these are definitely improvements we can make.

Feel free to file an issue to track that. It doesn't currently save state and these are definitely improvements we can make.

Written in https://github.com/microsoft/vscode/issues/168939
Thanks for the feature!


Bump PXC docker image to align with upstream 0.27.0+

#941 has an item tied to a CF bump, most recently cf-deployment 13.5.
Per the CVE described in https://www.cloudfoundry.org/blog/mysql-security-updates-jan2020/, we need to bump our PXC Docker image to align with version 0.27.0 or higher (as of writing, it's still 0.27.0: https://github.com/cloudfoundry-incubator/pxc-release)

Can we do this in conjunction with #941?

While we probably can, it's probably better to decouple the two tasks, so that we don't end up delaying both.
Besides, this is still sitting in the icebox…

There's a new critical CVE tied to more MySQL vulnerabilities posted over the weekend that requires 0.28.0: https://www.cloudfoundry.org/blog/mysql-security-updates-apr2020/
We need to get on this pronto.

None of the upstream versions are relevant for us: we're not using the PXC release, but rather https://github.com/SUSE/pxc-docker instead.  Also, their CVE links are a mess: those named CVEs (for the latest one) appear to all be curl ones instead.
Currently we're using PXC 5.7.28-31.41 / xtrabackup 2.4.18.
Looking at the PXC release notes, the latest 5.7 series is 5.7.30-31.43.  And for xtrabackup, the latest version is 2.4.20.

PR created: https://github.com/SUSE/pxc-docker/pull/2 — that doesn't close this though, as we will need to bump the image we use in KubeCF once that's accepted and built.

Merged https://github.com/SUSE/pxc-docker/pull/2 after review and local testing.
Assigning the ticket back to Mark for the necessary KubeCF bump.


See what library namespaces are available - valid usings

It would be nice to know what valid library namespaces are available. For example I tried using System.Net.Http but it was not available. Instead of having to try what I can use and can't use it would be useful to have a searchable list somewhere.

@rchande is this scenario covered by your current completions work?

The new completions feature will guide you through adding this. I verified that namespaces show up after using.

Looks like it works! awesome, thanks Ravi


[Feature Request] Rescan for new files during upload

It would be great if rclone could check every minute if there are any additional files for upload and add them to current task, assuming you have "free transfers" left.
As described in this topic: https://forum.rclone.org/t/rescan-during-upload-add-new-files-to-que/158

While I like the idea, would that not cause an infinite loop if new files are constantly being added to the directory and old ones are being changed? Just my thoughts there.

Yup it would and it should be optional eg with switch.

Agreed.  maybe a flag that you can set the interval for scanning this way it takes up less system resources.

I think this would be hard to implement the way rclone is structured.  I'll leave it as an enhancement though just in case I or anyone else has an idea about how to implement it.

Thanks for that.  For now we'll just work with what we have, which is a wonderful tool for backing up data.
Thanks again.


Make classes Singletons

Instead of having one instance of the Block, World, Item, Player, and CommunicationChannel classes created and then made global by extern, it would be nice to make them singletons with private constructors and getInstance() functions.

On second thought, maybe not. If this were to be done, every call to block.set(), for example, would have to be changed to block->set() due to the pointer nature of singletons. This would add extra processor overhead on nearly every function call.


Interpolation Search

For the binary search technique, the lists are divided into equal parts. For the interpolation searching technique, the procedure will try to locate the exact position using interpolation formula. After finding the estimated location, it can separate the list using that location. As it tries to find exact location every time, so the searching time reduces. This technique can find items easily if the items are uniformly distributed.

Thanks, @psycho-valker  for the contribution


updating from 0.4.1 to 0.4.2 causes app to error on startup

This is the error:
Uncaught ReferenceError: require is not defined
    at Object../node_modules/graphql/jsutils/instanceOf.mjs (instanceOf.mjs:31)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/graphql/type/definition.mjs (definition.mjs:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/graphql/type/validate.mjs (validate.mjs:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/graphql/graphql.mjs (graphql.mjs:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/graphql/index.mjs (index.mjs:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/apollo-link-state/lib/utils.js (utils.js:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../node_modules/apollo-link-state/lib/index.js (index.js:1)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../src/client.js (index.css:9)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object../src/index.js (index.css?42ca:45)
    at __webpack_require__ (bootstrap:772)
    at fn (bootstrap:141)
    at Object.0 (theme.js:20)
    at __webpack_require__ (bootstrap:772)
    at checkDeferredModules (bootstrap:43)
    at Array.webpackJsonpCallback [as push] (bootstrap:30)
    at main.chunk.js:1

This is my package.json file before updating to v0.4.2: https://github.com/barbalex/apf2/blob/4848dc638c5849e6d50282647fb74fd2f165c4d8/package.json
I am using yarn's resolutions feature to prevent problems that occured due to different versions of graphql required in different apollo tools. Maybe enforcing graphql v0.13.2 is causing this?

I removed the graphql "resolutions" setting and tried:

not installing graphql: did not work. Same error as before
installing graphql v14.0.2: works

When I did not install graphql myself, the installed version was 0.13.2.
Is it possible that some new feature of apollo-link-state depends on graphql > 0.13.2 being installed?

I'm seeing the same error.

You can use temp solution. Add resolutions to package.json


Search tag upon clicking a tag

@rowlandm, I've created a functionality for which we have discussed. The basic functionality is ready and I will be improving upon the UI.
The search page doesn't show the description, author, etc. as it will require an API call for each component in the results which will slow down the process. Hope this is fine.

Actually there are a few issues with the linter that keeps it from building on my local dev:
https://github.com/biojs/biojs-frontend/pull/24/files#diff-9189ce0834898ccc130c4eea7cef1860R43
Mostly in indentation around here.

Also, having a gif of the functionality is awesome! 🔥

@DennisSchwartz, the indentation is such because of the extension I'm using for documentation: prop-doc. I'll correct it.
GIFs are awesome! 😄


Add indication of the state of a content blocks (draft/modified)

The state of a content block should be communicated through the dot above the block icon (similar to the Files area and site tree icon).
https://invis.io/VMDZ9YAGX#/265320689_Blocks_-_Future_-_Carousel_NTH
There should be text tooltip with the block type and state in text format, which will also be useful for accessibility reasons. Note that the published blocks do not communicate the state through text or visually.
Tooltip examples:
[File block: Modified] [Banner block: Draft] [Content block]

Check out VersionedGridFieldState for a re-useable extension to help

We made some progress on this issue.
Default view:

Mouse hover on Published item:

Mouse hover on Modified item:

Check out details in our fork.
I can make PR if you like it.

@jelicanin your changes look good, but it's essentially duplicating what GridFieldVersionedState does when you add it to the GridField.
I've been able to add the status badges reasonably quickly using this component:

We'll need to do something sneaky to the status badge to get it to show up an orange dot on the block icon when it's in a draft/modified state though, since that's not a default behaviour of this component:

Apply the component to one of the fields in the editor grid
Give the component a sr-only class so that the label is present for screen readers but it doesn't modify the UI (the component doesn't provide any extension hooks, so we may need to overload the component in this module)
Ideally, add a modifier class to the elemental-preview__icon element, e.g. elemental-preview__icon--modified
Define some CSS to add the dot for that class (note there's an existing example in the CMS under the .cms-tree.jstree .status-modified>a .jstree-pageicon:before selector, visible in the main site tree)

@clarkepaul do you see any merit in adding a modifier class like this to the silverstripe-admin module, so any font icons can have the modified state applied and have the orange circle added by core, or shall we implement this in this module?

@robbieaverill  I think SilverStripe Admin is the place for this to happen (introduc a consistent circular state style) so it can be used in all areas if required. Files (thumbs) and Pagetree icons use that pattern too so it would be good to simplify where possible.
Perhaps its fitting to get this merged as a one off (hopefully with the circle if possible) and then have a separate issue to consolidate the styles? I think you'd be better positioned to make that call though.

Ha hadn't refreshed my browser so didn't see this was merged already :)

Tasks:

Investigate how the circle is applied to asset admin
Determine whether we can re-use it
Implement it in this module, ideally putting any style modifications necessary into admin before 4.1.0 stable
If all else fails we can do a "phase 1" which would be adding the "draft"/"modified" labels as per default VersionedGridFieldState (see screenshots above) and do circles in a follow up enhancement issue

Asset-admin uses some classes that it owns: .gallery-item--draft and .gallery-item--modified. We could re-use these, but it wouldn't be semantically correct to do so.

I recommend grabbing the styles the asset-admin uses and applying it to you own gridfield with the namespaced .some-block-container .status-draft rule.

we could put it in the admin, but are we making it a generic case for all versioned gridfields or only "some" cases?
the some cases could be marked with a specific class perhaps

I spoke to @clarkepaul about this earlier, he's in favour of putting it into core (eventually with various size modifiers) if possible. Only really feasible if we can squeeze it into 4.1.0 though

might be a bit late for 4.1.0, maybe? you know who to talk to for that :D
does that mean all versioned gridfields though?

does that mean all versioned gridfields though?

No! Just a design pattern that is likely to be repeated AFAIK

ok, sounds good 👍

Just spoke to @chillu about getting this into 4.1 and we decided that rather than doing it in a half baked way we should put this into elemental for now and log an issue on admin to add the dot pattern into admin in a flexible way (e.g. size modifiers) so it can be used easily in future

PR at #190

Did you add that issue to silverstripe/admin @robbieaverill ?
If so could you please create a reference/link here?

Not yet, thanks for reminding me


Normalize status field of SE-0419

The status field on SE-0419 uses a status that is unnormalized and can't be parsed for use on the Swift Evolution Dashboard.
This PR retains the same information but formatted using the correct status name and date formatting.

Closing this. It looks like PR #2283 beat me to the fix by two minutes.

Reopening since the just committed PR https://github.com/apple/swift-evolution/pull/2283 still does not parse correctly.
The dates appear on the dashboard as 'NaN'.
This PR should correct that issue.


Always get a deprecation error log about JSON even though not using

Expected behavior
I point RedissonSessionManager at a YAML config file. I don't get a deprecation warning about using JSON config files.
Actual behavior
I point RedissonSessionManager at a YAML config file. I do get a deprecation warning about using JSON config files.
Steps to reproduce or test case
Point RedissonSessionManager at a YAML config file. Get a deprecation warning about using JSON config files.
Redis version
6.0.8
Redisson version
3.13.6
Redisson configuration
singleServerConfig:
  address: "redis://<IP_ADDRESS>:${REDIS_PORT:-6379}"

RedissonSessionManager.buildClient always attempts to parse the config file as JSON before doing anything else. It does this by calling Config.fromJSON, which is marked as deprecated.

An associate pointed out to me that JSON is a subset of YAML anyway. So even if you removed the JSON parsing code, people should still be able to write their config using JSON.

Fixed! Thanks for report


image fix

This pull request has been automatically created by learn.co.

Fixed, thanks @DanL12186 !


Bump grunt-contrib-less to ~1.0.0

This updates Grunt's Less.js from v1.7.5 to v2.1.2.
Per the Less v2 upgrade guide, the language is basically unchanged.
The main changes are to Less.js's API, so the follow-up task of upgrading the version of Less used in the Customizer will be a bit harder.
No changes to our .less files are required, and there are no changes to the resulting CSS.
CC: @mdo

Since version 2 of Less you can uses plugins. grunt-contrib-less also support this plugin usage.
See also: https://github.com/gruntjs/grunt-contrib-less. Now you can use something like that shown below:
      compileCore: {
        options: {
           plugins: [
				new (require('less-plugin-autoprefix'))({browsers: configBridge.config.autoprefixerBrowsers}),
				new (require('less-plugin-clean-css'))()
			],
          strictMath: true,
          sourceMap: true,
          outputSourceFiles: true,
          sourceMapURL: '<%= pkg.name %>.css.map',
          sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
        }

That is useless since we already use the individual modules outside of less. So it would simply duplicate stuff.

@XhmikosR , yes i understand that the individual modules are used now. You could probably replace them, for instance to simplify the process. It's just a suggestion.

@bassjobsen: my point is they will still be needed even if we use the plugins. So this doesn't help.

@XhmikosR They're unchanged. Alright then, will :ship: once the rebased build succeeds.

:+1:


Check for unreachable glyphs?

This is just an idea, rather than a bug report - do we want to check for (or do we already have a check for) unencoded glyphs which are not referenced in any lookup?

Love this

Uh, shouldn't the code check if these glyphs are used as components by otherwise reachable glyphs?

Ooh that's actually a really good point.

I've opened a new issue since this fix targets a different milestone.


Make /ghost pause menu text clickable

What config to change
isxander-main-menu-credits.json
Make the "Fix ghost blocks with /ghost" text in the pause menu clickable, when clicked it should run the commnand "/ghost"

https://github.com/Fabulously-Optimized/fabulously-optimized/commit/fc5aa28a2beb764111dd9952f0de5ee4677b747e
Why should it be changed
Stops you from having to manually type out the command if you prefer to click, and the text is there anyway why not make it clickable?
Additional details
I was going to make a PR, but it says to make an issue here first, here's the changes

Huh, that's clever, didn't even think of this before.
Will include in the next version.

Reckon i should submit the PR or nah?

Nah, I wouldn't be able to merge it directly either way, I'll just copy the code.


Model-Deployment within .jar

The Model is to be deployed outside the jar. Either a gradle-task loads it at build-time or its location is specificed in a config-file
Labels are stored  at extraction-time.

[x] see core.config for adding a neuralnet-config
[x] Add which Model / Framework
[ ] Potential Flags
[x] Add gradle-task to load nn from web (Not wget :-1: )
[x] Location of Model

We need a persistent Download location which is not based on the torrent-protocol.

If you can guarantee that there will be no license issues vitrivr.org can host them.

Good point. The original VGG 16 model is released under the  Creative Commons Attribution License which means we must credit the authors but are free to share in any way.
The Code which converts the Caffe model to Tensorflow can be found here and does unfortunately not have a license. I've opened a issue and hopefully the creator adds a license since his other converter-repo has the MIT License.

Moving to Final Presentations since we are waiting for the license

Removed from Final Presentations, it does not look like we are going to get an answer


Dry::Configurable.config fails on boot (wrong number of arguments for Config.new)

I've been working on extracting Dry::Types::Struct to its own project. I made this change to the gemspec so I could use Dry::Struct::VERSION:
diff --git i/dry-struct.gemspec w/dry-struct.gemspec
index a875711..038f209 100644
--- i/dry-struct.gemspec
+++ w/dry-struct.gemspec
@@ -1,5 +1,8 @@
 # coding: utf-8

+root = File.expand_path(__dir__)
+require File.join(root, 'lib/dry/struct/version.rb')
+
 Gem::Specification.new do |spec|
   spec.name          = 'dry-struct'
   spec.version       = '0.0.1'

This bundles fine but causes a strange issue when I run the tests:
$ bundle exec rspec
/Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-configurable-0.1.6/lib/dry/configurable.rb:53:in `initialize': wrong number of arguments (given 3, expected 0) (ArgumentError)
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-configurable-0.1.6/lib/dry/configurable.rb:53:in `new'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-configurable-0.1.6/lib/dry/configurable.rb:53:in `block in config'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-configurable-0.1.6/lib/dry/configurable.rb:51:in `synchronize'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-configurable-0.1.6/lib/dry/configurable.rb:51:in `config'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-container-0.3.4/lib/dry/container/mixin.rb:91:in `register'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-logic-0.3.0/lib/dry/logic/predicate_set.rb:9:in `predicate'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-logic-0.3.0/lib/dry/logic/predicates.rb:18:in `<module:Predicates>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-logic-0.3.0/lib/dry/logic/predicates.rb:9:in `<module:Logic>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-logic-0.3.0/lib/dry/logic/predicates.rb:8:in `<module:Dry>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-logic-0.3.0/lib/dry/logic/predicates.rb:7:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/constraints.rb:2:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/constraints.rb:2:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/constrained.rb:2:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/constrained.rb:2:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/builder.rb:51:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/builder.rb:51:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/definition.rb:1:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types/definition.rb:1:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types.rb:13:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry/types.rb:13:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry-types.rb:1:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/dry-types-0.8.1/lib/dry-types.rb:1:in `<top (required)>'
	from /Users/johnbackus/Projects/dry-struct/lib/dry/struct.rb:1:in `require'
	from /Users/johnbackus/Projects/dry-struct/lib/dry/struct.rb:1:in `<top (required)>'
	from /Users/johnbackus/Projects/dry-struct/lib/dry-struct.rb:1:in `require'
	from /Users/johnbackus/Projects/dry-struct/lib/dry-struct.rb:1:in `<top (required)>'
	from /Users/johnbackus/Projects/dry-struct/spec/spec_helper.rb:14:in `require'
	from /Users/johnbackus/Projects/dry-struct/spec/spec_helper.rb:14:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb:1295:in `require'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb:1295:in `block in requires='
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb:1295:in `each'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb:1295:in `requires='
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb:108:in `each'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb:108:in `process_options_into'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb:21:in `configure'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb:105:in `setup'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb:92:in `run'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb:78:in `run'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb:45:in `invoke'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.4/exe/rspec:4:in `<top (required)>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/bin/rspec:22:in `load'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/bin/rspec:22:in `<main>'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
	from /Users/johnbackus/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

I haven't used dry-configurable before and I am only using it now because it is part of the code I am extracting from dry-types so sorry if this is a basic issue. I'm currently pretty stumped though since the version file itself is pretty simple:
module Dry
  class Struct
    VERSION = '0.0.1'.freeze
  end
end

The only place that dry-configurable is used is in the extracted errors module:
module Dry
  class Struct
    extend Dry::Configurable

    setting :namespace, self

    Error = Class.new(TypeError)

    class RepeatedAttributeError < ArgumentError
      def initialize(key)
        super("Attribute :#{key} has already been defined")
      end
    end
  end
end

Here is the dry-* in question:
$ cat Gemfile.lock | grep 'dry-'
    dry-struct (0.0.1)
      dry-configurable (~> 0.1)
      dry-equalizer (~> 0.2)
      dry-logic (~> 0.2, >= 0.2.3)
      dry-types (~> 0.8, >= 0.8.1)
    dry-configurable (0.1.6)
    dry-container (0.3.4)
      dry-configurable (~> 0.1, >= 0.1.3)
    dry-equalizer (0.2.0)
    dry-logic (0.3.0)
      dry-container (~> 0.2, >= 0.2.6)
      dry-equalizer (~> 0.2)
    dry-monads (0.0.2)
    dry-types (0.8.1)
      dry-configurable (~> 0.1)
      dry-container (~> 0.3)
      dry-equalizer (~> 0.2)
      dry-logic (~> 0.3, >= 0.3.0)
      dry-monads (>= 0.0.1)
  dry-struct!

I tried pointing to dry-configurable master but the issue remained.

What happens when you change setting :namespace, self to setting :namespace, :whatever? Is the problem going away?

@solnic nope still errors

This might be a nasty bug. It must have something to do with the fact that
Version file defines the Struct module. So MAYBE when it's loaded before
other gem files are loaded something weird happens on the configuration
side.
We could look into removing dry-configurable dependency btw regardless of
this bug. I'm not sure how namespace config is used though /cc @flash-gordon
On 17 July 2016 at 14:05:01, John Backus<EMAIL_ADDRESS>wrote:

@solnic https://github.com/solnic nope still errors
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dry-rb/dry-configurable/issues/7#issuecomment-233178807,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAEKmRs5twU9F5V0Z2jgQUS0SVARRZTks5qWhptgaJpZM4JOJIj
.

@backus Thanks for reporting, please try using latest master and let me know whether that works, I'll release 0.1.7 if it does.

@AMHOL that fixes the issue. Thanks. I have to PR a separate fix on dry-types for Dry::Types::Result now.

@AMHOL ping :smile:

My bad, on it

@backus done


ffmpeg_trt Error Code 3 Parameter check failed

Hi,
built ffmpeg_trt with
compute_75,code=sm_75

which is for Turing.
Then, when I run
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mkv -vf format_cuda=rgbpf32,tensorrt=model_RealESRGAN_x2plus_2080ti.engine,format_cuda=nv12,hwdownload,format=nv12 -c:v h264 out.mkv

I get following error:
[tensorrt @ 0x55e138eaddc0] Load trt engine
[tensorrt @ 0x55e138eaddc0] Loaded engine size: 115 MiB
[tensorrt @ 0x55e138eaddc0] [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +114, now: CPU 0, GPU 114 (MiB)
[tensorrt @ 0x55e138eaddc0] 3: [runtime.cpp::~Runtime::346] Error Code 3: API Usage Error (Parameter check failed at: runtime/rt/runtime.cpp::~Runtime::346, condition: mEngineCounter.use_count() == 1. Destroying a runtime before destroying deserialized engines created by the runtime leads to undefined behavior.
)
[tensorrt @ 0x55e138eaddc0] [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +1, GPU +2026, now: CPU 1, GPU 2140 (MiB)

Same happens for
compute_61,code=sm_61

on Pascal.
Thought it may be related to the  RealESRGAN_x2plus engine but same error happens on converted realesr-animevideov3 engine
With vapoursynth the engines runs "as expected"

Have you tried building the engine in the docker itself? Not loading the engine from the vapoursynth docker.

Yes, I have tried that first. Makes no difference.


360 video playback sample fixes

Thanks. Propagated fix into C# sample and pulled into next refresh.


Issues inserting all Bittrex Tickers into KDB+ Database

I'm trying to log all ticker information from bittrex into a KDB+ database using the following subscriptions.ini file. This is almost a fulll list of tickers for Bittrex:
[Bittrex-BTC1ST-Restful]
exchange = Bittrex
instmt_name = BTC1ST
instmt_code = BTC-1ST
enabled = 1
[Bittrex-BTCAGRS-Restful]
exchange = Bittrex
instmt_name = BTCAGRS
instmt_code = BTC-AGRS
enabled = 1
[Bittrex-BTCAMP-Restful]
exchange = Bittrex
instmt_name = BTCAMP
instmt_code = BTC-AMP
enabled = 1
[Bittrex-BTCARDR-Restful]
exchange = Bittrex
instmt_name = BTCARDR
instmt_code = BTC-ARDR
enabled = 1
[Bittrex-BTCBAY-Restful]
exchange = Bittrex
instmt_name = BTCBAY
instmt_code = BTC-BAY
enabled = 1
[Bittrex-BTCBCY-Restful]
exchange = Bittrex
instmt_name = BTCBCY
instmt_code = BTC-BCY
enabled = 1
[Bittrex-BTCBYC-Restful]
exchange = Bittrex
instmt_name = BTCBYC
instmt_code = BTC-BYC
enabled = 1
[Bittrex-BTCCLOAK-Restful]
exchange = Bittrex
instmt_name = BTCCLOAK
instmt_code = BTC-CLOAK
enabled = 1
[Bittrex-BTCCLUB-Restful]
exchange = Bittrex
instmt_name = BTCCLUB
instmt_code = BTC-CLUB
enabled = 1
[Bittrex-BTCCPC-Restful]
exchange = Bittrex
instmt_name = BTCCPC
instmt_code = BTC-CPC
enabled = 1
[Bittrex-BTCCRB-Restful]
exchange = Bittrex
instmt_name = BTCCRB
instmt_code = BTC-CRB
enabled = 1
[Bittrex-BTCDASH-Restful]
exchange = Bittrex
instmt_name = BTCDASH
instmt_code = BTC-DASH
enabled = 1
[Bittrex-BTCDGD-Restful]
exchange = Bittrex
instmt_name = BTCDGD
instmt_code = BTC-DGD
enabled = 1
[Bittrex-BTCDYN-Restful]
exchange = Bittrex
instmt_name = BTCDYN
instmt_code = BTC-DYN
enabled = 1
[Bittrex-BTCEDG-Restful]
exchange = Bittrex
instmt_name = BTCEDG
instmt_code = BTC-EDG
enabled = 1
[Bittrex-BTCETH-Restful]
exchange = Bittrex
instmt_name = BTCETH
instmt_code = BTC-ETH
enabled = 1
[Bittrex-BTCFCT-Restful]
exchange = Bittrex
instmt_name = BTCFCT
instmt_code = BTC-FCT
enabled = 1
[Bittrex-BTCFTC-Restful]
exchange = Bittrex
instmt_name = BTCFTC
instmt_code = BTC-FTC
enabled = 1
[Bittrex-BTCGEO-Restful]
exchange = Bittrex
instmt_name = BTCGEO
instmt_code = BTC-GEO
enabled = 1
[Bittrex-BTCGNO-Restful]
exchange = Bittrex
instmt_name = BTCGNO
instmt_code = BTC-GNO
enabled = 1
[Bittrex-BTCGNT-Restful]
exchange = Bittrex
instmt_name = BTCGNT
instmt_code = BTC-GNT
enabled = 1
[Bittrex-BTCGRC-Restful]
exchange = Bittrex
instmt_name = BTCGRC
instmt_code = BTC-GRC
enabled = 1
[Bittrex-BTCHKG-Restful]
exchange = Bittrex
instmt_name = BTCHKG
instmt_code = BTC-HKG
enabled = 1
[Bittrex-BTCLBC-Restful]
exchange = Bittrex
instmt_name = BTCLBC
instmt_code = BTC-LBC
enabled = 1
[Bittrex-BTCLTC-Restful]
exchange = Bittrex
instmt_name = BTCLTC
instmt_code = BTC-LTC
enabled = 1
[Bittrex-BTCMEME-Restful]
exchange = Bittrex
instmt_name = BTCMEME
instmt_code = BTC-MEME
enabled = 1
[Bittrex-BTCMYST-Restful]
exchange = Bittrex
instmt_name = BTCMYST
instmt_code = BTC-MYST
enabled = 1
[Bittrex-BTCNAUT-Restful]
exchange = Bittrex
instmt_name = BTCNAUT
instmt_code = BTC-NAUT
enabled = 1
[Bittrex-BTCNAV-Restful]
exchange = Bittrex
instmt_name = BTCNAV
instmt_code = BTC-NAV
enabled = 1
[Bittrex-BTCNLG-Restful]
exchange = Bittrex
instmt_name = BTCNLG
instmt_code = BTC-NLG
enabled = 1
[Bittrex-BTCNXC-Restful]
exchange = Bittrex
instmt_name = BTCNXC
instmt_code = BTC-NXC
enabled = 1
[Bittrex-BTCNXS-Restful]
exchange = Bittrex
instmt_name = BTCNXS
instmt_code = BTC-NXS
enabled = 1
[Bittrex-BTCNXT-Restful]
exchange = Bittrex
instmt_name = BTCNXT
instmt_code = BTC-NXT
enabled = 1
[Bittrex-BTCPKB-Restful]
exchange = Bittrex
instmt_name = BTCPKB
instmt_code = BTC-PKB
enabled = 1
[Bittrex-BTCPPC-Restful]
exchange = Bittrex
instmt_name = BTCPPC
instmt_code = BTC-PPC
enabled = 1
[Bittrex-BTCPTC-Restful]
exchange = Bittrex
instmt_name = BTCPTC
instmt_code = BTC-PTC
enabled = 1
[Bittrex-BTCQRL-Restful]
exchange = Bittrex
instmt_name = BTCQRL
instmt_code = BTC-QRL
enabled = 1
[Bittrex-BTCRADS-Restful]
exchange = Bittrex
instmt_name = BTCRADS
instmt_code = BTC-RADS
enabled = 1
[Bittrex-BTCSC-Restful]
exchange = Bittrex
instmt_name = BTCSC
instmt_code = BTC-SC
enabled = 1
[Bittrex-BTCSIB-Restful]
exchange = Bittrex
instmt_name = BTCSIB
instmt_code = BTC-SIB
enabled = 1
[Bittrex-BTCSJCX-Restful]
exchange = Bittrex
instmt_name = BTCSJCX
instmt_code = BTC-SJCX
enabled = 1
[Bittrex-BTCSNRG-Restful]
exchange = Bittrex
instmt_name = BTCSNRG
instmt_code = BTC-SNRG
enabled = 1
[Bittrex-BTCSWIFT-Restful]
exchange = Bittrex
instmt_name = BTCSWIFT
instmt_code = BTC-SWIFT
enabled = 1
[Bittrex-BTCTX-Restful]
exchange = Bittrex
instmt_name = BTCTX
instmt_code = BTC-TX
enabled = 1
[Bittrex-BTCVIA-Restful]
exchange = Bittrex
instmt_name = BTCVIA
instmt_code = BTC-VIA
enabled = 1
[Bittrex-BTCVOX-Restful]
exchange = Bittrex
instmt_name = BTCVOX
instmt_code = BTC-VOX
enabled = 1
[Bittrex-BTCWINGS-Restful]
exchange = Bittrex
instmt_name = BTCWINGS
instmt_code = BTC-WINGS
enabled = 1
[Bittrex-BTCXEM-Restful]
exchange = Bittrex
instmt_name = BTCXEM
instmt_code = BTC-XEM
enabled = 1
[Bittrex-BTCXLM-Restful]
exchange = Bittrex
instmt_name = BTCXLM
instmt_code = BTC-XLM
enabled = 1
[Bittrex-BTCXMR-Restful]
exchange = Bittrex
instmt_name = BTCXMR
instmt_code = BTC-XMR
enabled = 1
[Bittrex-BTCXRP-Restful]
exchange = Bittrex
instmt_name = BTCXRP
instmt_code = BTC-XRP
enabled = 1
[Bittrex-BTCXVC-Restful]
exchange = Bittrex
instmt_name = BTCXVC
instmt_code = BTC-XVC
enabled = 1
[Bittrex-BTCXWC-Restful]
exchange = Bittrex
instmt_name = BTCXWC
instmt_code = BTC-XWC
enabled = 1
[Bittrex-BTCZEN-Restful]
exchange = Bittrex
instmt_name = BTCZEN
instmt_code = BTC-ZEN
enabled = 1
[Bittrex-ETHCRB-Restful]
exchange = Bittrex
instmt_name = ETHCRB
instmt_code = ETH-CRB
enabled = 1
[Bittrex-ETHGNO-Restful]
exchange = Bittrex
instmt_name = ETHGNO
instmt_code = ETH-GNO
enabled = 1
[Bittrex-ETHGUP-Restful]
exchange = Bittrex
instmt_name = ETHGUP
instmt_code = ETH-GUP
enabled = 1
[Bittrex-ETHQRL-Restful]
exchange = Bittrex
instmt_name = ETHQRL
instmt_code = ETH-QRL
enabled = 1
[Bittrex-ETHRLC-Restful]
exchange = Bittrex
instmt_name = ETHRLC
instmt_code = ETH-RLC
enabled = 1
[Bittrex-ETHTRST-Restful]
exchange = Bittrex
instmt_name = ETHTRST
instmt_code = ETH-TRST
enabled = 1

The follow error is generated after starting bitcoinexchangeFH:

Exception in thread Thread-2:
Traceback (most recent call last):
File "/home/obnauticus/.local/lib/python3.5/site-packages/befh/kdbplus_client.py", line 217, in insert
self.conn.sync(command)
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qconnection.py", line 303, in sync
response = self.receive(data_only = False, **options)
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qconnection.py", line 380, in receive
result = self._reader.read(**self._options.union_dict(**options))
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qreader.py", line 139, in read
message.data = self.read_data(message.size, message.is_compressed, **options)
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qreader.py", line 216, in read_data
return raw_data if self._options.raw else self._read_object()
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qreader.py", line 225, in _read_object
return reader(self, qtype)
File "/home/obnauticus/.local/lib/python3.5/site-packages/qpython/qreader.py", line 240, in _read_error
raise QException(self._read_symbol())
qpython.qtype.QException: b'insert'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/obnauticus/.local/lib/python3.5/site-packages/befh/exch_bittrex.py", line 236, in get_trades_worker
self.insert_trade(instmt, trade)
File "/home/obnauticus/.local/lib/python3.5/site-packages/befh/exchange.py", line 179, in insert_trade
is_commit=True)
File "/home/obnauticus/.local/lib/python3.5/site-packages/befh/kdbplus_client.py", line 219, in insert
raise Exception("Error in running insert statement (%s).\n%s" % (command, e))
Exception: Error in running insert statement (`exch_bittrex_btc1st_snapshot_20170622 insert (1296; 0.00068; 7.08377613; 0.0006782; 0.000678; 0.00067116; 0.00067; 0.00066199; 0.00068; 0.00068885; 0.00068886; 0.00068887; 0.0006931;<PHONE_NUMBER>4; 61.47389469; 12.48536861; 25.52632037; 16.99421441;<PHONE_NUMBER>8;<PHONE_NUMBER>9; 57.17452034; 8.63; 19.22753368; 2017.06.22D14:11:39.304126000; 2017.06.22D14:11:39.544221000; 2)).
b'insert'
2017-06-22 15:11:41,584 - ERROR
[ExchGwBittrex]
Error in order book: Error in running insert statement (`exch_bittrex_btcgno_snapshot_20170622 insert (1308; 0.084; 0.04219615; 0.08219567; 0.08219566; 0.08219564; 0.08219561; 0.08219556; 0.08399999; 0.084; 0.08440694; 0.08440818; 0.08555794; 7.599; 5.97443015; 26.759; 0.43233853; 0.28534343; 26.82432278; 7.0; 2.46357776; 0.19752483; 7.459; 2017.06.22D14:11:41.581279000; 2017.06.22D14:09:31.360276000; 1)).
b'insert'
2017-06-22 15:11:43,758 - ERROR
[ExchGwBittrex]
Error in order book: Error in running insert statement (`exch_bittrex_btcfct_snapshot_20170622 insert (1321; 0.01168231; 0.76617289; 0.011521; 0.01152084; 0.01152018; 0.01152017; 0.01152005; 0.01168133; 0.0116815; 0.0116823; 0.01168231; 0.01168232; 0.07981868; 0.07981868; 263.3046; 590.16; 8.54815189; 0.08990821; 0.08972119; 0.090133; 1.53334305; 25.4497504; 2017.06.22D14:11:43.740125000; 2017.06.22D14:10:26.297787000; 1)).
b'insert'

I'm not exactly sure why, but new data doesn't seem to be streaming into the KDB+. Also, not all tickers in subscriptions.ini are being updated in resources.ini. Only about half are being created. Here's a screenshot of the tables which are created when I run BitcoinExchangeFH:
http://i.imgur.com/ZFZSM5z.png
Here's a full output log:
http://sprunge.us/YDEg

I am looking into the issue and will get you back soon.
One more question:
Can you run the application solely with subscription of bittrex/btcgno? Does the issue only happen when it is subscribed with other instruments?

Using the following subscriptions_test.ini file:
[Bittrex-BTCGNO-Restful]
exchange = Bittrex
instmt_name = BTCGNO
instmt_code = BTC-GNO
enabled = 1

I get the following output:
2017-06-23 07:38:40,929 - INFO
[KdbPlusClient]
Kdb+ database client is connecting to localhost:5000

2017-06-23 07:38:40,930 - INFO
[KdbPlusClient]
Connection to localhost:5000 is successful.

2017-06-23 07:38:40,931 - INFO
[KdbPlusClient]
Table exchanges_snapshot is going to be created.

2017-06-23 07:38:40,932 - INFO
[[main]]
Subscription file = ./subscriptions_test.ini

2017-06-23 07:38:40,932 - INFO
[[main]]
Exchange/Instrument/InstrumentCode:
Bittrex/BTCGNO/BTC-GNO

2017-06-23 07:38:40,932 - INFO
[[main]]
Starting instrument Bittrex-BTCGNO...

2017-06-23 07:38:40,933 - INFO
[KdbPlusClient]
Table exch_bittrex_btcgno_snapshot_20170623 is going to be created.

Startup command:
$ python3.5 /home/obnauticus/.local/lib/python3.5/site-packages/befh/bitcoinexchangefh.py -kdb -kdbdest "localhost:5000" -instmts ./subscriptions_test.ini -output LOG3.TXT
I left the old subscriptions.ini (from original issue above with all Bittrex symbols) and over time it did seem to populate the KDB+ database; however this took a very long time and a lot of the information was incomplete--for example, in the exchange_summary table there was 0 trade volume for some symbols).
This issue may only be happening for large numbers of symbols being collected simultaneously from Bittrex?

Yes I suppose so. As the api calls among all instruments are synchronized calls, so the queuing calls are blocked from the return of the requesting call.
I believe the issue will be improved after the enhancement of #31 . In short term, I suggest you to separate the instruments into different processes but update the data on the same kdb database.

If you do not object I will close the issue soon.


Make link to demo use HTTPS

What's changed, or what was fixed?

item 1
item 2

Fixes: #issue
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Thanks for catching, merging now, will push live tomorrow.

:tada: This has been pushed live to https://developers.google.com/web/

Digital Marketing! | Work From Home!
Make money online without any expenses!
Our Journey Since 24.12.2012
Subscribe & help us to build a blog !
http://www.mizansurovi1.blogspot.com


Documentation

This code is good but its functionality needs shown in the documentation!

I'm not maintaining this anymore, if you want to take over, I'd be glad!


added Number Game

added Number Game to the list of games

I may have forgotten to update the branch somehow before merging this. Actually, Idk what the hell happened but this PR looks like a mess now, sorry

Its okay I just rebased the master, I will fix it on merge

Thanks for the contribution!

Don't forget to add hacktoberfest-accepted label. Thanks <33


Fix Route TLV handling during reattach.

When operating as a Router and attempting to reattach as a child,
reset to the Detached state before calling ProcessRouteTlv.  Otherwise,
ProcessRouteTlv will trigger another reattach since the previous
Router ID cannot be found in the Router Mask.

Fixes #1167.

Current coverage is 71.11% (diff: 100%)

Merging #1168 into master will decrease coverage by 2.27%

@@             master      #1168   diff @@
==========================================
  Files           128        127      -1
  Lines         17631      18773   +1142
  Methods        2496       2632    +136
  Messages          0          0
  Branches       2128       2273    +145
==========================================
+ Hits          12940      13351    +411
- Misses         3890       4550    +660
- Partials        801        872     +71

Powered by Codecov. Last update 3f243ed...7434c6c


Very difficult to download pre-trained weight

Hi @qijiezhao !
I tried to download pre-trained weights of M2Det in https://pan.baidu.com/s/1LDkpsQfpaGq_LECQItxRFQ.
But it is little difficult for people who have no account of service of baidu.
(and it is difficult to make own account because my Chinese is not enough 😢 )
Are you planning to be able to download without service of baidu?

Certainly! I plan to upload the weight file on Google Drive today.

Thank you so much for responding soon! 👍
I'm looking forward to it!

https://drive.google.com/file/d/1NM1UDdZnwHwiNDxhcP-nndaWj24m-90L/view?usp=sharing
Also, I have added this link in README.md

Great !
Thanks for speedy responding !


Adding IPv6 rule support in Nephe

Description
Handle IPv6 addresses configured on Antrea NetworkPolicy
Changes
With this checkin, Nephe controller will accept IPv6 IP blocks in Antrea NetworkPolicy and will apply them in cloud. Also, VirtualMachine Object will now include both IPv4 and IPv6 addresses in the network interface field.

/nephe-test-e2e-kind

/nephe-test-e2e-azure, /nephe-test-e2e-aks /nephe-test-e2e-eks

/nephe-test-e2e-aks

/nephe-test-e2e-azure

/nephe-test-e2e-kind


Hash Navigation with MultiFilter + Pagination + Text Search

Setup:
I have both multifilter and pagination extensions. Hash navigation is enabled and working, as per the "programmatic-filtering-by-url-with-pagination" demo supplied with the multifilter extension.
I have the below issue on my local dev environment, as well as the development site here: / link removed as no longer valid /
I did not want to create a jsfiddle, as the issue includes both your premium extensions and I wasn't sure the best way to link them to the project.
The issue:
When I reload the page with hash navigation for text search, I get the following errors:
mixitup.min.js:17 Uncaught DOMException: Failed to execute 'matches' on 'Element': '.data-business*' is not a valid selector.
It results in any other filter selection not rendering also.
Desired Result:
That I can filter by text, region select and service select simultaneously, with the hash updating as I go. Then, if I copy that url into a new tab and load it, it sets the filters according to the hash.

Hi,
Unfortunately that demo is not compatible with text search (or any attribute based query selector). Without heavily adapting demo, the best solution would be to exclude your text search filter group from the hash generator code.
There is a part of the code where you will have replaced the filter group names from the demo with your own. Simply omit the search group here.
Let me know if that works

Thanks @patrickkunka 😄That does solve the issue of the errors and not working, but it's a shame that it's not compatible with attribute based query selectors. I'd love to have that functionality.

The issue is the following two functions getValueFromSelector() and getSelectorFromValue() in the demo. They both expect only class-based attributes, and attempt to clean up special characters for a cleaner, more readable URL.
In order to adapt them to handle any kind of selector (but with a less clean URL, we can replace them with the following:
function getValueFromSelector(selector) {
    return encodeURIComponent(selector)
}

function getSelectorFromValue(value) {
    return decodeURLComponent(value);
}

Have tested this, and it seems to work. Please let me know how you get on.

@patrickkunka brilliant.

Great, glad it worked!

@conorseed don't suppose you ever figured out a way to do this with nicer URLs? Think I'm in your exact situation (using data-attributes for the filters).
Ended up running with this for the getValue;
function getValueFromSelector(selector) {
    console.log(selector); // [data-ages~='adults']
    return selector.split("'")[1]; //#age=adults
}

But can't seem to get the Selector to load from the url properly the other way around 😂 (even thought the console logged result is the same)
function getSelectorFromValue(value) {
    console.log(value);
    value = '[data-' + 'age' + '~=\'' + value + '\']';
    return value;
    // [data-ages~='adults']
}

@sjclark hey :) I wish I could help but this project was so long ago I have absolutely no idea haha.
It might mean making your own issue but I'm sure @patrickkunka would be willing to help!

Thought I may as well leave my (very) hacky solution in case someone else comes across this (like I did).
First issue was that it will parse too many = symbols, as it's parsed for the keys and the data-attribute. Easiest way is just to sub in another character:
output += key + '@';
var pair = group.split('@');
And then in terms of getting the value:
`function getValueFromSelector(selector) {
console.log(selector + ' (selector)');
return selector.split(''')[1];}
And setting I just lazied out and hardcoded each call:
function getSelectorFromValueOne(value) {
    var parent = "ages"
    value = '[data-' + parent + '~=\'' + value +'\']';
    console.log(value)
    return value;
}
function getSelectorFromValueTwo(value) {
    var parent = "dates"
    value = '[data-' + parent + '~=\'' + value +'\']';
    console.log(value)
    return value;
}

Which basically allows something like http://domain.test/page#age@adults,kids&dates@Nov-2,Dec-2


Generate APP_KEY without using Laravel artisan command

Removes the php artisan key:generate command which can be problematic
when running the container with a console attached.
Fixes #35

@fklingler Hey, I quite not sure if this is the correct way. Because every time you restart the container a new APP_KEY will be generated. So what I understand is that the APP_KEY will be used to encrypt data in the Database. So when it's true. It's not a good idea to generate the APP_KEY everytime new.

My bad, the key is generated each time, but the .env file is written only once so it does work correctly, but it could be written more cleanly. I'll fix that now.

It should be better now. Thanks for pointing that out!

@fklingler The .env file is written into the container through so you kind of expect it to be disposable at that point. It'll be destroyed at update unless you create a volume through to the BookStack files.
Overall I don't think the key itself really matters right now as I can't think of anywhere in BookStack that encryption is used (yet).
I could be wrong but it looks like @solidnerd has already set this up so you can provide the APP_KEY as an environment variable to the container which would be the proper way of getting around your issue.
As far as I can see, The changes in this pull request would actually prevent that functionality as the APP_KEY environment variable would be redefined in the script every time.

Yes I do create a volume for the files.
If you don't, the current .env file will still be destroyed and this could be a problem. And the php artisan key:generate command is still executed at each build.
I don't think you can provide APP_KEY through an environment variable, I didn't see where this would be handled in the current files, but I could also be wrong.
The main problem still is #35. You should not use the php artisan key:generate command like that in a Dockerfile. This forces an interactive response and it can be a problem in some environments. Maybe there is an option with the php artisan command to force a yes answer, and not be blocked if there is no user interaction? (but this would not be sufficient, as I said earlier, the command is still executed at each build and the key generated this way)

Yes I do create a volume for the files.
If you don't, the current .env file will still be destroyed and this could be a problem.

That's okay but not everyone will want to mount a volume at the root of BookStack just to save the .env file. Destruction of the .env file should not be a problem if all configuration is supplied to the container as env variables.

And the php artisan key:generate command is still executed at each build.

Yeah, I agree it would be better if this is changed to only run if no APP_KEY environment variable is passed.

I don't think you can provide APP_KEY through an environment variable, I didn't see where this would be handled in the current files, but I could also be wrong.

Looking at the entrypoint script here looks like it accepts an environment variable for this.

This forces an interactive response and it can be a problem in some environments.

100% agree. As with most artisan commands it does accept a --no-interaction flag which would be well suited here. Also should probably be added to the migration command.

It does work with --force though. Use:

php artisan key:generate --force.


[docs] Clarify required Mapzen attribution for service

Reading the terrain tile docs for attribution it seems like I would only needs to attribute U.S. Geological Survey and U.S. National Oceanic and Atmospheric Administration, but when using the hosted service (which most anyone is), a developer would also be required to credit Mapzen (see terms of use).
We should update the vector tile attribution page to make this clearer.
The required attribution could probably be simplified to:
Mapzen's hosted service:
Mapzen, U.S. Geological Survey, and U.S. National Oceanic and Atmospheric Administration.
or
Mapzen, USGS, and NOAA.
Self-hosted:
U.S. Geological Survey, and U.S. National Oceanic and Atmospheric Administration.
or
USGS, and NOAA.
Related: https://github.com/tilezen/vector-datasource/issues/1113

will work on this for the next docs release


Confirm analytics ID with each project owner

see https://github.com/USGS-VIZLAB/internal-analytics/issues/2


[Feature Request] Connect different Vector Stores as vectordb.

Is your feature request related to a problem? Please describe.
Connect vector databases via llamaindex.
Describe the solution you'd like
Maybe LlamaIndex is okay? We need integrated interface for this...
Describe alternatives you've considered
I think we need to manage #824 first for managing complex dependencies.
Additional context
Add any other context or screenshots about the feature request here.

But how connect existing vector DB to AutoRAG?
It doesn't have corpus.parquet and how to make it???? corpus.parquet is crucial to use it.
Consider corpus.parquet as one of the Vector Database is viable? Hmmmm


Decorator metadata missing in production build

Which @angular/* package(s) are the source of the bug?
compiler-cli, compiler
Is this a regression?
Yes
Description
Decorator metadata like "design:type" is missing in production builds, while working in development.
Having the following code:
export class MyClass {
  @Property()
  address: string;
}

Compiles the to the following in development:
var MyClass = class {
}
;
__decorate20([Property16(), __metadata20("design:type", String)], MyClass.prototype, "address", void 0);

But to the following in production build:
var Nr = class {
}
;
r([t()], Nr.prototype, "address", 2),

The information about the property address being of type String is missing.
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 18.1.3
Node: 22.5.1
Package Manager: npm 10.8.2
OS: linux x64

Angular: 18.1.3
... animations, build, cdk, cli, common, compiler, compiler-cli
... core, forms, platform-browser, platform-browser-dynamic
... router, service-worker

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1801.3
@angular-devkit/core         18.1.3
@angular-devkit/schematics   18.1.3
@schematics/angular          18.1.3
rxjs                         7.8.1
typescript                   5.5.4

Anything else?
No response

I've created a minimal reproduction: https://github.com/bagbag/angular-decorator-metadata
If you start the application with ng serve, you will see Design type: String
If you start the application with ng serve --configuration production, you will see Could not get design type, as the decorator metadata is not added to the compiled output.
While trying to reproduce this problem I found out, that it only occurs if isolatedModules is set to true in tsconfig.

It looks like to be linked to #27752.
Esbuild doesn't generate those metadata.

It looks like to be linked to #27752.
Esbuild doesn't generate those metadata.

Yeah, I suppose the CLI should not use this mode when emitDecoratorMetadata is enabled.
That said, I wouldn't want to depend on this metadata going forward, as it's currently only supported for the experimental decorators in TS, not the ES standard ones. reference

Additionally, emitDecoratorMetadata has design flaws that can cause it to generate runtime TDZ errors in ES2015+ code. All code generated by the Angular CLI is ES2015+.  Angular does not require the use of the option and unless required by specific project code, the option should ideally be removed.


SWBot gives the special:Blockip page link when new users register

For example:  New user [[simple:User:Shinewin2xw1xofxggrmrvbbg7sisbp]] created. Block: https://simple.wikipedia.org/wiki/Special:Blockip/Shinewin2xw1xofxggrmrvbbg7sisbp

@Pix1234 Can you explain what the problem is?

Shouldnt it be just special:block?

@Pix1234 It works both ways. The block system used to be called "Blockip" (because it was created for blocking IP addresses, the ability to block user names was created afterwards, about 10 years ago). It has been renamed to "Block", but the old name still works.
The CVNBot software is old and therefore uses the old name. The link is not broken though, and it works both ways.


How to mask a password in LDAP manager-password in config file

Geoportal uses the spring framework. Please see its documentation on storing the LDAP password with encryption at: https://docs.spring.io/spring-security/reference/features/authentication/password-storage.html#authentication-password-storage


"filled in" should optionally not ignore "lip style"

Trying to make a box with a flat top to then cut the shapes for my screwdrivers I noticed I can not fill the box completely, but the lip always remains. I'm trying to make a uniform height without boundaries and for this the lip is in the way.
As such I'd like to request an option to actually fill in everything as cutting of the lip obviously reduces total height.

I added this suggestion to Gridfinity Extended (which is built on this library). When using filled in, you can chose the lip style.
https://github.com/ostat/gridfinity_extended_openscad


ODBC Firebird official driver seems broken when used with DBeaver CE 22.3.2

Description
Something seems to have been broken between DBeaver CE 22.1.1 and DBeaver CE 22.3.2 when using ODBC Firebird drivers. Maybe also in some versions in between, but I've only tested it with those two.
When using 22.1.1 I can connect to a Firebird DB using a Firebird 3.x client dll (Firebird-<IP_ADDRESS>601_0_x64.exe installer) and Firebird 2.x ODBC drivers (Firebird_ODBC_<IP_ADDRESS>_x64.exe installer). When trying the same thing but with 22.3.2 I get the following message "[Microsoft][ODBC Driver Manager] Invalid string or buffer length"
[ PS: In case anyone stumbles upon this while searching for this message and is nearly going mad like I was since it didn't make any sense. Your most straightforward solution is to pay for a Devart ODBC Firebird driver. I know it doesn't sound like a great remedy, but the official Firebird driver doesn't seem to work in Power BI anyway, so... ] [Edit: For some odd reason the free Firebird ODBC Driver suddenly worked within Power BI, so you can ignore what I said before. Bug in DBeaver remains.]
DBeaver Version
Community Edition 22.3.2
Operating System
Windows 10 Enterprise 22H2 19045.2364
Database and driver
Firebird, unknown version, client 3.x is used to connect
Steps to reproduce
No response
Additional context
err.log

A little update: I tried many of the versions and the last one that works with the free and official Firebird ODBC Driver is the DBeaver CE 22.2.0. Starting from 22.2.1 you get the error mentioned above.

Hi @kondado,
Have you tried the Firebird connector? It works with the 3.0.10 in the CE 22.3.2. Is that an option for you?
Regarding the ODBC driver, please provide the exact steps, with screenshots, on how you replace the default ODBC driver files with the Firebird_ODBC_2.0.5.

Hello @iraidaa ,
I'm not sure to which Firebird connector you're referring. I configured an ODBC connection using the built-in ODBC Windows 10 system so to speak. For that, I used the software provided directly by firebirdsql.org.

Hello @iraidaa ,
I didn't know there was an integrated connector for Firebird. I guess it must have been added in newer versions since I couldn't find it in the 22.x.x one.
I just tried it out and it works a treat. Still, I wouldn't mark this issue as solved because of this, since the problem has to do with using the (external) ODBC connector.

Hi @kondado,
Unfortunately, this is an issue with the ODBC connector used in DBeaver. We can't solve it from DBeaver's side. You can use the Firebird connector. Also, the new ODBC driver developed by DBeaver will soon be available in the PRO versions of the product.


⚠ ClamAV has degraded performance

In 83234ab, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 73 ms

Resolved: ClamAV performance has improved in 1ce56b1 after 5 minutes.


Delayed registration

Hey @ppatierno is this something that would work for you?
The idea is that you mark which resource controller you want delayed:
@Controller(
    name = TestController.NAME,
    delayRegistrationUntilEvent = TestController.RegisterEvent.class)
public class TestController implements RegistrableController<TestResource> {
  // CDI Event to trigger registration
  public static class RegisterEvent {}
…
}

And then it will not be registered on the Operator until someone fires this CDI event:
  @Inject Event<TestController.RegisterEvent> event;

  @POST
  @Path("register")
  public void registerController() {
    event.fire(new TestController.RegisterEvent());
  }

Let me know if that works for you?

Where do you think I should add those docs?

Where do you think I should add those docs?

Inline comments in the code are fine with me for now. We will probably need to add something to the documentation at some point, though… but that could be taken care of later.

OK, is that enough?

@FroMage sorry, but where I am supposed to write the logic to execute before the controller registration happens and then saying "ok now you can continue and register the controller". It's not really clear to me. /cc https://github.com/tomncooper

@ppatierno:

@FroMage sorry, but where I am supposed to write the logic to execute before the controller registration happens and then saying "ok now you can continue and register the controller". It's not really clear to me. /cc @tomncooper

You could simply annotate your controller with the FQN of a CDI event and check for whatever you need to check for in your operator's run method and then fire the event when the condition is reached. The controller wouldn't get registered until the event got fired and you wouldn't need to tell the controller to get registered itself, it would happen automatically. See https://github.com/FroMage/java-operator-sdk/blob/relayed-registration/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestController.java#L11 for how the event is declared and https://github.com/FroMage/java-operator-sdk/blob/relayed-registration/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestOperatorApp.java#L36 for how the event is fired.

@ppatierno is there an issue for this PR, could you describe what is  the problem we are solving?

No issue that I know of. The problem is that some resources should not be started until other services become available, because they depend on them. This allows that sort of dependency to be expressed.

No issue that I know of. The problem is that some resources should not be started until other services become available, because they depend on them. This allows that sort of dependency to be expressed.

Can we describe the use case then in more detail? Like an example real life scenario where this would be needed.

@csviri Care to elaborate on the issues you see? I'd rather not wait until the weekly to hash any issues out…

@csviri Care to elaborate on the issues you see? I'd rather not wait until the weekly to hash any issues out…
We can discuss it also on a call, or here.

So first, would like to see a description of the problem / use case we are solving, with some real life example.
Do I understand it correctly that we want to register controller on some quarkus internal event? Why we are putting this intro controller annotation why not a separate annoation?

@csviri Care to elaborate on the issues you see? I'd rather not wait until the weekly to hash any issues out…
We can discuss it also on a call, or here.

So first, would like to see a description of the problem / use case we are solving, with some real life example.

The problem this attempts to solve is that controllers might actually need to wait on some external conditions before they're able to do their work (e.g. DB, some other Kubernetes resource/app…). Right now, controllers are registered as soon as they're processed which can lead to controllers being in a failed state when starting.

Do I understand it correctly that we want to register controller on some quarkus internal event? Why we are putting this intro controller annotation why not a separate annoation?

It's not a Quarkus internal event. The Quarkus implementation uses CDI events but there is nothing that prevents alternate implementations to use a different mechanism. Basically, the class name passed in the Controller annotation is used as a latch of sort and doesn't imply any specific implementation. A plain java implementation could use a simple listener mechanism (at least, I think) :)

(Sorry maybe I'm just not aware about the context)

I don't have all the context either, to be honest 😅

The problem this attempts to solve is that controllers might actually need to wait on some external conditions before they're able to do their work (e.g. DB, some other Kubernetes resource/app…). Right now, controllers are registered as soon as they're processed which can lead to controllers being in a failed state when starting.

@metacosm I think this should not be coupled tighly with the controller. Why the controller should solve it's own registration?

This could be done compeltely idependently from the operator SDK, with and event system, thus just call the registerController when its acutally needs to be, but the controller should not be aware this mechanism - neither the SDK.

The other solution for this problem is just to register an event source in the controller for example for the "DB", and expose an api of this EventSource where in the controller we can check if the DB is ready. If not just return from the controller. (Of course not emit events from the DB event source until its ready)

Neither of these solution require change in the core or an extension for some corner case mechanism.
@adam-sandor  pls take a look also.

The problem this attempts to solve is that controllers might actually need to wait on some external conditions before they're able to do their work (e.g. DB, some other Kubernetes resource/app…). Right now, controllers are registered as soon as they're processed which can lead to controllers being in a failed state when starting.

@metacosm I think this should not be coupled tighly with the controller. Why the controller should solve it's own registration?

The controller has nothing to do in this implementation. It just specifies that the SDK needs to wait for an event of the given class to register the controller. Where else would that information would live?

1. This could be done compeltely idependently from the operator SDK, with and event system, thus just call the registerController when its acutally needs to be, but the controller should not be aware this mechanism - neither the SDK.

Again, the controller is not aware of this mechanism. The annotation is just informing the SDK, or more precisely the Quarkus implementation, that it needs to wait before registering the controller. I guess we could extract the functionality from the Controller annotation and make it Quarkus-only, if that would be more acceptable.

2. The other solution for this problem is just to register an event source in the controller for example for the "DB", and expose an api of this EventSource where in the controller we can check if the DB is ready. If not just return from the controller. (Of course not emit events from the DB event source until its ready)

That seems overkill and would require a lot of coding for something that should be handled by the SDK, imo.

Neither of these solution require change in the core or an extension for some corner case mechanism.
@adam-sandor pls take a look also.

The controller has nothing to do in this implementation. It just specifies that the SDK needs to wait for an event of the given class to register the controller. Where else would that information live?

Again, the controller is not aware of this mechanism. The annotation is just informing the SDK, or more precisely the Quarkus implementation, that it needs to wait before registering the controller. I guess we could extract the functionality from the Controller annotation and make it Quarkus-only, if that would be more acceptable.

I meant exactly this, that the controller should not be aware even of the event. This can be decouple I guess. So please do.

That seems overkill and would require a lot of coding for something that should be handled by the SDK, imo.
You have to code that logic anyway somewhere, to when to register the controller. Would be exacly the same just inside an othe context.

So again while we don't see a very concrete example of this, should not be part of the core. I see this maybe as a different module or extension. Also feels like very much a corner case for me.
@FroMage coudl you describe your use case?

When you use the operator SDK in a plain Java application, you can run some other code before calling the register controller, right?
It seems not to be possible with the Quarkus extension due to the auto-wiring so, for example, if we want to run some specific code before the operator sdk register the controller and call the init on it.

@ppatierno yes in that case its just a matter of a method call, and it's up to you when do you do this.
@metacosm would it be possible to change the quarkus to also have this possibility?
So we can have this late registration functionality decoupled from the SDK?

@ppatierno yes in that case its just a matter of a method call, and it's up to you when do you do this.
@metacosm would it be possible to change the quarkus to also have this possibility?
So we can have this late registration functionality decoupled from the SDK core?

The whole point of this PR is to make it possible to have delayed registration with Quarkus. The impact on the core is minimal, in my opinion, though I will see if I can minimize it even more.

This feature has been integrated in the newly created Quarkiverse extension.


Fix: modelloader handling of model_kwargs load_in*bit

Description

I missed one important case where model_kwargs["load_in_8bit"] and model_kwargs["load_in_4bit"] are deleted at the end of self.set_quantization_config() which would break all further dependency on the above kwarg. This PR fixes that and refactors the handling.
Motivation and Context

How has this been tested?

Screenshots (if appropriate)
Types of changes

Social Handles (Optional)

This looks much better than checking if the key-value pair exists before each check. :-)

To validate the new e2e test, I ran it on current main which threw an error.
main

this branch


Typo 'surpress' in sidebar menu and page title

Couldn't find where to edit this.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5024fa30-1120-04be-76f7-3bf77a94cfa1
Version Independent ID: 500270dc-2a10-f593-23da-a1baa6893c2a
Content: Surpress emitting localsinit flag - C# 9.0 specification proposals
Content Source: proposals/csharp-9.0/skip-localsinit.md
Product: dotnet-csharp
Technology: csharp-spec
GitHub Login: @dotnet-bot
Microsoft Alias: wiwagn

Opened #23994 to fix this.


getting _.IndexBy is not a function error in Grafana 4.6.1

I'm submitting a ...

[ X] Bug report
[ ] Feature requestdd
[ ] Question / Support request

Software Versions

Grafana
Zabbix
Grafana-Zabbix Plugin

4.6.1
3.4.3
3.7.0

What did you do?
Tried to view hosts metric
What was the expected result?
retrieve host metric data and display in graph
What happened instead?
For every time of metric i'm getting the below:
_.IndexBy is not a function

QueryInspector seems to retrieve the data but yet not able to display in the graph:

Appreciate your help with this, if i'm reaching to far and need to downgrade to a previous version don't mind doing so.
Thanks!

@Pyroman1985 can't replicate this. From which grafana version did you update?

Thanks for your fast reply, i was updated from Grafana 2.0.4.
I have reverted back to that version and will try to update first to 3.X version and then to 4.X.
hoping this will resolve the issue, will update later today.
Thanks again!

Hi,
So, i was on 3.0.4 and not 2.0.4 as i wrote above.
I have updated to the latest of 3.X version, checked to verify it is working and it did,
Then i have updated to the 4.6.0 and it was also working, and final step was to update to the latest version 4.6.1 and appears this was fixed the problem.
Thank you!

Maybe that was a cache-related problem.


NNBD. Type promotion doesn't work in some cases

Run  the following code in dartanalyzer with --enable-experiment=non-nullable
class A {
  foo() {}
}

main() {
  A? a = null;
  a = new A();
  if (a != null) {
    a.foo();        // ok
    {a.foo();}      // ok
    () {a.foo();};  //  error - The expression is nullable and must be null-checked before it can be used. - null_check_operator_A01_t01.dart:52:9 - unchecked_use_of_nullable_value
  }
}

dartanalyzer version 2.7.0-dev.2.1
What is interesting here, that if to remove a = new A(); issue disappears. For example there are NO ISSUE for the following cases
  A? a = new A();
  if (a != null) {...

  A? a = null;
  if (a != null) {...

And THERE IS the issue for the code
  A? a = new A();
  a = new A();
  if (a != null) {...

Expected result: there must be no error in any case

I think this is working as intended (but it's about promotion so we haven't got the specification pinned down exactly yet). The point is that the existence of a function object (based on the function literal () {a.foo();}) changes the rules about promotion, because it's in principle possible that this function gets executed at any point in time (no attempt is made to track where the value of that function literal expression goes, it is simply considered to be available to all unknown code, as if it had been assigned to a global variable). That again means that a cannot be promoted in the body of the if (at least not in that function body, but we don't distinguish) because the function could be called at a time where the promotion of a is not valid, in particular because there is an assignment to a (a = new A()).
So there's a non-trivial amount of caution being applied here, and in each case it might be possible to prove that the promotion could soundly be performed, but the general rule has to be quite pessimistic.
@leafpetersen, do you expect promotion to be applied to a in the example?

Yes, any promoted variable which is assigned anywhere in the enclosing method is demoted to its declared type on entry to a function literal.

@leafpetersen, @eernstg, thank you for the clarification. I'll have to revisit all the tests which uses Expect.throws(() {a.foo();})....

Yes, any promoted variable which is assigned anywhere in the enclosing method is demoted to its declared type on entry to a function literal.

I think, it makes sense to not to take into account assignment in a dead code. For example
main() {
  A? a = new A();
  if (a != null) {
    () {a.foo();}; // error
  }
  if (false) {
    a = new A(); // assignment in a dead code
  }
}

dead code

That's an interesting point: We do have some usages where if (bool.fromEnvironment(...)) is used to get something like an #ifdef directive in Dart. This means that we can't expect dead code to be eliminated, and in the case where we compile for deployment and all those #ifdefs have been disabled, we should get all the optimizations we can.
But it could be a source of confusion if the #ifdef'd code contains a throw expression or similar, and that enables promotions elsewhere. This could suddenly mean that the program compiles in debug mode, but when we switch to a deployment compilation we suddenly have a bunch of compile-time errors, because of the missing (or just different) promotions.

Detecting dead code is an option, but I'm not sure it's one which pays for its own complexity.
Most production code will not contain any dead code. We can make the analyzer warn about dead code, and most people will just delete it then.
There is the situation where code is dead because it depends on a constant from the environment, but it would not be dead when running the same program in a different configuration. I'd probably still not want to require dead-code detection.
However, since we do have some flow analysis, it might make sense to not demote variables in functions if all assignments to the variable occurs before the function is even created. That would apply to the example here.
It's all a question of how clever we can (efficiently) be compared to how understandable it is to users.

However, since we do have some flow analysis, it might make sense to not demote variables in functions if all assignments to the variable occurs before the function is even created.

I don't think the style of analysis we're proposing to do is compatible with this.  There was an issue filed many moons ago about using a fixed point analysis (or maybe it was discussion in a doc).  The decision was not to do this - we collect assigned variables syntactically, and then do a one pass flow analysis.


To add working steps in three consecutive term AP,GP or HP

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

Hi, I want to work on this issue I will start working on it as soon as I get assigned!! I am a part of GSSoC'21.
Kindly assign this issue to me!
Discord Username : Abhijeet Sinha(P)
Discord Tag: #4018


Fix sort hover arrow

Pull Request Test Coverage Report for Build 2606

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 80.479%

Totals

Change from base Build 2601:
0.0%

Covered Lines:
2578

Relevant Lines:
3094

💛  - Coveralls


Wrong characters in object browser using QCCSID 37

After creating a new connection for the first time and connecting, I noticed that the NL symbols are not rendering correctly in the object browser. However, after disconnecting and reconnecting, they appear fine. I was able to reproduce this on a system where the QCCSID was 37, but not reproducible if the QCCSID was 65535 (explained further below as to why this may be the case).
Result after first connect:

Result after disconnecting and reconnecting:

After trying to debug this issue, I noticed a few things:

After the first connection, it looks like a quick connect is done using the cached server settings. However, everything except the cached QCCSID is being re-retrieved so the QCCSID ends up always being the default value (65535) during every quick connect. Looks like we should be setting that here.
I believe that the original issue is caused by the fact that this block of code is only run if the QCCSID is 65535. In my case, the QCCSID was retrieved properly as 37 the first time, but this prevents this block from running.
(This is a related but slightly different issue) When testing, I also noticed that if there was a connection with some cached server settings and I manually removed the connection from the settings.json file, the cached server settings are not removed which causes any new connection that is made (under the same connection name) to inherit those cached settings even though it may be a new host/user.

Context
Version

Code for IBM i version
2.10.4

Visual Studio Code version
1.89.1

Operating System
win32_x64

Active extensions
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0
Db2 for IBM i (vscode-db2i): 1.0.0
Emmet (emmet): 1.0.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
GitHub (github): 0.0.1
GitHub Authentication (github-authentication): 0.0.2
IBM i Debug (ibmidebug): 1.0.0
IBM i Project Explorer (vscode-ibmi-projectexplorer): 2.10.5
JSON Language Features (json-language-features): 1.0.0
Merge Conflict (merge-conflict): 1.0.0
Node Debug Auto-attach (debug-auto-launch): 1.0.0
TODO Highlight (vscode-todo-highlight): 1.0.5
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0
WCA@IBM (wca-at-ibm): 6.3.0
WSL (remote-wsl): 0.88.2

Remote system

Setting
Value

IBM i OS
n/a

Tech Refresh
n/a

CCSID Origin
37

Runtime CCSID
933

Default CCSID
933

SQL
Enabled

Source dates
Disabled

Enabled features

/QOpenSys/pkgs/bin
/usr/bin
/QSYS.lib/ILEDITOR.lib
/QSYS.LIB
/QIBM/ProdData/IBMiDebugService/bin

bash
attr
GETNEWLIBL.PGM
QZDFMDB2.PGM
startDebugService.sh

chsh
iconv

git
setccsid

grep

ls

md5sum

sort

stat

tar

tn5250

Shell env
BUILDLIB=AURORAKOR
CURLIB=AURORAKOR
HOME=/home/AURORAKOR
HOST=p8adt05.rch.stglabs.ibm.com
LIBLS=QTEMP QGPL TESTTOOLS
LOGIN=aurorakor
LOGNAME=aurorakor
MAIL=/var/spool/mail/aurorakor
OLDPWD=/home/AURORAKOR
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PWD=/home/AURORAKOR
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=<IP_ADDRESS> 7985 22
SSH_CONNECTION=<IP_ADDRESS> 7985 <IP_ADDRESS> 22
TZ=<UTC>0
USER=aurorakor
USERNAME=AURORAKOR
WORKDIR=/home/AURORAKOR
_=/QOpenSys/pkgs/bin/env

Variants
{
  "american": "#@$",
  "local": "#@$"
}

Errors
[
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF9801:  Object QCPTOIMPF in library QSYS not found.",
    "cwd": "/home/AURORAKOR"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF9801:  Object QCPFRMIMPF in library QSYS not found.",
    "cwd": "/home/AURORAKOR"
  },
  {
    "command": "ls undefined",
    "code": 2,
    "stderr": "ls: cannot access 'undefined': No such file or directory",
    "cwd": "/home/AURORAKOR"
  }
]

@SanjulaGanepola Good finds! I've seen this as well and it is a regression from when the CCSID handling was changed.
About the cached server settings being used for a manually deleted connection: I think we should include a checksum of the connection values in the cached server settings and remove it from cache if the checksums doesn't match.

@SanjulaGanepola

I believe that the original issue is caused by the fact that this block of code is only run if the QCCSID is 65535.

In theory, the block that is run only needs to happen when the QCCSID is invalid. When QCCSID is valid, then really the system should return the correct characters, though perhaps there might be a case (like when an old SSHD is running) where this might not be the case.
I created a PR with the fix for the connection issue and cached data.

Perhaps a test case we can run on two systems to determine this would be good.

@worksofliam In terms of manually testing, with the branch for https://github.com/codefori/vscode-ibmi/pull/2089, you can consistently reproduce the issue on every connect now as long as you make sure to Connect and Reload Server Settings on a system were the QCCSID is 37. In terms of a test case, I believe that if the issues mentioned in https://github.com/codefori/vscode-ibmi/pull/2068 are fixed, it can be used to verify this as well because I merged https://github.com/codefori/vscode-ibmi/pull/2089 into that PR.

About the cached server settings being used for a manually deleted connection: I think we should include a checksum of the connection values in the cached server settings and remove it from cache if the checksums doesn't match.

@chrjorgensen An idea I had in mind was to simply setup a configuration listener on code-for-ibmi.connections and code-for-ibmi.connectionSettings that will get the stored keys in storage and remove any that no longer exists in the settings.json. I can take a look at adding that. Any issues with this approach?

In theory, the block that is run only needs to happen when the QCCSID is invalid.

@worksofliam I just took a look at the query that gets run after the change in your branch and in ACS I can see that the result it gets back is not correct.

WITH SRCPF AS (
         SELECT t.SYSTEM_TABLE_NAME AS NAME,
                '*FILE' AS TYPE,
                'PF' AS ATTRIBUTE,
                t.TABLE_TEXT AS TEXT,
                1 AS IS_SOURCE,
                t.ROW_LENGTH AS SOURCE_LENGTH
             FROM QSYS2.SYSTABLES AS t
             WHERE t.table_schema = 'AURORAKOR'
                   AND t.file_type = 'S'
     ),
     OBJD AS (
         SELECT OBJNAME AS NAME,
                OBJTYPE AS TYPE,
                OBJATTRIBUTE AS ATTRIBUTE,
                OBJTEXT AS TEXT,
                0 AS IS_SOURCE,
                IASP_NUMBER AS IASP_NUMBER,
                OBJSIZE AS SIZE,
                EXTRACT(EPOCH FROM (OBJCREATED)) * 1000 AS CREATED,
                EXTRACT(EPOCH FROM (CHANGE_TIMESTAMP)) * 1000 AS CHANGED,
                OBJOWNER AS OWNER,
                OBJDEFINER AS CREATED_BY
             FROM TABLE (
                     QSYS2.OBJECT_STATISTICS(OBJECT_SCHEMA => 'AURORAKOR ', OBJTYPELIST => '*ALL')
                 )
     )
    SELECT o.NAME,
           o.TYPE,
           o.ATTRIBUTE,
           o.TEXT,
           CASE
               WHEN s.IS_SOURCE IS NOT null THEN s.IS_SOURCE
               ELSE o.IS_SOURCE
           END AS IS_SOURCE,
           s.SOURCE_LENGTH,
           o.IASP_NUMBER,
           o.SIZE,
           o.CREATED,
           o.CHANGED,
           o.OWNER,
           o.CREATED_BY
        FROM OBJD o
             LEFT JOIN SRCPF s
                 ON o.NAME = s.NAME;

@chrjorgensen An idea I had in mind was to simply setup a configuration listener on code-for-ibmi.connections and code-for-ibmi.connectionSettings that will get the stored keys in storage and remove any that no longer exists in the settings.json. I can take a look at adding that. Any issues with this approach?

@SanjulaGanepola I didn't know about the configuration listeners - but this is an excellent idea. Go ahead - I'll be looking forward to see your solution. :smiley:

@SanjulaGanepola good idea! 👍🏻
You may want to use this method: https://github.com/codefori/vscode-ibmi/blob/47b76278e1c3106fd64ba8f10dc6e42dc3286eea/src/api/Configuration.ts#L13
And check if these listeners here should be extended or if you'll need to add a call in a new place: https://github.com/codefori/vscode-ibmi/blob/47b76278e1c3106fd64ba8f10dc6e42dc3286eea/src/extension.ts#L82
https://github.com/codefori/vscode-ibmi/blob/47b76278e1c3106fd64ba8f10dc6e42dc3286eea/src/extension.ts#L83

@SanjulaGanepola

and in ACS I can see that the result it gets back is not correct.

This must be related to profile or system CCSID setup. I ran this with AURORAKOR before (when working with Jonathan) and it worked fine.
Just for reference, check out this page which mentions about how object names are stored:

The characters in names are converted to CCSID 37 when the names are stored. Quoted names, however, are stored using the CCSID of the job.

This must be related to profile or system CCSID setup. I ran this with AURORAKOR before (when working with Jonathan) and it worked fine.

@worksofliam I tested on 3 different machines and I am still not getting back the right symbols. I tried with the following:

QCCSID 37 + user profile CCSID 933
QCCSID 65535 + user profile CCSID 933

@SanjulaGanepola So, we've got the SQL statement to get a list of objects, but can also share an SQL statement (or CL command) to create those objects with the expected name and text?

@SanjulaGanepola I guess your test cases in #2068 can create those objects.

I guess your test cases in #2068 can create those objects.

Yes I used the test cases to create those objects. Here are also the commands I used:
system 'CRTLIB LIB("AÜ§#$%Ä") TEXT("§#$öße")'
system 'CRTSRCPF FILE("AÜ§#$%Ä"/"àáãÄ£ø") RCDLEN(112) CCSID(273) TEXT("Üä$öß")'
system 'ADDPFM FILE("AÜ§#$%Ä"/"àáãÄ£ø") MBR("§#$MAN") SRCTYPE(CBLLE) TEXT("§#$öße")'


A11y: Move Placeholder Value to Label

Display label in the correct place instead of using placeholder so user can always see the description of the input field
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

Attach to WI-795453

@RadSFDeveloper @npsp-reedestockton The text label PR is ready for review.


Codecov indicates coverage change when no source code is touched

Required information
Operating system:
All compilers
Compiler version:
All compilers
Observed result or behaviour:
When Pull-Request are opened, the codecov still post a comment in the PR that the coverage was touched even when no codefiles are modified.
Example: https://github.com/eclipse-iceoryx/iceoryx/pull/773/files
It seems that often the coverage involving smart_c.inl is flickering. The timing_tests are already uploaded in a separate codecov target but there are still flacky tests. It could be also a wrong configuration in codecov.

[ ] Ensure that there are no flacky tests in the output of gcov/lcov
[ ] Investigate a possible misconfiguration in the codecov configuration

Expected result or behaviour:
Code Coverage should only change when test files are modified.
Conditions where it occurred / Performed steps:
Open a Pull-Request without modifying source code files.

@dkroenke only the tests marked as TIMING_TEST are in a separate target. There are far more tests relying on a timing. These might have a wider time margin than the ones from TIMING_TEST which don't make them sporadically fail but still might result in different code paths.
Although I proposed something like TIMING_TEST, I came to the conclusion that it's the wrong path. On the one hand we tend to just make it a TIMING_TEST instead of thinking about a better solution and on the other hand it might even hide real errors. If we have a component which is reliably fails every second execution, it will always pass the TIMING_TEST

@elBoberido That's indeed a good point, we need to isolate those "hidden" Timing Tests and either need to isolate or rewrite them (the latter is prefered).

@dkroenke I think we need a brainstorming session here. Some timing tests need to remain timing tests, like for instance a call to sem_timedwait but those cases are hopefully rare.
For all the other test cases we need strategies on how to circumvent the timing test with a neat usage of semaphores, condition variables, or whatever. This should be documented for all the developers so that we have it in our toolbox. Or maybe we can even abstract it and move it into the test utils.
Sometimes we use timing tests to ensure that we are in the middle of a callback and that another callback runs successfully concurrently. Here maybe we can use also makecontext and context switches. For instance, the sigaction is based on that as well as racer peppi - maybe we can use it also in this context.
I suggest the following approach:

Collect Timing test use cases.
Find alternative approaches for timing tests use cases, document them or provide them as testutil in iceoryx utils.
If timing tests are remaining, refactor TIMING_TEST_F so that is more robust. Idea is that the user has no write access to the timeout T, it is preset by the test fixture. Whenever a test fails once the timeout T is increased (until an upper limit). The reruns of the timing tests N are not accessible by the user, they are internally defined (e.g. 10 for instance). A successful timing test than means: running a timing test N times without any failure at a specified timeout T. If it fails once for the timeout T the timeout is increased until either the test is successful or the upper limit is reached. @elBoberido  would this be robust enough?

@elfenpiff ideally we would have a synthetic time but I guess that's not possible for all tests. At least the abstractions making the synthetic time possible would need testing with real time.
I'm not sure about the increased timeout since it makes the actual test parameter nontransparent. It might help keep the test time low, though. But if it runs 10 times, these gains are compensated.
I don't know of a good generic solution. Maybe we need to check what other projects are doing.


KAFKA-16087: Avoid data race which drops wrong record when errors.tolerance=all and asynchronous error occurs

The single ProcessingContext in the RetryWithToleranceOperator is subject to a data race when interacted with across multiple threads. Specifically, when the main task thread is converting records, an asynchronous error (from producer or errant record reporter) can intervene, and cause a non-problematic record to be incorrectly dropped silently.
To fix this, make ProcessingContext a per-record object which is passed between threads (task-main-thread -> producer io thread/task-main-thread -> task internal thread) but never accessed concurrently. This has a number of benefits:

No locking on the happy-path, where before every RWTO operation was synchronized (failures are still synchronized to collect the totalFailures & report errors)
Less mutability in the ProcessingContext which is easier to reason about
Easier to add parallelism to the transformation chain in the future

This comes at the cost of additional memory pressure from allocating more ProcessingContext objects, which should be negligible compared to the ConnectRecords themselves, and comparable to the existing InternalSinkRecord.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test failures appear unrelated, and connect:runtime passes for me locally.


 Most of them are pretty boring Javascript-syntax stuff that doesn't make that much difference, but it's a chance to go over the code and tidy it up by definition. I'm partly done, will close this issue when I am completely done on branch lint-roll

This is very nearly done, I'm almost out of real linter errors.


chore: improve login logging

Summary by CodeRabbit

New Features

Improved error logging for failed login attempts in Meiju Cloud, MSmartHome Cloud, and Midea Air Cloud services. Users will now see warning messages indicating login failures for specific devices.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 24.32%. Comparing base (8ad314e) to head (af7ae79).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #193      +/-   ##
==========================================
+ Coverage   24.28%   24.32%   +0.03%
==========================================
  Files          78       78
  Lines        6802     6805       +3
==========================================
+ Hits         1652     1655       +3
  Misses       5150     5150

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@chemelli74 why is this needed?


Add imageContainerStyle prop for styling the image

custom styles for the image

Will bump this package to v0.3.1 to make it immediately accessible to the public.


WIP: Adds rspec configuration to set default facterdb search paths

FacterDB 0.4.0 added a new feature that allows the user to
supply their own custom fact sets.  While this feature alone
has no affect on rspec-puppet.  Other bolt on tools like
puppet-debugger and rspec-puppet-facts which rely on facterdb
and driven by rspec-puppet. This commit allows the user
to set some facterdb environment variables through the rspec
configuration setting so that using this new facterdb feature
is more seemless with rspec-puppet.

This adds two new configuration settings

facterdb_skip_defaultdb
facterdb_search_paths

Both of these settings are set and unset upon each test

I am putting this up for review as I have a few questions.

I want to set the default facterdb search path to the fixtures/facts directory.  However I am unsure how to get the fixtures directory from the rspec-puppet.rb file.

How and where should I be testing these new configurations?  I put them in the support file, but I don't think they should go there.

Coverage increased (+0.06%) to 91.449% when pulling 1f128bf2bf31d68b95eb87fbae563af61b946db0 on nwops:external_facts into 11f93e70abaf35f774a3c7c87f9107fa62a0152c on rodjek:master.

Because rspec-puppet does not actually require facterdb this code should be in the rspec-puppet-facts instead.  I am closing in favor of that approach.