[Bug Report]: v2 config command logger should use short path name in windows

Steps to reproduce
version
"@farmfe/cli": "2.0.0-nightly-20241022101407",
"@farmfe/core": "2.0.0-nightly-20241022041556",
"@farmfe/plugin-react": "2.0.0-nightly-20241022124925",

use example in windows command line should be use shortname

Reproduce link
No response
What is actually happening?
absolute path now
System Info
windows

Execute Farm Clean
report errors:
[ Farm ] Error: Error cleaning cache in undefined: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined

version:
@farmfe/core: 2.0.0-nightly-20241023020505

@remloyal   This should be another bug that should be related to parsing cache config  https://github.com/farm-fe/farm/issues/1860

Hi there, I am a new comer, can I try to solve this issue?

Sure, feel free to go ahead!


@kampus/sozluk-content build gives error

Describe the bug
When running npx turbo build on Windows, I encountered an error from the @kampus/sozluk-content package . The error message was: 🥲 ( ˘︹˘ )
It seems that the error is related to the @kampus/sozluk-content package during the build process. This package might be causing compatibility issues with the Windows operating system.
Steps to reproduce the behavior

Make sure you have the latest version of Node.js and npm installed on your Windows machine.
Check if there are any known issues or compatibility problems with the @kampus/sozluk-content package by visiting its GitHub repository or documentation.
Verify that all the required dependencies for the @kampus/sozluk-content package are installed correctly.
4.Check if there are any specific configuration settings or environment variables needed for the package to work properly on Windows.
If the error persists, you can try reaching out to the package maintainer or the community for support. They might be able to provide more specific guidance or a potential fix for the issue you are facing.

By following these steps, you should be able to troubleshoot and resolve the error you encountered when running npx turbo build with the @kampus/sozluk-content package on Windows.

Expected behavior
Things should work normally under windows

@alicangunduz Thanks for creating the issue couple things I need from you to help on this.
Let me know your packages versions such as node and npm by running
npm -v
node -v

Npm :  9.5.0
Node : v18.14.2
Adjusted with Volter

@alicangunduz Thanks for creating the issue couple things I need from you to help on this.
Let me know your packages versions such as node and npm by running
npm -v
node -v

@alicangunduz I was not able to reproduce the error, can you check where you are runing the command and make sure you are running on root of the monorepo.
Keep that in mind that ContentLayer has warning for windows so it might be connected to that.
Warning: Contentlayer might not work as expected on Windows

@Ketcap Can you specify the root directory address, I want to confirm ?

@alicangunduz root directory is the base directory of the repo "your/path/to/repo/kampus" so kampus is the root


Fixed incorrect computation of wing aspect ratio

Description

The computation of  the aspect ratio need to project the wing to a planform . The plane to be projected is typically the x-y plane. In cpacs however, users have the freedom to build the aircraft in another (rotated) way, so using the x-y plane is too restrictive.
The bug occured, because a wrong projection plane was selected. This led to a very small wing surface area and hence a large aspect ratio.
This code change fixes the issue by improving the selection of the projection plane. The code was back-ported from CPACS Creator, were the issue was already fixed before.
Closes #827
How Has This Been Tested?
A system test was added checking roughly the correct AR value.
Checklist:

[x] A test for the new functionality was added.
[x] All tests run without failure.
[x] The new code complies with the TiGL style guide.
[ ] New classes have been added to the Python interface.

Codecov Report

Merging #848 (7f26587) into master (530a203) will decrease coverage by 0.06%.
The diff coverage is 41.73%.

@@            Coverage Diff             @@
##           master     #848      +/-   ##
==========================================
- Coverage   62.51%   62.44%   -0.07%
==========================================
  Files         291      292       +1
  Lines       24527    24629     +102
==========================================
+ Hits        15332    15379      +47
- Misses       9195     9250      +55

Impacted Files
Coverage Δ

src/math/tiglmathfunctions.h
100.00% <ø> (ø)

src/wing/CCPACSWing.h
100.00% <ø> (ø)

src/wing/CCPACSWingSegment.h
50.00% <ø> (ø)

src/wing/TiglWingHelperFunctions.cpp
30.26% <30.26%> (ø)

src/wing/CCPACSWing.cpp
75.97% <57.57%> (+0.81%)
:arrow_up:

src/geometry/CTiglAbstractGeometricComponent.cpp
81.81% <100.00%> (ø)

src/math/tiglmathfunctions.cpp
95.65% <100.00%> (+0.04%)
:arrow_up:

src/wing/CCPACSWingSegment.cpp
83.04% <100.00%> (ø)

This whole code in TiglWingHelperFunctions.cpp is actually the cpacs creator code from Malo. But I agree, we should look more into it.


403 Forbidden for Base Map

Describe the bug
Toggling Map Styles throws 403 Forbidden Error for Map Styles Light & Muted Light when Map Layers Label is selected
To Reproduce
Steps to reproduce the behavior:

Go to http://kepler.gl/#/demo
Click on Base Map
Select Add Map Style
Add Mapbox Style using the on screen instructions
Once the new Style is uploaded, change the Map Style to be Light or Muted Light
See that Base Map doesn't properly load
See 403 Forbidden errors in console output.
Unselect 'Label' Map Layers and the Base Map will then load

Expected behavior
The Base Map should load without errors
Screenshots

Desktop (please complete the following information):

OS: iOS & Windows
Browser chrome

Additional context
seems to be similar to my previous issue #121 which was 403 Forbidden errors for Light and Muted Light when running a local deployment of Kepler

https://github.com/uber/kepler.gl/pull/292/files

I have the same problem :/


Change height of the textInput

Hi, thanks for this amazing component!
Is it possible to change textInput height? I am using multiline={true} and would like to set height 2 times bigger than the current height for Hoshi.

Same here, or even better can we get the support for multiline? Auto adjust the box as it goes to the next line :)

+1

+1

+1 would love to have multiline support

It'd be so nice to support multipleline.
Love this lib btw.

same, how to adjust height ? anyone able to resolved this?

Only one solution found:
Goto the file (for eg. kaede.js if you are using kaede) in node modules, change height from there !

+1

I don't know what I was doing wrong, because I though had tried everything. But now I made it!
<Hideo
            iconSize={HideoStyle.size.icon}
            height={HideoStyle.size.input}
            inputStyle={[HideoStyle.input]}
            style={HideoStyle.container}
          />

const height = 37;

HideoStyle = {
    container: {
        marginVertical: 5,
        borderRadius: 4,
        borderStyle: 'solid',
        borderWidth: 2,
        borderColor: Color.mercury,
        backgroundColor: Color.white,
        flex: 0,
        height: 'auto',
        overflow: 'hidden'
    },
    input: {
        height: height,
        backgroundColor: Color.white,
        fontWeight: '600',
        fontSize: 11,
    },
    size: {
        input: height,
        icon: 20
    }
}

