pageInfo.total decreasing on each page

When using pageInfo.total to display the total number of results in a paginated set, the number decreases as one progresses through the pages. It looks like the total is being calculated from the number of pages including and after the current one and omits to include any entries from pages before the current page.
To reproduce
Create a paginated result set and use sprig.paginate
Output the total results using pageInfo.total and move through the pages
pageInfo.total decreases by the number of entries being displayed per-page.
Expected behaviour
total should remain consistent as the total number of entries being returned in the entire paginated set.
Screenshots
Three screenshots added showing how the total decreases as we advance through the pages.

Versions

Plugin version: Sprig 1.3.3
Craft version: Pro 3.6.3

--

Can you show the code that you use to generate the query and output the total results?

Yeah sure. This is extracted from the template to make it a bit clearer.
This is an example of the query being made.
{% set cats = ['and'] %}
	{% set cats = cats|merge(searchFilter) %}

	{% set entries = craft.entries().section('publications').publicationKeywords(cats).search(query).with(withFields).orderBy('publicationDate desc').offset(offset).limit(limit) %}
	{% set pageInfo = sprig.paginate(entries, page) %}

And then the total results (pageInfo.total) is being passed into a "hero" component as
{% include '_includes/hero' with {
	'heading' : 'Publications',
	'copy' : databasePages.publicationsPageIntroText,
	'total' : 'Total results: ' ~ pageInfo.total
}%}

As mentioned it "works" but as I advance through the pages the total is reduced by the amount of results per page.
and just in case, here's the pagination markup

	{% if entries and pageInfo.totalPages > 1 %}

			{% if pageInfo.currentPage > 1 %}
				<button class="button button--pagination pagination__previous" sprig s-val:page="{{ page - 1 }}">
					Previous
				</button>
			{% endif %}

				{% for i in pageInfo.dynamicRange(5) %}
					{% if i == pageInfo.currentPage %}
						{{ i }}
					{% else %}
					{# Refreshes the component and pushes the new value into the URL #}
						{{ i }}
					{% endif %}
				{% endfor %}

			{% if pageInfo.currentPage < pageInfo.totalPages %}
				<button class="button button--pagination pagination__next" sprig s-val:page="{{ page + 1 }}">
					Next
				</button>
			{% endif %}
	{% endif %}

Ahhh is it the offset query param that I'm applying?

Yep, I can see what I did wrong now! Should have known it wouldn't be a bug

Yup, you got it, the offset should not be applied to the query.


No CSS files generated from plugin by using css-loader and sass-loader

Hi.
I am trying to generate one main css file for my application based on my sass files by using the ExtractTextPlugin. I have looked at many examples and googled for hours, and I cant seem to find other people with the same issue, which is that no css file is generated.  I must be missing some small but important detail. Any help is greatly apprectiated. Here is my webpack config (in its entirety):
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    entry: {
      config: './app/config/config.js',
      betaling: './app/index.jsx',
    },
    output: {
      path: __dirname + '/wwwroot',
      filename: './dist/[name].bundle.js'
    },
    externals: {
      "config": "config",
    },
    debug: true,
    devtool: 'cheap-module-eval-source-map',
    module: {
      preLoaders: [
        {
          test: /\.jsx?$/,
          loader: "eslint-loader",
          exclude: /node_modules/
        }
      ],
      loaders: [
        {
          test: /\.jsx?$/,
          exclude: /(node_modules)/,
          loader: 'babel-loader',
          query: {
            presets: ['es2015', 'react']
          }
        },
        {
          test: /\.yml$/,
          loader: "json!yaml"
        },
        {
          test: /\.scss$/,
          exclude: /(node_modules)/,
          // loader: "style!css!sass",
          loader: ExtractTextPlugin.extract('css!sass'),
        }
      ]
    },
    plugins: [
      new webpack.DefinePlugin({
        'process.env.ENVIRONMENT': '"'+process.env.NODE_ENV+'"'
      }),
      new ExtractTextPlugin('style.css', {
        allowChunks: true
      })
    ],
    resolve: {
        extensions: ['', '.js', '.jsx', '.scss']
    }
};

Filestructure:
...
app/
|    +--sass/
     |    +-- main.scss
     |    +-- *.scss
wwwroot/
webpack.config.debug.js
...

I also include the main.scss file in my root React container (dont know if I need this or not regarding the extract-plugin.)
import React from 'react';
import './sass/main.scss';

class App extends React.Component {
  render() {
    return (
      <div>
        {this.props.children}
      </div>
    );
  }
}

App.propTypes = {
  children: React.PropTypes.element.isRequired,
};

export default App;

PS. I know that it is not necessary to create css files in debug. I intend to do this for production, but i just want it to work first :P

In all my wisdom I did not realize that the dev-server did not write files to disk. The setup is working when I do not run the dev-server

@cwallervand glad that was fixed, but why can't the dev server write file to disk?
I am trying to write a styleguide with node-kss, and you want to write a styleguide when developing, not when you are in production, isn't that limitation counter-productive?
I am trying to use this plugin to extract and create the css files when using the dev server, so that the styleguide can be updated accordingly

Not sure I understand your question @phun-ky. I think that the webpack-dev server serves the assets from memory, and not from disk.
As to how we are using the plugin, here is the relevant parts from our production webpack configuration (where we use the extract-text plugin):
const ExtractTextPlugin = require('extract-text-webpack-plugin');
...
const config = {
  module: {
    loaders: [
      {
        test: /\.scss$/,
        loader: ExtractTextPlugin.extract('style', `css!postcss!sass?sourceMap&includePaths[]=${bourbonPath}&includePaths[]=${neatPath}`, {
          publicPath: '',
        }),
      },
    ],
  },
  postcss: [
    autoprefixer(),
  ],
  plugins: [
    new ExtractTextPlugin('[name].bundle.[chunkhash].css'),
  ],
};

In development we do not use the extract-textx plugin, instead we inline the styling. Here is a snippt of the relevant parts from our development config for webpack:
const config = {
  module: {
    loaders: [
      {
        test: /\.scss$/,
        loader: `style!css!postcss!sass?sourceMap&includePaths[]=${bourbonPath}&includePaths[]=${neatPath}`,
      },
    ],
  },
  postcss: [
    autoprefixer(),
  ],
};

In our application container (AppContainer, we use React) we import our main Sass file:
import './styles/main.scss';

main.scss references other scss files. These can be from the local project or from an imported npm package  (we use our own styleguide written with kss ;) )
Hope this was of help to you.

The problem with this approach, is that when you are trying to view the
generated styleguide, the styles you have created is not used by the KSS
template. The only way to do that is to include a css file, but the
given approach is that the produced and required css file is not
available until you do a production build, making the development of a
styleguide a bit tiresome
Den 2016-06-20 14:31, skrev Christian Wallervand:

Not sure I understand your question @phun-ky [1]. I think that the webpack-dev server serves the assets from memory, and not from disk.
As to how we are using the plugin, here is the relevant parts from our production webpack configuration (where we use the extract-text plugin):
const ExtractTextPlugin = require('extract-text-webpack-plugin');
...
const config = {
module: {
loaders: [
{
test: /.scss$/,
loader: ExtractTextPlugin.extract('style', css!postcss!sass?sourceMap&includePaths[]=${bourbonPath}&includePaths[]=${neatPath}, {
publicPath: '',
}),
},
],
},
postcss: [
autoprefixer(),
],
plugins: [
new ExtractTextPlugin('[name].bundle.[chunkhash].css'),
],
};
In development we do not use the extract-textx plugin, instead we inline the styling. Here is a snippt of the relevant parts from our development config for webpack:
const config = {
module: {
loaders: [
{
test: /.scss$/,
loader: style!css!postcss!sass?sourceMap&includePaths[]=${bourbonPath}&includePaths[]=${neatPath},
},
],
},
postcss: [
autoprefixer(),
],
};
In our application container (AppContainer, we use React) we import our main Sass file:
import './styles/main.scss';
main.scss references other scss files. These can be from the local project or from an imported npm package (we use our own styleguide written with kss ;) )
Hope this was of help to you.
--
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub [2], or mute the thread [3].

Links:
[1] https://github.com/phun-ky
[2]
https://github.com/webpack/extract-text-webpack-plugin/issues/155#issuecomment-227128863
[3]
https://github.com/notifications/unsubscribe/ABonbfeEMLI1GnIIqXxLwjUhUk3_Kacpks5qNogTgaJpZM4HgZ2-

thank you cwallervand, because of all the answers I've googled, nobody, not one, told me that you have to import './sass/main.scss';
that very simple piece of code. Not one, noone


Fixes the problem with conf.dirs on Databricks

Perhaps I am overlooking something, but it would seem that we should just be able to use the current SpookyConf.dirs property as the defaults would already have been set if not specified explicitly to begin with. The example test case also passes using this approach.

This does indeed fix the problems on Databricks as well

New fix published, so sorry about the indiscretion
Indeed, the dir configurations can be read from SparkConf and system
properties, which can be set by launching parameters. This is the
purpose of importFrom, as SparkConf is not available when SpookyConf is
created.
The latest commit should run both tests successfully (by dropping the
initial SparkConf immediately after its imported), thanks a lot for the
helping!
Yours Peng
On 15-09-16 02:38 AM, Austin Prete wrote:

Perhaps I am overlooking something, but it would seem that we should
just be able to use the current SpookyConf.dirs property as the
defaults would already have been set if not specified explicitly to
begin with. The example test case also passes using this approach.

    You can view, comment on, or merge this pull request online at:

https://github.com/tribbloid/spookystuff/pull/51
    Commit Summary

Should fix the problem with conf.dirs on Databricks
File Changes

M
core/src/main/scala/com/tribbloids/spookystuff/SpookyConf.scala
https://github.com/tribbloid/spookystuff/pull/51/files#diff-0 (20)

M
core/src/test/scala/com/tribbloids/spookystuff/TestSpookyContext.scala
https://github.com/tribbloid/spookystuff/pull/51/files#diff-1 (1)
Patch Links:

https://github.com/tribbloid/spookystuff/pull/51.patch

https://github.com/tribbloid/spookystuff/pull/51.diff

—
Reply to this email directly or view it on GitHub
https://github.com/tribbloid/spookystuff/pull/51.

Great, your solution seems more robust! Closing this out now


Unicode search index

I believe this will fix #2. @Adjective-Object, this might do what I think you were asking!
Some "screenshots"
Emoji by words in their description:
$ chars woman
U+0001F930, 🤰 0x0001F930, \0374460, UTF-8: f0 9f a4 b0, UTF-16BE: d83edd30
Prints as 🤰
Quotes as \u{1f930}
U+0001F475, 👵 0x0001F475, \0372165, UTF-8: f0 9f 91 b5, UTF-16BE: d83ddc75
Prints as 👵
Quotes as \u{1f475}
Unicode name: OLDER WOMAN

U+0001F46F, 👯 0x0001F46F, \0372157, UTF-8: f0 9f 91 af, UTF-16BE: d83ddc6f
Prints as 👯
Quotes as \u{1f46f}
Unicode name: WOMAN WITH BUNNY EARS

U+0001F46B, 👫 0x0001F46B, \0372153, UTF-8: f0 9f 91 ab, UTF-16BE: d83ddc6b
Prints as 👫
Quotes as \u{1f46b}
Unicode name: MAN AND WOMAN HOLDING HANDS

U+0001F469, 👩 0x0001F469, \0372151, UTF-8: f0 9f 91 a9, UTF-16BE: d83ddc69
Prints as 👩
Quotes as \u{1f469}
Unicode name: WOMAN

U+000101D5, 𐇕 0x000101D5, \0200725, UTF-8: f0 90 87 95, UTF-16BE: d800ddd5
Prints as 𐇕
Quotes as \u{101d5}
Unicode name: PHAISTOS DISC SIGN WOMAN

U+00010081, 𐂁 0x00010081, \0200201, UTF-8: f0 90 82 81, UTF-16BE: d800dc81
Prints as 𐂁
Quotes as \u{10081}
Unicode name: LINEAR B IDEOGRAM B102 WOMAN

U+2F25, ⼥ 0x2F25, \027445, UTF-8: e2 bc a5, UTF-16BE: 2f25
Prints as ⼥
Quotes as \u{2f25}
Unicode name: KANGXI RADICAL WOMAN

Restricting the search space with words
These changes also allow chars to search for characters whose descriptions match a few words, e.g.:
$ chars 'joiner zero'
U+200D,  0x200D, \020015, UTF-8: e2 80 8d, UTF-16BE: 200d
Prints as
Quotes as \u{200d}
Unicode name: ZERO WIDTH JOINER

or:
$ chars 'cat smiling'
U+0001F63B, 😻 0x0001F63B, \0373073, UTF-8: f0 9f 98 bb, UTF-16BE: d83dde3b
Prints as 😻
Quotes as \u{1f63b}
Unicode name: SMILING CAT FACE WITH HEART-SHAPED EYES

U+0001F63A, 😺 0x0001F63A, \0373072, UTF-8: f0 9f 98 ba, UTF-16BE: d83dde3a
Prints as 😺
Quotes as \u{1f63a}
Unicode name: SMILING CAT FACE WITH OPEN MOUTH

U+0001F638, 😸 0x0001F638, \0373070, UTF-8: f0 9f 98 b8, UTF-16BE: d83dde38
Prints as 😸
Quotes as \u{1f638}
Unicode name: GRINNING CAT FACE WITH SMILING EYES

I'll leave this open a few days so people can comment, and will merge ~Wednesday-ish unless there are objections (:

OK, it's Wednesday! Time to merge this (it's been working pretty well for me).
One of the things that I'd like as follow-up work on this is to make sure that all the names that these characters respond to (e.g. ZWJ) are displayed when calling them up - this isn't currently the case, but would be really nice to have.


Trading API alterations

Update docs and scripts as appropriate to match the new function names and signatures of the Trade contract.
...
This is blocked until v2 contracts are done.
-adrake33

I'm going to close this right now -- we'll keep track of individual items for this as we go.


[BM-681] SurfaceViewRenderer memory leak fix

Task

JIRA

Description

Keep SurfaceView reference to manually remove sink during stopCapturing

          2 Warnings

:warning:
app/src/main/kotlin/co/netguru/baby/monitor/client/feature/communication/webrtc/server/WebRtcManager.kt#L16 - Class ‘WebRtcManager’ with ‘16’ functions detected. Defined threshold inside classes is set to ‘15’

:warning:
app/src/main/kotlin/co/netguru/baby/monitor/client/feature/communication/webrtc/server/WebRtcManager.kt#L49 - This expression contains a magic number. Consider defining it to a well named constant.

          1 Message

:book:
:link: BM-681

JaCoCO Code Coverage 15.8% :white_check_mark:

Class
Covered
Meta
Status

co/netguru/baby/monitor/client/feature/communication/webrtc/server/WebRtcManager
0%
0%
:white_check_mark:

APK file size

size

30.3MB

Number of method references

Dex file
count

classes.dex
46959

  Generated by :no_entry_sign: Danger


Comments?

Nice code, but please make it a habbit to add comments.
What is a chunk?
What is a block?
How can I see the data in the debugger? (QT Creator)
Thanks :)

Thanks for your comment Kulitorum!
I have added comments above class chunk and class block in an attempt to clarify what they are. Please let me know if you find them helpful as an explanation.
I'm not sure what you mean by "How can I see the data in the debugger? (QT Creator)" I have never used QT Creator. Could you clarify?

Thanks. makes more sense now :)
FYI, here's the changes I have to make to compile on MSVC 15: (> lines are the fixes)
gcode_program.h:191: error: C2039: 'unique_ptr': is not a member of 'std'

#include

gcode_program.h:18: error: C4716: 'gpr::address::addr_tp': must return a value

virtual address_type addr_tp() const { assert(false); return ADDRESS_TYPE_INTEGER;}

gcode_program.h:104: error: C4716: 'gpr::chunk::tp': must return a value

virtual chunk_type tp() const { assert(false); return CHUNK_TYPE_COMMENT;}

In terms seeing data in the debugger, this is what I can see when I hit a breakpoint:

Can this be changed so that one can see the real data in a debugger?
Thanks :)

Thanks for getting back to me.
I do not have MSVC (I use a mac), so I cannot see your problems firsthand.
I have made some changes to the code to try to fix the compilation errors you mentioned. The current version should now compile on MSVC 15 if it has C++ 11 support.
Re data in the debugger: When you say "Can this be changed so that one can see the real data in a debugger?" what do you mean by "the real data". What specifically are you expecting to see in the debugger that you do not see? I have not used the MSVC debugger so I do not know what it normally shows you.
My guess is that since the library is compiled with -O2 and is not compiled with debug symbols on there is some debug information that is missing.
I have added debug and release settings to the CMakeLists.txt of the project. My suggestion would be to set the CMAKE_CXX_FLAGS_DEBUG variable in CMakeLists.txt to whatever the msvc command is for debug symbols (the clang++ flag for adding debug symbols is -g, so I have added it to the CMAKE_CXX_FLAGS_DEBUG variable), then re-build the project with CMAKE_BUILD_TYPE=Release.
Unrelated but what are you trying to do with the G-code parser? I'm curious about what people want to use this G-code parser for.

I will answer your last question first :)
I develop and build 3d printers from scratch, starting from a specification either from a customer or my own need. I do the CAD work, produce the mechanicals and build firmware for the machines and I use or sell the machines.
As a part of this, I often need to manipulate the gcode so I can test stuff that has not been done before. One example is recently I made a small program that analyzes gcode and adds a new axis to it, which would rotate the printhead of a printer to match the tangential direction of the direction being printed.
To do that, I needed to sometimes add new lines of code when the printer has to stop and rotate the head in place, and at other times just to add the rotation to an existing line of code.
Right now I am trying to add mixing to a two-in-one-out printhead, by retracting one filament while extruding another. So I will need to cut all moves in the gcode into smaller pieces and add oscillating movements to the two extruders, while maintaining the pressure in the printhead. The purpose is to blend two colors together inside the printhead while printing.
So while manipulating gcode this way, it would be a lot easier if I could read the numbers and commands directly in the debugger, which I cannot the way the code is written now, because everything (all the real data) ends in a void pointer, so the debugger does not know how to display the data deep down in the data structures.
For reference, I am not using your CMake, but rather just drop the cpp and h files in my own project and go from there.
BTW, I am a self-taught programmer and never took a single course, so I may not have the perfect understanding of proper structural programming that you clearly do, but am more of a hacker.
Would it be feasible to store the data directly inside the vectors rather than pointers to them? - What would be the downside?

Thanks for getting back to me. Sounds like you are doing very cool stuff!
As far as examining the debugger goes, you wrote:
"Would it be feasible to store the data directly inside the vectors rather than pointers to them? - What would be the downside?"
In the original design it would not be possible to store the list of chunks directly in a vector. The reason that blocks store a list of pointers to chunks instead of just a list of chunk objects is because chunk is an abstract class with 2 subclasses: one for comments and one for word addresses. Each of those classes occupies a different amount of memory, so the compiler does not know how to create a vector because each chunk might have a different size. This is a common source of difficulty in C++ code. If you are interested to learn more about this there are many explanations on the internet. Here is one:
https://stackoverflow.com/questions/37911552/why-i-can-not-use-abstract-class-in-stdvector
To avoid this problem I have re-written the internal part of the parser so that the chunk data structure is not abstract. In the new design there are no subclasses for comments and word address pairs, every chunk object includes fields for both comments and word-addresses, but when a chunk is a comment the word-address fields are set to default values and are not used, and when the chunk is a word-address pair the fields for comment data are set to default values and not used.
If you copy the new parser in this repo into your code you should now be able to see each chunks actual fields in the debugger.
I have tested this with LLDB (the native mac debugger) and I can see the fields of each chunk in each block during debugging.
Let me know if that worked. Also it would be great if you would give this repo a star to increase its visibility!

Thank you too :)
Debugging is better now, but still not quite readable. Maybe we could just store the original string in each block as a std::string for readability, and only have it there in debug builds? It would ofcause need to be artificially created for blocks that are generated and inserted on the fly. - Would it be possible to just generate the string every time a block is changed?
This is what I am getting now:

Thanks for the effort :)
How do I give it a star?
You can see some of my projects here: https://www.youtube.com/user/KulitorumCom/videos

Michael,
I have added your suggestion to the code. class block now has a field called debug_text which you should be able to view in the debugger.
To set the debug_text of a block to any string you want you can call the method:
void set_debug_text(const std::string& new_debug_text);

in class block. I assume that usually you will want to set the debug_text to be a string representation of the block itself, so for that you can call the method:
void set_debug_text();

For convenience I have also added a new parsing function:
gcode_program parse_gcode_saving_block_text(const std::string& program_text);

Which sets the debug_text of each block automatically.
I have also added an example of how to create a block on the fly and set its debug text in main.cpp
To star the repository log into your github account, navigate to this repository and look in the top right corner of the screen just below the black toolbar at the very top of the screen. There should be options to "Watch", "Star", or "Fork" the repository. Click the button with the star icon to star the repo. After you click it the star count should go from zero to one. You can see a screenshot from my computer that shows the watch, star, and fork buttons below the black toobar and above the green "New Issue" button.


Enterprise metabase?

This is an awesome module and it saves so much pain! Thank you for putting it together. I have encountered a couple issues though.
One - have you tried to deploy metabase/metabase-enterprise with this module? When I do - I am getting DB error java.lang.Exception: DB is not set up. Make sure to call set-default-db-connection! or bind *db-connection*.  and not sure what exactly is going on
Another - when I tried to use the module as is I got error liquibase.exception.DatabaseException Specified key was too long; max key length is 767 bytes. Specifying engine_version (I set it to "5.7.mysql_aurora.2.03.2") seems to fix this issue. Not sure if it's a known issue.
Thanks!