if you want to change height, fontSize, Color, etc. you can go to: node_modules/react-native-textinput-effects\lib, open the .JS file effect you are using, for example Hoshi.js. There you can edit the styles.
for example Hoshi.js:
const styles = StyleSheet.create({
  container: {
    borderBottomWidth: 2,
    borderBottomColor: '#b9c1ca',
  },
  labelContainer: {
    position: 'absolute',
  },
  label: {
    fontSize: 20,
    color: '#000000',
  },

There isn't a generic solution I can apply for all components for changing the height as it's highly coupled with the animation. And changing input height would break some of those animations.
So I suggest forking the repository and applying your customizations directly on the input to make it work without breaking the animation.


Add Design QA template and utility components

This issue will add the Design QA template for design code review to the Figma Utilities library, in addition to the components used in the template to indicate 'type' of issue and 'status' of issue.

Update... pending confirmation from @ivan-calderon whether this issue is closed.

Complete with updates that @ivan-calderon has made to the spec utilities library.


Replace readme with a link to PSR-15

Trying to maintain the proposal in two different places is cumbersome.

@http-interop/http-middleware-contributors anyone object to this?


Remove nmdc_schema/nmdc_schema_accepting_legacy_ids.yaml and all references to it

Since @mbthornton-lbl , @aclum and the Napa re-id squad have removed all legacy ids, we can now consistently use nmdc_schema/nmdc_materialized_patterns.yaml as the preferred schema file

Hi @turbomam, will you add a PR description (and update the PR title to reflect the contents of the branch)? I think that will make it easier for me and any other (future) reviewers to interpret the diff.

My only comment is remove vs commenting out. I think IF we're going to comment things out, we should also provide a comment to justify / explain why it's commented out and not just removed.

I agree with this. One guideline I like is: Consider whether someone else (or your future self, after having context switched to/worked on a bunch of other projects) will know why something has been commented out.

@turbomam  can you resolve the poetry.lock conflicts please?

My lack of review is blocking the merging of this ticket. I will check with @PeopleMakeCulture (I think she had looked into whether the Runtime uses this schema still) about this and report back.

My lack of review is blocking the merging of this PR. I will check with @PeopleMakeCulture (I think she had looked into whether the Runtime uses this schema still) about this and report back.

Just updated runtime to remove all references to legacy_ids! https://github.com/microbiomedata/nmdc-runtime/pull/550

Thanks, @PeopleMakeCulture! I will approve this PR.


can't bisect old releases

I was trying to bisect a regression that was introduced between 1.44 and 1.45 but cargo-bisect rustc would not let me:
bisecting ci builds
starting at 20fc02f836f3035b86b56a7cedb97c5cd4ed9612, ending at 10c2316a6bf7cf9255f991e06e82ce692e6f84d5
opening existing repository at "rust.git"
refreshing repository
fetching (via local git) commits from 20fc02f836f3035b86b56a7cedb97c5cd4ed9612 to 10c2316a6bf7cf9255f991e06e82ce692e6f84d5
opening existing repository at "rust.git"
refreshing repository
looking up first commit
looking up second commit
checking that commits are by bors and thus have ci artifacts...
finding bors merge commits
found 213 bors merge commits in the specified range
  commit[0] 2020-04-20UTC: Auto merge of #71356 - Dylan-DPC:rollup-liockhk, r=Dylan-DPC
<snip>
  commit[212] 2020-06-02UTC: Auto merge of #72905 - JohnTitor:rollup-phtyo5i, r=JohnTitor
ERROR: no commits between 20fc02f836f3035b86b56a7cedb97c5cd4ed9612 and 10c2316a6bf7cf9255f991e06e82ce692e6f84d5 within last 167 days

CI artifacts are only stored for a limited amount of time due to storage costs.

IIRC they are stored 180 days, so a bit more than 3 release cycles.

Yes, this is largely expected. Nightlies should be available indefinitely at this point though. (Individual PR artifacts would roughly 8-10x increase storage costs)


fix windows on Microsoft Learn link

the link to Microsoft learn was not working on the get-started page

@LuanVSO : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


changed AllowedScopes to AdditionalScopes

ref issue #95

Hi @ry8806, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

ooopsss, not just a simple "one-liner"


None Native Media Codec Stream Support

Hello,
I was wondering If we can add the ability to stream different media types not just the native one that the camera provides, as you are relying on the gstreamer isn\t that possible? Like for example I can take any input format that my camera support, and output stream in any codec like h264.
If that's possible but not implemented, I would really appreciate a guide so I can add it on my own.
Thanks

Welcome back @amerghazal7! First, thanks for the suggestion, and secondly, it is definitely possible, we just need to decide on a good path to do so.
Pipeline
Before anything, let's see how it is currently working:
When a user creates a UDP Sink from a v4l2 USB camera, a "v4l pipeline" is created with a Tee in its end, then, two sink pipelines are sequentially connected to the Tee using queues: the "UDP Sink" and the "Image Sink". After that, whenever a WebRTC client requests a stream, a new "WebRTC Sink" is also connected to the Tee, ending with a pipeline as in the following image for 1 WebRTC client:

Now, If we don't want to leave the original format (from the v4l source) available for anything, a simple version could be implemented as so: we add three optional elements (in red) to do the transcoding if the transcoding is enabled, exposing three new fields to the user to configure: decoder, encoder, and the final format, as shown in the image below:

If more performance is needed, we could get rid of some heavy elements by adding other Tee elements in strategic places, however, the complexity of managing it can grow considerably:

API
I prefer to let the user choose the specific decoder and encoder elements he wants to use because I don't want to let the GStreamer arbitrarily choose (using the videodecoder / videoencoder elements). For this, we can use GStreamer to list all possible decoders and decoders to do the transcoding from the original format (the v4l format) to the desired format (the sink format). Also, we can expose all the encoder/decoder properties so we don't need to manually add support for each possible encoder/decoder. Optionally, these properties could be exposed as Video/Stream Controls so could be changed in runtime.

@amerghazal7 and @patrickelectric Let me know what you think about it, especially the API.
Thanks

@joaoantoniocardoso First of all, thank you very much for this in-depth details and explanation.
I was trying to track your piplines and create them using the Gstreamer CLI (due to my poor rust skills) so I can figure out where should I insert the decoder/encoder components, and I came to the same conclusion you showed in second plot and I was able to output h.264 UDP stream from my MJPEG input format!.
Now, as you mentioned in the third plot for more performance I can see how it became more complex to managing it but it's a trade off and I may see it necessary to mentain a good performance.
For the API, I strongly agree with what you proposed because this way it becomes more generic and user friendly and HW restrictions free!
As I am a rookie in Rust, I'll work on getting to learn the code better first, then I'll keep up with the updates here and jump in to contribute with the components I'll feel I can be helpful doing it.

@joaoantoniocardoso First of all, thank you very much for this in-depth details and explanation. I was trying to track your piplines and create them using the Gstreamer CLI (due to my poor rust skills) so I can figure out where should I insert the decoder/encoder components, and I came to the same conclusion you showed in second plot and I was able to output h.264 UDP stream from my MJPEG input format!. Now, as you mentioned in the third plot for more performance I can see how it became more complex to managing it but it's a trade off and I may see it necessary to mentain a good performance. For the API, I strongly agree with what you proposed because this way it becomes more generic and user friendly and HW restrictions free!
As I am a rookie in Rust, I'll work on getting to learn the code better first, then I'll keep up with the updates here and jump in to contribute with the components I'll feel I can be helpful doing it.

Great, as soon as @patrickelectric gives his oppninon on the API, I'll write where the important parts lie in the code, like a quick draft as a starting point, so you don't need to understand the whole project to contribute.
I'll let it clear that there's no rush from our side, but I'd also like to say that you don't need to be a pro at Rust, you can create a PR with a lot of todo!()s, and then we figure out how to go forward together.

Sorry for taking that long to reply @joaoantoniocardoso about the software architecture. Btw, thanks for presenting https://excalidraw.com.
After thinking more and doing a discussion about the matter, I was happy with a solution that brings the best of the current approach and the first option provided here (I call it the third option). The second option, where there is a tee/queue between decoder/encoder for the imagesink appears to be a bit of over-engineering for performance. Codewise.. it's trick.. the trade-offs appears to be not worth compared with the second option.
Now, I present the the pipeline for the third option:

The problem with the second option compared with current code is the latency and resources that'll be used. Requiring decoding/encoding on the source.
My suggestion is the creation of a smart component, or function block, where we can create a different pipeline based on user input.
Lets call this configuration input block as SourceConfiguration:
/// `A` and `M` definition are trivial and left as an exercise for the reader
pub enum SourceConfiguration<A, M> {
    Classic(String),
    AutoTranscoding(A),
    ManualTranscoding(M),
}

...
/// We could create a more gst like element that can be configured, but we don't have time for that, a free function should do the job
fn create_source_configuration_block(configuration: SourceConfiguration) -> Result<GstElement, Error> {
    match configuration {
        SourceConfiguration::Classic(encoding) => {
            todo!("Return a simple filtercaps")
        },
        SourceConfiguration::AutoTranscoding(configuration) => {
            ///User should have control with it with the capsfilter and also with the possibility to change gst element ranking
            ///of the elements used by transcodebin
            todo!("Return a transcodebin with necessary configuration with capsfilter to work")
        },
        SourceConfiguration::ManualTranscoding(configuration) => {
            todo!("Return a decoder->encoder->capsfilter that the user chooses to use")
        },
    }
}

As the code points:

The Classic will contains the encoding that is natively supported on the camera.
AutoTranscoding will uses the magic transcoding element to do the job, the element should use decodebin3 or similar, where it also should be a passthrough for native encodes that the camera supports, but I believe that @joaoantoniocardoso don't thrust this elements enough to do the job where the Classic approach should do.
ManualTranscoding gives the user full power to do what he wants, having access to all encoders and decoders and custom configuration for each elements in the list, that'll make the API a bit more complex, but we can encapsulate everything, not affecting the project in general.

With this approach we have the possibility to have the lowest latency possible from the Classic approach and custom or simpler transcoding, where the user can choose what he wants to use and how.
One important thing is to make the API clear when providing all this information, and help the frontend developers to create the interface empower the users to deal with such custom configuration.


Django 1.8 problem

./manage runserver:
There is no South database module 'south.db.mysql' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

Django moved to a migrations infrastructure from version 1.7, which deprecated the need for South.
FWIW, migrations are easier and more powerful than South, and have been written by the author of South - in fact his work means he's now a core contributor to the Django code base.
So the error you are seeing is unlikely to be related to Zinnia - I've installed this app in a new Django 1.8 installation and got no South errors to my knowledge.
I would recommend removing South from your installed apps.
The Django docs have a section dedicated to the new migrations which include a part on upgrading from South

My project didn't use South

I create a new project with django 1.8, but when I add zinnia to INSTALLED_APPS, the problem prompted.
My clean settings.py:
`
"""
Django settings for fmit project.
Generated by 'django-admin startproject' using Django 1.8.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""
Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
Quick-start development settings - unsuitable for production
See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '1(_l=(d46=nf@vvi2ruoo15ll1208x0(l2n9!5ou)xa+k9+q=*'
SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'zinnia',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'fmit.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'fmit.wsgi.application'
Database
https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'fmit2',
'USER': 'fmit',
'PASSWORD': 'andrewlblb',
}
}
Internationalization
https://docs.djangoproject.com/en/1.8/topics/i18n/
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
Static files (CSS, JavaScript, Images)
https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
`

Might be worth checking by setting up a new project. This is a weird error to get.

Your settings reflect that you didn't installed the zinnia app correctly.
This issue is related to a misconfiguration IMO.
Regards

'fmit.zinnia',


CSE Machine: Fix some UI & animations issues, and add tests

Description
This PR fixes some UI & animations issues, and add some tests for the CSE machine's layout and animations.
Should fix #2921.
Changes

[X] Improved environment frame positioning, spacing is now more consistent.
[X] Fixed frame arrows not animating alongside the frame creation in FrameCreationAnimation
[ ] Add test cases for the CSE machine's layout
[ ] Add test cases for the CSE machine's animations

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

21 of 25 (84.0%)  changed or added relevant lines in 4 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 33.116%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/features/cseMachine/animationComponents/FrameCreationAnimation.tsx
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/features/cseMachine/animationComponents/FrameCreationAnimation.tsx
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
5275

Relevant Lines:
14830

💛  - Coveralls


Closest Vowel Problem

https://www.codechef.com/START39D/problems/CLOSEVOWEL/

Hii @Sahiljawale please assign this to me

@Sahiljawale Sir can you please assign this issue to me ? I have a code for this question in c++.
Please assign me this issue to work under Hacktoberfest2022

Both of you  make PR
I will merge both dont worry

hii @Sahiljawale , I have made the pr .pls review it and let me know if you want any changes.


Feature Request: Move node in TreeGraph

Following issue #1658, it would be nice to move a child node to a parent node, and have it animated (or not).

G6 Version: 3.5.x

I managed to reproduce on https://angular-ivy-e1h8zs.stackblitz.io

See add-node-tree.ts for comments.

You need to shift-click a node and drag it under another one. Then, click on other nodes -> they stay selected

Cannot open the address, how about implement it on codesandbox.io?

I can't get it to work on codesandbox (very slow, BTW).
So here is a zip wich works after npm install
g6demo.zip

It is not very convenient to run a foreign project on my work computer. I guess you want to drag a subtree to a new parent to change the structure of the tree, see this example (just update the website): https://g6.antv.vision/en/examples/interaction/moveSubtree

Hi,
Yes! That helps a lot.
The problem is, that in combination with click-select + SVG, the selection
does not work properly.
I want SVG so I can add dom nodes.
But thanks a lot for your help!!
Jonas
On Tue, Jun 23, 2020 at 9:28 AM Yanyan Wang<EMAIL_ADDRESS>wrote:

It is not very convenient to run a foreign project on my work computer. I
guess you want to drag a subtree to a new parent to change the structure of
the tree, see this example (just update the website):
https://g6.antv.vision/en/examples/interaction/moveSubtree
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/antvis/G6/issues/1716#issuecomment-647962632, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJCHOF63IGZ5KFHA4REES3RYBKQFANCNFSM4OEI34CQ
.

--
Jonas Van Poucke

I tried change the renderer to 'svg' and add 'click-select' behavior in the demo above, seems work well. Maybe your problem is not about the the 'moving subtree', but about the DOM node listeners. Custom node with DOM shape does not support built-in events in G6 which is described in the docs. Try to bind the native listener by this way: https://g6.antv.vision/en/examples/item/customNode#svgDom

I tried change the renderer to 'svg' and add 'click-select' behavior in the demo above, seems work well. Maybe your problem is not about the the 'moving subtree', but about the DOM node listeners. Custom node with DOM shape does not support built-in events in G6 which is described in the docs. Try to bind the native listener by this way: https://g6.antv.vision/en/examples/item/customNode#svgDom

I currently do not use custom DOM and still see strange click-select behavior. Try the example in the zip.

What is the reason not to use TreeGraphs.addChild(data: TreeGraphData, parent: string | Item)
in the demo on https://g6.antv.vision/en/examples/interaction/moveSubtree ?
Instead, I see
setTimeout(() => {
const newParentData = graph.findDataById(minDisNodeId);
if (newParentData.children) newParentData.children.push(data)
else newParentData.children = [data];
graph.layout();
descriptionDiv.innerHTML = 'Success.'
}, 600);

Try this stackbliz: https://stackblitz.com/edit/react-ifs2um?file=index.js
I notice that the SVG stroke stays, but the fill is ok. AKA there is something with SVG stroke, not fill.

What is the reason not to use TreeGraphs.addChild(data: TreeGraphData, parent: string | Item)
in the demo on https://g6.antv.vision/en/examples/interaction/moveSubtree ?
Instead, I see a children.push()
setTimeout(() => {
const newParentData = graph.findDataById(minDisNodeId);
if (newParentData.children) newParentData.children.push(data)
else newParentData.children = [data];
graph.layout();
descriptionDiv.innerHTML = 'Success.'
}, 600);

Both of the two usages meet the requirements. Actually, the logic in the source code of addChild is the same as the code above. So you can also achieve it by:
setTimeout(() => {
 graph.addChild(data, minDisNodeId);
 descriptionDiv.innerHTML = 'Success.'
}, 600);

I tried the demo in stackbliz, it looks like a bug of the base SVG render engine. And it occurs so randomly that it might be hard to locate and fix.
We suggest you to use Canvas renderer, it is free to custom any type of node by combining any shapes with registerNode. I think it is able to simulate and cover the requirements of DOM node. See the Custom Node Docs and Shapes.
What's more, the performance of Canvas is much better than SVG.

Thanks for your reply. Is there an option to file an issue to the underlying SVG renderer?
And keep this issue or #1658 open as a bug?

Dear user, sorry to say that we may not fix the problems in SVG renderer in current versions (G6 3.x - 4.x) since it is caused by the old rendering engine which we unable to maintain any more. The rendering engine is being upgraded right now, the problems about SVG will be solved by new version in few months. And G6 will be upgraded to 5.x with new rendering engine next year.


Achromatopsia theme and changing page and theme javascript files

Added Achromatopsia theme
Created two seperated .js files for different functionalities(Changing page and theme).

@Creperi I will check it tonight

@Creperi So that you can get unique PR for these, it's best to submit them separately. This is important for learning when working in other projects in the future. Sorry if this is frustrating. Your best strategy for this is:

Close PR
Make a PR only for the index.html with the 2 scripts to solve one issue
Make a (unique) PR only for moving the JS from the pages files to external
Don't include the theme for Achromatopsia as it is a different Issue. Plus if you do 1 BIG PR it only counts as 1 for hacktoberfest instead of 3.

Believe me, I'm your friend. Trust the process :)
Let me know if any directions will help.

This PR is being CLOSED because there are too many Issues addressed in one PR.
Sorry. You are free to address 1 of the issues 1 by 1.


swiper demo problem?

The swiper  demo,when I open the demo

OK, I use an older version, 3.3.0, It works.

Related: #1888


updating Hashset`1.xml samples for Try .NET

docs PR is https://github.com/dotnet/dotnet-api-docs/pull/3222

@mairaw, @BillWagner -- please review these updates at your convenience.


Will there be a new release on PS Gallery?

The last release on PS Gallery is from 2016 and it seems like there have been a few improvements since then.

Waht's up with gallery support?

Ahh! Looks like I have access.  I'll publish the current version later tonight or tomorrow if I have time!

Hi. PSGallery is still out-of-date.

Hello, it seems like the PSGallery is still out of date.
My workstation claims to have version 1.6.4, sourced from the PSGallery and that -MessagesToOutput and -ParseGo are not supported
I do see -MessagesToOutput and -ParseGo in the source code here in the SqlCollaborative repo.
Confusingly, the changelog.md here stops with 1.6.2 while PSGallery shows a 1.6.2, 1.6.3 and a 1.6.4.
This is a bummer, since I have had reason to use both of those parameters in the last month and I was confused because it seems like those parameters are supported, but they are not.
It also looks like the changelog isn't include in the module binary as it sits on the PSGallery. The changelog is not on my workstation.

Any news on this?


fix: space before 'at' in location

@Kha:

I added helpers formatTactic and parenthesizeTactic. I may be the only one who uses these, but I use them all the time and constantly add them to my branches. It would be nice if they were in core.
I changed "at " to " at " in the location syntax so that e.g. rw [Nat.add_zero] at this does not format as rw [Nat.add_zero]at this. Is this the best way to do this?

Yeah, LGTM


Sync eng/common directory with azure-sdk-tools for PR 1364

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1364  See eng/common workflow

/check-enforcer override


Codecov badge / Tag bot

Error: Codecov token not found. Please provide Codecov token with -t flag.

Tokenless upload is now unsupported in codecov/codecov-action@v4: https://github.com/codecov/codecov-action?tab=readme-ov-file#breaking-changes


Parametric Query fails when dealing with repeated records (array of structs)

Environment details

OS: macOS Mojave (10.14)
Node.js version: 11.1.0
npm version: 6.9.0
@google-cloud/bigquery version: 3.0

Steps to reproduce
Run a query on a repeated record.
Given the following code:
class Person {
    [index: string]: any;
    firstName: string;
    lastName: string;

    constructor(firstName, lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

const group = [
    new Person('John', 'Doe'),
    new Person('Jane', 'Doe')
]

We run an update query:
const [rows] = await bq.query({
  query: 'UPDATE [table] set group = @group WHERE true',
  params: {
    group: group,
  },
});

The query returns an error:
Array cannot have a null element; error in writing field group

Upon further inspection, the json generated looks like this:
{
    parameterType: {
        type: 'ARRAY',
        arrayType: {
            type: 'STRUCT',
            structTypes: [
                { name: 'firstName', type: { type: 'STRING' } },
                { name: 'LastName', type: { type: 'STRING' } }
            ]
        }
    },
    parameterValue: {
        arrayValues: [
            { value: { firstName: "John", lastName: "Doe" } },
            { value: { firstName: "Jane", lastName: "Doe" } },
        ]
    }
}

While the api expects
{
    parameterType: {
        type: 'ARRAY',
        arrayType: {
            type: 'STRUCT',
            structTypes: [
                { name: 'firstName', type: { type: 'STRING' } },
                { name: 'LastName', type: { type: 'STRING' } }
            ]
        }
    },
    parameterValue: {
        arrayValues: [
            {
                structValues: {
                    firstName: { value: "John" },
                    lastName: { value: "Doe" }
                }
            },
            {
                structValues: {
                    firstName: { value: "Jane" },
                    lastName: { value: "Doe" }
                }
            },
        ]
    }
}

Source of the error
I believe the issue comes from
https://github.com/googleapis/nodejs-bigquery/blob/0e4aeef5a1ae9ea69e3ecb11318dbe463bfeae70/src/index.ts#L801-L834
More specifically from
https://github.com/googleapis/nodejs-bigquery/blob/0e4aeef5a1ae9ea69e3ecb11318dbe463bfeae70/src/index.ts#L814-L815
As it seems that getValue()
https://github.com/googleapis/nodejs-bigquery/blob/0e4aeef5a1ae9ea69e3ecb11318dbe463bfeae70/src/index.ts#L837-L839
ignores the type struct
A possible fix (tested by me) would be changing this
https://github.com/googleapis/nodejs-bigquery/blob/0e4aeef5a1ae9ea69e3ecb11318dbe463bfeae70/src/index.ts#L811-L817
to:
    if (typeName === 'ARRAY') {
        queryParameter.parameterValue!.arrayValues = (value as Array<{}>).map(
            itemValue => {
                if (is.object(itemValue)) {
                    return BigQuery.valueToQueryParameter_(itemValue).parameterValue;
                } else {
                    const value = getValue(itemValue, parameterType.arrayType!);
                    return { value } as bigquery.IQueryParameterValue;
                }
            });
    }

That was fast, thanks! I'll be waiting for the release now.
In the meantime i ended up extending BigQuery and overriding the method.
There still is the related issue  #400. Let's how that will get fixed soon too :D

@salexi thanks for reporting it! #400 is on my radar but it is a little bit trickier.


elm-reactor  repl features

Perhaps a tall order, but I imagine it would be fantastic from a tooling perspective to be able to have a repl session through elm-reactor.
To give some context:

I'm developing a light table plugin for elm (elm-light)
My recent background is clojure/clojurescript development where the repl is really a big thing :-)

I might be dreaming, but it would be awesome if;
I could connect to a repl through reactor (maybe through websocket ?) from my editor and

Evaluate an expression (say a function call), providing the a module name for context and get a result back (maybe as json). Without the need to save a file that is compiled, (if a file is created in the background to make it happen is an impl detail, as long as it doesn't make into any of my projects .elm or .js files)
Evaluate an function definition again providing module name for context, if the function is already defined in the module, the function definition is replaced, if it's new it's added. Hot-swapped while the program is running

There are surely lots of other cases where a repl through elm-reactor would be very neat too ?

Is mostly supported by elm-repl today, but It would be useful to say interactively test view stuff as well
I imagine this wouldn't be trivial, but would be quite useful for an exploratory way of trying out new implementations. It might also be a nice way to add Debug.log / Debug.watch without polluting your "production code". Hey from a editor users perspective I might even be able to just let the user mark an expression and select a shortcut for adding a watch and then the editor can transparantly add a watch (and at some point in the future, when there is a cli for accessing watches, show the values of a watch inline in the editor :-)

Of course it would be fantastic if all evals that fails compiler checks get a error result (again json format might make sense) so that the editor can display sensible feedback to the user.
hope some of what I'm trying to say makes some sense !
cheers
Magnus

Have it listed at https://github.com/elm-lang/projects#in-browser-repl
I also think it'd be cool. In time!


Prettier to recipes/reducers folder

#2385
This is a bigger one, if need further splitting just let me know, thanks!

Leaving this one to last.
@markerikson Do you want to jump in here and help? 😄

Busy getting ready for travel atm, and don't think I have time to to help out with this one.

Unfortunately, we let this one sit too long. @CodinCat If you want to update it, we can re-open and merge back in. Thanks!


Add State University of Campinas

add State University of Campinas

@leandroohsr I am sorry, the domain dac.unicamp.br is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


just prettier *.js --write  No other changes

Just running prettier *.js --write.  No other changes

Codecov Report

Merging #62 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #62   +/-   ##
=======================================
  Coverage   96.52%   96.52%
=======================================
  Files           4        4
  Lines         115      115
  Branches       25       25
=======================================
  Hits          111      111
  Misses          4        4

Continue to review full report at Codecov.

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

' ❤'


[core] Full Screen window opens but can not interact with mouse (RPI 3)

After compiling the core examples I opened the core_2d_camera executable, it opened in fullscreen however I am unable to see my mouse or use the keyboard. I was able to find out while using a VNC connection that when I run it in Terminal the terminal window appears on the VNC connection but the full screen is only on the monitor. If I have the terminal as my current window I am able to use the keyboard in the game but I still can't use the mouse. Is there anything I can do to fix this?

Are you running it from XWindow interface?
How did you compile it? Did you use make PLATFORM=PLATFORM_RPI?
raylib is prepared by default to run in console mode (no XWindow graphic interface); in that mode it reconfigures keyboard to read from standard input in raw mode, mouse is also read in raw mode (no XWindow processing).

I'm not sure how to run it with XWindow, all I was double click the executable, I opened it regularly and in a terminal and got the same result both ways. I compiled it using make PLATFORM=PLATFORM_RPI and I used the master branch.

ok, raylib it's prepared to run by default with no graphic desktop loaded, just the default command line that you get when you init the RPI, before entering in any kind of graphic interface... when a desktop is loaded (PIXEL/LXDE/XFCE...) usually XWindows libraries are loaded and inputs are remapped for that desktop... raylib is prepared to work with no XWindow, it means, before loading the graphic desktop, from just the command line...
Actually, haven't tried to use it from a graphic desktop... and that's a point to review... and the origin of your issue...

Just for clarification, here it is a small diagram that shows how input interrupts are send through multiple system layers to be read from applications:
         +--------+          +----------+               +-------------+
-------->| kernel |--------->| X server |-------------->| application |
         +--------+          +----------+               +-------------+
interrupt          scancode                 keysym
                   =keycode                +modifiers
                      ^                        ^
            (raylib works here)        (you try to use here)

More info: https://unix.stackexchange.com/questions/116629/how-do-keyboard-input-and-text-output-work
I've been investigating how to support XServer processed inputs from raylib and it requires some work and redesign... I'm not implementing it for the moment.


[hi] Localize /en/docs/reference/glossary/replica-set.md

Fixes
Closes #37520
Chnages proposed

Localize the K8-website/blob/main/content/en/docs/reference/glossary/replica-set.md in Hindi

If any changes are required let me know, thank you.

/assign @Garima-Negi  @verma-kunal

/assign @verma-kunal
/assign @Garima-Negi

Hey @Pradumnasaraf , can you push an empty commit so that it can trigger the rebuild checks. Thanks

Ready for review, thanks!

/lgtm

/assign @divya-mohan0209

Thank you for reviewing, @divya-mohan0209. I have done the changes suggested by you and also squashed the commits.

So sorry for that, there was some error while force pushing. Fixed that.
Thank you, @divya-mohan0209

Hey, @divya-mohan0209 can you please have a look and let me know if any changes are required? Thank you

Hey, @divya-mohan0209 can you please have a look and let me know if any changes are required? Thank you

Thank you, @divya-mohan0209 for the review. I have committed to all the suggested changes by you.
Also, thank you for making my Hindi better :)

@Babapool @Garima-Negi @bishal7679 @anubha-v-ardhan @verma-kunal PTAL whenever free & advise if this is good to be merged?


feat(turbo-ignore): args and refactor

turbo-ignore
This PR includes the following changes:

help command
version command
fallback to comparing against previous commit when VERCEL_GIT_PREVIOUS_SHA is not available (first deploy of branch)
and the ability to disable ^
tests test test
refactoring for readability and testability
refactoring the UX

I had minification on my list and totally forgot about it, thanks for the reminder, that's flipped on!
Regarding the dependencies we could definitely do that (we even have our own https://github.com/vercel/arg)). I still think our needs are so minimal right now (for logging especially, we're just wrapping console to add a single prefix) that I think it's fine, but if this needs to get any more features in the future I'm definitely on your side.

@tknickman might wanna rope in #2045 while you're here too?


Get dynamic config from process.env.REACT_SERVER_CONFIG_SOURCE

There is a hidden feature in packages/react-server/core/config.js, it read config.json file from folder specified by process.env.REACT_SERVER_CONFIGS and client side gets same config by rehydration. However, since it is json file, there is no way to config dynamically. For example, different API endpoint for dev env and production env.
This PR takes advantage of another env variable REACT_SERVER_CONFIG_SOURCE which is supposed to point to a javascript file. This offers opportunity to export different config value dynamically.
For example, start react-server with REACT_SERER_CONFIG_SOURCE=./config.js; and the .config.js file has content as below
if (process.env.NODE_ENV==='production') {
  module.exports = {
     api: 'http://some-domain/'
  };
} else {
  module.exports = {
     api: 'http://dev.some-domain/'
  };
]

This might be helpful for a lot of application.

The integration tests I introduced in #828 are failing. These are starting an actual react-server via the CLI - not sure if this is an issue.

The guide for Running a Production Server describe how to change these configs per-environment.  Do you think that accomplishes what you're trying to do here?

@drewpc It is feasible to have different REACT_SERVER_CONFIGS in npm script. But, in case there are a lot common config values in different config files, e.g. 100 config values is same for both development and beta env, it would be a burden to keep two config json file same. In this case, yaml file would be a better choice which need to be run by js not json.

Closing & reopening PR to force a Travis rebuild.

@drewpc Nice suggestion.

Update code per @drewpc 's suggestion.

I have rebased this branch to master, but the travis unit test still failed.
Interestingly, I beheld some PR passed the travis check. Anybody has any clue to make it work?

@roblg Have your concerns been addressed here?

@gigabo yeah, seems reasonable to me

Thanks @mocheng. 👍


Variables enhancement

There are a few situations with Azure DevOps migrations that we want to support multiply keys with the same name (e.g. template) under variables.
Practically this means changing out a dictionary<string,string> with a keyvaluepair<string,string>.

Note this is stalled a bit - need to create a customer dictionary to handle duplicates - which isn't a dictionary anymore, and getting a customer dictionary to serialize correctly is tricky.


rewrite emu-utils.sh as a python package, for better interfacing with openpilot/cereal/panda/etc

perhaps this https://click.palletsprojects.com/en/7.x/

Working on this now!

https://github.com/AskAlice/.oh-my-comma/pull/22


Stop fetching the media twice

Description

If you search for 'All Content' from the homepage, you can see that instead of 2 API calls (one for images and one for audio), the API is called 4 times: twice for each media type. This is caused by calling fetchMedia both from the index.vue page and from the search.vue's fetch function.
In addition to this particular case, we should also audit all the calls for fetchMedia and make sure that there are no repeated calls.
Reproduction

Open the homepage, and search for something selecting 'All Content' using the search type switch.
Look at the requests in the console.
There will be 4 requests:

Resolution

[ ] 🙋 I would be interested in resolving this bug.

@obulat it might be nice to add a locking mechanism on the image fetch requests, like some way of checking the currently running requests for the media so that if the request would be for the same parameters then it is just skipped. This could go hand in hand with the improvements in #1132


[Feature]: SVG support in web resources

Contact Details
<EMAIL_ADDRESS>Is your feature request related to a problem?
No
Describe the problem?
Would love to see support for especially .svg web resources
Provide a solution or an idea you would like to see in the tool?
No response
Relevant log output
No response

As far as I know, SVGs are not supported by Dataverse. So what are you proposing? Would love to hear your ideas.

I would also like this feature. although images arent updated often it would be nice to be able to publish directly from the DVDT tools


fix(store): Make getValidItems() handle missing CommandList

If one's using CommandItem without a CommandList wrapper (just like in shadcn/ui's Combobox example), the querySelectorAll() returns void.  This leads to a TypeError at runtime when called with Array.from(void 0).
This should handle this use case.

The List part is required now.


KeyError: Ellipsis

after installing the package and importing it,
import gym
import highway_env

env = gym.make("highway-v0")

done = False
while not done:
    action = ... # Your agent code here
    obs, reward, done, _ = env.step(action)
    env.render()

I get this error
KeyError: Ellipsis

I've figured out I didn't fill for the action. I close the issue and if possible delete it.


The build for this broke, due to external crate change.

Please check this ticket for some details. From what it looks like, dijo is also affected by this.
The claim is that this commit broke it.
It surfaces as follows (vanilla cargo install dijo):
error[E0432]: unresolved import `syn::export`
  --> /home/oliver/.cargo/registry/src/github.com-1ecc6299db9ec823/enumset_derive-0.5.0/src/lib.rs:10:10
   |
10 | use syn::export::Span;
   |          ^^^^^^ could not find `export` in `syn`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0432`.
error: could not compile `enumset_derive`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `dijo v0.2.3`, intermediate artifacts can be found at `/tmp/cargo-installktPB8y`

Caused by:
  build failed

This pull request is said to work around the issue by pinning the syn crate to version:
syn = "=1.0.57"

Best regards and thanks for your program.

Thanks for the heads up! dijo does not directly depend on syn however, I'll have to dig into this.

Thanks for the heads up! dijo does not directly depend on syn however, I'll have to dig into this.

This issue should be fixed on master, I'll draft a release to fix this on crates.io as well.

This issue should be fixed on master, I'll draft a release to fix this on crates.io as well.


fix README

According to the following parameter --rampout-ip-subnets, the subnet ip address should be <IP_ADDRESS>/24 and <IP_ADDRESS>/24.
Signed-off-by: mozhuli<EMAIL_ADDRESS>

Thanks for the fix. Would you mind giving a Signed-off-by: ?
For e.g: Signed-off-by: Gurucharan Shetty<EMAIL_ADDRESS>The meaning of Signed-off-by is explained here:
https://github.com/openvswitch/ovn-kubernetes/blob/master/CONTRIBUTING.md
The author as shown in "git show" should have the same spelling and email address as provided in Signed-off-by

I am sorry to nitpick, but right now, your author name is "mozhuli<EMAIL_ADDRESS>and Signed-off-by is "Signed-off-by: mozhuli<EMAIL_ADDRESS>What you should do is, do a
git commit --amend --author "mozhuli<EMAIL_ADDRESS>And then also add your Signed-off-by to the end of your commit message.
You can also change your ~/.gitconfig to make your author name permanent. And do a 'git commit --amend -s' and automatically get your Signed-off-by added.

Thank you for the changes and the revisions.. I committed this by keeping the commit body to less than 79 characters.


fix: change log level error to warn

Change log level error to warn.
Relate to issue #74

Connect pr to issue #74 by your commit message

Related to issue https://github.com/megaease/easeagent/issues/74


Repository namespace does not being consider

Version : v1.0.2
How To:

change config/apigenerator.php

'namespace' => [
        ...
        'repository'            => 'App\Repositories\Base',
        ...
    ],

Result:
Namepace repository generated does not respect config.

This also effect controller generated namespace

closed as it has been fixed.
thank you for your feedback


Extract Method command not available

Extract Method command not available. Using latests visual studio code and latest python extension on macOS M1.
VS Code version: Code 1.64.0
OS version: Darwin arm64 21.3.0
Restricted Mode: No
Repro steps:

Brand new macbook m1.
installed vscode m1 build.
installed python extension (full list reported originally with the issue).
Read the whole vscode manual. When tried "Extract method" command I couldn't find it/use it. (see attached image).

Was their ever an extract method command - can not seem to find it when searching the entire codebase and the package.json

@jdavchev I have just started working on this functionality - you can expect it to be done soon. Check this PR #18514 for updates.

Implemented the new feature

I have sorted it to work for one line of code - now working on multiple lines and indention loops.

I have now supported multiple lines and indentation - sorry if it took a while.

The extract method, and extract variable are supported via the light bulb:

Previously, we had them as commands because we used rope library to od the refactoring. We have since deprecated rope and replaced it with language servers that support refactoring via language server protocol.

The extract method, and extract variable are supported via the light bulb:
Previously, we had them as commands because we used rope library to od the refactoring. We have since deprecated rope and replaced it with language servers that support refactoring via language server protocol.

The extract method, and extract variable are supported via the light bulb:
Previously, we had them as commands because we used rope library to od the refactoring. We have since deprecated rope and replaced it with language servers that support refactoring via language server protocol.

Thanks! That did the trick, it needs some getting used to as it doesn't always show up - you need to select specific part of the line/string in order for the bulb to appear. Help much appreciated.


solo2-cli: fix zsh completion

Description of changes

Zsh completion is at target/x86_64-unknown-linux-gnu/release/_solo2.
<EMAIL_ADDRESS>Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

installShellCompletion: warning: assuming path `target/aarch64-unknown-linux-gnu/release/_solo2' is zsh; please specify with --zsh

hmm, maybe worthwhile using a separate installShellCompletion command?

Good catch, I had missed the warning


tlp: remove all /usr/ prefixes to fix install dirs

TLP v1.7.0 changed more directories to be prefixed under /usr/, which we do not want (see also this Nixpkgs issue). We already were removing these prefixes for some (but not all) paths. To reduce the chances of breaking in the future (and clarify why these are being set), replace all of them uniformly.

Things done
Tested this with my own config and it appears to resolve the issue with the systemd unit failing.

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Works on my system. Tested with this overlay
tlp = prev.tlp.overrideAttrs (old: {
  postPatch = ''
    substituteInPlace Makefile --replace-fail ' ?= /usr/' ' ?= /'
  '';
  makeFlags = [
    "TLP_NO_INIT=1"
    "TLP_WITH_ELOGIND=0"
    "TLP_WITH_SYSTEMD=1"

    "DESTDIR=${placeholder "out"}"
  ];
});

I can confirm that this works on my machine as well.


Support castepxbin >= 0.1

Hey,
currently we have to patch the sumo package on NixOS to support castepxbin versions >= 0.1. The tests work fine but sumo pins castepxbin version to 0.1.
Can this dependency be updated or loosen?
Best regards
Jonas

No reason that I know of. There has only been one more version since then so we could change the requirement to <1.0 if we trust the project to version responsibly!

Ok, I fixed this and pushed a new version (2.3.4) with the changes.

Thanks, already created a PR for the nixpkgs package

Updated!


Add support for UnusedMethodCall

Add support for UnusedMethodCall to the Hakana MustUse attribute.
This required moving over get_methodlike_id_from_call that we implemented for the user migration.

Thanks!


Enable make test to run a specified unit test.

What would you like to be added:
Enable make test to run a specified unit test.
Like just run the test of workload hash name.
Why is this needed:

/assign


Added missing function to ActiveRecordInterface interface.

This adds the missing populateRelation function to the ActiveRecordInterface (#9745).
For now I've only added the function that undisputed should be part of the interface.

Not sure if we should consider this a BC break or just add it in 2.0.x. Current AR layer would not work without it anyway. @yiisoft/core-developers opinions?

Also considering to add abstract methods to ActiveRelationTrait like this:
diff --git a/framework/db/ActiveRelationTrait.php b/framework/db/ActiveRelationTrait.php
index 22f971f..4a97acb 100644
--- a/framework/db/ActiveRelationTrait.php
+++ b/framework/db/ActiveRelationTrait.php
@@ -17,9 +17,9 @@ use yii\base\InvalidParamException;
  * @author Carsten Brandt<EMAIL_ADDRESS>  * @since 2.0
  *
- * @method ActiveRecordInterface one()
- * @method ActiveRecordInterface[] all()
  * @property ActiveRecord $modelClass
+ * @property boolean $isArray
+ * @property string|null $indexBy
  */
 trait ActiveRelationTrait
 {
@@ -530,4 +530,28 @@ trait ActiveRelationTrait

         return $this->asArray()->all($primaryModel::getDb());
     }
+
+    /**
+     * @return ActiveQueryInterface
+     * @see ActiveQueryInterface::asArray()
+     */
+    abstract public function asArray($value = true);
+
+    /**
+     * @see ActiveQueryInterface::andWhere()
+     * @return ActiveQueryInterface
+     */
+    abstract public function andWhere($db = null);
+
+    /**
+     * @see ActiveQueryInterface::one()
+     * @return ActiveRecord|array|null
+     */
+    abstract public function one($db = null);
+
+    /**
+     * @see ActiveQueryInterface::all()
+     * @return array|ActiveRecordInterface[]
+     */
+    abstract public function all($db = null);
 }

I think it can be added to 2.0.x

Add it.

Merged. thank you!


docs(example): add an example for server-side rendering of markdown (fetched from anywhere)

Remix supports MDX out of the box. This is great if you have your markdown/mdx files at compile time! If you are fetching your markdown files from a remote source, you have to work with unified or a wrapper such as react-remark.
Unfortunately, react-remark does not support cjs anymore but Remix.run will not work with esm just yet (without async imports). The older versions of react-remark do not implement useRemarkSync. Thus, right now there is no way to use react-remark in remix to render markdown server-side since it will always requires async code (and useEffect).
This example showcases how you can implement a small markdown container to render markdown strings server-side (without useEffect).

We're working on ESM for the server build, so remark's latest versions should work soon if you want to opt-in to ESM-only apps, I think maybe it'd be better to wait for that and then make an example that's far more straightforward?

We're working on ESM for the server build, so remark's latest versions should work soon if you want to opt-in to ESM-only apps, I think maybe it'd be better to wait for that and then make an example that's far more straightforward?

That's great news! Will close this PR then. Next example can just take advantage of react-markdown or a similar package.


Question about volumes and directories

I am just getting started in the world of selfhosting music and beets.  I have deployed this image but Im really confused and having trouble getting things working.  No disrespect but I feel like the documentation is not very beginner friendly.  Im hoping someone could help me out a little as I think I'm close to getting it working.
I currently have music stored on machine at /mnt/storage/music and I would like all beets tagged music to be moved to /mnt/storage/Library.  I am unsure what "inbox" means in the example compose file volumes.  I'm also guessing that "clean" is where I would want my "Library" folder. When I try setting those volumes in the compose/config, I can see music on the gui in the "awesome Library" but when I initialize tagging it spins indefinitely with no changes to music files.  I only have 10 albums right now to keep things simple while I learn all the different hosting apps. Also while it's spinning I get errors when I click other tabs in the GUI but no info when I click view error.  The logs are also not showing any errors.  Lastly I did set locations in the config files however I may have gotten something wrong.  Any help is greatly appreciated sorry for the wall of text.  Feel free to close this issue if it was inappropriate to ask this here.  Thank you!

Hi Rom,
glad to hear you are giving this a shot, and sorry the documentation did not get you all the way.
The inbox is the folder where you place new albums that you want to add. (Start with the easy case where each folder is one album). Each album-folder within a configured inbox will show up in the gui.
To add an inbox, you need to do two things:
i) in your docker compose, mount the folder into the container
ii) in the gui config file (mounted to /config/beets-flask/config.yaml), add the inbox path.
For example, lets say you want to use /mnt/storage/music for everything.

create the following three folders on your host

/mnt/storage/music/inbox where you place new albums
/mnt/storage/music/library where your imported, cleaned and tagged music files will be moved
/mnt/storage/music/config where the beets library will be created, and your configs can be edited.

Edit you docker compose to mount them,

services:
    beets-flask:
        image: pspitzner/beets-flask:latest
        restart: unless-stopped
        ports:
            - "5001:5001"
        environment:
            # 502 is default on macos, 1000 on linux (use `id` in a terminal to find out)
            USER_ID: 1000
            GROUP_ID: 1000
        volumes:
            - /mnt/storage/music/config/:/config
            - /mnt/storage/music/library/:/mnt/storage/music/library/
            - /mnt/storage/music/inbox/:/mnt/storage/music/inbox

Start the container (docker compose -f /path/to/your/compose.yaml up). This will create the default config files at /mnt/storage/music/config/beets/config.yaml and /mnt/storage/music/config/beets-flask/config.yaml.

Edit /mnt/storage/music/config/beets-flask/config.yaml, to include your inbox folder:

gui:
    num_workers_preview: 4

    library:
        readonly: no

    tags:
        expand_tags: yes
        recent_days: 14
        order_by: "name" # or "date_created" | "date_modified"
        show_unchanged_tracks: yes

    terminal:
        start_path: "/mnt/storage/music/" # not needed but makes sense

    inbox:
        concat_nested_folders: yes
        expand_files: no

        folders:
            inbox:
                name: "Rom's inbox"
                path: "/mnt/storage/music/inbox"
                autotag: "preview" # no | "preview" | "import" | "auto"

Edit /mnt/storage/music/config/beets/config.yaml, to include set your library folder:

directory: "/mnt/storage/music/library"

Start the container again.

Now the basics should work, at least your inbox and album folders should show up.
Logs should appear in the terminal, after you start the container.

I am absolutely astounded you took this much time to help me! Thank you!!  I was able to get it working but I had to make a few changes and I have a couple more questions if you don't mind me asking.
I am using Pinchflat: https://github.com/kieraneglin/pinchflat to download some of the tracks I don't already own.  The folder that pinchflat downloads to was the music folder I mentioned above.  I'm not sure why (I am some what new to selfhosting in general) but I am unable to have Beets pull from that folder.  I was getting permission errors in the beets logs.  So I created a new folder called inbox and manually moved files from music to inbox and then queuing Beets.  Beets then tags and moves files.  Pinchflat and Beets are both 1000:1000 so Im really at a loss as to why Beets wont pull from the same folder pinchflat uses shrug.
Questions:

Do you foresee any issues if my config folder is not on my mnt?  So home/rom67/beets/config instead of mnt/storage/music/config?
What is the best practice for albums with multiple artists?  Is there any way for beets to compile albums?   I have attached a picture to better explain what I'm dealing with.

Will adjusting settings here help?
inbox:
concat_nested_folders: yes # show multiple folders in one line if they only have one child
expand_files: no # on page load, show files in (album) folders, or collapse them
Example Picture:

Again Thank you very much for the help! This tool is really cool!

Glad I could help!
Some more comments:

From the pinchflat docu, it seems like you can set the download folder. With the config from above, that should be /mnt/storage/music/inbox.
I would check the permissions and ownership of all three folders (the parent, and our two subfolders) ls -1al
I think putting the library as a subfolder of an inbox is a bad idea, as beets would likely recursively try to re-add everything that has already been added.
Albums with multiple artists are no problem, just make sure all tracks are within the same folder. (This is much better described in the beets documentation - we are just an inofficial wrapper around the cli)
When using the gui, I recommend setting beets to copy instead of moving, as you can easily delete from the inbox by right-clicking any folder (and also select multiple): https://github.com/pSpitzner/beets-flask/blob/39cf5684f3dc5f32f00158289fd851b496a592ab/backend/beets_flask/config/config_b_example.yaml#L32-L39

Thanks again for your replies and all the help!  I will look over your comments in more detail and see if they help going forward!
I have a new issues that I cant seem to resolve.  I have looked over beets docs and searched all over the web.   I was going to create a new issue but since you have been so kind and responsive I figured I would push my luck and post it here.  Please let me know if you would like to me to remove this question and create a new help/issue.
The issue I am having is beets is telling me a track is missing and it is not.  I have verified that track plays, its metadata is in tack, and attempted to adjust distance_weights (if I understood correctly numbers closer to 1.0 are more lenient) in the config to fix.  I even found ignore_case in the official beets docs and added that to my config.  No matter what I have tried everytime I try to import this album beets-flash hangs. I even tried imported in the cli of the gui.  Im attaching a few screenshots to show the problem a little better.  Thanks in advance!
beets-flast interactive import:

my config:
match:
    # autotagger tolerance [0, 1], default 0.04
    # for example, 0.1 means 90% similarity required.
    # inbox-folder autotag setting 'auto' respects this and imports above the threshold (like the beets cli would)
    strong_rec_thresh: 0.1
    ignore_case: yes

    # customize how penalties affect the match score
    distance_weights:
        # source: 2.0
        #artist: 3.0
        #album: 3.0
        # media: 1.0
        # mediums: 1.0
        # year: 1.0
        # country: 0.5
        # label: 0.5
        # catalognum: 0.5
        # albumdisambig: 0.5
        # album_id: 5.0
        #tracks: 2.0
        missing_tracks: 0.9 # If your prefer not being so picky about missing tracks. default 0.9
        # unmatched_tracks: 0.6
        # track_title: 3.0
        # track_artist: 2.0

If necessary I can provide the missing tracks metadata but its pretty lengthy as far as I can tell.  Please let me know if there is anything else I could provide to help trouble shoot this issue. Thanks again

hmm,
this is something i would debug with beets cli, as you started already. this way, you can rule out that it's our gui messing things up.
if the track plays fine, and metadata indeed is correct, the last two things i could imagine are the file extension being not recognized or permission not allowing beets to read the file.
a few beets import options that might help:

--pretend
-t (timid)
-v and -vv for verbose logging

https://beets.readthedocs.io/en/stable/reference/cli.html#import


Fix emitting bodies of local functions declared in unreachable code into SIL

Resolves: SR-15507
Previously, StmtEmitter::visitBraceStmt would stop looking any further as soon as it reached an unreachable point in the code. As a result, bodies of local functions that were declared in unreachable code would not be emitted into SIL, even when the local function was used in reachable code. This resulted in undefined symbols or the assertion failure described in SR-15507.
Now, it will continue scanning unreachable code, and will still visit local functions declared there, so that their bodies make it into SIL; of course, making sure that we don't visit nodes that are not interesting when they are in unreachable code, and that we still emit a diagnostic about unreachability only once.

@swift-ci please test

@swift-ci please smoke test

@swift-ci please smoke test

@jckarter Hi! I saw that you are the code owner for SILGen. Could you please take a look at this PR?

Seems likely, given the timing, that your paths just crossed. In my experience, the code owners tend to be pretty responsive, but don't be shy about being proactive when you've got a fix coming down the pipeline to get on their radar even as you're drafting it.


Why Apache and not MIT license?

Just wondering why not choosing MIT license for the library?

Dunno... Just picked one for open source. Is MIT any better?

MIT is somewhat shorter & more liberal, Apache helps with patent protection tho. I don't claim one is better than the other.
Depends on the project, some developers may be skeptic of Apache license due to:

This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

and

The Apache License is also a permissive license. However, it has stringent terms when it comes to modifications. It requires you to explicitly list out all the modifications that you’ve done in the original software, i.e., you’re required to preserve modification notices. The Apache License also states clearly that you can’t name your product in any way that hints at the product being endorsed by Apache. So you can call your product “SuperWonderServer powered by Apache” but not “Apache SuperWonderServer”. The MIT license doesn’t impose any such terms.
It's not big deal.


Add support for media swapping in chained slots

This change adds support for swapping out slotted media slots aka <slot name="media" slot="media"></slot> which might come in useful when you'd like to switch a Media Theme but keep the same video element.
See the bug without this change here (click the Switch Theme button):
https://elements-demo-vanilla-git-fork-luwes-media-theme-mux-mux.vercel.app/mux-player.html

thanks for the review!
yup if it's added via a chained slot it is, otherwise the mutation observer above this code would catch it.


User issue

Hi,
I use PyCharm on Windows 10 and I try to use TDL and got this error :
Traceback (most recent call last):
File "C:/Users/GigSim/Documents/Python/RLFood/engine.py", line 1, in
import tdl
File "C:\Users\GigSim\Documents\Python\RLFood\venv\lib\site-packages\tdl_init_.py", line 65, in
from tcod import ffi as ffi
File "C:\Users\GigSim\Documents\Python\RLFood\venv\lib\site-packages\tcod_init.py", line 20, in
from tcod.libtcodpy import *
File "C:\Users\GigSim\Documents\Python\RLFood\venv\lib\site-packages\tcod\libtcodpy.py", line 13, in
from tcod.libtcod import *
File "C:\Users\GigSim\Documents\Python\RLFood\venv\lib\site-packages\tcod\libtcod.py", line 89, in
from tcod._libtcod import lib, ffi
ImportError: DLL load failed: Le module spécifié est introuvable.
I try to run it in Linux = no issue.
I try to run it on another Windows machine = no issue.
I sure it is on my side (PyCharm), but cannot find the issue.
Can you put me on the right track?
Thank in advance.

This error usually means something happened to prevent tdl from finding its bundled SDL.dll library.  There should be a subfolder in ...\venv\lib\site-packages\tcod with SDL in it.  If the virtual environment ended up putting that file somewhere else then it won't be found by tdl.
One option could be to manually place the latest version of SDL.dll in the working directory, but this will only fix it for the one program.
I might need more information.  Where is SDL.dll currently located?  Does the above suggestion work?

The SDL2.dll is in the folder : C:\Users\GigSim\venv\Lib\site-packages\tcod\x86
I copy it to the folder C:\Users\GigSim\venv\Lib\site-packages\tcod
Still the same issue.

This type of run-time error is always hard to debug.  The next thing I'd check would be the latest Microsoft Visual C++ Redistributables, make sure those are installed:
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
If that doesn't fix it then I'm out of ideas and I'll need more info: Did you use the same method of installing tdl on the other Windows computer you tested?

I got Microsoft Visual C++ Redistributables : 2012, 2013.
I will try to install the recet one.
I will check what I got on my other machine, tonight

I use pycharm, projet interpreter to install it. I try with pip.
I did installer 2013 and 2017 MS Visual C++ Redistribuatable and still got the same issue.
But that ok. I'm sure it is on my side, This issue can be close.
Thank for all the help I will continue to dig on it. If I find anything I will left you know.

If you plan on debugging it yourself then you could try loading tcod/_libtcod.pyd with Dependency Walker.


Create plugin-splunk-for-jenkins

Request publish permission for artifact id
"com.splunk.splunkins.pom"
"com.splunk.splunkins.splunk-devops"
"com.splunk.splunkins.splunk-devops-extend"

https://issues.jenkins-ci.org/browse/HOSTING-201
https://github.com/splunk/splunkforjenkins/

From your hosting request, it seems like you want to host two plugins, plus a parent POM.
AFAIK, this requires three new files in this repo; each with the name value matching the POM artifactId, but I'll leave it to @daniel-beck to confirm.

Thanks for reviewing, I splitted into 3 files

Yep. For now it needs to be separate files. Sorry about that.

Hosted: https://github.com/jenkinsci/splunk-devops-plugin
@daniel-beck: Can you check the separate files look good, please?

araza_splunk logged in repo, issue fixed.


Disable buttons with uploading mesh file

You shouldn't be able to launch the mesh tagger if the mesh has not been fully uploaded.

related #93


CLI Print Pretty

Remove unless before/after newLine()
Fix Windows cmd colors
Remove useless methods
Here's some examples:
https://i.ibb.co/r3JnQPs/Annotation-2020-07-31-210349.png
https://i.ibb.co/SnwwdJV/Annotation-2020-07-31-213208.png

Changes look good, but I would like to hear from @paulbalandan first. He made a lot of quality changes to the CLI lately, so he knows this class better than me right now :)

Thank you both!


DOC: stats: Clean up ncf documentation.

Fix error in the ncf docstring: replace occurrences of v_1, v_2
with n_1, n_2.
Whitespace clean up in continuous_ncf.rst: break many
lines for PEP 8 and LaTeX readability.

LGTM, merged. Thanks @WarrenWeckesser


Build fails against PostgreSQL 9.6

Hi,
Getting this with 1.3.2:
+ make -j3
src/query.c: In function 'extractColumns':
src/query.c:66:19: error: too many arguments to function 'pull_var_clause'
   targetcolumns = pull_var_clause(node,
                   ^~~~~~~~~~~~~~~
In file included from src/query.c:2:0:
/usr/pgsql-9.6/include/server/optimizer/var.h:37:14: note: declared here
 extern List *pull_var_clause(Node *node, int flags);
              ^~~~~~~~~~~~~~~
src/query.c:77:19: error: too many arguments to function 'pull_var_clause'
   targetcolumns = pull_var_clause((Node *) node->clause,
                   ^~~~~~~~~~~~~~~
In file included from src/query.c:2:0:
/usr/pgsql-9.6/include/server/optimizer/var.h:37:14: note: declared here
 extern List *pull_var_clause(Node *node, int flags);
              ^~~~~~~~~~~~~~~
src/query.c: In function 'isAttrInRestrictInfo':
src/query.c:480:18: error: too many arguments to function 'pull_var_clause'
  List    *vars = pull_var_clause((Node *) restrictinfo->clause,
                  ^~~~~~~~~~~~~~~
In file included from src/query.c:2:0:
/usr/pgsql-9.6/include/server/optimizer/var.h:37:14: note: declared here
 extern List *pull_var_clause(Node *node, int flags);
              ^~~~~~~~~~~~~~~
src/query.c: In function 'findPaths':
src/query.c:656:32: error: 'RelOptInfo {aka struct RelOptInfo}' has no member named 'width'
                nbrows * baserel->width,
                                ^~
src/query.c:654:16: warning: passing argument 3 of 'create_foreignscan_path' makes pointer from integer without a cast [-Wint-conversion]
                nbrows,
                ^~~~~~
In file included from src/query.c:4:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'PathTarget * {aka struct PathTarget *}' but argument is of type 'int'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/pgsql-9.6/include/server/access/tupdesc.h:19:0,
                 from /usr/pgsql-9.6/include/server/utils/relcache.h:17,
                 from /usr/pgsql-9.6/include/server/access/genam.h:21,
                 from /usr/pgsql-9.6/include/server/access/relscan.h:17,
                 from src/multicorn.h:3,
                 from src/query.c:1:
/usr/pgsql-9.6/include/server/nodes/pg_list.h:69:18: error: incompatible type for argument 6 of 'create_foreignscan_path'
 #define NIL      ((List *) NULL)
                  ^
src/query.c:657:16: note: in expansion of macro 'NIL'
                NIL, /* no pathkeys */
                ^~~
In file included from src/query.c:4:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'Cost {aka double}' but argument is of type 'List * {aka struct List *}'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
src/query.c:652:19: error: too few arguments to function 'create_foreignscan_path'
     foreignPath = create_foreignscan_path(
In file included from src/query.c:4:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [src/query.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /usr/pgsql-9.6/include/server/access/tupdesc.h:19:0,
                 from /usr/pgsql-9.6/include/server/utils/relcache.h:17,
                 from /usr/pgsql-9.6/include/server/access/genam.h:21,
                 from /usr/pgsql-9.6/include/server/access/relscan.h:17,
                 from src/multicorn.h:3,
                 from src/multicorn.c:9:
src/multicorn.c: In function 'multicornGetForeignRelSize':
src/multicorn.c:271:37: error: 'RelOptInfo {aka struct RelOptInfo}' has no member named 'reltargetlist'; did you mean 'reltarget'?
   foreach(lc, extractColumns(baserel->reltargetlist, baserel->baserestrictinfo))
                                     ^
/usr/pgsql-9.6/include/server/nodes/pg_list.h:156:26: note: in definition of macro 'foreach'
  for ((cell) = list_head(l); (cell) != NULL; (cell) = lnext(cell))
                          ^
src/multicorn.c:295:54: error: 'RelOptInfo {aka struct RelOptInfo}' has no member named 'width'
  getRelSize(planstate, root, &baserel->rows, &baserel->width);
                                                      ^~
src/multicorn.c: In function 'multicornGetForeignPaths':
src/multicorn.c:329:27: error: 'RelOptInfo {aka struct RelOptInfo}' has no member named 'width'
    baserel->rows * baserel->width,
                           ^~
src/multicorn.c:327:4: error: incompatible type for argument 3 of 'create_foreignscan_path'
    baserel->rows,
    ^~~~~~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'PathTarget * {aka struct PathTarget *}' but argument is of type 'double'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/pgsql-9.6/include/server/access/tupdesc.h:19:0,
                 from /usr/pgsql-9.6/include/server/utils/relcache.h:17,
                 from /usr/pgsql-9.6/include/server/access/genam.h:21,
                 from /usr/pgsql-9.6/include/server/access/relscan.h:17,
                 from src/multicorn.h:3,
                 from src/multicorn.c:9:
/usr/pgsql-9.6/include/server/nodes/pg_list.h:69:18: error: incompatible type for argument 6 of 'create_foreignscan_path'
 #define NIL      ((List *) NULL)
                  ^
src/multicorn.c:330:4: note: in expansion of macro 'NIL'
    NIL,  /* no pathkeys */
    ^~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'Cost {aka double}' but argument is of type 'List * {aka struct List *}'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
src/multicorn.c:326:27: error: too few arguments to function 'create_foreignscan_path'
  pathes = lappend(pathes, create_foreignscan_path(root, baserel,
                           ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
src/multicorn.c:363:53: error: incompatible type for argument 3 of 'create_foreignscan_path'
    newpath = create_foreignscan_path(root, baserel, path->path.rows,
                                                     ^~~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'PathTarget * {aka struct PathTarget *}' but argument is of type 'double'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
src/multicorn.c:365:6: error: incompatible type for argument 6 of 'create_foreignscan_path'
      apply_pathkeys, NULL,
      ^~~~~~~~~~~~~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: expected 'Cost {aka double}' but argument is of type 'List * {aka struct List *}'
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
src/multicorn.c:363:14: error: too few arguments to function 'create_foreignscan_path'
    newpath = create_foreignscan_path(root, baserel, path->path.rows,
              ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/multicorn.c:11:0:
/usr/pgsql-9.6/include/server/optimizer/pathnode.h:90:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [src/multicorn.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.ANvcbn (%build)
    Bad exit status from /var/tmp/rpm-tmp.ANvcbn (%build)
rpmsign: no arguments given
../../../common/Makefile.global:58: recipe for target 'build' failed
make: *** [build] Error 1

Regards, Devrim

I just releeased 1.3.3, let me know how it works.

Thanks for the new release!
  Foreign Scan on testmulticorn  (cost=10.00..400.00 rows=20 width=20)
  (1 row)

  explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
--- 17,23 ----
  NOTICE:  [('test1', 'character varying'), ('test2', 'character varying')]
                                QUERY PLAN
  ----------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=10.00..400.00 rows=20 width=64)
  (1 row)

  explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
***************
*** 55,61 ****
  NOTICE:  [('test1', 'character varying'), ('test2', 'character varying')]
                                      QUERY PLAN
  ----------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=10.00..200000000.00 rows=10000000 width=20)
  (1 row)

  explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;
--- 55,61 ----
  NOTICE:  [('test1', 'character varying'), ('test2', 'character varying')]
                                      QUERY PLAN
  ----------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=10.00..200000000.00 rows=10000000 width=64)
  (1 row)

  explain select * from testmulticorn m1 inner join testmulticorn m2 on m1.test1 = m2.test1;

======================================================================

*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/multicorn_test_sort.out	2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/multicorn_test_sort.out	2016-09-27 13:10:32.922002571 +0200
***************
*** 17,23 ****
  NOTICE:  [('test1', 'date'), ('test2', 'timestamp without time zone')]
                                QUERY PLAN
  ----------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=10.00..400.00 rows=20 width=20)
  (1 row)

  -- Data should be sorted
--- 17,23 ----
  NOTICE:  [('test1', 'date'), ('test2', 'timestamp without time zone')]
                                QUERY PLAN
  ----------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=10.00..400.00 rows=20 width=12)
  (1 row)

  -- Data should be sorted

======================================================================

*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/write_filesystem.out	2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/write_filesystem.out	2016-09-27 13:10:35.066004580 +0200
***************
*** 72,99 ****
  EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
                                                                     QUERY PLAN
  -------------------------------------------------------------------------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..120.00 rows=1 width=120)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
  (2 rows)

  EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big';
                                   QUERY PLAN
  -----------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..6000.00 rows=100 width=60)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text))
  (2 rows)

  EXPLAIN select color, size from testmulticorn where color = 'blue';
                                   QUERY PLAN
  ----------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..600000.00 rows=10000 width=60)
     Filter: ((color)::text = 'blue'::text)
  (2 rows)

  EXPLAIN select color, size, data from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
                                                                     QUERY PLAN
  -------------------------------------------------------------------------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..1000150.00 rows=1 width=1000150)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
  (2 rows)

--- 72,99 ----
  EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
                                                                     QUERY PLAN
  -------------------------------------------------------------------------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..120.00 rows=1 width=64)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
  (2 rows)

  EXPLAIN select color, size from testmulticorn where color = 'blue' and size = 'big';
                                   QUERY PLAN
  -----------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..6000.00 rows=100 width=64)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text))
  (2 rows)

  EXPLAIN select color, size from testmulticorn where color = 'blue';
                                   QUERY PLAN
  ----------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..600000.00 rows=10000 width=64)
     Filter: ((color)::text = 'blue'::text)
  (2 rows)

  EXPLAIN select color, size, data from testmulticorn where color = 'blue' and size = 'big' and name = 'square' and ext = 'txt';
                                                                     QUERY PLAN
  -------------------------------------------------------------------------------------------------------------------------------------------------
!  Foreign Scan on testmulticorn  (cost=20.00..1000150.00 rows=1 width=96)
     Filter: (((color)::text = 'blue'::text) AND ((size)::text = 'big'::text) AND ((name)::text = 'square'::text) AND ((ext)::text = 'txt'::text))
  (2 rows)

======================================================================

*** /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/test-3.5/expected/import_test.out	2016-09-27 09:51:11.000000000 +0200
--- /tmp/autopkgtest.o9pDAE/build.svm/postgresql-multicorn-1.3.3/results/import_test.out	2016-09-27 13:10:35.542005026 +0200
***************
*** 33,40 ****
  SELECT relname FROM pg_class c INNER JOIN pg_namespace n on c.relnamespace = n.oid WHERE n.nspname = 'import_dest1';
       relname
  ------------------
-  imported_table_2
   imported_table_1
  (2 rows)

  DROP EXTENSION multicorn cascade;
--- 33,40 ----
  SELECT relname FROM pg_class c INNER JOIN pg_namespace n on c.relnamespace = n.oid WHERE n.nspname = 'import_dest1';
       relname
  ------------------
   imported_table_1
+  imported_table_2
  (2 rows)

  DROP EXTENSION multicorn cascade;

======================================================================

(These look harmless so I'm going to add some alternative _1.out expected files as a hotfix here.)

The actual patch I added to the Debian package is at https://anonscm.debian.org/cgit/pkg-postgresql/postgresql-multicorn.git/tree/debian/patches/9.6 .

Yes, the problem lies with how the path width is calculated. It has changed in 9.6, where the size of the individual attributes is used instead of trusting what the fdw explicitly set on the path.
I don't really know how to fix that in a way that would succeed on every version: what do you mean by "adding some alternative_1.out" file ?

If some pg_regress sql/foo.sql regression test file has two valid results, you can create expected/foo.out and expected/foo_1.out and pg_regress will figure out if the produced results/foo.out file will match either of these. (And if not, it will show you the smaller diff.)
See the link I posted above for the actual files I added. (Unfortunately there's no way to add comments to the *.out files, the only way to tell what they are good for is diffing foo.out and foo_1.out, or to add some README file in that directory.)

Ah that makes sense, I didn't know about that feature.

I just used the 1.3.4 version with PostgreSQL 9.6 and everything works fine.

@j0k3r: I'm still seeing the same regression failure as quoted above. Did you run the regression tests?

Sorry I tested it in a project where we used postgres 9.5 with Multicorn 1.3.2, upgrading PG to 9.6 results in error posted by OP. Upgrading Multicorn to 1.3.4 fixed that issue.
It might be working only for me then.
If so, sorry for the noise.


atmega8 support

Hi
I tried to use your library for atmega8 chip (MiniCore) but during verify procedure arduino give  error "PinChangeInterrupt library does not support this MCU".
Can you add support for Atmega8 ?

Atmega8 has no PCINT, so no library in the world could ever support it. Correct me if I am wrong.


DragTarget on SideNav is optional

You can now disable DragTarget on Sidenav by including dragTarget: false into options while initializing SideNav. (solves #3434)

There were some merge errors and I tweaked the implementation.
Added draggable in 8301f86.
Thanks