We have an extremely narrow use case for the module so we haven't attempted to use it with metabase-enterprise.
I don't have much experience with metabase itself so I haven't encountered either of the errors you mentioned and unfortunately I don't have any key information to offer.
Thanks for taking time to fill out an issue. Feel free to post your solution back here when you find one!


Adjust Tag Names

accountAPI.yaml contains very long tag names like Account data of the specified account. Please shorten these names for clarity reasons. More details should be provided in the summary or description tag.
Do you agree @rolfwagner?

Aligned to bLink tag names.


x/pkgsite: package removal request for codeberg.org/lhinderberger/* and github.com/lhinderberger/*

What is the path of the package that you would like to have removed?
All packages with the prefixes codeberg.org/lhinderberger and github.com/lhinderberger
Are you the owner of this package?
Yes.
What is the reason that you could not retract this package instead?
I did retract my packages, but they still show up when searching on pkg.go.dev (with a "Retracted" banner).
Please remove my packages from search, and from the site entirely. Thank you!

I believe this is done.


change LOGO MUSD

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[x] Image format: png
[x] Image size: 256 by 256 px

Images already exist


print multi page webView

(In a ionic project) use this API to print webView:
cordova.plugins.printer.print();

but when the content more than one page, the plugin can print one page only.
who print all content ?

same issue anyone known????


World Machines

[ ] sets state on the world counting how many pieces of each machine are collected, instead of collecting the parts inside the player's inventory
[ ] replaces all the machines in the world with their completed counterparts when all their parts are collected
[ ] world machines actually and only work when they are complete

[ ] purifier sets the world acidity to 0
[ ] composter takes 5 giblets and 50 earth each use and output one compost block
[ ] recycler converts all the scrap metal in the user's inventory to the good kind

This is already done upstream.


Implement and test features.py

The features.py file should contain all of the functions for computing the application feature vectors. Also write a features_test.py file.

Closed by #18


[Issue] Image UI Review

In GitLab by @yhua123 on Jul 31, 2017, 17:18
1 "No connect" -> "No connection"
2 don't show background table under mask
3 review mask color
4 waiting data show blue round cycle
5 Timeout 30s

In GitLab by @liyanq528 on Nov 8, 2019, 07:34
1,ok
2,ok
3,ok
4,ok
5,ok
6,ok
7,ok
8,ok
9,ok

In GitLab by @liyanq528 on Nov 8, 2019, 07:34
inspursoft/board#125
dashboard and image

In GitLab by @yhua123 on Nov 8, 2019, 07:34
LGTM, closed

In GitLab by @sokril on Nov 8, 2019, 08:07
closed

In GitLab by @sokril on Nov 8, 2019, 08:07
assigned to @liyanq528


Contact Details
No response
Tell us the project / group you are associated with
Project ServiceMesh
What happened?
A bug happened!
Describe the expected behavior
No response
What version are you running?
No response
How critical is this bug to you?
Blocker - solution is unusable without this feature
How can we recreate the bug?
No response
Any debug data that you are able to share?
No response
What is your operating system?
No response
Any additional / relevant info
No response

New JIRA Created with ID: https://jira.eng.vmware.com/browse/NPT-636


Support API mounting

This follows a comment on issue #647.
It would be great to be able to mount API specs onto another spec for service composition.
As an example, I have two independent services A and B, both having their own OAS files. I would like to 'merge' A and B together into a single, centralized spec.
If both services have, say, a /resource endpoint, I would like to discriminate them by prefixing their paths with the name of the services, /A and /B respectively (resulting in /A/resource and /B/resource).
One naive solution would be to list and redefine each path in the root OAS file and $ref the related A or B content, but changing the design of either A or B would require updating the root OAS file.
A possible alternative would be to support path nesting (discarded here):
paths:
  '/A':
    '/resource':
       get:
           # ....
  '/B':
    '/resource':
       get:
           # ....

I suggest considering introducing a mount field under Path Item Objects and taking a Paths Object:
paths:
  '/A':
    mount:
      $ref: 'A.yaml#/paths'
  '/B':
    mount:
      $ref: 'B.yaml#/paths'

I have the same use case, but I would rather show in some way, that under this path there is another API with its own spec and reference not the paths included in its OAS, but the full OAS file.

Another possibility could be to allow multiple $ref right under paths:
...
info: ...
tags: ...
...
paths:
  $ref: './service-a.yaml#/paths'
  $ref: './service-b.yaml#/paths'

Assuming that the content of the referenced file is the following:
# service-a.yaml
...
paths:
  '/service-a/foo':
    ...

# service-b.yaml
...
paths:
  '/service-b/bar':
    ...

The root spec content would finally be rendered as:
...
info: ...
tags: ...
...
paths:
  '/service-a/foo':
    ...
  '/service-b/bar':
    ...

Is this simplistic? Am I missing some hidden aspect about why it could be done this way?

I have the same use case, but I would rather show in some way, that under this path there is another API with its own spec and so I would rather reference not the paths included in its OAS, but the full OAS file. So more like a link to another API than a $ref.

@SmallhillCZ You make a good point. Especially since mounted APIs can live on different servers (or to specify useful metadata), I think it makes sense to include a complete OAS and not just the paths. A $ref could still work though I guess? (e.g. $ref: 'A.yaml' instead of $ref: 'A.yaml#/paths').

@MaxenceMaire thanks for clarifying the use of $ref.
My example was an alternative proposal. Anyways, I like your proposal too (I've put a thumbs up).
We ended up defining separate OpenAPI documents for each microservice and using them independently. It would be nice to be able to squash together separate specs, without having to break them down according to the root keys of the spec. If conflicts arise, then one should handle them by changing one of the sub-specs.

@nickshoe @MaxenceMaire
I asked "Reference Objects in Paths Object".
As a rsult, it is duplicated keys and it is not allowed in YAML/JSON.
I think we should find another? altinative? way.

https://github.com/OAI/OpenAPI-Specification/pull/2657#issuecomment-1456541755

I believe this is addressed by OAS 4 Moonwalk's separation of concerns principle.  Specifically:

https://github.com/OAI/sig-moonwalk/discussions/66

I'm going to close this as "moved to moonwalk", but please join the linked discussion if you are still interested!


Some card attributes not loading on my machine (release 0.6)

When I run 0.6 official (as of 2015-06-21) a number of attributes are errorring, including creature, flavor text, mana cost, scrap cost. It seems to raise an error like:
Missing method: creature on Entity #3 with args [Common]

As of the time of this writing, it only happens on my machine. The error doesn't happen if I run it from IDE, only from the packaged zip file(s).

My current possible suspicions: Line endings, Locale, case-sensetive filenames.
This needs to be tested on more platforms to determine what might be, and what might not be, the cause.
I am on Windows, @Phrancis is using Mac OS. We need more Mac + Linux people to test the latest release.

To clarify, I was able to run directly from IDEA, and to run with my own Gradle generated JARs, but not with @Zomis JARs.

It works for Lokkij (Windows) and for bazola (Mac OS). Still no one that has experienced the same problem as you.

Is there a way to java -jar with a stack trace or debug information?


unique id for all nodes

Hi Vakata,
I have one query. In my project requirement is to display tree however at two levels the name of the nodes are same. Based on my understanding, to use jsTree we need all the node id's to be unique.
Is there any way we can handle this ?
To clarify my question please see below example -
Root ----> child 1---->child 11 ----> child 121
----> child 122
----> child 12 ----> child 121
----> child 122
     ----> child 2 ---->child 11---->child 121
                                               ---->child 122
                         ----->child 12---->child 121
                                               ---->child 122

and so on............... hope I am clear with the query.
Thanks in advance,
Priya

On the client side jstree either needs unique IDs or no IDs - decide which one suits you better. The point of an ID is to be unique. You can simply omit the ID and let jstree handle IDs and use a custom data property for your ID, or on the server side make sure you add a prefix or something so that your IDs are unique.

Hi Vakata,
Although I can add a process to make sure the uniqueness of IDs,
i still wonder how to filter duplicated IDs using jsTree Build-in features or plug-in tools.
Could you please advise?

The idea behind an identifier is to be unique in the collection. If you can not produce unique IDs - omit them. You can also set core.data to a function and remove the ID property before passing the data to jstree.

thanks for your quick reply. I totally got your points. However, currently I am designing a lazy-load mode in jsTree, which means that the jsTree will load sub-nodes (ajax call) only if parent-node is click to expand.
Thus, i am not sure whether set core.data to a function will work.
I found that there is a plug-in feature called "unique" in jsTree, but I don't know whether it can help to filter duplicated IDs in sub-nodes  automatically. Any idea?

No the unique plugin does something else. You can use core.data as a function with lazy loading.

Will Try. Thanks!


error in v0.30.0

>>> lightgbm.__version__  | >>> shap.__version__
'2.2.3'                   | '0.30.0'

KeyError                                  Traceback (most recent call last)
<ipython-input-9-b1e916a6cf78> in <module>
     10 model_mat_gbm = lgb.Booster(model_file=f'{MAT_OUT}/{INST}_gbm.txt')
     11 expl_mat = shap.TreeExplainer(model_mat_gbm)
---> 12 shap_mat = expl_mat.shap_values(valid_mat)
     13 print('  shap_mat: {:,} x {:,}'.format(*shap_mat.shape))
     14

~/.local/lib/python3.6/site-packages/shap/explainers/tree.py in shap_values(self, X, y, tree_limit, approximate)
    192                 phi = self.model.original_model.predict(X, num_iteration=tree_limit, pred_contrib=True)
    193                 # Note: the data must be joined on the last axis
--> 194                 if self.model.original_model.params['objective'] == 'binary':
    195                     warnings.warn('LightGBM binary classifier with TreeExplainer shap values output has changed to a list of ndarray')
    196                     phi = np.concatenate((-phi, phi), axis=-1)

KeyError: 'objective'

As a workaround you can try adding the 'objective' key to your lgb.Booster.param dict before initailizing your explainer, so if your model is called clf:
clf.params['objective'] = 'binary' explainer = shap.TreeExplainer(clf) explainer.shap_values(X)


Release 0.14.7

This is a tracker to aggregate issues that should be part of 0.14.7. Please add specific Issues or PRs prefixed with the "Depends on" keyword (and remember that PRs need to be backported to the release-0.14 branch).
Depends on https://github.com/submariner-io/subctl/pull/864
Depends on https://github.com/submariner-io/submariner/pull/2639
Depends on https://github.com/submariner-io/submariner/pull/2655
Depends on https://github.com/submariner-io/submariner/pull/2617
Depends on https://github.com/submariner-io/submariner/pull/2713
Depends on https://github.com/submariner-io/submariner/pull/2717
Depends on https://github.com/submariner-io/subctl/pull/950

@dfarrell07 hey 0.14.7 release needs to be announced and its release notes published.

Release notes pr: https://github.com/submariner-io/submariner-website/pull/1066

Email and Tweet announcements sent.


Merkury MI-BW210-999W Bulb will not convert

Did you have issues getting a device to flash?
Merkury MI-BW210-999W
This is the first device that I could not get to convert.
I have not connected to the smart life app to get what firmware is currently installed.
Im not sure if this might be related to https://github.com/ct-Open-Source/tuya-convert/issues/472
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
capture.pcap.txt

I only see one station connect in the wifi log, so it probably didn't connect. Try repeating the pairing process.

Did it with two differnt bubls (from the same package) and reset them EZ connect, Im gonna try the dev branch to see maybe something changed.
On one bulb I conencted with the smartlife app but killed app and the power onces it went solid, so I doubt it had enought time to upload a new firmware (plus the issue was going one before the smartlife app and with the bulb that was never connected to the app)

Dev branch worked!

Most likey not needed but here are the logs and the firmware
device-info.txt
firmware-c1df1c.bin.txt
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log

Quick question, when did you buy the bulb ? I tried to convert one with the date: 1907 (it didn't work (stuck at can not push intermediate firmware), and on other one with the date 1807 (it did work)
Thanks for your help !

All of mine are 1908


[RFC] Override Tuple#map to return a Tuple

I think that's more logical, more efficient and increases flexibility. Possible implementation:
struct Tuple(T)
  def map
    {% if true %}
    Tuple.new(
      {% for i in 0 ... @length %}
        (yield self[{{i}}]),
      {% end %}
    )
   {% end %}
  end
end

Contra: It'll be inconsistent with at least part of Enumerable, we can't have things like Tuple#select return a tuple.

I agree with this. I prefer the performance gain over the small inconsistency. You can always invoke #to_a later to get the old behaviour.
After I changed this the compiler didn't work because apparently we were using Tuple#map (well, Enumerable#map) in the codegen phase, and then Array#last, but Tuple#last didn't exist so I added that too. But to correctly implement Tuple#last I needed math operations in macros, to do self[{{@length - 1}}] so I added that too :-P
The downside of Tuple#map is that it will always return a tuple where all elements have the same type, because there's a block. But I don't think this matters, most of the time the mapped tuple will come from variadic arguments that will probably all have the same type, like in the use case I found in the compiler. And now that part will be a bit more efficient :-) (although I don't think it will affect the overall performance)


EgorBot for EgorBo in #52

Processing https://github.com/EgorBot/runtime-utils/issues/52#issuecomment-2325339628 command:
Command
-graviton4 -profiler --runtimes net9.0
using BenchmarkDotNet.Attributes;
using System.Collections.Generic;

public class Bench
{
    List<string> _list = new() { null };

    [Benchmark]
    public void Test() => _list[0] = "hi";
}

(EgorBot will reply in this issue)

Benchmark results on Graviton4
BenchmarkDotNet v0.14.0, Ubuntu 24.04 LTS (Noble Numbat)
Graviton4
  Job-IDMSAB : .NET 9.0.0 (<IP_ADDRESS>507), Arm64 RyuJIT AdvSIMD
Runtime=.NET 9.0  Toolchain=net9.0  StdDev=0.0005 ns

Method
Mean
Error

Test
2.368 ns
0.0005 ns

BDN_Artifacts.zip
Flame graphs: Main vs PR 🔥
Hot asm: Main vs PR
Hot functions: Main vs PR
Counters: Main vs PR
For clean perf results, make sure you have just one [Benchmark] in your app.

cc @EgorBo (logs)


Allow direct interactions with postgres without using pgbouncer

Feature request
Is your feature request related to a problem? Please describe.
Currently the CLI only gives you a database connection through pgbouncer. If I were to use prisma and let prisma take care of migrations then I'd have to user a connection where I was super user for that part: https://www.prisma.io/docs/concepts/components/prisma-migrate/shadow-database#shadow-database-user-permissions

The user must be a super user or have CREATEDB privilege. See CREATE ROLE (PostgreSQL official documentation)

If I understand pgbouncer correctly then we aren't super user so we can't run a command like prisma migrate dev. It will yield
Error: db error: ERROR: no such database: prisma_migrate_shadow_db_ebe1f0e5-384d-472a-827d-fe5698a29dd2
   0: sql_migration_connector::flavour::postgres::sql_schema_from_migration_history
             at migration-engine/connectors/sql-migration-connector/src/flavour/postgres.rs:354
   1: migration_core::api::DevDiagnostic
             at migration-engine/core/src/api.rs:108

Describe the solution you'd like
If postgres was exposed directly then we should be able to run the command. Let me know if there are other ways to solve it.

It's not superuser on the hosted db, but pretty sure the local postgres role is superuser:
❯ psql 'postgresql://postgres:postgres@localhost:54322/postgres'
psql (14.1, server 13.3 (Debian 13.3-1.pgdg100+1))
Type "help" for help.

postgres=# show is_superuser;
 is_superuser
--------------
 on
(1 row)

The real issue seems to be this: https://www.prisma.io/docs/guides/performance-and-optimization/connection-management/configure-pg-bouncer#prisma-migrate-and-pgbouncer-workaround
PgBouncer is currently required for the (undocumented) branching feature. I think it's possible to do away with PgBouncer but will need to investigate further.

Ah yes I believe you are right that this is not a role permission error. Let me know if you have some workaround

any news?

No I actually omitted prisma from that project. I have another project where I'll have both prisma and supabase though so I can test on that when I get to it... Hopefully soon

Is there any movement on this? I'm seeing the same issue after upgrading my cli from 0.4 to 0.15.

Yes, I did a PoC on develop. Still needs some testing before I merge.

The CLI no longer uses PgBouncer starting with v0.15.11. Let me know if it works!

Yes it works! Thank you.


Allow users to set the EOL for the whole workspace

Issue Type
Feature Request
Description
I'm working on Windows to change an sh file and publish onto Linux system, however it seems that Windows's end of line is "\r\n", while Linux and other systems "\n".
I tried to change the setting in my workspace like this following:
"settings": {
"files.eol": "\n"
}
But it has no help. I hope that VSC can enhance this function：When this settings is changed, the file would be immediately re-saved with the changed eol (Of course, the default eol is depending on what system you are now using).
Maybe "saving format in Windows (Default) or saving format in Linux/Mac..." also a choice for clients to choose.
VS Code Info
VS Code version: Code 1.20.1 (f88bbf9137d24d36d968ea6b2911786bfe103002, 2018-02-13T15:33:21.935Z)
OS version: Windows_NT ia32 6.3.9600

In the status bar at the bottom right, there is an icon that displays the current line ending of a file (LF or CRLF)

If you click it, you can change the line ending of the file. LF is "\n" and CRLF is "\r\n". You can also run the command Change End of Line Sequence. I believe the "files.eol" setting is meant to only apply to new files so that everything doesn't get reformatted. Hope that helps.

OK, thanks.
It would be nicer if we can "batchly" change the formation according to the setting. I mean that can you add this feature directly to the workspace setting for the existance project so that everything there would be automatically changed?

This would be a really nice setting or tool!

I'm facing this issue when working with the current project also. When other members use Linux docker and I'm using Windows docker. The project files are auto-converted to CRLT, then I cannot build.
That's nice to have that new option, otherwise, need to find all the files to change.

I think a conversion / linting tool that helps dealing with EOL should best be implemented by an extension.
If you create a VS Code project from scratch and configure files.eol, you should end up with a code base that has consistent line endings.
Alternatively, I can recommend configuring git to normalize all line endings.


Expose private methods as protected so simplify extensions

Description
When developing extensions for the Identity Server we are often required to duplicate code when modifying the default behavior. This is largely due to the use of private methods and large protected\public methods. In order to reduce the amount of code copied to reduce the impact of patches on the extensions could we please address some of these issues.
A list of the method which we have copied due to the dependency on private methods are included.
CustomSAML2SSOManager.txt
CustomStepBasedSequenceHandler.txt
ReadWriteLDAPUserStoreManager.txt
Type
Improvement
Priority
Normal
Affected version
5.2.0, 5.8.0
Component/s
all-identity
Severity
Major
Estimated Complexity
Moderate
Label/s
Type/Improvement, Component/Identity Mgt, Component/Extensions, Affected/5.2.0, Affected/5.8.0, Severity/Major, Complexity/Medium, Priority/Normal
Moved from https://wso2.org/jira/browse/IDENTITY-5251

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Symlinked home path causes aliasing files to be considered different

Issue Type: Bug
I am working on an HPC system where /home is symlinked to another path /some/other/path, which seems to cause some issues:
Having opened /home/some/user/path as a folder, VSCode seems to inconsistently follow the symlink, as the reported absolute path for files is /home/some/user/path, but when I Ctrl+click a relative path in the terminal (where the pwd output prints the /home path), the corresponding file in /some/other/path gets opened, which causes issues, since I now have the same file open under two different paths, and the two don't get synchronized.
I am not 100% sure whether I should report this issue on VSCode directly or here, since it seems to be related to file handling in general. An obvious workaround is to use the non-symlinked path to open the folder in VSCode, but this still points to a more fundamental issue.
Let me know if you need any additional information to reproduce this issue.
Extension version: 0.64.0
VS Code version: Code 1.53.2 (622cb03f7e070a9670c94bae1a45d78d7181fbd4, 2021-02-11T11:48:44.518Z)
OS version: Linux x64 5.4.0-66-generic snap
Remote OS version: Linux x64 4.18.0-193.28.1.el8_2.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz (8 x 2379)

GPU Status
2d_canvas: unavailable_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: disabled_offprotected_video_decode: disabled_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
2, 2, 2

Memory (System)
15.44GB (0.67GB free)

Process Argv
--force-user-env --no-sandbox --unity-launch --no-sandbox --crash-reporter-id e835b16f-3617-43dd-a509-21457f6ca8a2

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Item
Value

Remote
SSH: some-cluster

OS
Linux x64 4.18.0-193.28.1.el8_2.x86_64

CPUs
Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz (80 x 1280)

Memory (System)
377.56GB (195.84GB free)

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry914:30256638
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt875:30259475

Here you go, a simple example for the issue (I blacked out a bit of PII)
https://user-images.githubusercontent.com/1693511/111166220-2eb7ef80-85a0-11eb-95fe-256def86aab7.mp4
The system is a login node of an HPC system using Red Hat
$ cat /proc/version
Linux version 4.18.0-193.28.1.el8_2.x86_64<EMAIL_ADDRESS>(gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Oct 16 13:38:49 EDT 2020

and the home directories are mounted from a Lustre parallel file system:
$ mount | grep pfs/
... on /pfs/data5 type lustre (rw,nosuid,nodev,flock,lazystatfs,_netdev)

I just realized that my original description contained relative paths, so there seem to be two issues at play here:
[...@uc2n995 ginkgo]$ echo ./test
./test
[...@uc2n995 ginkgo]$ pwd
/home/kit/scc/.../ginkgo

Ctrl+Clicking on ./test opens the file in /pfs/data5/home, even though pwd points to the /home path. CMake and a few compilers also seem to prefer outputting /pfs/data5 paths in the terminal, so this probably all boils down to VSCode not recognizing that the two paths point to the identical file.

I'm seeing the same kind of behavior on our systems.

My $HOME is set to /home/me.
/home/me is a symlink pointing to a mounted filesystem, i.e. /mount/path/to/homes/me

With this setup in place, here are some reproduction steps:

I open a folder using "Open Folder...", the dialog box opens and I see the content of my home folder, I choose a folder (located in my home, say ~/code/project).
I open a file (say ~/code/project/path/to/file) using the Explorer. The path shown under tab is the relative path from the root of the project folder (path/to/file)
I  open a Terminal and do ls path/to/file
I Ctrl-click on the "path/to/file" file link in the terminal
A new tab opens with the same file, and the path under the tab name is the full path (/mount/path/to/homes/me/code/project/path/to/file)

This creates a lot of confusion, and some (all?) extensions that provide "Outline" functionality (list of functions in the file, etc) do not work if the file is open with the full path, so this gets pretty confusing.
This behaviour happens both when launching VSCode on the machines in question (using a remote desktop solution)  and when using the Remote - SSH extension to connect to said machine from say a laptop.

I'm guessing this code is at play and should be more careful somehow ?
https://github.com/microsoft/vscode/blob/31fed90614380aa4cd6a79bc5268b3255bc5c672/src/vs/workbench/contrib/terminal/browser/links/terminalLinkManager.ts#L276-L311

I see, I think I actually might have got the inverse issue reported and removed path resolution that was happening there. The terminal is acting as expected imo, if anything the logic to open the symlink should see that the 2 files resolve to the same file and dedupe them, I think that might be as designed currently though. Passing on.

since I now have the same file open under two different paths, and the two don't get synchronized.

This is as designed, we do not attempt to resolve symlinks whenever you open a file, so you may end up with multiple editors pointing to the same file on disk.

I can only say that this is somewhat of a hurdle when developing on such a remote system: When I compile in the terminal, all CMake outputs use the symlink-resolved location, but opening ~/project/... points to the path containing a symlink. So when I want to address a compilation issue on a file I already have open, I Ctrl+Click on the symlink-resolved location (filename + line) and the file gets opened in a new tab instead of using the existing one.

@Tyriar let me know if you plan to do something from the terminal to help here. The editor is just opening the path as it is given to and it seems to me that the terminal gives the symlinked path and not the resolved path.
Otherwise, closing as designed.

Well there isn't anything the terminal can do, probably the only thing we could do is resolve the symlink(s) in the cli /cc @joaomoreno

@bpasero I understand that path resolution can in general only happen synchronously. Does that also apply to opening a folder? Because if you were to resolve symlinks when opening a folder, this problem would be fixed/avoided altogether.


Differing types of a singular polymorphic type do not seem to be checked.

You can see this in action here.
I am unsure if this is a problem with flow, it's relationship to react, or my syntax, but I would expect the following to produce an error indicating that there is a type inconsistency between the values for the alpha and beta props:
Main.jsx
/* @flow */
import React from 'react'
import Consistency from './Consistency'

export class Main extends React.Component {
  render() {
    return <Consistency alpha={1} beta="2" />
  }
}

export default Main

Consistency.jsx
/* @flow */
import React from 'react'

type Props<T> = {
  alpha: T;
  beta: T;
}

export class Consistency<T> extends React.Component<void, Props<T>, void> {
  props: Props<T>;

  render() {
    return
{this.props.alpha} : {this.props.beta}

  }
}

export default Consistency

My thinking is that the polymorphic type, T, of Consistency would be inferred by the given props and, if they are not all of the same type, this is a type error.  Of course, this would also extend to polymorphic default props and state types, e.g.
type DefaultProps<T> = {
  alpha: T;
}

type Props<T> = DefaultProps<T> & {
  beta: T;
}

type State<T> = {
  stateAlpha: T;
  stateBeta: T;
}

class Everything<T> extends React.Component<DefaultProps<T>, Props<T>, State<T>> {
   // etc.
}

This is very confusing, but I think Flow is ultimately doing the right thing, just explaining it very poorly.
To reproduce the issue, I lumped the code into one file and then made some minor syntactic changes to upgrade to Flow v0.53.1. Here's the result
The error Flow gives is:
10:     return
{this.props.alpha} : {this.props.beta}

                     ^ T. This type is incompatible with
[LIB] static/v0.53.1/flowlib/react.js:23:   | Iterable<React$Node>;
                                                       ^ union: undefined | null | boolean | number | string | type application of type `React$Element` | type application of identifier `Iterable`

I honestly had no idea what this meant for a while. I played around with the code a lot to try to understand what the heck was trying to unify with Iterable<React$Node>.
Finally, it occurred to me: within JSX, there are rules about what can be output. For example, you can't have an expression like
let plus1 = (x) => x+1;

{plus1}

Because functions aren't allowed as JSX content, how would they be printed? Sure enough, when I tried that example, I got a very similar type error:
21:
{plus1}
;
          ^ function. This type is incompatible with
[LIB] static/v0.53.1/flowlib/react.js:461:       children?: React$Node,
                                                            ^ union: undefined | null | boolean | number | string | type application of type `React$Element` | type application of identifier `Iterable`

So this error is what we get when we try to stick something in JSX output that React doesn't know what to do about. React can deal with that lost of alternatives: undefined, null, boolean, etc... but other types won't work!
And sure enough, if we look back at the original example, we are putting into JSX the values this.props.alpha, when all we know about that value is that it has type T. It could be anything! So Flow is complaining, saying: hey, you are trying to put anything in JSX, but I only know how to use a specific set of things there.
When we run into an issue like this, usually the solution is to put a restriction on the type variable, so that instead of being any time, it can instead be any of a set of types that meet some criteria. In our case, that criteria is "things JSX can understand", which happens to be the type React.Node mentioned in the error message.
Sure enough, if we change our class declaration to:
export class Consistency<T: React.Node> extends React.Component<Props<T>, void> {

then the resulting code type checks just fine.
Hope that explanation makes sense! I'm happy to discuss more, but just wanted to make clear this was a usage/error message issue rather than a random bug in Flow.
I believe we can close this issue (/cc @calebmer)

@asolove seeing a similar issue to this after upgrading flow. See this example
It seems to me like both these usages should be valid. Can you shed any light on this? If it's a different issue i'm happy to open a new ticket.

Doing intersections of inexact object types doesn’t work the way you might expect.  If you use type spread, this works and corresponds to the intent of the code:
export type Dog = {
  ...Animal,
  furColor: string,
};

@asolove Thanks for the explanation, I definitely prefer that syntax. However that seems to cause a different issue here
Basically, the props that come in via spread syntax end up being evaluated as optional (as far as i can tell).


Empty format string does not hide a module

In the default configuration, it is implied that an empty format string for a module will hide it - see format-good under battery.
This is not working for me - I have set "format-disconnected": "" under network to hide the module when no interface is connected, but when disconnected, I simply get an empty network module with only padding. I'm sure that the module is in the disconnected state as the relevant CSS rules are still taking effect.

We may need to abstract it like in my WIP PR.
https://github.com/Alexays/Waybar/pull/404/files#diff-72e7598d88853f826bdaced2914e6337R48
In the meantime, it's done with c885be369e4f2a822b1e3635b8cdca098c50f113


Remove unused/old e2e test triggering

Description

Types of Changes

[ ] Tech Debt (Code improvements)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Dependency upgrade (A change in substrate or any 3rd party crate version)

Migrations and Hooks

[ ] This change requires a runtime migration.
[ ] Modifies on_initialize
[ ] Modifies on_finalize

Checklist

[ ] Change has been tested locally.
[ ] Change adds / updates tests.
[ ] Changelog doc updated.

@tabakopavel There is an approved PR to the dev branch with the same change. Once we merge it to dev, it will be released in the next steps to staging branch as well.


help text placement is now configurable

@jamesacarr thanks for catching the missing tests! I'll see what I can do about that


[WIP] Tool to replicate server settings to other servers

@bronaghs @gtanzillo can you help review this?
thanks

Just one question inline @jameswnl
Can you add a PR description.
We want to add videos where possible to help other teams understand new features, maybe you could add a video for this.

@miq-bot remove_label wip

@carbonin thanks for the review!

Just waiting on coveralls ...

Coveralls is taking too long.

@jameswnl - Can you see any reason why this cannot be backported to FINE?
cc @simaishi

@bronaghs this should be portable.

@simaishi - If we are backporting the first part of the pivotal story (see description above and PR https://github.com/ManageIQ/manageiq-providers-amazon/pull/289) I think we should also backport this PR too
Fine BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1557025

Fine backport details:
$ git log -1
commit 1efe7a4aff9ce4d2027c9de2fd0f5715b9a5eb46
Author: Nick Carboni<EMAIL_ADDRESS>Date:   Wed Sep 20 17:23:27 2017 -0400

    Merge pull request #15990 from jameswnl/rep-server-settings

    Tool to replicate server settings to other servers
    (cherry picked from commit a215bb733535f250c58c18c555793b9b09cc805e)

    https://bugzilla.redhat.com/show_bug.cgi?id=1557025


Using local stylesheet rather than gitcdn.xyz

Fixes #3

Fantastic, was having a headache figuring this out.


Branch field does not load

https://github.com/stolostron/backlog/issues/26414
Signed-off-by: John Swanke<EMAIL_ADDRESS>

/test lint-check-unittests-sonarcloud

/retest


Project Creation Error

Probably me being stupid, but I get the following error when I try to create a project:

"Error running command vs-cupl.createProject: Cannot read properties of undefined (reading '0'). This is likely caused by the extension that contributes vs-cupl.createProject."

System details are:

Version: 1.85.2
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
Date: 2024-01-18T06:40:19.222Z
Electron: 25.9.7
ElectronBuildId: 26354273
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 6.6.10-1-MANJARO

I ran the pre-requisites test:

Running Pre-requisite checks
Cupl.exe is OK!
wine     is OK!
openocd  is OK!
minipro  is OK!
Passed Pre-requisite checks

Any help would be appreciated

Please grab v0.2.6. I think it should resolve this issue.

Thanks for prompt reply.
According to changelog.md, v0.2.4 is latest on github, where do I find v0.2.6?

You can install the extension directly from vs code's extensions module.

Latest is also published to github.

@paulbonnett please let me know if that resolved your issue.

Just had chance to try it and unfortunately got the same problem.

Thanks, VSCode already installed in described manner.  Applied update v0.2.7, can now create a project.  I will do further tests later today and report back, but so far looks good.  Thanks for you help, much appreciated.


Update documentation for IPFS provider filebase for use on gitbook

Overview
This is a small PR that at the documentation for filebase into the docs folder, specifically for reading use in Gitbook.
Checklist

[x] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

@anvabr Here's the updated docs, I noticed going through the code that the way I initially created this provider mechanism has changed somewhat to not be flexible for any IPFS provider.
Specifically, how the constructor signature for the IpfsClientClass has now been overloaded with an additional key for filebase. Unfortunately, the implication of this is that your core class would need to be reworked to allow other implementations of clients as the class itself is dependent on multiple providers that will not be present at the same time for a given deployment of Guardian.
In other words, the constructuor for IpfsClientClass expects keys for both web3Storage and filebase for any instance of said client.
If you require some support to design this to be more generic and to potentially integrate interfaces/contracts, please let me know.


Add documentation popups

Add Latex documentation to the server, and send definitions to the client that can then be displayed when hovering over specific terms.

@GabrielBruno24 , can you link this PR to the original issue ?


Update Exercises_with_solutions.ipynb

Hi there,
I think the answer for last question should be modified as we are asking for 19th observation not 21th. Please check and let me know if I am wrong.

PR Merged! Yes, you are right! Thank you for the contribution!! :)


Can this be used in a production app?

A very useful lib. One question, will this pass App Store's review?
Thanks.

@thedp yes you can use it in production - MTLog is automatically removed in release builds.


setify in 08_data_block fails test

I tried running the notebook 08_data_block.ipynb on Google Colab. For setup i ran this notebook: https://colab.research.google.com/gist/davidpfahler/e9832bd93cff7fffb95d656b56c3197f/setup_fastai_test.ipynb
I then ran each dl2 folder notebook in the correct order and exported the .py files to the same Google Drive directory, which worked up until 08_data_block.ipynb where I get the following AssertionError:
AssertionError: ==:
{'a'}
{'aa'}

The notebook as run can be accessed here.
I did see this answer by Jeremy, but git pulling did not help and so I cloned the entire repo from scratch as described above and was able to reproduce the error.
It's not critical to anything else in the course as far as I can tell. but it is really unsettling for beginners that think they do something wrong.

In my tests today, I cannot reproduce the issue, so closing.

Scratch that, I finally found the error, which was difficult to reproduce. In  the 04_callbacks.ipynb the following code is exported:
#export
from typing import *

def listify(o):
    if o is None: return []
    if isinstance(o, list): return o
    if isinstance(o, Iterable): return list(o)
    return [o]

But in nb_04.py, listify is defined as follows:
def listify(o):
    if o is None: return []
    if isinstance(o, list): return o
    if isinstance(o, str): return [o]
    if isinstance(o, Iterable): return list(o)
    return [o]

So when you run the notebook 08_data_block.ipynb having cloned the repo freshly, it works just fine, but if you run each notebook in order, you export the wrong listify function and then the test test_eq(setify('aa'), {'aa'}) in 08_data_block.ipynb fails.
I will submit a PR shortly.


Dean/plotly

This PR adds all of the plotly.express components as built-in meerkat components. Each component exposes a few key plotly args for auto-complete and then forwards the rest of the args through **kwargs. Additionally, they all have the  on_click and on_select Endpoints that allow for meerkat interactivity. The main idea is that a plotly express component is created on the Python side and then passed to the Svelte frontend in JSON form using fig.to_json().
In the dev repo, I tested on_click and on_select for the first 10 components alphabetically and noticed that DensityContour and DensityHeatmap might need a little more work since the clicking and selecting isn't exactly intuitive.

Looks like its failing some of the linting. Try running make lint locally and address the issues (looks like its mostly lines too long)

Otherwise looking great

Thanks for pointing that out. Should be fixed now

I think the failing test was just a missing entry in index.js. Added it here https://github.com/HazyResearch/meerkat/pull/321/commits/1e6cfa43a14ecc74ec4de887817c1326a9214c3b

Codecov Report

Merging #321 (1e6cfa4) into main (86dfb17) will increase coverage by 0.14%.
The diff coverage is 75.80%.

@@            Coverage Diff             @@
##             main     #321      +/-   ##
==========================================
+ Coverage   67.38%   67.53%   +0.14%
==========================================
  Files         211      244      +33
  Lines       11943    13006    +1063
  Branches     1787     1833      +46
==========================================
+ Hits         8048     8783     +735
- Misses       3469     3800     +331
+ Partials      426      423       -3

Flag
Coverage Δ

unittests
67.53% <75.80%> (+0.14%)
:arrow_up:

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

Impacted Files
Coverage Δ

...e/app/src/lib/component/plotly/scatter/__init__.py
75.00% <66.66%> (-15.48%)
:arrow_down:

...tive/app/src/lib/component/plotly/area/__init__.py
75.00% <75.00%> (ø)

...app/src/lib/component/plotly/bar_polar/__init__.py
75.00% <75.00%> (ø)

...ctive/app/src/lib/component/plotly/box/__init__.py
75.00% <75.00%> (ø)

...pp/src/lib/component/plotly/choropleth/__init__.py
75.00% <75.00%> (ø)

...lib/component/plotly/choropleth_mapbox/__init__.py
75.00% <75.00%> (ø)

...c/lib/component/plotly/density_contour/__init__.py
75.00% <75.00%> (ø)

...c/lib/component/plotly/density_heatmap/__init__.py
75.00% <75.00%> (ø)

...rc/lib/component/plotly/density_mapbox/__init__.py
75.00% <75.00%> (ø)

...tive/app/src/lib/component/plotly/ecdf/__init__.py
75.00% <75.00%> (ø)

... and 26 more

... and 18 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Deployment fails on Custom Connector for Get-GeoFromIpAndTagIncident

https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks/Get-GeoFromIpAndTagIncident
ARM Deployment error on Custom Connector for playbook.
{
"status": "Failed",

"error": {

    "code": "BadRequest",

    "message": "{\"Code\":\"BadRequest\",\"Message\":\"Swagger contains base path:/json but backend Url doesn't end on same path:/json' \",\"Target\":null,\"Details\":[{\"Message\":\"Swagger contains base path:/json but backend Url doesn't end on same path:/json' \"},{\"Code\":\"BadRequest\"},{\"ErrorEntity\":{\"ExtendedCode\":\"14024\",\"MessageTemplate\":\"Swagger contains base path:{0} but backend Url doesn't end on same path:{1} \",\"Parameters\":[\"/json\",\"/json'\"],\"Code\":\"BadRequest\",\"Message\":\"Swagger contains base path:/json but backend Url doesn't end on same path:/json' \"}}],\"Innererror\":null}"

}

}

line 20 on azuredeploy.json for custom connector has a extra '
                "serviceUrl": "https://ip-api.com/json**### _'_**"

https://github.com/Azure/Azure-Sentinel/pull/2695


Add 'fixed' to the enum options for gas oracle mode

https://github.com/hyperledger/firefly-evmconnect/pull/36

Signed-off-by: Chris Bygrave<EMAIL_ADDRESS>

Looks like the doc generation in firefly-common has changed slightly between the versions - a header parameter was introduced so I've updated accordingly.


[router][server][alpini] Add support for IdentityParser in SslInitializer

Add support for IdentityParser in SslInitializer

Currently Routers and Servers log the CN to help with investigation of the callers. However, this information is insufficient and we'd like to log the service principal name instead.
How was this PR tested?

GH CI. Will be tested in staging env
Does this PR introduce any user-facing changes?

[X] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

Code changes look good to me and you need to fix the unit test coverage failure.

Thanks @gaojieliu


Removed unused titles from states

continuation of #16 PR
@dclarizio

@romanblanco were your changes to aggressive?  Seems a couple of tests failed and one is looking for Dashboard text.

@romanblanco tests still failing

@dclarizio should be OK now

@romanblanco Are you sure?
Hint: https://github.com/ManageIQ/manageiq-ui-self_service/blob/master/client/app/blocks/router/router-helper.provider.js#L100
(sorry for noticing late, but we may want to revert..)


Is scrolled past class

Rationale: We want to highlight already scrolled past elements, making it easier for the user to see the progress, so I've added an optional scrolledPastClassName property.
The method is pretty crude, just flipping the inViewState array until an element with true is reached. Feel free to improve ;)

@jonespen Thanks for PR :) and sorry for late reply. Please check ci build, it has failed.

😱
Should be fixed now.

If viewport height is small like below, even though i have not scrolled the page, is-scrolled-past is added to all items when the page is loaded.
Can you fix it?

My bad, I didn't check if no elements was in view. Please try again :)

Thanks, I'd like to check this weekend :)

@jonespen Released as v2.6.0, thanks :)

👍 for adding classNames as well!


Should dependencyCheckPurge remove retireJs repository file?

Hi @jeremylong,
As per title should the purge task remove the jsrepository.json from the Gradle cache?
Thanks

Yes, this is an oversite and wll be corrected soon.
On Mon, Jun 3, 2019, 4:54 PM bendudz<EMAIL_ADDRESS>wrote:

Hi @jeremylong https://github.com/jeremylong,
As per title should the purge task remove the jsrepository.json from the
Gradle cache?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jeremylong/dependency-check-gradle/issues/133?email_source=notifications&email_token=AAGSVQXGB4TNGGWH62HGWZDPYWAITA5CNFSM4HSSICOKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GXMFLNA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGSVQULMM7ZE2RGT5WY67DPYWAITANCNFSM4HSSICOA
.


nondeterministic nonsense error message

It seems possible to get nondeterministic output. Strangely, the .air and .smt2 log files to not seem to have any differences between runs that give different outputs.
Following the repro steps, you can get output that looks either of the two outputs below.
Furthermore, the outputs are nonsense.

The first error (in either output) includes a precondition error message despite being a "postcondition not satisfied" error.
The second error in the second output points to a precondition (page_organization.rs:81) of a lemma which is not even called from the function being verified. (It is called from a different function within the same module).

To reproduce
verus commit 194a4671b311207112869176daa7163b707a27fc (currently the "new_varlength_ptr_lib" branch)
fail-precondition-repro.zip
verus lib.rs --verify-module segment --verify-function segments_page_find_and_allocate
Outputs
Possible output #1:
error: postcondition not satisfied
   --> segment.rs:163:17
    |
72  |       ensures ({
    |  _____________-
73  | |         let (page_ptr, blocks) = res;
74  | |         local.wf()
75  | |         && tld_ptr.is_in(*local)
...   |
80  | |         )
81  | |     })
    | |______- failed this postcondition
...
163 |                   return (slice, Tracked(block_tokens));
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ at this exit
    |
   ::: page_organization.rs:81:13
    |
81  |               self.valid_unused_page(page_id, bin_idx, list_idx)
    |               -------------------------------------------------- failed precondition

error: precondition not satisfied
   --> segment.rs:153:45
    |
153 |                   let Tracked(block_tokens) = segment_span_allocate(
    |  _____________________________________________^
154 | |                     slice.clone(),
155 | |                     slice_count,
156 | |                     tld_ptr.clone(),
157 | |                     Tracked(&mut *local),
158 | |                     Ghost(block_size),
159 | |                     Ghost(n_blocks));
    | |____________________________________^
...
496 |           old(local).page_organization.pages.dom().contains(slice.page_id@),
    |           ----------------------------------------------------------------- failed precondition

Possible output #2:
error: postcondition not satisfied
   --> segment.rs:163:17
    |
72  |       ensures ({
    |  _____________-
73  | |         let (page_ptr, blocks) = res;
74  | |         local.wf()
75  | |         && tld_ptr.is_in(*local)
...   |
80  | |         )
81  | |     })
    | |______- failed this postcondition
...
163 |                   return (slice, Tracked(block_tokens));
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ at this exit
    |
   ::: page_organization.rs:81:13
    |
81  |               self.valid_unused_page(page_id, bin_idx, list_idx)
    |               -------------------------------------------------- failed precondition

error: precondition not satisfied
   --> segment.rs:153:45
    |
153 |                   let Tracked(block_tokens) = segment_span_allocate(
    |  _____________________________________________^
154 | |                     slice.clone(),
155 | |                     slice_count,
156 | |                     tld_ptr.clone(),
157 | |                     Tracked(&mut *local),
158 | |                     Ghost(block_size),
159 | |                     Ghost(n_blocks));
    | |____________________________________^
    |
   ::: page_organization.rs:80:18
    |
80  |           requires self.invariant(),
    |                    ---------------- failed precondition

The nondeterminism may have to do with iteration over a HashMap in air/src/smt_verify.rs:
        for (_, info) in context.axiom_infos.map().iter() {
            if let Some(def) = model_defs.get(&info.label) {
                if *def.body == "true" {
                    discovered_additional_info.append(&mut (*info.labels).clone());
                    break;
                }
            }
        }


Merge blake/06-18-extract_roblox_api_into_rbx_api_package into main

Current dependencies on/for this PR:

main

PR #154   👈

This comment was auto-generated by Graphite.


[DOC] - Review and document conda-store implementation

Preliminary Checks

[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/nebari-dev/nebari/discussions

Summary
The Nebari documentation does not have sufficient information about how conda-store is implemented. There is some confusion about how it functions within Nebari as this is slightly different than the standalone version of conda-store.
Some things to review

conda-store namespaces - The Nebari concept of namespaces translates into shared conda-store namespaces, but Nebari also abuses namespaces to make "users" (conda-store has no concept of a user)
permissions on nebari vs permissions on conda-store.

A nebari user in the admin group has read/write permission to all nebari namespaces they belong to
non-admin nebari users only have read access to shared nebari namespaces
the keycloak conda-store groups do not appear to be populating properly
we need to understand how the RBAC from conda-store maps to available keycloak roles

conda-store logout does not work. This appears to be a nebari-specific related to the way nebari is handling the conda-store authentication.

Steps to Resolve this Issue
Review the current implementation and document so that Nebari users have a better understanding of how the tools work together.
Also note that a more broad look at permissions is also happening so it would be best to coordinate those efforts.

@kcpevey for clarification

conda-store namespaces - The Nebari concept of namespaces translates into shared conda-store namespaces, but Nebari also abuses namespaces to make "users" (conda-store has no concept of a user)

What do we need here specifically? Docs around conda-store namespaces and how they relate to Nebari users?

permissions on nebari vs permissions on conda-store.
A nebari user in the admin group has read/write permission to all nebari namespaces they belong to
non-admin nebari users only have read access to shared nebari namespaces
https://github.com/nebari-dev/nebari/issues/2716
we need to understand how the RBAC from conda-store maps to available keycloak roles

Is the idea here to create follow on tickets for each of these once the issue is better understood?

Docs around conda-store namespaces and how they relate to Nebari users?

Yes, I think that is a good start. Effectively, nebari devs and conda-store devs are using similar/overlapping terms with different meanings. Its like speaking in different languages and its creating an issue with cross-collaboration. I'd like to ensure that Nebari docs include basic information about the underlying mechanisms/terms/concepts of conda-store and how they apply to Nebari.

Is the idea here to create follow on tickets for each of these once the issue is better understood?

The ask here is to first gain an understanding of what is currently in place. Then document all of that knowledge. Initial summary can rough (i.e. if you want to do a brain dump here and then have me open a formal docs PR that's fine).


(feature request) Sync play local files

mainly for comparison after transcoding.
Currently, I use this workflow (on macOS)

start a local server in Terminal
start a client Syncplay.app
start another client open -n -a Syncplay.app

It would be better if a single instance of Syncplay.app could handle it.

To be honest this is pretty far away from core use case. Personally I don't think it warrants changing how the application works for everybody just to make it slightly more convenient for a single very niche use.
For such custom use I think making a wrapper of Syncplay in a script which takes two files as arguments and then runs two instances of client along with a server makes much more sense.

As @daniel-123 mentioned, having multiple versions of Syncplay running on one device is not the intended use case. Syncplay is not designed to consistently sync with frame-perfect precision (prioritising responsiveness on unpausing instead). The level of delay is fine for syncing online with VoIP as the delay is less than the delay in the voice chat, but means it doesn't produce perfectly in sync local playback if you have multiple instances on one machine.


CAST string to temporal type now calls isTimestamp

Signed-off-by: Andy Grove<EMAIL_ADDRESS>CAST string to temporal types now uses isTimestamp to detect valid inputs.
Closes https://github.com/NVIDIA/spark-rapids/issues/1117 and https://github.com/NVIDIA/spark-rapids/issues/716

build

build


Feature/hackathon model generator

Hackathon PR
This is a:

[ ] bug fix PR with no breaking changes — please ensure the base branch is main
[X] new functionality — please ensure the base branch is the latest dev/ branch
[ ] a breaking change — please ensure the base branch is the latest dev/ branch

Description & motivation

Currently, the dbt-codegen package has macros that output the source, base, and other model information in the terminal. While this is great, I think it can be expanded upon even further to make this process more seamless and have have greater versatility. A big blocker from me using this package is that there is a lot of copy/pasting that takes place.
Therefore, I added some new functionality that builds off the generate_base_model macro and allows for the package to create the model files in your local dbt project. This is achieved by leveraging a new bash script that can be run from the package and will output a series of terminal commands. These terminal commands can then be copy/pasted and ran to generate the model files with the output of the generate_base_model included within them.

Note: These new macros are not compatible with the dbt Cloud IDE. Let me know if that is an issue.

Checklist

[X] I have verified that these changes work locally
[X] I have updated the README.md (if applicable)
[ ] I have added tests & descriptions to my models (and macros if applicable)
[X] I have added an entry to CHANGELOG.md

Additional Notes
I also was unsure what types of tests (if any) should be used for the macro and bash script. Therefore, I have omitted them for the time being.

Not entirely sure why the CircleCi build is failing 🤔 Let me know if there is anything needed on my end!

@fivetran-joemarkiewicz agreed, the copy-pasting is no fun and creates a barrier!

Note: These new macros are not compatible with the dbt Cloud IDE. Let me know if that is an issue.

I'm not personally worried about this not being able to run shell commands in the dbt Cloud IDE. It seems to me that the macros would actually work correctly in dbt Cloud -- the user just wouldn't be able to execute the script there, right? The user would have to execute the script in some kind of bash/zsh-compatible shell, which I think is reasonable.
Taking it for a spin 🚗
I setup a couple sources and ran the new command using two sources that exist plus a bogus one that doesn't exist:
dbt run-operation codegen.create_base_models --args '{"source_name": "dbt_dbeatty", "tables": ["raw_orders", "raw_customers", "asdfasdf"]}'

The output was this:
source dbt_packages/codegen/bash_scripts/base_model_creation.sh dbt_dbeatty raw_orders &&
source dbt_packages/codegen/bash_scripts/base_model_creation.sh dbt_dbeatty raw_customers &&
source dbt_packages/codegen/bash_scripts/base_model_creation.sh dbt_dbeatty asdfasdf

(There was an extra set of  && at the beginning of the output -- I take a peek at the code to see if we can eliminate it since it will be a invalid command if someone includes it when they copy-paste.)
Coping and pasting that output to run those commands created the following files:
models/stg_dbt_dbeatty__asdfasdf.sql
models/stg_dbt_dbeatty__raw_customers.sql
models/stg_dbt_dbeatty__raw_orders.sql

The happy path generated this content:
with source as (

    select * from {{ source('dbt_dbeatty', 'raw_customers') }}

),

renamed as (

    select
        id,
        first_name,
        last_name

    from source

)

select * from renamed

And the content of the missing file on the not-so-happy path was reasonable too:
  Macro 'macro.codegen.generate_base_model' (macros/generate_base_model.sql) depends on a source named 'dbt_dbeatty.asdfasdf' which was not found or is disabled

  > in macro generate_base_model (macros/generate_base_model.sql)
  > called by macro generate_base_model (macros/generate_base_model.sql)

Next steps
I'm not sure why the CircleCI build is failing either. Regardless, this PR is currently targeting dev/0.4.0, but codegen is all the way up to 0.9.0 now!
So I'm going to try merging main into your branch, resolve any conflicts that come our way, and then re-target this PR to main instead of dev/0.4.0. I'm doing this shortly, so you'll be able to see how it goes 🤞.
From there, this feature will be included in the next release (whether that is 0.9.1 or 0.10.0 or 1.0.0).

Hey @dbeatty10 thanks for picking this PR up and I am glad you were able to make some edits and set this PR to sea within the main branch! I'm happy it was able to be merged and hope it helps others out there!


ConversationalRetrievalChain cannot return source documents when using ConversationBufferWindowMemory

System Info
Langchain 0.0.285, python 3.11.5, Windows 11
Who can help?
@hwchase17
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[X] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[X] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
from langchain.embeddings import HuggingFaceInstructEmbeddings
from langchain.vectorstores import Chroma
from langchain.text_splitter import CharacterTextSplitter
from langchain.llms import OpenAI
from langchain.chains import ConversationalRetrievalChain
from langchain.document_loaders import TextLoader
from langchain.memory import ConversationBufferMemory
from mysecrets import secrets

loader = TextLoader("./sotu.txt")
documents = loader.load()

text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
documents = text_splitter.split_documents(documents)
model_name = "hkunlp/instructor-large"
model_kwargs = {'device': 'cpu'}
encode_kwargs = {'normalize_embeddings': True}
embed_instruction = "Represent the document for summary"

embedding_function =  HuggingFaceInstructEmbeddings(
    model_name=model_name,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs,
    embed_instruction = embed_instruction
)

vectorstore = Chroma.from_documents(documents, embedding_function)

memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
llm = OpenAI(openai_api_key=secrets["OPENAI-APIKEY"],temperature=0)
qa = ConversationalRetrievalChain.from_llm(llm=llm, retriever=vectorstore.as_retriever(), memory=memory, return_source_documents=True)

query = "What did the president say about Ketanji Brown Jackson"
result = qa({"question": query})

Expected behavior
When return_source_documents is set to False, code runs as intended. When ConversationalRetrievalChain uses the default value for memory, code runs as intended. If ConversationalRetrievalChain is used with memory and source documents are to be returned, the code fails since chat_memory.py (https://github.com/langchain-ai/langchain/blame/master/libs/langchain/langchain/memory/chat_memory.py) is expecting only one key.

Did some more digging, this is a duplicate of #2303 and the solution/workaround is to specify the output key as "answer":
   memory = ConversationBufferMemory(
        memory_key='chat_history', return_messages=True, output_key='answer')


Link in repo description should be http://erizocosmico.github.io/react-categorized-tag-input/

mvader.me doesn't seem to be set up properly, but http://erizocosmico.github.io/react-categorized-tag-input/ works

Yep, I changed my username on github a few weeks ago and the gh-pages do no longer point where they used to. Fixing. Thanks for reporting it!


Remove relationship from breadcrumb

First of all - thanks for this great package!
Is it possible to somehow remove the relationship in the breadcrumb? I've tried it with modifying the config as well as addin the method parent returning null, but this does not seem to work as expected.
public function parent() {
     return null;
}

To clarify, I'd like to remove the belongsTo relationship in the breadcrumb:

Secondly, it seems that lenses are not supported?

Lenses aren't currently supported, I have some to implement in the next couple of weeks, so I'll be taking a look at lens support then. If you need it sooner you're welcome to submit a PR.
Is it a specific parent resource you're looking to exclude? IE:
Home -> Crumb 1 -> Crumb1:A -> ~Crumb 2 -> Crumb2:A ->~ Crumb 3
Or are you looking to exclude all parents for a resource? IE:
Home -> ~Crumb 1 -> Crumb1:A -> Crumb 2 -> Crumb2:A ->~ Crumb 3

Thanks for your quick reply! I'm just getting into Nova so I'm afraid I'm of no help at this moment..
For this specific resource I'm looking to exclude all parents. But I guess either will suffice.

No problem, ill leave this open and close it when I've done the changes to allow for lenses.
Just testing an additional static attribute on your resource called resolveParentBreadcrumbs that when set to false will disable all parent breadcrumbs from that resource.
It satisfies the second option in the examples I gave above and would be used on the Crumb 3 resource to disable all parent resource breadcrumbs.

Okay the change for resolveParentBreadcrumbs is in release 1.0.3.
Ill reply here when the Lens support is added.

I've been looking into Lens support, and whilst its trivial to add the breadcrumbs to the Lens view itself, there is no feedback given when you navigate from a Lens to a resource detail that you have come from the Lens, rather than the Index page for the resource.
As such its not possible to automatically send the user back to the index or lens depending which they originally came from.
I'll try and see if theres anything on the inertia side I can intercept to pass off to the breadcrumbs card. I did some work on this for nova-tabs, just gotta remember how it works and see if its possible.

I've been looking into Lens support, and whilst its trivial to add the breadcrumbs to the Lens view itself, there is no feedback given when you navigate from a Lens to a resource detail that you have come from the Lens, rather than the Index page for the resource.
As such its not possible to automatically send the user back to the index or lens depending which they originally came from.
I'll try and see if theres anything on the inertia side I can intercept to pass off to the breadcrumbs card. I did some work on this for nova-tabs, just gotta remember how it works and see if its possible.

Got it. Sounds rather complex. More than I would've guessed at least.
Thanks for you effort though!

just use
public static $resolveParentBreadcrumbs = false;
will disable parents breedcrumps


chore: fix mergify bot

@chrisns could you give this a check please?
https://blog.mergify.com/strict-mode-deprecation/

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 27.355%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3636

Relevant Lines:
14011

💛  - Coveralls

lgtm ¯_(ツ)_/¯


Delete empty package directories

When all classes of a package have been removed,
the package directory in the output directory
will now be removed as well. This ensures that
the resulting JAR will be byte-for-byte equivalent
to a clean build.
Fixes https://github.com/gradle/gradle/issues/3405

I did another small performance improvement by keeping the directories ordered by path length. That way we don't do repeated isEmpty checks until all the potential children of a directory have been deleted.


Issue with building the CLI

What were you trying to achieve?
Trying to build the cli using "make cli"

What are the expected results?
It should build the cli.

What are the received results?

CGO_ENABLED=0 GOOS= GOARCH=amd64 GOARM= go build -mod=vendor -ldflags "-s -w" -o build/mainflux-cli cmd/cli/main.go
flag provided but not defined: -mod
usage: build [-o output] [-i] [build flags] [packages]
Run 'go help build' for details.
Makefile:77: recipe for target 'cli' failed
make: *** [cli] Error 2

PFA: Screenshot of the terminal.

What are the steps to reproduce the issue?
Clone the github repo, build the mainflux server using "make run", then try to build the cli using "make cli".

In what environment did you encounter the issue?
Ubuntu 18.04, docker-ce version 18.09.9~3-0, docker compose version 1.24.1, go 1.7.3

Additional information you deem important:
Similar problem occurs while building anything in the cmd directory. I assume the issue is with my environment, but I'm unable to pinpoint the problem.

Which version of Go are you using? It looks like you're using an old version of Go (probably <1.11). Do you have Go modules disabled (GO111MODULE=off)?

drasko@Mando:~/go/src/github.com/mainflux/mainflux$ make cli
CGO_ENABLED=0 GOOS= GOARCH=amd64 GOARM= go build -mod=vendor -ldflags "-s -w" -o build/mainflux-cli cmd/cli/main.go
drasko@Mando:~/go/src/github.com/mainflux/mainflux$ ls -la build/
total 9556
drwxr-xr-x  2 drasko drasko    4096 May 22 13:05 .
drwxr-xr-x 31 drasko drasko    4096 May 22 13:05 ..
-rwxr-xr-x  1 drasko drasko 9777152 May 22 13:05 mainflux-cli

Works like charm ;)

I tried drasko's command, the output was similar but when I try using a mainflux-cli command, the command is not found.
maddscientist@maddcomputer:~/mainflux$ make cli
CGO_ENABLED=0 GOOS= GOARCH=amd64 GOARM= go build -mod=vendor -ldflags "-s -w" -o build/mainflux-cli cmd/cli/main.go
maddscientist@maddcomputer:~/mainflux$ ls -la build/
total 11168
drwxr-xr-x  2 maddscientist maddscientist     4096 May 27 18:26 .
drwxr-xr-x 31 maddscientist maddscientist     4096 May 27 18:26 ..
-rwxr-xr-x  1 maddscientist maddscientist 11427840 May 27 20:09 mainflux-cli

Earlier i was using an older version of go, and I updated it to 1.14
Now "make cli" is not showing any errors like earlier.
I manually enabled the go modules as well, and added go to my $PATH
Still, the response is same.
maddscientist@maddcomputer:~$ export PATH=$PATH:/snap/bin/go
maddscientist@maddcomputer:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin/go
maddscientist@maddcomputer:~$ cd mainflux
maddscientist@maddcomputer:~/mainflux$ make cli
CGO_ENABLED=0 GOOS= GOARCH=amd64 GOARM= go build -mod=vendor -ldflags "-s -w" -o build/mainflux-cli cmd/cli/main.go
maddscientist@maddcomputer:~/mainflux$ mainfux-cli version
mainfux-cli: command not found
And
maddscientist@maddcomputer:~/mainflux$ GO111MODULE=on CGO_ENABLED=0 GOOS= GOARCH=amd64 GOARM= go build -mod=vendor -ldflags "-s -w" -o build/mainflux-cli cmd/cli/main.go
maddscientist@maddcomputer:~/mainflux$ mainflux-cli version
mainflux-cli: command not found

Please help me with the installation, I'm unable to pin-point the error. Everything else in mainflux (the server and the webUI) was installed smoothly and is running fine.

It's in the build dir.

maddscientist@maddcomputer:~/mainflux/build$ ls
mainflux-cli
maddscientist@maddcomputer:~/mainflux/build$ mainflux-cli version
mainflux-cli: command not found

I can locate the file in the build directory but it doesn't seem to work as a command, what could be the reason?

Looks like you are trying to run mainflux-cli command rather than trying to execute mainflux-cli binary. To execute mainflux-cli binary, you can do ./build/mainflux-cli from the project root. To make mainflux-cli command available, you need to add mainflux-cli location to you PATH: export PATH=$PATH:<MF_LOCATION>/build.

Oh yes, my bad. It is working now. Thanks for the active support.

Hey, unrelated query but not big enough to create an issue.
Where can I see the thing_auth_token? I am able to retrieve the thing ID and key from the webUI, but I need the auth token to send a message over HTTP.

@Madd-Scientist The topic of issues are always respected. For this kind of questions you can use our community chat: https://gitter.im/Mainflux/mainflux


PR / Update for "Honda HRV 2019 Touring"

values.py - incl. Class, FP, FW_VERSIONS, SPEED_FACTOR 1.025
carstate.py - incl. carFingerprint, doorOpen OVERRIDE (signal unknown)
Safety test concludes that removal of drivers seatbelt IMMEDIATELY disengages OP
interface.py - incl. HR-V vehicle parameters, tuning (tested for 100+ miles)
Longitudinal tuning parameters unchanged from CAR.FIT
test_car_models.py - added per request of review process
*5. honda_hrv_touring_2019_can_generated.dbc will be submitted to commaai/opendbc in next PR
...Needed to make test_car_model "public"
Once *5 is approved, will need to update values.py to matching dbc
Thanks, Cowan Moore<PHONE_NUMBER>

Will now try to "upload all files".  The "make public" failed during test-2.


config: Add scsi_mod.scan=none for virtio-scsi

As per [1], the default scan mode of scsi is sync. Change it to async
can reduce the guest boot time:
=Before this patch=
[    0.090796]  vda: vda1
[    0.092119] scsi host0: Virtio SCSI HBA
[    0.148851] tun: Universal TUN/TAP device driver, 1.6
[    0.149023] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
=After this patch=
[    0.077012]  vda: vda1
[    0.078353] scsi host0: Virtio SCSI HBA
[    0.080755] tun: Universal TUN/TAP device driver, 1.6
[    0.081884] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
It reduces about 54ms on arm64 for virtio-scsi.
This patch changes the default kernel parameter:

If user specifies the scan mode, use that
If user doesn't specify it, and the block device is virtio-scsi, use
"async" by default

[1] https://lwn.net/Articles/201898/
Fixes: #2560
Signed-off-by: Jia He<EMAIL_ADDRESS>

/test

I've nudged the failed CIs for rebuilds - let's keep an eye on them.

/retest

/test


Request/Question

Not an issue but wasnt sure how to comment, firstly great job!
Now to the request, is it possible to read the state of a pin using Alexa? for instance if this is connected to a gate and I'd like to know if the gate is open or closed by reading an input if it is high or low

Thanks
Read the state of a pin using Alexa?
you can check whether pin is high or low like this
contact=digitalRead(pin);
if (contact == HIGH) {

}

Or you can use another sensor to check the status of the device.

ok, but how do I ask Alexa to check the pin? Should I define a name like you did contact (which is the variable)
"Alexa what is the status of input 1" or "Alexa please check if the gate is open"... things like that

this is not possible at the moment.
current format for a UPnP device is :
Alexa, turn [on/off] [device_name]
for any other custom commands like the one you want, you can build them using Alexa Skills Kit
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/getting-started-guide

Does anyone know how to build such a custom skill, would be nice if alexa could tell me the state of a pin as an input

See issue #25. The WeMo does support request for status but this library does not currently support it. We need someone with a WeMo to record the response to the request so that it could be coded into this library.